比較詳細的基于CentOS的WWW服務(wù)器架設(shè)指南第1/2頁
更新時間:2008年06月03日 11:25:39 作者:
本文參考了網(wǎng)上高手的教程和結(jié)合自己的實踐經(jīng)驗而來。網(wǎng)上關(guān)于LAMP安裝配置的教程雖然很多,但長篇大論的讓你抓不到重點,短小精悍的對新手來說又難了點,所以初次配置時最容易在某個環(huán)節(jié)卡住,從而打擊了學(xué)習(xí)的激情或者耽誤了寶貴的時間。于是就整理出這個學(xué)習(xí)筆記。如果文中有錯誤的地方,懇請大家指正,不要誤導(dǎo)了初學(xué)者。
一、系統(tǒng)約定
1、系統(tǒng)環(huán)境
Linux:CentOS-4.4.ServerCD
Apache:2.2.4
MySQL:4.0.26
PHP:4.3.11
ZendOptimizer:3.2.2
phpMyAdmin:2.10.0.2
2、源碼包存放位置 :/usr/local/src
#為什么一定要在/usr/local/src/下進行Tarball呢?這僅是約定俗成的,因為如此一來,大家都安裝在這個地方,以后主機的維護與移交都很簡單,并且對于將來在主機上面進行“升級”與”版本識別“都有很好的幫助。
二、系統(tǒng)環(huán)境部署及調(diào)優(yōu)
1、基本安全設(shè)置
對于一個在Internet上提供服務(wù)的主機,安全性很重要,這方面的工作包含主機的包漏洞修補、關(guān)閉并不是必須的守護進程(端口)、防火墻配置以及每日的日志分析等。在裝完系統(tǒng)后,建議按照以下步驟來進行安全設(shè)置:
1)關(guān)閉并不是必須的守護進程(端口)
CentOS4.4系統(tǒng)安裝完成后,一些可能并不是必須的守護進程會啟用。禁用非必要的進程會減少系統(tǒng)的內(nèi)存開銷,同時也可以減少系統(tǒng)的安全隱患,可以釋放更多的內(nèi)存空間、減少系統(tǒng)的啟動時間、減少CPU處理的進程數(shù)量。
默認情況下,很多守護進程可以安全的在系統(tǒng)下停止和禁用。下表列出了CentOS4.4安裝(安裝時軟件包只選擇開發(fā)工具一項)的一些守護進程,如果不是必須的你可以考慮禁用這些進程。 進程 描述
acpid 提供高級電源管理。建議保留
anacron 一個自動化運行任務(wù)守護進程。Red Hat Linux 隨帶四個自動化任務(wù)的工具cron、 anacron、at、和 batc。當(dāng)你的Linux服務(wù)器并不是全天運行,這個anacron就可以幫你執(zhí)行在"crontab"設(shè)定的時間內(nèi)沒有執(zhí)行的工作。
apmd apmd(Advanced Power Management)是高級電源管理。傳統(tǒng)的電源管理標準,對于筆記本電腦比較有用,可以了解系統(tǒng)的電池電量信息。并將相關(guān)信息通過syslogd 寫入日志。也可以用來在電源不足時關(guān)機。
atd 計劃任務(wù)(執(zhí)行一次)守護進程。建議保留
autos 自動mount文件系統(tǒng)進程(例如自動mount光驅(qū)),在服務(wù)器系統(tǒng)上文件系統(tǒng)很少使用自動mount功能。關(guān)閉
cpuspeed 動態(tài)調(diào)整CPU頻率的進程,在服務(wù)器系統(tǒng)中這個進程建議關(guān)閉。
crond 計劃任務(wù)(循環(huán)執(zhí)行)守護進程。建議保留
cups 通用UNIX打印系統(tǒng),如果你計劃在服務(wù)器上運行打印服務(wù)就不要關(guān)閉這個進程。
gmp 文本終端的鼠標服務(wù),如果你想在本地文本終端支持鼠標就不要禁用這個進程。
haldaemon 和Windows的硬件管理類似,掛載U盤等必不可少。建議保留
iptables 這個是防火墻守護進程,無論如何,先啟動它。
irqbalance 在多個處理器之間平衡中斷,如果你使用一個單CPU系統(tǒng)或者你計劃靜態(tài)的平衡中斷可以禁用這個進程。
isdn ISDN調(diào)制解調(diào)器支持,如果你準備在服務(wù)器上支持ISDN調(diào)制解調(diào)器就不要禁用這個進程。
kudzu 檢測和配置新硬件,如果硬件配置改變了應(yīng)該手動運行。
mdmonitor RAID相關(guān)設(shè)備的守護程序。
messagebus 掛載U盤時,要確保haldaemon和messagebus服務(wù)啟動,所以這個也建議保留。
microcode_ctl 可編碼以及發(fā)送新的微代碼到內(nèi)核以更新Intel IA32系列處理器守護進程。建議保留
netfs 用于支持NFS共享,如果你準備在服務(wù)器上支持NFS共享就不要禁用這個進程。
network 激活/關(guān)閉啟動時的各個網(wǎng)絡(luò)接口守護進程。
nfslock 對nfs啟用文件鎖,如果你準備在服務(wù)器上支持NFS共享就不要禁用這個進程。
pcmcia Pcmcia支持,在服務(wù)器上很少使用pcmcia適配器因此可以安全的禁用這個進程。
portmap 為RPC服務(wù)動態(tài)分配端口(例如NIS和NFS),如果系統(tǒng)沒有支持RPC服務(wù)可以禁用這個進程。
rawdevices 提供對裸設(shè)備綁定的支持,如果你不準備在系統(tǒng)中使用裸設(shè)備可以禁用這個進程。
rpcgssd 主要用于NFS和Samba的多個遠程調(diào)用進程,如果系統(tǒng)沒有基于rpc服務(wù)的支持,可以禁用這個進程。
rpcidmapd 同上
sendmail 郵件傳輸代理,如果服務(wù)器需要支持郵件服務(wù)就不要禁用這個進程。
smartd 使用S.M.A.R.T兼容設(shè)備的進程,如果你不是使用IDE/SATA磁盤子系統(tǒng),可以禁用這個進程。
sshd OpenSSH服務(wù)器守護進程,如果你不需要遠程管理主機,可以關(guān)閉,不過應(yīng)該沒有幾個人不需要這個服務(wù)吧。
syslog 把各類事件寫入日志,是相當(dāng)重要的服務(wù),務(wù)必啟動。
xfs X Window的字體服務(wù),如果你的運行級別是5請不要禁用這個進程。
xinetd 支持多種網(wǎng)絡(luò)服務(wù)的核心守護進程。務(wù)必啟動。
[root@localhost ~]# ntsysv
#根據(jù)自己的需要,使用ntsysv工具來啟用那些里程。
[root@localhost ~]# reboot
#重新啟動使設(shè)置生效
[root@localhost ~]# netstat -an |more
#......信息略......
#檢查一下當(dāng)前開啟的端口
#netstat是個很重要的命令,請大家務(wù)必掌握,這部份的知識自行在網(wǎng)上查閱。
2)基本防火墻配置
[root@localhost ~]# /etc/rc.d/init.d/iptables stop
#防火墻開啟
[root@localhost ~]# /etc/rc.d/init.d/iptables start
#防火墻開啟
[root@localhost ~]# vi /etc/sysconfig/iptables
#根據(jù)自己的情況增加防火墻規(guī)則。
[email=root@localhost]root@localhost[/email] ~]# iptables-save > filename
#上面的命令用于將當(dāng)前主機上的防火墻規(guī)則保存到filename文件。
root@localhost ~]# iptables-restore < filename
#上面的命令用于將filename防火墻規(guī)則文件(注意:不是sehll scripts格式)的規(guī)則讀入當(dāng)前Linux主機環(huán)境中。
3)locate命令用數(shù)據(jù)庫更新及自動更新設(shè)定
[root@localhost ~]# vi /etc/updatedb.conf
#將“DAILY_UPDATE=no”修改為“DAILY_UPDATE=yes”后保存、退出。
[root@localhost ~]# updatedb
#運行l(wèi)ocate數(shù)據(jù)庫更新命令,稍等片刻…更新成功后出現(xiàn)提示符
4)修改yum倉庫的鏡象地址,以提高下載速度
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@localhost yum.repos.d]# wget http://mirror.be10.com/centos/4.4/CentOS-Base.repo
5)停止打印服務(wù)
[root@localhost ~]# /etc/rc.d/init.d/cups stop ← 停止打印服務(wù)
Stopping cups: [ OK ] ← 停止服務(wù)成功,出現(xiàn)“OK”
[root@localhost ~]# chkconfig cups off ← 禁止打印服務(wù)自動啟動
[root@localhost ~]# chkconfig --list cups ← 確認打印服務(wù)自啟動設(shè)置狀態(tài)
cups 0:off 1:off 2:off 3:off 4:off 5:off 6:off ← 0-6都為off的狀態(tài)就OK(當(dāng)前打印服務(wù)自啟動被禁止中)
6)在線升級Linux
[root@localhost ~]# yum update
#通過yum工具更新系統(tǒng),更新后請重啟系統(tǒng)
#yum的用法請見《如何使用yum管理RPM(CentOS)》
2、其它設(shè)置
1)語言環(huán)境缺省設(shè)置
[root@localhost ~]# vi /etc/sysconfig/i18n
加上如下一行
QUOTE:
LANG="zh_CN.GB18030"
[root@localhost ~]# reboot
#重新啟動要設(shè)置生效
如果臨時需要英文環(huán)境,執(zhí)行以下命令即可。
[root@localhost ~]# export LANG='en_US'
2)對TCP/IP網(wǎng)絡(luò)參數(shù)進行調(diào)整,加強抗syn_flood能力
[root@localhost ~]# echo 'net.ipv4.tcp_syncookies = 1' >> /etc/sysctl.conf
[root@localhost ~]# sysctl –p
3)網(wǎng)絡(luò)校時
[root@localhost ~]# date
#確認系統(tǒng)時間是否正確
[root@localhost ~]# ntpdate 210.72.145.44
#與中國國家授時中心進行時間校正
[root@localhost ~]# yum install ntp
#安裝ntpdate程序。系統(tǒng)雖然默認沒有安裝這個套件,但我們可以很方便的通過yum工具來在線安裝。
[root@localhost ~]# crontab -e
[Copy to clipboard] [ - ]
CODE:
0 23 * * * root /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1
#以上命令設(shè)置好后存盤。您的機器將在每天的23:00根據(jù)中國國家授時中心的NTP服務(wù)器時間自動校準時間。
#關(guān)于linux下定時執(zhí)行工具crontab的介紹請見http://hi.baidu.com/monobao/blog/item/01e9ecdcbc6a14a1cc11665b.html
3、安裝有依賴關(guān)系RPM包
[root@localhost ~]# vi install.sh
[Copy to clipboard] [ - ]
CODE:
yum -y install gcc
yum install cpp
yum install gcc-c++
yum install ncurses
yum install ncurses-devel
yum install gd-devel php-gd
yum install zlib-devel
yum install freetype-devel freetype-demos freetype-utils
yum install libpng-devel libpng10 libpng10-devel
yum install libjpeg-devel
yum install ImageMagick
yum install flex
yum install ImageMagick-devel
[root@localhost ~]# sh install.sh
#為了方便,直接這些軟件包在線安裝的指令行編寫到到腳本(Shell Script)中,下次用到時,你只需執(zhí)行這個腳本就能自動安裝了。因為Shell Script是利用您平日在使用的一些指令,將之組合起來,成為一個"程式"。如果您平日某些序列的指令下得特別頻繁,便可以將這些指令組合起來,成為另一個新的指令。這樣,不但可以簡化并加速操作速度,甚至還可以乾脆自動定期執(zhí)行,大大簡化系統(tǒng)管理工作。
下面正式步入LAMP的的安裝步驟,開始安裝之前,先了解一下源碼編譯方面的知識,參考文獻《Linux系統(tǒng)管理員(二)---套件管理RPM與Tarball》。
三、安裝Mysql
1、建立msyql用戶組
[root@localhost ~]# grep mysql /etc/group
#查詢系統(tǒng)中是否有mysql這個用戶組,沒有則添加。
[root@localhost ~]# groupadd mysql
#增加一個名為mysql的用戶組
2、建立mysql用戶
[root@localhost ~]# grep mysql /etc/passwd
#查詢系統(tǒng)中是否有mysql這個用戶,沒有則添加。
[root@localhost ~]# useradd mysql -g mysql -M -s /sbin/nologin
#增加一個名為mysql的用戶。
-g:指定新用戶所屬的用戶組(group)
-M:不建立根目錄
-s:定義其使用的shell,/sbin/nologin代表用戶不能登錄系統(tǒng)。
3、下載:mysql-4.0.26
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget http://ftp.gamearena.cn/software/mysql-4.0.26.tar.gz
#......(信息略)......
[root@localhost src]# chmod +x mysql-4.0.26.tar.gz
#修改文件權(quán)限為755
[root@localhost src]# tar -zxvf mysql-4.0.26.tar.gz
#......(信息略)......
#解壓縮
PS:當(dāng)你在www.mysql.com下載MySQL的時候,會發(fā)現(xiàn)有binary/rpm/source三種包。binary distribution是由mysql官方優(yōu)化編譯好的,不需要make。
3、設(shè)置編譯器的編譯參數(shù)
[root@localhost src]# cd /usr/local/src/mysql-4.0.26
[root@localhost mysql-4.0.26]# ./configure --prefix=/usr/local/mysql --with-unix-socket-path=/tmp/mysql.sock --localstatedir=/usr/local/mysql/data --with-charset=gbk --without-debug --enable-assembler --without-isam --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
#這些設(shè)置告訴編譯器如何編譯apache:
--prefix=/usr/local/mysql
指定msyql安裝目錄
--with-unix-socket-path=/tmp/mysql.sock
這個是指定mysql服務(wù)器啟動后,聯(lián)機套接字文件所處的位置和文件名。
--localstatedir=/usr/local/mysql/data
指定mysql的數(shù)據(jù)庫目錄
--with-charset=gbk
添加gbk中文字符支持
--without-debug
去除debug模式
--enable-assembler
使用一些字符函數(shù)的匯編版本
--without-isam
去掉isam表類型支持,現(xiàn)在很少用了,isam表是一種依賴平臺的表
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
4、編譯和安裝
[root@localhost mysql-4.0.26]# make
#“make”命令把源文件編譯成可執(zhí)行的二進制文件
[root@localhost mysql-4.0.26]# make install
#“make install”把二進制文件和配置文件安裝在合適的目錄下
6、初始化系統(tǒng)庫
[root@localhost mysql-4.0.26]# ./scripts/mysql_install_db
1、系統(tǒng)環(huán)境
Linux:CentOS-4.4.ServerCD
Apache:2.2.4
MySQL:4.0.26
PHP:4.3.11
ZendOptimizer:3.2.2
phpMyAdmin:2.10.0.2
2、源碼包存放位置 :/usr/local/src
#為什么一定要在/usr/local/src/下進行Tarball呢?這僅是約定俗成的,因為如此一來,大家都安裝在這個地方,以后主機的維護與移交都很簡單,并且對于將來在主機上面進行“升級”與”版本識別“都有很好的幫助。
二、系統(tǒng)環(huán)境部署及調(diào)優(yōu)
1、基本安全設(shè)置
對于一個在Internet上提供服務(wù)的主機,安全性很重要,這方面的工作包含主機的包漏洞修補、關(guān)閉并不是必須的守護進程(端口)、防火墻配置以及每日的日志分析等。在裝完系統(tǒng)后,建議按照以下步驟來進行安全設(shè)置:
1)關(guān)閉并不是必須的守護進程(端口)
CentOS4.4系統(tǒng)安裝完成后,一些可能并不是必須的守護進程會啟用。禁用非必要的進程會減少系統(tǒng)的內(nèi)存開銷,同時也可以減少系統(tǒng)的安全隱患,可以釋放更多的內(nèi)存空間、減少系統(tǒng)的啟動時間、減少CPU處理的進程數(shù)量。
默認情況下,很多守護進程可以安全的在系統(tǒng)下停止和禁用。下表列出了CentOS4.4安裝(安裝時軟件包只選擇開發(fā)工具一項)的一些守護進程,如果不是必須的你可以考慮禁用這些進程。 進程 描述
acpid 提供高級電源管理。建議保留
anacron 一個自動化運行任務(wù)守護進程。Red Hat Linux 隨帶四個自動化任務(wù)的工具cron、 anacron、at、和 batc。當(dāng)你的Linux服務(wù)器并不是全天運行,這個anacron就可以幫你執(zhí)行在"crontab"設(shè)定的時間內(nèi)沒有執(zhí)行的工作。
apmd apmd(Advanced Power Management)是高級電源管理。傳統(tǒng)的電源管理標準,對于筆記本電腦比較有用,可以了解系統(tǒng)的電池電量信息。并將相關(guān)信息通過syslogd 寫入日志。也可以用來在電源不足時關(guān)機。
atd 計劃任務(wù)(執(zhí)行一次)守護進程。建議保留
autos 自動mount文件系統(tǒng)進程(例如自動mount光驅(qū)),在服務(wù)器系統(tǒng)上文件系統(tǒng)很少使用自動mount功能。關(guān)閉
cpuspeed 動態(tài)調(diào)整CPU頻率的進程,在服務(wù)器系統(tǒng)中這個進程建議關(guān)閉。
crond 計劃任務(wù)(循環(huán)執(zhí)行)守護進程。建議保留
cups 通用UNIX打印系統(tǒng),如果你計劃在服務(wù)器上運行打印服務(wù)就不要關(guān)閉這個進程。
gmp 文本終端的鼠標服務(wù),如果你想在本地文本終端支持鼠標就不要禁用這個進程。
haldaemon 和Windows的硬件管理類似,掛載U盤等必不可少。建議保留
iptables 這個是防火墻守護進程,無論如何,先啟動它。
irqbalance 在多個處理器之間平衡中斷,如果你使用一個單CPU系統(tǒng)或者你計劃靜態(tài)的平衡中斷可以禁用這個進程。
isdn ISDN調(diào)制解調(diào)器支持,如果你準備在服務(wù)器上支持ISDN調(diào)制解調(diào)器就不要禁用這個進程。
kudzu 檢測和配置新硬件,如果硬件配置改變了應(yīng)該手動運行。
mdmonitor RAID相關(guān)設(shè)備的守護程序。
messagebus 掛載U盤時,要確保haldaemon和messagebus服務(wù)啟動,所以這個也建議保留。
microcode_ctl 可編碼以及發(fā)送新的微代碼到內(nèi)核以更新Intel IA32系列處理器守護進程。建議保留
netfs 用于支持NFS共享,如果你準備在服務(wù)器上支持NFS共享就不要禁用這個進程。
network 激活/關(guān)閉啟動時的各個網(wǎng)絡(luò)接口守護進程。
nfslock 對nfs啟用文件鎖,如果你準備在服務(wù)器上支持NFS共享就不要禁用這個進程。
pcmcia Pcmcia支持,在服務(wù)器上很少使用pcmcia適配器因此可以安全的禁用這個進程。
portmap 為RPC服務(wù)動態(tài)分配端口(例如NIS和NFS),如果系統(tǒng)沒有支持RPC服務(wù)可以禁用這個進程。
rawdevices 提供對裸設(shè)備綁定的支持,如果你不準備在系統(tǒng)中使用裸設(shè)備可以禁用這個進程。
rpcgssd 主要用于NFS和Samba的多個遠程調(diào)用進程,如果系統(tǒng)沒有基于rpc服務(wù)的支持,可以禁用這個進程。
rpcidmapd 同上
sendmail 郵件傳輸代理,如果服務(wù)器需要支持郵件服務(wù)就不要禁用這個進程。
smartd 使用S.M.A.R.T兼容設(shè)備的進程,如果你不是使用IDE/SATA磁盤子系統(tǒng),可以禁用這個進程。
sshd OpenSSH服務(wù)器守護進程,如果你不需要遠程管理主機,可以關(guān)閉,不過應(yīng)該沒有幾個人不需要這個服務(wù)吧。
syslog 把各類事件寫入日志,是相當(dāng)重要的服務(wù),務(wù)必啟動。
xfs X Window的字體服務(wù),如果你的運行級別是5請不要禁用這個進程。
xinetd 支持多種網(wǎng)絡(luò)服務(wù)的核心守護進程。務(wù)必啟動。
[root@localhost ~]# ntsysv
#根據(jù)自己的需要,使用ntsysv工具來啟用那些里程。
[root@localhost ~]# reboot
#重新啟動使設(shè)置生效
[root@localhost ~]# netstat -an |more
#......信息略......
#檢查一下當(dāng)前開啟的端口
#netstat是個很重要的命令,請大家務(wù)必掌握,這部份的知識自行在網(wǎng)上查閱。
2)基本防火墻配置
[root@localhost ~]# /etc/rc.d/init.d/iptables stop
#防火墻開啟
[root@localhost ~]# /etc/rc.d/init.d/iptables start
#防火墻開啟
[root@localhost ~]# vi /etc/sysconfig/iptables
#根據(jù)自己的情況增加防火墻規(guī)則。
[email=root@localhost]root@localhost[/email] ~]# iptables-save > filename
#上面的命令用于將當(dāng)前主機上的防火墻規(guī)則保存到filename文件。
root@localhost ~]# iptables-restore < filename
#上面的命令用于將filename防火墻規(guī)則文件(注意:不是sehll scripts格式)的規(guī)則讀入當(dāng)前Linux主機環(huán)境中。
3)locate命令用數(shù)據(jù)庫更新及自動更新設(shè)定
[root@localhost ~]# vi /etc/updatedb.conf
#將“DAILY_UPDATE=no”修改為“DAILY_UPDATE=yes”后保存、退出。
[root@localhost ~]# updatedb
#運行l(wèi)ocate數(shù)據(jù)庫更新命令,稍等片刻…更新成功后出現(xiàn)提示符
4)修改yum倉庫的鏡象地址,以提高下載速度
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@localhost yum.repos.d]# wget http://mirror.be10.com/centos/4.4/CentOS-Base.repo
5)停止打印服務(wù)
[root@localhost ~]# /etc/rc.d/init.d/cups stop ← 停止打印服務(wù)
Stopping cups: [ OK ] ← 停止服務(wù)成功,出現(xiàn)“OK”
[root@localhost ~]# chkconfig cups off ← 禁止打印服務(wù)自動啟動
[root@localhost ~]# chkconfig --list cups ← 確認打印服務(wù)自啟動設(shè)置狀態(tài)
cups 0:off 1:off 2:off 3:off 4:off 5:off 6:off ← 0-6都為off的狀態(tài)就OK(當(dāng)前打印服務(wù)自啟動被禁止中)
6)在線升級Linux
[root@localhost ~]# yum update
#通過yum工具更新系統(tǒng),更新后請重啟系統(tǒng)
#yum的用法請見《如何使用yum管理RPM(CentOS)》
2、其它設(shè)置
1)語言環(huán)境缺省設(shè)置
[root@localhost ~]# vi /etc/sysconfig/i18n
加上如下一行
QUOTE:
LANG="zh_CN.GB18030"
[root@localhost ~]# reboot
#重新啟動要設(shè)置生效
如果臨時需要英文環(huán)境,執(zhí)行以下命令即可。
[root@localhost ~]# export LANG='en_US'
2)對TCP/IP網(wǎng)絡(luò)參數(shù)進行調(diào)整,加強抗syn_flood能力
[root@localhost ~]# echo 'net.ipv4.tcp_syncookies = 1' >> /etc/sysctl.conf
[root@localhost ~]# sysctl –p
3)網(wǎng)絡(luò)校時
[root@localhost ~]# date
#確認系統(tǒng)時間是否正確
[root@localhost ~]# ntpdate 210.72.145.44
#與中國國家授時中心進行時間校正
[root@localhost ~]# yum install ntp
#安裝ntpdate程序。系統(tǒng)雖然默認沒有安裝這個套件,但我們可以很方便的通過yum工具來在線安裝。
[root@localhost ~]# crontab -e
[Copy to clipboard] [ - ]
CODE:
0 23 * * * root /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1
#以上命令設(shè)置好后存盤。您的機器將在每天的23:00根據(jù)中國國家授時中心的NTP服務(wù)器時間自動校準時間。
#關(guān)于linux下定時執(zhí)行工具crontab的介紹請見http://hi.baidu.com/monobao/blog/item/01e9ecdcbc6a14a1cc11665b.html
3、安裝有依賴關(guān)系RPM包
[root@localhost ~]# vi install.sh
[Copy to clipboard] [ - ]
CODE:
yum -y install gcc
yum install cpp
yum install gcc-c++
yum install ncurses
yum install ncurses-devel
yum install gd-devel php-gd
yum install zlib-devel
yum install freetype-devel freetype-demos freetype-utils
yum install libpng-devel libpng10 libpng10-devel
yum install libjpeg-devel
yum install ImageMagick
yum install flex
yum install ImageMagick-devel
[root@localhost ~]# sh install.sh
#為了方便,直接這些軟件包在線安裝的指令行編寫到到腳本(Shell Script)中,下次用到時,你只需執(zhí)行這個腳本就能自動安裝了。因為Shell Script是利用您平日在使用的一些指令,將之組合起來,成為一個"程式"。如果您平日某些序列的指令下得特別頻繁,便可以將這些指令組合起來,成為另一個新的指令。這樣,不但可以簡化并加速操作速度,甚至還可以乾脆自動定期執(zhí)行,大大簡化系統(tǒng)管理工作。
下面正式步入LAMP的的安裝步驟,開始安裝之前,先了解一下源碼編譯方面的知識,參考文獻《Linux系統(tǒng)管理員(二)---套件管理RPM與Tarball》。
三、安裝Mysql
1、建立msyql用戶組
[root@localhost ~]# grep mysql /etc/group
#查詢系統(tǒng)中是否有mysql這個用戶組,沒有則添加。
[root@localhost ~]# groupadd mysql
#增加一個名為mysql的用戶組
2、建立mysql用戶
[root@localhost ~]# grep mysql /etc/passwd
#查詢系統(tǒng)中是否有mysql這個用戶,沒有則添加。
[root@localhost ~]# useradd mysql -g mysql -M -s /sbin/nologin
#增加一個名為mysql的用戶。
-g:指定新用戶所屬的用戶組(group)
-M:不建立根目錄
-s:定義其使用的shell,/sbin/nologin代表用戶不能登錄系統(tǒng)。
3、下載:mysql-4.0.26
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget http://ftp.gamearena.cn/software/mysql-4.0.26.tar.gz
#......(信息略)......
[root@localhost src]# chmod +x mysql-4.0.26.tar.gz
#修改文件權(quán)限為755
[root@localhost src]# tar -zxvf mysql-4.0.26.tar.gz
#......(信息略)......
#解壓縮
PS:當(dāng)你在www.mysql.com下載MySQL的時候,會發(fā)現(xiàn)有binary/rpm/source三種包。binary distribution是由mysql官方優(yōu)化編譯好的,不需要make。
3、設(shè)置編譯器的編譯參數(shù)
[root@localhost src]# cd /usr/local/src/mysql-4.0.26
[root@localhost mysql-4.0.26]# ./configure --prefix=/usr/local/mysql --with-unix-socket-path=/tmp/mysql.sock --localstatedir=/usr/local/mysql/data --with-charset=gbk --without-debug --enable-assembler --without-isam --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
#這些設(shè)置告訴編譯器如何編譯apache:
--prefix=/usr/local/mysql
指定msyql安裝目錄
--with-unix-socket-path=/tmp/mysql.sock
這個是指定mysql服務(wù)器啟動后,聯(lián)機套接字文件所處的位置和文件名。
--localstatedir=/usr/local/mysql/data
指定mysql的數(shù)據(jù)庫目錄
--with-charset=gbk
添加gbk中文字符支持
--without-debug
去除debug模式
--enable-assembler
使用一些字符函數(shù)的匯編版本
--without-isam
去掉isam表類型支持,現(xiàn)在很少用了,isam表是一種依賴平臺的表
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
4、編譯和安裝
[root@localhost mysql-4.0.26]# make
#“make”命令把源文件編譯成可執(zhí)行的二進制文件
[root@localhost mysql-4.0.26]# make install
#“make install”把二進制文件和配置文件安裝在合適的目錄下
6、初始化系統(tǒng)庫
[root@localhost mysql-4.0.26]# ./scripts/mysql_install_db
您可能感興趣的文章:
- 在CentOS上MySQL數(shù)據(jù)庫服務(wù)器配置方法
- linux服務(wù)器用centos還是ubuntu系統(tǒng)
- centos下更新Python版本的步驟
- 64位CentOS 6.0下搭建LAMP環(huán)境詳細步驟
- CentOS 5.1 4.6最新官方下載地址列表
- centos系統(tǒng)升級python 2.7.3
- CentOS 6.3編譯安裝LAMP環(huán)境筆記
- CentOS的圖形安裝及初始環(huán)境設(shè)置教程
- CentOS下.htaccess不起作用的解決方法
- centos系統(tǒng)下LNMP環(huán)境一鍵安裝
- CentOS系統(tǒng)通過日志反查是否被入侵
相關(guān)文章
Linux 內(nèi)核通用鏈表學(xué)習(xí)小結(jié)
本篇文章主要介紹了Linux 內(nèi)核通用鏈表學(xué)習(xí)小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11keeplive+mysql+drbd高可用架構(gòu)安裝步驟
本地(master)與遠程主機(backup)的保證實時同步,如果本地系統(tǒng)出現(xiàn)故障時,遠程主機上還會保留有一份相同的數(shù)據(jù),可以繼續(xù)使用.在高可用(HA)中使用DRBD功能,可以代替使用一個共享盤陣.因為數(shù)據(jù)同時存在于本地主機和遠程主機上,切換時,遠程主機只要使用它上面的那份備份數(shù)據(jù)2017-08-08Linux云服務(wù)器搭建SFTP服務(wù)器圖片服務(wù)器的操作
這篇文章主要介紹了Linux云服務(wù)器搭建SFTP服務(wù)器圖片服務(wù)器的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07linux操作系統(tǒng)利用python實現(xiàn)任務(wù)管理器可視化功能
這篇文章主要介紹了linux操作系統(tǒng)下利用python實現(xiàn)任務(wù)管理器可視化功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11使用linux命令crontab間隔時間執(zhí)行其它命令
crontab命令的功能是在一定的時間間隔調(diào)度一些命令執(zhí)行,詳解使用方法看下示例和解釋2014-01-01