天天看點

×××LAMP

    在redhat 5.8上搭建LAMP。linux 系統為redhat5.8,apache-2.4.2,mysql-5.5.24,

php-5.3.14。apache和php都是通過源碼編譯來安裝,而mysql直接解壓就能運作。在編譯之前先安裝好編譯環境。

   yum -y groupinstall 'Development tools' 'Development Libraries' 'X Software Development' php要依賴X Softeware中的庫,是以必須安裝好。

一,編譯安裝apache

   1,解決apache的依賴關系,安裝apr-1.4.6.tar.bz2,apr-util-1.4.1.tar.bz2在apache的官網都有提供下載下傳.安裝apr,先執行./buildconf。為了友善以後解除安裝,我安裝到/usr/local/lamp/apr

      然後執行./configure --prefix=/usr/local/lamp/apr

      成功後make,之後再make install。

 安裝apr-util。 ./buildconf --with-apr=/root/apr-1.4.6(指定apr源碼的位置)

   ./configure --prefix=/usr/local/lamp/apr-util  --with-apr=/usr/local/lamp/apr/,然後開始make,make install.

     安裝pcre-devel : yum -y install pcre-devel

  2,開始編譯apache: ./configure

×××LAMP

完成之後開始 make ,make install

 通過上面幾個步驟完成apache的安裝,由于安裝時,自己定義了路徑,是以還需要做以下修改

(1)對vim /etc/profile中添加一行PATH=/usr/local/lamp/apache/bin:$PATH

(2)export PATH=/usr/local/lamp/apache/bin:$PATH(為什麼不用source /etc/profile,因使用source,原來的路徑會重複)

(3)vim /etc/ld.so.conf.d/apache.conf添加一行/usr/local/lamp/apache/lib(讓apache的庫檔案能讓别人通路,但apache沒有lib這個目錄,也就是沒有庫檔案,此步驟可以省略,如裡有庫檔案,引步驟不能省略)

(4)ln -sv /usr/local/lamp/apache/include /usr/include/httpd (連結頭檔案,一定要讓别人通過/usr/include/這個路徑能夠通路到,是以做一個httpd的連結)

(5)修改/etc/man.config中添加一行 MANPAHT   /usr/local/lamp/apache/man 

×××LAMP

(6)提供一個服務,能夠自由控制httpd服務。在别的主機上複制/etc/rc.d/init.d/下的httpd服務到本機上。修改/etc/rc.d/init.d/httpd

×××LAMP
×××LAMP
×××LAMP

修改完之後,添加x權限,如果沒有執行權限,用service啟動時,會提示httpd:unrecognized service。chmod +x /etc/rc.d/init.d/httpd,并加入到chkconfig中

×××LAMP

此時可以使用service httpd start啟動httpd。

(7)apache安裝的路徑下已經提供了一個簡單的啟動的腳本,這個腳本的功能比較簡單,不過可以先測試apache能否正常運作。/usr/local/lamp/apache/bin/apachectl start,在浏覽器中輸入172.16.150.1(這個是我linux的IP)。有沒有顯示it works。如果能正常顯示,則此apache已經安裝完成。注意源碼安裝後,apache的生成的檔案都是apache目錄下,當然也包括日志,首頁等等。但是配置檔案在/etc/httpd/下,因為./configure時指定配置檔案放在這個目錄下。

(8)建立兩個虛拟主機,用來安裝phpmyadmin與測試php。分别為www.bingo.com與pma.bingo.com,先修改/etc/httpd/http.conf的配置檔案,如下

×××LAMP
×××LAMP

 下面修改/etc/httpd/httpd.conf/extra/httpd-vhost.conf,在最後一行建立兩個虛拟主機,并将原來配置檔案提供的虛拟主機注釋。

×××LAMP

先建立/web/vhost/www和/web/vhost/pma兩個目錄,并提供index.html首頁。并重新開機apache的服務apachectl redstart,由于沒有安裝dns,是以需要在c:\windows\system32\drivers\etc\hosts添加下面兩行

×××LAMP

在浏覽器中,分别測試www.bingo.com與pma.bingo.com能否正常通路。如果不能則需要關閉linux的selinux。

