文章目錄
- 1 伺服器安裝的步驟
- 2 帳號管理
- 3 資料庫管理
- 4 伺服器目錄管理
- 5 伺服器資料移轉
1 伺服器安裝的步驟1.1. 安裝CentOS 51.1.1. 光碟片啟動
設定系統從光碟片啟動。
插入CentOS 5的DVD或者CD1,開始安裝。
出現如下介面,用於選擇圖形介面或者字元介面安裝:
可以選擇圖形或者字元介面進行安裝,如果直接斷行符號就是圖形介面,如果輸入linux text然後斷行符號就是字元介面。一般來說,如果伺服器是比較老的型號,比如三四年之前的,或者都是主流的硬體設定,比如Intel的伺服器,ATI或者nVidia的顯卡,可以選擇圖形介面;如果是非主流的硬體設定,最好選擇字元介面。如果這裡選擇字元介面,那麼安裝完成之後登入介面就是字元介面;否則就是圖形介面。
在這裡我們選擇字元介面。
1.1.2. 檢查CD
出現檢查CD的介面。
如果是新光碟片,可以跳過這個過程;如果光碟片用了很長時間了,可以選擇OK開始測試,這裡選擇Skip跳過。
1.1.3. 選擇安裝語言
字元介面下只能使用English,但是這裡的選擇會直接影響以後作業系統的語言,所以我們如果希望將來作業系統的語言為中文,那麼這裡應該選擇簡體中文,雖然安裝程式會自動將安裝語言設定為英文,但是安裝完成之後系統變數LANG會是zh.UTF-8。
1.1.4. 選擇鍵盤配置
保留預設,繼續。
1.1.5. 選擇分區類型
在這裡選擇定製分區。
1.1.6. 分區
/var目錄儲存了Apache伺服器的網頁,Oracle的資料,MySQL的資料等內容,會不斷的增長,因此盡量保留大一些的空間。
/目錄是Linux的安裝目錄,如果完整安裝至少5G
swap分區是交換分區,大小至少為2*memory。
如果全盤安裝Linux,可以選擇自動分區。否則,可以按照如下方式進行手工分區:
/ 10G+
swap 2*memory
/var rest
1.1.7. 選擇BootLoader
保留預設即可。
1.1.8. 配置BootLoader
保留預設即可。
1.1.9. 設定啟動密碼
保留預設即可。
1.1.10. 設定啟動其他動作系統
保留預設即可。
1.1.11. 設定BootLoader安裝位置
保留預設即可。
1.1.12. 配置網路
可以根據實際情況配置網路。
1.1.13. 配置網關和DNS
根據情況修改網路設定參數。
1.1.14. 伺服器命名
設定hostname。
1.1.15. 設定時區
選擇Asia/ShangHai。
要注意不要勾選"System clock uses UTC"
1.1.16. 設定密碼
設定root密碼。
1.1.17. 選擇安裝包
安裝包選擇“定製”
1.1.18. 定製安裝
除了Java之外,選擇全部的安裝包。
然後系統會檢查安裝包的依賴關係。
1.1.19. 開始安裝
點擊OK確認。
1.1.20. 提示安裝媒體
選擇Continue開始安裝。
1.1.21. 安裝後的配置
1) 第一次啟動
安裝後第一次啟動,會在啟動過程中彈出一個配置介面,需要配置的是安全功能:
配置使用防火牆,關閉SELinux。
配置防火牆的外部連接埠:
開啟TELNET,SSH, HTTP, HTTPS, FTP的外部存取許可權,然後開啟UDP連接埠177和TCP連接埠從6000~6010,以便於配置XDMCP串連。開啟TCP連接埠1521和1158,便於配置Oracle資料庫。
注意要正確配置連網,以便於能夠連網安裝擴充包。
2) 配置XDMCP串連
• 改變運行層級到5
開啟/etc/inittab 然後設定init運行層級5:
id:5:initdefault:
• 開啟XDMCP
對GDM:
開啟/etc/gdm/custom.conf 設定Enable為1在[xdmcp]的選項中.
[xdmcp]
Enable=1
對KDM:
開啟/usr/share/config/kdm/Xaccess
去掉:
#* #any host can get a login window
前面的注釋符號,改為:
* #any host can get a login window
開啟/usr/share/config/kdm/kdmrc,設定:
[Xdmcp]
Enable=true
3) 設定中文字型以方便安裝Oracle 10g
進入/usr/share/fonts。
將chinese目錄拷貝為zh_CN目錄,然後進入TrueType目錄,將uming.ttf拷貝為zysong.ttf:
cp -r ./chinese ./zh_CN
cd zh_CN/TrueType
cp ./uming.ttf ./zysong.ttf
4) 配置FTP伺服器
配置vsftpd:
chkconfig vsftpd on
service vsftpd start
重新啟動伺服器。
1.1.22. 配置ADSL自動撥號
如果是家庭連網,需要配置ADSL自動撥號:
adsl-setup
根據提示輸入ADSL帳號、密碼等資訊。
配置網關:
in /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
in /etc/sysconfig/network
FORWARD_IPV4=yes
in /etc/rc.d/rc.local
service iptables restart
in /etc/sysconfig/iptables
# Firewall configuration written by petehero
# Manual customization of this file is not recommended.
# Note: ifup-post will punch the current nameservers through the
# firewall; such entries will *not* be listed here.
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
此時應該已經能夠串連互連網,通過ping命令測試。
1.1.23. Apache2安裝
1) 配置Apache伺服器
系統安裝的時候,已經建立了apache使用者,Apache伺服器的預設使用者也是apache因此我們就設定Apache伺服器用apache使用者啟動。
chown -R apache:apache /var/www
usermod -d /var/www -s /bin/bash apache
passwd apache
su - apache
cp /etc/skel/.bash* ./
exit
chkconfig httpd on
編輯/etc/httpd/conf/httpd.conf,設定ServerName,然後啟動apache
# service httpd start
用apache使用者在/var/www目錄下建立目錄
mkdir backup
mkdir cron
mkdir geodata
mkdir upload
2) root帳號屏蔽遠程登入功能。
vi /etc/ssh/sshd_config
將# PermitRootLogin yes 改為:PermitRootLogin no
service sshd restart
1.1.24. MySQL安裝
1) 用root使用者執行:
chkconfig mysqld on
service mysqld start
mysql -u root -p
修改mysql root使用者密碼。
1.1.25. PHP安裝
1) 用root使用者執行:
yum -y install php-devel php-mbstring php-mcrypt php-mhash php-gd php-mysql php-pear php-xml
service httpd restart
2) 升級pear庫
pear channel-update pear.php.net
pear upgrade-all
pear install -a Log HTML_TreeMenu HTTP_Client PHPUnit2
3) 安裝dio,用root使用者進入dio目錄(需要測試是否需要)
phpize
./configure; make; make install
vi /etc/php.d/dio.ini
extension=dio.so
service httpd restart
4) 安裝oci8,用root使用者
首先到這裡:
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html
下載最新的oracie instant client軟體,要包括basic和SDK
# rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm
# rpm -ivh oracle-instantclient11.2-devel-11.2.0.1.0-1.i386.rpm
# pecl install oci8
輸入:
instantclient,/usr/lib/oracle/11.2/client/lib
# vi /etc/php.d/oci8.ini
; Enable oci8 extension module
extension=oci8.so
# service httpd restart
1.1.26. 安裝perl相關組件
1) 用root使用者執行:
yum -y install perl-Geo-IP
1.1.27. 安裝ZendOptimizer
解壓縮ZendOptimizer的二進位檔案,然後用root使用者執行install.sh
tar zxvf ./ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
sh ./install.sh
1.1.28. 安裝cronolog
在解壓縮之後的cronolog原始碼目錄,用root使用者執行:
./configure ; make; make install
1.1.29. 安裝JDK
首先刪除原有的java
rm /usr/bin/java
rm /etc/alternatives/java
為jdk的二進位檔案添加啟動並執行許可權,然後運行
chmod a+x ./jdk-6u7-linux-i586-rpm.bin
./jdk-6u7-linux-i586-rpm.bin
1.1.30. 安裝Oracle 10g for Linux X86_64
參考:
http://www.52zhe.cn/read.php/132.htm
所需軟體和文檔:
1:文檔
http://www.oracle.com/pls/db102/homepage
2:軟體
http://www.oracle.com/technology/software/products/database/index.html
filename: 10201_database_linux_x86_64.cpio.gz
Part I Oracle的預先安裝準備工作
系統完成後,檢核必須的RPM包。此處請參考Oracle官方文檔關於所需的軟體包(具體位置URL)。也就是這個最主要的參考文檔的地方。總算這次可以依據文檔找全這些包了,真不容易,以前總是缺這個,少那個的。
[root@minot ~]# rpm -q binutils compat-gcc-34 compat-gcc-34-c++ compat-libstdc++-33 control-center gcc gcc-c++ gdbm glibc glibc-common glibc-devel libgcc libgnome libstdc++-devel libXp make sysstat util-linux
[root@minot ~]# yum install compat-gcc-34 compat-gcc-34-c++ compat-libstdc++-33 gcc gcc-c++ glibc-devel libstdc++-devel sysstat libXp
插播幾句:當你發現任何提示什麼的,少這個庫,那個庫之類的。可以通過以下yum命令例子,查詢這個庫屬於哪個RPM包,再次之前rpm命令只能查詢已安裝的。(rpm -qf)
[root@minot ~]# yum whatprovides 庫名
以下修改核心參數等檔案,已保證Oracle的預先安裝準備成功。執行如下:
vi /etc/sysctl.conf 行末添加以下內容
# 20071212 add content for oracle install
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
執行下述命令。匯入剛才寫入的參數。不執行,oracle在後面安裝前的檢測會警示。
sysctl -p
vi /etc/security/limits.conf 行末添加以下內容
# 20071212 add content for oracle install
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
vi /etc/pam.d/login 行末添加以下內容
# 20071212 add content for oracle install
session required pam_limits.so
vi /etc/selinux/config 確保以下內容
SELINUX=disabled
此處再確認一下吧。
Part II 以Oracle 使用者安裝 Oracle
建立oracle使用者,和一些安裝目錄。
groupadd dba
groupadd oinstall
useradd -g oinstall -G dba -m oracle
passwd oracle
mkdir -p /opt/oracle
chown -R oracle.oinstall /opt/oracle
將oracle的安裝檔案置於家目錄,進行解壓。
gzip -dc 10201_database_linux_x86_64.cpio.gz | cpio -div
添加環境變數,定義SID等。
su - oracle
vi .bash_profile
#--------------------------------------
# Set for Oracle10g Install;
#--------------------------------------
trap " " 0 1 2 3 5 9 15
trap clear 0
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/usr/X11R6/lib64/
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LD_ASSUME_KERNEL=2.6.18
export NLS_LANG="Simplified Chinese_china".UTF8
LC_CTYPE=zh_CN.UTF8
LC_ALL=zh_CN.UTF8
LANG=zh_CN.UTF8
umask 022
#
引用環境變數
source ~/.bash_profile
進行安裝動作runInstall和dbca.
圖形安裝過程中的一些注意選項:/runinstall執行後,選擇進階安裝.
語言選項是加上中文簡體和繁體2種。選擇僅安裝資料庫,然後再用DBCA建立資料庫。
1歸檔 2:全是utf8地區中國 語言中文 3:安裝後記得啟用scott,用於測試
說明:中文utf8環境安裝完全沒有問題,圖形介面。此處不詳細描述了。
~/database/runInstaller
dbca
Part III 安裝後的調整dbstart,添加自啟動指令碼。
在運行$ORACLE_HOME/bin/dbstart時報錯,
Failed to auto-start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr
解決方案:修改dbstart這個檔案,找到ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
su - oracle
vi `which dbstart`
ORACLE_HOME_LISTNER=$ORACLE_HOME
修改/etc/oratab檔案
minot:/datas/apps/oracle/product/10.2.0/db_1:Y
建立自啟動指令碼。
解釋一下指令碼中的注釋行:# chkconfig: 2345 80 05
三組個數位意義是,“啟動模式”、“啟動順序”、“關閉順序”
oracle 10g在自身的dbstart已經啟動了lsnrctl,所以下面的指令碼上注釋掉了lsnrctl的啟動
touch dbora
chmod 700 dbora
vi dbora
#!/bin/bash
#
# chkconfig: 2345 80 05
# description: Oracle 10g Server
# /etc/init.d/dbora
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
# su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
su $ORA_OWNR -c $ORACLE_HOME/bin/dbstart
touch /var/lock/oracle
su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
su $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctl start"
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
# su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
su $ORA_OWNR -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/oracle
su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
su $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctl stop"
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0
cp dbora /etc/rc.d/init.d
chkconfig --add dbora
chkconfig --list | grep dbora
dbora 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
Part IV 一些服務介紹和補充
主要服務啟動方式
a:$ORACLE_HOME/bin/dbstart | dbshut
b:$ORACLE_HOME/bin/lsnrctl start | stop 監聽器啟動|關閉。
c:$ORACLE_HOME/bin/emctl start | stop dbconsole
訪問 http://yourIP:1158/em
d:$ORACLE_HOME/bin/isqlplusctl start | stop
訪問 http://yourIP:5560/isqlplus
2 帳號管理
為每一個需要登入伺服器的使用者建立單獨的帳號,並且將帳號賦予需要使用的組許可權。例如需要開發web程式則賦予apache組許可權,每個人登入伺服器都要使用自己的帳號。如果確實需要root帳號,則在用開發帳號登入後用su命令轉換為root使用者:
su - root
root帳號屏蔽遠程登入功能。
apache運行時的使用者權限為apache
3 資料庫管理
每一個Business Connectivity資料庫都要使用獨立的使用者。不允許業務使用root串連資料庫。
4 伺服器目錄管理4.1 常用軟體的安裝目錄
所有的程式,文檔以及其他需要維護的內容全部放在下面目錄下:
/var/www
在該目錄下建立如下一些子目錄:
src---程式原始碼
cron---crontab程式
proc---系統啟動並執行進程
upload---上傳的內容
cgi-bin---cgi程式
htdocs---用IP地址訪問時指向的目錄
www.domain.com---用網域名稱訪問時指向的目錄
log---程式運行記錄的日誌
dump---資料庫dump的內容
resource---資源檔
cache---臨時的cache
test---測試用的程式
temp---臨時檔案的目錄
backup---備份用的目錄
4.2 日誌格式
檔案名稱的格式
日誌內容可以有兩種格式:逗號分隔或者定長。每一個日誌目錄下必須放一個README檔案(UTF-8編碼)描述日誌的格式。
5 伺服器資料移轉
• 用mysqldump程式匯出mysql資料庫中有用的表
• 備份apache的httpd.conf
• 備份/svnroot
• 備份crontab
• 備份/etc/rc.d/rc.local
• 備份網路設定