原文地址:http://x.discuz.net/252122/viewspace_74303.html
作者:
leobore序幕
因為自己的項目開(kāi)發(fā)需要配置一個(gè)LAMP環(huán)境進(jìn)行試驗。我個(gè)人比較懶,不想自己去慢慢摸索,就在網(wǎng)上找了很多相關(guān)的文章,然后總結在安裝過(guò)程中遇到的問(wèn)題,寫(xiě)下了下面這個(gè)安裝指南(呵呵,希望不要指北就行了)。
為了取得更大的主動(dòng)權和配置靈活性,我沒(méi)有選擇使用RPM方式安裝,全部都使用源代碼方式進(jìn)行安裝。
沙發(fā)
要安裝上面那些東東,總要給它們一個(gè)沙發(fā)吧。首先介紹一下我的沙發(fā)吧:操作系統是Redhat Enterprise AS 4,沒(méi)有安裝任何Web服務(wù)器和數據庫服務(wù)器。
主角和配角
該主角出場(chǎng)了,本次安裝的主角分別是:
主角有了,也要有一些配角才能讓這個(gè)平臺更好得進(jìn)行服務(wù)。如果要使用PHP圖形函數,必須要安裝GD庫吧;需要xml支持嗎?libxml必須要安裝吧。
當然了,如果你上面那些都不需要,也可以不安裝,俺可沒(méi)有說(shuō)必須要安裝,不然他們就是主角了。呵呵,是不是太唐僧了?
所有的源代碼下載完畢后,把他們都集中到一起,以便于進(jìn)行管理,我的習慣是放在/home/downloads/software/lamp/里面。那么這些東西都安裝到什么地方呢?我的習慣是安裝到/usr/local/下面。當然了,這個(gè)路徑你可以隨意指定了(即便是全部都安裝到/tmp里面都可以,只要你覺(jué)得很爽,嘿嘿)。
Action!
第一個(gè)登場(chǎng)的是誰(shuí)呢?當然是身材最魁梧的MySQL。
安裝MySQL
- 建立mysql組和mysql用戶(hù)
| [root@localhost lamp]#groupadd mysql [root@localhost lamp]#useradd -g mysql mysql |
- 解壓源代碼
| [root@localhost lamp]#tar -zxvf mysql-5.0.33.tar.gz [root@localhost lamp]#cd mysql-5.0.33 |
- 建立配置參數
| [root@localhost mysql-5.0.33]#./configure --prefix=/usr/local/mysql --sysconfdir=/usr/local/mysql --without-isam --without-debug --enable-assembler --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-mysqld-user=mysql --with-extra-charset=all --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --localstatedir=/usr/local/mysql/data --enable-thread-safe-client |
我這里配置的參數比較多,因為我懶,也沒(méi)有耐心仔細解釋每個(gè)參數的意義了。如果你覺(jué)得很麻煩的話(huà),也可以使用比較簡(jiǎn)單一點(diǎn)的參數,例如:
| [root@localhost mysql-5.0.33]#./configure --prefix=/usr/local/mysql --enable-thread-safe-client |
這最后一個(gè)參數一定要加上,目的是為了使用MySQL的客戶(hù)端線(xiàn)程,否則的話(huà)后面編譯PHP時(shí)是要出錯的。
- 編譯
| [root@localhost mysql-5.0.33]#make [root@localhost mysql-5.0.33]#make install |
只要步驟3沒(méi)有出任何錯誤,那么現在這個(gè)過(guò)程就會(huì )是整個(gè)安裝過(guò)程中最費時(shí)的步驟,因此我建議在你按下回車(chē)以后,最好找一點(diǎn)有意義的事情(許三多說(shuō)的,不是我說(shuō)的……)做。反正我利用這個(gè)時(shí)間把DS論壇的首頁(yè)帖子翻了一遍。
- 復制配置文件
| [root@localhost mysql-5.0.33]#cp support-files/my-medium.cnf /etc/my.cnf |
- 初始化數據庫
| [root@localhost mysql-5.0.33]#cd /usr/local/mysql [root@localhost mysql]#bin/mysql_install_db --user=mysql |
- 修改目錄權限
注意,在修改目錄權限的時(shí)候,我按照源代碼包中的INSTALL-SOURCE文檔提示的進(jìn)行權限設置時(shí),發(fā)現MySQL沒(méi)法啟動(dòng)成功,后來(lái)我干脆按照自己的方式進(jìn)行設置后,數據庫就可以啟動(dòng)了,問(wèn)題在哪里呢?下面是兩種方法,哪種方法適合你,你就用哪種吧。
方法一(原版):
| [root@localhost mysql]#chown -R root . [root@localhost mysql]#chown -R var [root@localhost mysql]#chgrp -R mysql . |
方法二(俺的版本):
| [root@localhost mysql]#mkdir tmp [root@localhost mysql]#chown -R root . [root@localhost mysql]#chgrp -R mysql . [root@localhost mysql]#chown -R mysql data [root@localhost mysql]#chown -R mysql tmp |
為什么沒(méi)有為var設置權限那句呢?因為我發(fā)現我的這個(gè)目錄里面并沒(méi)有這個(gè)目錄,你讓我怎么設置呢?
- 啟動(dòng)服務(wù)器
按照INSTALL-SOURCE文檔的說(shuō)法,使用下面的命令就可以啟動(dòng)MySQL數據庫了:
| [root@localhost mysql]#bin/mysqld_safe --user=mysql & |
其實(shí),MySQL數據庫早就提供了另外一種更加方便的啟動(dòng)方式。進(jìn)入/usr/local/mysql/share/mysql/下面會(huì )找到一個(gè) mysql.server文件,它的屬性是755。我們把它復制到/etc/init.d/下面,并把它加入到系統服務(wù)表中,您就可以在任何地方用 service mysql start語(yǔ)句來(lái)啟動(dòng)它,并用service mysql stop停止它。怎么做呢?
| [root@localhost mysql]#cp ./mysql.server /etc/init.d/mysql [root@localhost mysql]#chkconfig --add mysql [root@localhost mysql]#service mysql start |
- 測試數據庫服務(wù)器
到此,MySQL已經(jīng)安裝完畢了,是不是成功了呢?測試一下就知道了。
| [root@localhost mysql]#bin/mysql -u root -p [root@localhost mysql]#Enter password: |
需要輸入密碼?!密碼是什么呢?
root用戶(hù)的默認密碼是空,直接輸入回車(chē)就可以了。
看看是不是出現下面的信息了:
| Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.0.33-log Source distribution Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the buffer. mysql> |
那么恭喜你,MySQL數據庫安裝成功,并且已經(jīng)啟動(dòng)了!
下一個(gè)!
下面是不是就該Apache出場(chǎng)了呢?別急,在安裝Apache之前先把zlib包裝上,因為Apache需要用到它。
安裝zlib
- 解壓源代碼
| [root@localhost lamp]#cd /home/downloads/software/lamp/ [root@localhost lamp]#cd zlib-1.2.3 [root@localhost zlib-1.2.3]#tar -zxvf zlib-1.2.3.tar.gz |
- 配置參數
| [root@localhost zlib-1.2.3]#./configure --prefix=/usr/local/zlib |
- 編譯安裝
| [root@localhost zlib-1.2.3]#make [root@localhost zlib-1.2.3]#make install |
安裝完畢了,下面該拿Apache開(kāi)刀了!
安裝Apache
- 解壓源代碼
| [root@localhost zlib-1.2.3]#cd .. [root@localhost lamp]#tar -zxvf httpd-2.2.4.tar.gz |
- 配置參數
| [root@localhost lamp]#cd httpd-2.2.4 [root@localhost httpd-2.2.4]#./configure --prefix=/usr/local/httpd --enable-so --with-mysql=/usr/local/mysql --enable-cgi --with-config-file-path=/usr/local/httpd/conf --enable-track-vars --enable-mods-shared=all --enable-cache --enable-disk-cache --enable-mem-cache --enable-rewrite --with-mpm=worker --with-z-dir=/usr/local/zlib |
編譯沒(méi)有出錯,就可以進(jìn)行編譯安裝了。如果出了錯,沒(méi)辦法,好好找找錯誤處在哪里咯,呵呵……
- 編譯安裝
| [root@localhost httpd-2.2.4]#make [root@localhost httpd-2.2.4]#make install |
只要配置參數時(shí)沒(méi)有錯誤,這一步基本上不會(huì )出錯的。
- 測試一下……
安裝完畢了,總要測試一下是不是可以用吧,先讓我們把httpd服務(wù)啟動(dòng)起來(lái):
| [root@localhost httpd-2.2.4]#/usr/local/httpd/bin/apachectl start httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1 for ServerName |
怎么會(huì )有錯誤提示呢?別害怕,那時(shí)因為在httpd的配置文件里面沒(méi)有制定主機名,不過(guò)不影響使用的。
用瀏覽器訪(fǎng)問(wèn)一下本地試試(http://127.0.0.1),屏幕上是不是顯示:It works !這個(gè)就不用解釋了吧,人家已經(jīng)說(shuō)得很明白了,俺開(kāi)始工作了!
- 系統設置
我想你肯定不想每次啟動(dòng)電腦后,都要打一遍啟動(dòng)Apache服務(wù)的命令吧,但是怎么讓電腦自動(dòng)運行呢?別急,有辦法,輸入下面的命令就可以了:
| [root@localhost httpd-2.2.4]#echo "/usr/local/httpd/bin/apachectl start" >> /etc/rc.d/rc.local |
這樣,每次啟動(dòng)服務(wù)器后,Apache就會(huì )乖乖的自動(dòng)啟動(dòng)了,呵呵……
在開(kāi)始安裝PHP前,還是一樣要把它需要的組件先裝完,這個(gè)是順序。
安裝libpng
- 解壓源代碼
| [root@localhost httpd-2.2.4]#cd .. [root@localhost lamp]#tar -zxvf libpng-1.2.8.tar.gz |
- 復制預編譯文件
| [root@localhost lamp]#cd libpng-1.2.8 [root@localhost libpng-1.2.8]#cp scrīpts/makefile.linux makefile |
說(shuō)實(shí)話(huà),我也不知道軟件作者為啥還要搞這一步,把這個(gè)文件直接放在目錄里面很難么?
- 編譯安裝
| [root@localhost libpng-1.2.8]#make [root@localhost libpng-1.2.8]#make install |
安裝freetype
- 解壓源代碼
| [root@localhost libpng-1.2.8]#cd .. [root@localhost lamp]#tar -zxvf freetype-2.1.10.tar.gz |
- 配置參數
| [root@localhost libpng-1.2.8]#cd freetype-2.1.10 [root@localhost freetype-2.1.10]#./configure --prefix=/usr/local/freetype |
- 編譯安裝
| [root@localhost freetype-2.1.10]#make [root@localhost freetype-2.1.10]#make install |
安裝jpegsrc.v6b
- 解壓源文件
| [root@localhost freetype-2.1.10]#cd .. [root@localhost lamp]#tar -zxvf jpegsrc.v6b.tar.gz |
- 建立默認目錄
這個(gè)模塊安裝比較麻煩,它不會(huì )自己建立目錄,所以所有的目錄都需要我們自己建立,煩……
| [root@localhost lamp]#cd jpeg-6b [root@localhost jpeg-6b]#mkdir -p /usr/local/jpeg6 [root@localhost jpeg-6b]# mkdir -p /usr/local/jpeg6/bin [root@localhost jpeg-6b]# mkdir -p /usr/local/jpeg6/lib [root@localhost jpeg-6b]# mkdir -p /usr/local/jpeg6/include [root@localhost jpeg-6b]# mkdir -p /usr/local/jpeg6/man [root@localhost jpeg-6b]# mkdir -p /usr/local/jpeg6/man1 [root@localhost jpeg-6b]# mkdir -p /usr/local/jpeg6/man/man1 |
- 配置參數
| [root@localhost jpeg-6b]#./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static |
- 編譯安裝
| [root@localhost jpeg-6b]#make [root@localhost jpeg-6b]#make install [root@localhost jpeg-6b]#make install-lib |
安裝libxml2
- 解壓源代碼
| [root@localhost jpeg-6b]#cd .. [root@localhost lamp]#tar -zxvf libxml2-2.6.27.tar.gz |
- 建立目錄
唉,又是一個(gè)需要自己建立目錄的……
| [root@localhost libxml2-2.6.27]#mkdir -p /usr/local/libxml2 |
- 配置參數
| [root@localhost libxml2-2.6.27]#./configure --prefix=/usr/local/libxml2 |
- 編譯安裝
| [root@localhost libxml2-2.6.27]#make [root@localhost libxml2-2.6.27]#make install |
- 復制配置文件
俺也不知道為什么要手動(dòng)復制這個(gè)東東!
| [root@localhost libxml2-2.6.27]#cp xml2-config /usr/bin |
安裝GD庫
- 解壓源代碼
| [root@localhost libxml2-2.6.27]#cd .. [root@localhost lamp]#tar -zxvf gd-2.0.33.tar.gz |
- 建立安裝目錄
啥也不說(shuō)了……
| [root@localhost lamp]#cd gd-2.0.33 [root@localhost gd-2.0.33]#mkdir -p /usr/local/gd |
- 配置參數
| [root@localhost gd-2.0.33]#./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg6 --with-freetype=/usr/local/freetype --with-png=/usr/local/lib --with-zlib=/usr/local/zlib |
- 編譯安裝
| [root@localhost gd-2.0.33]#make [root@localhost gd-2.0.33]#make install |
最后一個(gè)主角出場(chǎng)了!
安裝PHP
- 解壓源代碼
| [root@localhost gd-2.0.33]#cd .. [root@localhost lamp]#tar -zxvf php-5.2.0.tar.gz |
- 配置參數
| [root@localhost lamp]#cd php-5.2.0 [root@localhost php-5.2.0]#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-gd=/usr/local/gd --enable-gd --enable-gd-native-ttf --with-jpeg-dir=/usr/local/jpeg6 --with-png=/usr/local/lib --with-ttf --with-zlib=/usr/local/zlib --with-freetype-dir=/usr/local/freetype --enable-magic-quotes --with-mysql=/usr/local/mysql --with-mysql-sock=/usr/local/mysql/tmp/mysql.sock --with-iconv --with-mbstring --enable-mbstring --enable-track-vars --enable-force-cgi-redirect --enable-ftp --with-config-file-path=/usr/local/httpd/conf --with-pear=/usr/local/php/pear |
- 編譯安裝
| [root@localhost php-5.2.0]#make [root@localhost php-5.2.0]#make install |
- 復制配置文件
| [root@localhost php-5.2.0]#cp php.ini-dist /usr/local/php/lib/php.ini |
- 修改Apache配置
PHP是要和Apache配合使用,所以當然需要修改一下Apache的配置文件咯……
| [root@localhost php-5.2.0]#vi /usr/local/httpd/conf/httpd.conf |
找到文件中的“#AddType application/x-gzip .gz .tgz”這行,在下面手動(dòng)添加兩行:
| AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps |
保存配置,然后重新啟動(dòng)Apache
| [root@localhost php-5.2.0]#/usr/local/httpd/bin/apachectl restart |
- 測試
測試也很簡(jiǎn)單,在/usr/local/httpd/htdocs/下面建立一個(gè)phpinfo.php文件,里面寫(xiě)
然后呢,在瀏覽器里面輸入“http://127.0.0.1/phpinfo.php”,如果頁(yè)面上出現了PHP的版權信息及系統配置情況,說(shuō)明你的PHP已經(jīng)可以使用了。如果頁(yè)面上出現的是你剛才寫(xiě)的代碼,麻煩了,回頭檢查一下哪里有問(wèn)題咯……
暈,終于寫(xiě)完了,試試吧,看看有沒(méi)有寫(xiě)錯什么
Over
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。