LAMP 指的Linux(作業系統)、 Apache(HTTP 伺服器), MySQL(資料庫軟體) 和PHP (有時也是指Perl或 Python) 的第一個字母,一般用來建立的web 伺服器。Linux 是免費開源軟體,這意味着源代碼可用的作業系統。Apache 是使用中最受歡迎的一個開放源碼的WEB伺服器軟體。MySQL 是多線程、多使用者的SQL資料庫管理系統。PHP 是一種程式設計語言最初設計生産動态網站。PHP 是主要用于伺服器端的應用程式軟體。Perl 和 Python 類似。
源碼lamp搭建過程:
1:[root@lyt ~]# mkdir /mnt/cdrom
[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/
[root@lyt ~]# cd /mnt/cdrom/Server/
[root@lyt Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm #安裝ftp伺服器,将源代碼導入虛拟機
[root@lyt Server]# cd /var/ftp/
[root@lyt ftp]# chmod o+w pub/ #ftp匿名登入時需要将pub目錄權限改為可讀
[root@lyt ftp]# vim /etc/vsftpd/vsftpd.conf #修改此配置檔案,如圖:
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230562k8sU.png"></a>
[root@lyt ftp]# service vsftpd start
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230570pT4h.png"></a>
2:[root@lyt pub]# vim /etc/yum.repos.d/rhel-debuginfo.repo
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_134623058722jF.png"></a>
[root@lyt pub]# yum grouplist |less #檢視源碼安裝時的開發庫和開發工具,在編譯或安裝過程中都需要如下這些東西。
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230593ZjuG.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_13462306053uFw.png"></a>
安裝mysql綠色軟體
3:[root@lyt pub]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/ #mysql-5.5.15-linux2.6-i686.tar.gz 是綠色軟體,拆解
到/usr/local中
[root@lyt pub]# cd /usr/local/
[root@lyt local]# cd mysql-5.5.15-linux2.6-i686/
[root@lyt mysql-5.5.15-linux2.6-i686]# cat INSTALL-BINARY | less #利用管道分頁檢視INSTALL-BINARY檔案
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230626TXIp.png"></a>
[root@lyt local]# groupadd mysql #建立一個mysql組
[root@lyt local]# useradd -r -g mysql mysql #建立一個mysql使用者,并将其加入到mysql組中
[root@lyt local]# cd /usr/local/
第四部拆封包件已經執行過,這裡不再執行
[root@lyt local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql #建立一個符号連接配接mysql,指向mysql-5.5.15-linux2.6-i686
[root@lyt local]# cd mysql
[root@lyt mysql]# chown -R mysql . #将mysql下所有的檔案的所屬使用者全都改為mysql。
[root@lyt mysql]# chgrp -R mysql . #将mysql下所有的檔案的所屬組全都改為mysql。
[root@lyt mysql]# scripts/mysql_install_db --user=mysql #使用scrpts初始化腳本,用剛才建立的mysql使用者運作
[root@lyt mysql]# chown -R root . #将所屬使用者改為root使用者
[root@lyt mysql]# chown -R mysql data #将data目錄的所屬使用者改為mysql
[root@lyt mysql]# cp support-files/my-medium.cnf /etc/my.cnf
[root@lyt mysql]# bin/mysqld_safe --user=mysql & #啟動mysql
[root@lyt mysql]# netstat -tupln |less #檢視端口号
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230635O3iv.png"></a>
[root@lyt mysql]# cp support-files/mysql.server /etc/init.d/mysqld #将mysql.server 拷貝到/etc/init.d/下,改名為mysqld,此指令拷貝成
功後可以使用service mysqld restart指令。
[root@lyt mysql]# chkconfig --add mysqld #将mysql服務加入到chkconfig中,可以使用chkconfig來管理
[root@lyt ~]# vim /etc/ld.so.conf #檢視該檔案
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346232886I9yS.png"></a>
[root@lyt mysql]# cd /etc/ld.so.conf.d/
由于mysql的庫檔案存在于/usr/local/mysql/lib檔案中,而系統的庫檔案存放于/usr/lib或者/lib中,是以需要建立/etc/ld.so.conf.d/mysql.conf檔案,當系統啟動時調用/usr/local/mysql/lib中的庫檔案。
[root@lyt ld.so.conf.d]# vim mysql.conf #建立mysql.conf檔案,系統啟動時可以調用/usr/local/mysql/lib下的庫檔案
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230641Jo0F.png"></a>
[root@lyt ld.so.conf.d]# ldconfig -v |grep mysql #檢視mysql的系統調用
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230691wvvF.png"></a>
由于mysql的頭檔案存在于/usr/local/mysql/include檔案中,而系統的頭檔案存放于/usr/include中,是以需要在/usr/include中建立連接配接,當系統啟動時調用/usr/local/mysql/include中的頭檔案:
[root@lyt ld.so.conf.d]# cd /usr/include/
[root@lyt include]# ln -s /usr/local/mysql/include/ mysql #建立一個字元連接配接mysql,連接配接到/usr/local/mysql/include
安裝httpd:
1:[root@lyt ~]# cd /var/ftp/pub/ #切換到http源碼的存放位置
[root@lyt pub]# tar -jxvf httpd-2.2.19.tar.bz2 -C /usr/local/src/ #拆解軟體包到目錄/usr/local/src/
[root@lyt pub]# cd /usr/local/src/
[root@lyt src]# cd httpd-2.2.19/
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230707Ukoy.png"></a>
[root@lyt httpd-2.2.19]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --with-z #--prefix表示安
裝路徑,--sysconfdir表示配置檔案的路徑,--enable-so表示動态連接配接庫,--enable-ssl表示安全套接層,--with-z網頁壓縮
[root@lyt httpd-2.2.19]# make #編譯
[root@lyt httpd-2.2.19]# make install
[root@lyt httpd-2.2.19]# cd /usr/local/apache/
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230725piPQ.png"></a>
[root@lyt bin]# pwd
/usr/local/apache/bin
[root@lyt bin]# ./apachectl start #在/usr/local/apache/bin目錄中執行./apachect1 start ,啟動apache
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230737ul9j.png"></a>
[root@lyt bin]# vim /etc/rc.local #編輯開機腳本,實作apache開機自動啟動,如圖:
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230741WKbw.png"></a>
[root@lyt bin]# cd /etc/ld.so.conf.d/
由于apache的庫檔案存在于/usr/local/apache/lib檔案中,而系統的庫檔案存放/usr/lib或者/lib中,是以需要建立/etc/ld.so.conf.d/httpd.conf檔案,當系統啟動時調用/usr/local/apache/lib中的庫檔案。
[root@lyt ld.so.conf.d]# vim httpd.conf #建立該檔案并編輯
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_13462307445lUG.png"></a>
[root@lyt ld.so.conf.d]# cd /usr/local/apache/lib/
[root@lyt lib]# ldconfig -pv |grep apr #搜尋和apache相關的系統調用
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_134623075064SW.png"></a>
由于apache的頭檔案存在于/usr/local/apache/include檔案中,而系統的頭檔案存放于/usr/include中,是以需要在/usr/include中建立連接配接,當系統啟動時調用/usr/local/apache/include中的頭檔案:
[root@lyt lib]# cd /usr/include/
[root@lyt include]# ln -s /usr/local/apache/include/ apache #在/usr/include中建立連接配接檔案,連接配接名是apache
安裝php:
[root@lyt include]# cd /var/ftp/pub/ #切換到php源碼的存放位置
[root@lyt pub]# tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src/ #拆包
[root@lyt src]# cd php-5.3.7/
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_13462307733TjO.png"></a>
檢視INSTALL說明檔案:
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230806H2ct.png"></a>
[root@lyt php-5.3.7]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all #--prefix表示安裝路徑,--with-apxs2将php編譯成apache的模
塊,允許apache的apxx調用該子產品,--with-mysql指明mysql的安裝位置 ,--with-mysqli調用myql接口
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_13462308276qyJ.png"></a>
[root@lyt php-5.3.7]# make #編譯
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230848Pl7p.png"></a>
[root@lyt php-5.3.7]# make install
[root@lyt htdocs]# /usr/local/apache/bin/apachectl start #啟動apache
[root@lyt php-5.3.7]# cd /usr/local/apache/htdocs/ #進入apache的站點主目錄
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_13462308594wxA.png"></a>
測試apache能否調用php:
[root@lyt htdocs]# vim index.html
[root@lyt htdocs]# mv index.html index.php #将index.html改名為index.php
[root@lyt htdocs]# vim /etc/httpd/httpd.conf #編輯apache的配置檔案腳本,此處是源碼安裝,配置腳本與rpm包安裝的有所差別
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230877zG2T.png"></a>
[root@lyt htdocs]# /usr/local/apache/bin/apachectl stop #重新開機apache
[root@lyt htdocs]# /usr/local/apache/bin/apachectl start
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230881YiUa.png"></a>
測試php能否調用mysql:
[root@lyt htdocs]# vim index.php
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230889wuEP.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230900wZhm.png"></a>
[root@lyt htdocs]# /usr/local/mysql/bin/mysql #登陸mysql
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230903zBYC.png"></a>
[root@lyt htdocs]# /usr/local/mysql/bin/mysqladmin -u root -p password #建立mysql密碼
[root@lyt htdocs]# /usr/local/mysql/bin/mysql -u root –p #登陸mysql資料庫
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346230909y0a4.png"></a>
建立論壇:
[root@lyt bin]# service vsftpd restart
[root@lyt pub]# ll /var/ftp/pub/
[root@lyt pub]# unzip phpwind_GBK_8.3.zip #解壓檔案
[root@lyt pub]# cd phpwind_GBK_8.3
[root@lyt phpwind_GBK_8.3]# cp -R upload/ /usr/local/apache/htdocs/phpwind #将upload/目錄拷貝到/usr/local/apache/htdocs
中,并重命名為phpwind
[root@lyt phpwind_GBK_8.3]# cd /usr/local/apache/htdocs/
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346243459hQ0e.png"></a>
[root@lyt htdocs]# cd phpwind/
[root@lyt phpwind]# chmod -R 777 attachment/ #更改attachment極其所含檔案的屬性為777,-R表示遞歸
[root@lyt phpwind]# chmod -R 777 data/ #更改data極其所含檔案的屬性為777,-R表示遞歸
[root@lyt phpwind]# chmod -R 777 html/ #更改html極其所含檔案的屬性為777,-R表示遞歸
[root@lyt phpwind]# /usr/local/apache/bin/apachectl restart #重新開機apache服務
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346243463tcEG.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346243467cCae.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_13462434716xMz.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346243473wxIz.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346243476buxp.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346243481HcyO.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346243485RjZ8.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_134624348844wf.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346243494gZFj.png"></a>
[root@lyt phpwind]# rm install.php #按照上面提示,将isntall.php删除
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_13462434985Dcm.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346243502AFiM.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_13462435037sWx.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346243505rimQ.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201208/29/5493845_1346243509JuiC.png"></a>
至此,論壇已建立成功!!!
本文轉自 liuyatao666 51CTO部落格,原文連結:http://blog.51cto.com/5503845/976556,如需轉載請自行聯系原作者