Centos 6: nginx+php+oracle安裝配置

CentOS 6.5
一:nginx安裝
1.安裝
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum info nginx
yum install nginx
service nginx start                                                 //service nginx restart/stop

2.配置php
yum install php
php-cgi -b 127.0.0.1:9000                                           //在一個screen中執行,因爲php-cgi啓動後不停止
/etc/nginx/conf.d/default.conf:                                     //下面的選項在default.conf中已經有,只是把註釋去掉
/////////////////////////////////////////////////////////////
location / {
root /www;
index index.html index.htm index.php;
}

location ~ \.php$ {
root /www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www$fastcgi_script_name;    // /www爲絕對路徑
include fastcgi_params;
}
/////////////////////////////////////////////////////////////

3.Noinput file specified問題解決
php.ini:
cgi.fix_pathinfo=1  (這個是自己添加的)
doc_root=

4.重啓nginx
service nginx restart



二、安裝Oracle Express Edition(Oracle Express Edition是給個人學習、熟悉Oracle的簡化版)
1、安裝依賴包
yum install libaio libaio-devel bc -y
2、安裝Oracle Express Edition(使用root用戶操作)
cd ~
wget http://download.oracle.com/otn/linux/oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip?AuthParam=1409379226_d26581af452e67b3a2b04fe09ee28749 -O oracle-xe-11.2.0-1.0.x86_64.rpm.zip (AuthorParam自己截獲)
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
cd Disk1
rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
3、將tmpfs擴充爲2G
安裝時會對系統進行檢測,最好內存有1G,SWAP要求是內存的2倍。
tmpfs小於2G,在下一步執行設置命令會報錯:
Database Configuration failed. Look into /u01/app/oracle/product/11.2.0/xe/config/log for details
1)修改/etc/fstab文件
vim /etc/fstab
將:
tmpfs        /dev/shm        tmpfs   defaults      0 0
tmpfs        /dev/shm        tmpfs   defaults,size=2048M      0 0
2)重新加載tmpfs
umount /dev/shm
mount /dev/shm
3)檢查
df -h /dev/shm
Filesystem      Size  Used Avail Use% Mounted on
none            2.0G  243M  1.8G  12% /dev/shm
4、修改/etc/hosts
127.0.0.1 linux-cn65.site(your host here)
5、按照提示進行設置
/etc/init.d/oracle-xe configure
6、設oracle的環境變量
vim /etc/profile
加入:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe(安裝OCI8時,需要)
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=XE
設置後註銷用戶重新登錄。
7、進入sqlplus控制檯
sqlplus /nolog
SQL> connect as sysdba
Enter user-name: sys
Enter password:
Connected.
SQL>執行創建用戶等操作



三、oracle管理(在sqlplus下每條命令記得加分號)
權限:
  create session
  create table
  unlimited tablespace
  connect
  resource
  dba
  例:
  #sqlplus /nolog
  SQL> conn / as sysdba;
  SQL>create user username identified by password
  SQL> grant dba to username;
  SQL> conn username/password
  SQL> select * from user_sys_privs;
  我們將從創建Oracle用戶權限表開始談起,然後講解登陸等一般性動作,使大家對Oracle用戶權限表有個深入的瞭解。
  一、創建
  sys;//系統管理員,擁有最高權限
  system;//本地管理員,次高權限
  scott;//普通用戶,密碼默認爲tiger,默認未解鎖
  二、登陸
  sqlplus / as sysdba;//登陸sys帳戶
  sqlplus sys as sysdba;//同上
  sqlplus scott/tiger;//登陸普通用戶scott
  三、管理用戶
  create user zhangsan;//在管理員帳戶下,創建用戶zhangsan
  alert user scott identified by tiger;//修改密碼
  四,授予權限
  1、默認的普通用戶scott默認未解鎖,不能進行那個使用,新建的用戶也沒有任何權限,必須授予權限
  grant create session to zhangsan;//授予zhangsan用戶創建session的權限,即登陸權限
  grant unlimited tablespace to zhangsan;//授予zhangsan用戶使用表空間的權限
  grant create table to zhangsan;//授予創建表的權限
  grante drop table to zhangsan;//授予刪除表的權限
  grant insert table to zhangsan;//插入表的權限
  grant update table to zhangsan;//修改表的權限
  grant all to public;//這條比較重要,授予所有權限(all)給所有用戶(public)
  2、oralce對權限管理比較嚴謹,普通用戶之間也是默認不能互相訪問的,需要互相授權
  grant select on tablename to zhangsan;//授予zhangsan用戶查看指定表的權限
  grant drop on tablename to zhangsan;//授予刪除表的權限
  grant insert on tablename to zhangsan;//授予插入的權限
  grant update on tablename to zhangsan;//授予修改表的權限
  grant insert(id) on tablename to zhangsan;
  grant update(id) on tablename to zhangsan;//授予對指定表特定字段的插入和修改權限,注意,只能是insert和update
  grant alert all table to zhangsan;//授予zhangsan用戶alert任意表的權限
  五、撤銷權限
  基本語法同grant,關鍵字爲revoke
  六、查看權限
  select * from user_sys_privs;//查看當前用戶所有權限
  select * from user_tab_privs;//查看所用用戶對錶的權限
  七、操作表的用戶的表
  select * from zhangsan.tablename
  八、權限傳遞
  即用戶A將權限授予B,B可以將操作的權限再授予C,命令如下:
  grant alert table on tablename to zhangsan with admin option;//關鍵字 with admin option
  grant alert table on tablename to zhangsan with grant option;//關鍵字 with grant option效果和admin類似
  九、角色
  角色即權限的集合,可以把一個角色授予給用戶
  create role myrole;//創建角色
  grant create session to myrole;//將創建session的權限授予myrole
  grant myrole to zhangsan;//授予zhangsan用戶myrole的角色
  drop role myrole;刪除角色



四、PHP鏈接oracle
PHP連接Oracle是通過oci8訪問的。需要在web服務器上安裝oracle-instantcilent,使PHP支持Oracle擴展包OCI。下面我們來一步步詳細介紹下如何使用PHP連接Oracle。
安裝步驟:
一、安裝oracle-instantclient
下載地址:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
下載 oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm                    //版本要對應
# rmp -ivh oracle-instantclient*
此時會生成/usr/lib/oracle/11.2/client/lib/目錄                                  //目錄可能不同
二、修改/etc/ld.so.conf配置文件
追加一下內容:
include /usr/lib/oracle/11.2/client/lib/
執行命令 # ldconfig
三、安裝oci8
1、安裝 php, php-gd, php-mcrypt, php-pecl*
yum install php php-gd php-mcrypt php-pecl* -y
2、安裝 oci8
pecl install oci8
安裝時輸入oracle安裝目錄
四、配置PHP支持OCI擴展
修改php配置文件
# vi /usr/local/php/lib/php.ini文件
在extension項後追加以下內容
extension=oci8.so
五、重啓php-cgi
六、重啓nginx
# service nginx restart
使用探針函數phpinfo()查看擴展是否開啓
七:PHP連接
<?php
$conn = ocilogon('test','Test12345');
  if (!$conn)
  {
    $Error = oci_error();
    print htmlentities($Error['message']);
    exit;
  }
  else
  {
    echo "Connected Oracle Successd!"."<br>";
    $sql = "select * from name";
    $test = oci_parse($conn, $sql);
    oci_execute($test, OCI_DEFAULT);
    while($r = oci_fetch_row($test))
        {
        echo $r[0];
    }
    ocilogoff($conn);
  }
?>
發佈了22 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章