二,安裝mysql,考慮到新版的mysql不支援gcc編譯。直接下載下傳免安裝版。mysql-5.5-24-linux26-i686.tar.gz

    1,由于mysql比較特殊,需要用mysql這個使用者來執行初始化,是以先需要添加mysql使用者,而且還必須解壓在/usr/local/mysql。

給mysql-5.5.24建立軟體連結ln -s /usr/local/mysql-5.5.24.... /usr/local/mysql

    2,mysql隻是一個關系型資料庫管理系統。而資料必須存放在磁盤上,考慮到以後資料的會增大,此時就讓mysql的資料存儲在lvm的分區上。

×××LAMP

3,挂載MYDATA,并讓其開機能自動挂載。修改/etc/fstab,并添加一行如下

×××LAMP

建立mkdir /data并重新挂載mount -a 。為了友善資料管理在/data下建立mysql目錄,并修改屬主與屬組chown mysql:mysql /data/mysql

4,對mysql做初始化。cd /usr/local/mysql,并修改裡面檔案的屬主與屬組為mysql,chown -R mysql:mysql . 

×××LAMP

5,給mysql提供配置檔案。在mysql目錄下的support-file目錄下,有5個以.cnf結尾的是配置檔案樣本。而這些都是跟目前主機的記憶體相關,由于我虛拟機的記憶體是512M。是以cp support-files/my-large.cnf  /etc/my.cnf(mysql的配置檔案必須my.cnf),編輯/etc/my.cnf,

×××LAMP

6,提供mysql的服務腳本

×××LAMP

7,将mysql指令添加到PATH路徑中,修改/etc/profile,并測試mysql能否正常工作。添加man文檔到/etc/man.config中。

×××LAMP
×××LAMP

8,建立/etc/ld.do.conf.d/mysql.conf并在裡面添加一行/usr/local/mysql/lib,。執行ldconfig,讓系統重讀mysql的庫檔案。

9,在/usr/include下建立mysql的軟連結ln -s /usr/local/mysql/include /usr/clude/mysql

三,安裝php,下載下傳 php-5.4.4.tar.bz2

 1,如果想讓編譯的php支援mcrypt擴充,則需下載下傳這兩個rpm包并安裝。libmcrypt-2.5.7-5.el5.i386.rpm  libmcrypt-devel-2.5.7-5.el5.i386.rpm

2,執行(3)./configure --prefix=/usr/local/lamp/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --with-apxs2=/usr/local/lamp/apache/bin/apxs --with-mcrypt 

--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2

 2,編譯完之後make  &&  make install,提供php的配置檔案 

   cp php.ini-production  /etc/php.ini

3,編輯/etc/httpd/httpd.conf 修改兩個地方

×××LAMP
×××LAMP

4,重新開機httpd服務,service httpd restart,如果提示錯誤資訊如下,則需要關閉selinux。執行setenforce 0。再重新啟動服務。

Starting httpd: httpd: Syntax error on line 146 of /etc/httpd/httpd.conf: Cannot load /usr/local/lamp/apache/modules/libphp5.so into server: /usr/local/lamp/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

并測試,将/web/vhost/www/index.html改成index.php,并在裡面輸入下面幾行

×××LAMP

 通路www.bingo.com能夠顯示出php資訊,則表示已經php能夠結合apache正常工作。

四,安裝phpmyadmin,通過網頁的形式來通路mysql資料庫。

1,下載下傳 phpMyAdmin-3.5.1-all-languages.tar.bz2,此版本對php的版本有要求。解壓後将 phpMyAdmin-3.5.1-all-languages裡面的檔案全mv到/web/vhost/pma下。并為pma提供一個配置檔案,在/web/vhost/pma下已經提供了一個配置檔案樣例,隻需重新複制一份就可以。cp config.sample.inc.php  config.inc.php,修改config.inc.php中的其中一行

×××LAMP

此時重新開機httpd服務,并在浏覽器中輸入pma.bingo.com,如果出現下面的登入畫面,表示pma已經安裝成功。

×××LAMP

lamp到此結束