天天看點

RHEL5.4編譯安裝LAMP

在linux系統上,編譯安裝軟體,需要一個編譯環境,通常是使用gcc,是以一定要确認gcc已經安裝,編譯的時候,有一些軟體還依賴于某些開發工具庫檔案,是以,要把這些常用的開發庫安裝上,如果使用rpm來安裝的話,難免遇到依賴關系,我們這裡使用yum來安裝,本文檔是用來說明配置lamp的,是以,對yum不進行詳細說明.

如果你邊yum指令都沒安裝的話,那就把CD光牒挂上,自己用rpm -ivh yum來安裝吧.下面我們開始配置yum,首先要保證CD光牒已經被放入光驅裡面,如果是虛拟機,确認你的系統iso檔案已經連接配接上.

# mount /dev/cdrom /mnt         //挂載CD光牒到/mnt目錄下

# cd /etc/yum.repos.d                //進入到yum配置檔案目錄

# mv rhel-debuginfo.repo rhel-debuginfo.repo.bak     //備份系統自帶的配置檔案,也可以删除

# vi local.repo                             //建立一個yum配置檔案,并把以下内容寫入到該檔案

[Server]

name=Server

baseurl=file:///mnt/Server

gpgcheck=0

enabled=1

[VT]

name=VT

baseurl=file:///mnt/VT

[Cluster]

name=Cluster

baseurl=file:///mnt/Cluster

gpgeheck=0

[ClusterStorage]

name=ClusterStorage

baseurl=file:///mnt/ClusterStorage

# yum -y grouplist "Development Libraries" "Development Tools"   //安裝開發包工具和庫

準備apache,mysql,php軟體包,要注意軟體包的版本,太老的版本可能跟太新的版本不相容.這裡編譯使用的軟體包的版本如下

httpd-2.4.1.tar.bz2

mysql-5.5.19-linux2.6-i686.tar.gz

php-5.3.10.tar.bz2

安裝之前,最好确認目前系統上沒有其它web伺服器軟體占用80端口,不然安裝好之後,可能啟動不了.

# yum -y remove httpd              //删除系統自帶的httpd軟體包

由于我們要安裝的apache的版本是2.4.1 版本比較新,新版本依賴apr和apr-util的版本也是比較新的,是以,系統上自帶的apr和apr-util對新版本的apache支援不了,我們這裡要手動的編譯安裝apr和apr-util,可以使用源碼包安裝,也可以找一些新版本的rpm包,如果使用源碼包,編譯完成之後,我們再編譯apache的時候,要加上--apr=/usr/local/apr --apr-util=/usr/local/apr-util ,這樣指定一下,如果使用rpm包安裝,就不需要指定了,我這裡使用rpm包來安裝.

[root@localhost ~]# rpm -Uvh apr-*

Preparing...                ########################################### [100%]

   1:apr                    ########################################### [ 25%]

   2:apr-util               ########################################### [ 50%]

   3:apr-devel              ########################################### [ 75%]

   4:apr-util-devel         ########################################### [100%]

# yum install -y pcre pcre-devel  //安裝pcre和pcre-devel

# tar xf httpd-2.4.1.tar.bz2                        //解壓apache的安裝包

# cd httpd-2.4.1                                             //進入apache目錄

# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib              //配置安裝選項,啟用某些功能,關鍊某些軟體等

# make              //開始編譯,并成生二進制檔案

# make install  //開始安裝

經過以上步驟,我們的apache就已經安裝好了,下面我們進行一些簡單的配置

# vi /etc/profile  //編譯profile檔案,新加入一行,内容如下

export PATH=$PATH:/usr/local/apache/bin

# . /etc/profile          //讓剛才的配置生效

# apachectl start     //啟動apache

# service iptables stop     //關閉防火牆,如果沒開更好,這一步不用操作

OK,做完這些,我們就可以測試apache了,看看是不是可以通路

<a href="http://blog.51cto.com/attachment/201204/075601693.jpg" target="_blank"></a>

apache提示我們,它在工作.那就說明,我們的apache就安裝好了.

首先保證系統上沒有安裝rpm格式的mysql,如果有,自己手動解除安裝掉,然後再安裝mysql,這裡使用的mysql是免安裝版的,初始化一下,然後做些配置就可以使用的那種

# groupadd -r mysql                            //建立一個系統組,叫mysql

# useradd -g mysql -s /sbin/nologin -M mysql  //建立一個系統使用者mysql,并把它加入到mysql組,且不讓其登入系統

# mkdir /mydata/data     //建立mysql資料檔案存放的目錄

# chown mysql:mysql /mydata/data/      //把目錄的權限改為mysql使用者和mysql組

# tar xf mysql-5.5.19-linux2.6-i686.tar.gz -C /usr/local //解壓mysql到指定目錄

# cd /usr/local/         //切換工作目錄到剛才解壓的目錄

# ln -sv mysql-5.5.19-linux2.6-i686/ /usr/local/mysql      //為mysql建立連結,也可以重命名

# cd mysql        //切換工作目錄到mysql目錄

# chown -R mysql:mysql  .     //把目前目錄下所有的檔案及目錄改為mysql使用者群組

# scripts/mysql_install_db --user=mysql --datadir=/mydata/data //初始化mysql

# chown -R root  .           //把目前目錄的屬主改為root

# cp support-files/my-large.cnf  /etc/my.cnf //為mysql提供主配置檔案,放到/etc/my.cnf

# vi /etc/my.cnf        //編譯配置檔案

thread_concurrency = 2   //這裡改成你的CPU的個數乖于2

datadir = /mydata/data  //這裡是mysql資料檔案的存放位置

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld //為mysql提供服務腳本

# chmod +x /etc/rc.d/init.d/mysqld        //給腳本加上可執行權限

# chkconfig --add mysqld //把mysql服務加入到系統服務清單

# chkconfig mysqld on      //設定其開機啟動

# vi /etc/man.config         //編譯man的配置檔案,讓mysql指令可以通過man檢視幫助資訊

MANPATH /usr/local/mysql/man    //把這行加入到MANPATH行下面

# ln -sv /usr/local/mysql/include  /usr/include/mysql  //輸出mysql的頭檔案

# echo '/usr/local/mysql/lib' &gt; /etc/ld.so.conf.d/mysql.conf   //輸出mysql的庫檔案

# ldconfig  //重新載入庫檔案

# service mysqld start               //啟動服務

# vi /etc/profile                  //編譯profile檔案,加入環境變量

export PATH=$PATH:/usr/local/apache/bin:/usr/local/mysql/bin   //加入mysql的二進制檔案位置

# . /etc/profile          //讓剛才的操作生效

# mysql              //開始測試,輸入完該指令,應該會打開mysql的shell

為了讓php支援mcrypt擴充,我們這裡安裝一下以下兩個軟體包

libmcrypt-2.5.7-5.el5.i386.rpm

libmcrypt-devel-2.5.7-5.el5.i386.rpm

[root@localhost ~]# rpm -ivh libmcrypt-*

warning: libmcrypt-2.5.7-5.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6

   1:libmcrypt              ########################################### [ 50%]

   2:libmcrypt-devel        ########################################### [100%]

# tar xf php-5.3.10.tar.bz2                //解壓PHP

# cd php-5.3.10                           //切換工作目錄至php

# ./configure --prefix=/usr/local/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/apache/bin/apxs --with-mcrypt  //配置編譯php所需要的功能,啟用

# make                       //開始編譯PHP

# make install           //開始安裝PHP

安裝完成後,我們就可以編譯apache的主配置檔案,讓它支援php了

 # vim /etc/httpd/httpd.conf

 1、添加如下二行

   AddType application/x-httpd-php  .php

   AddType application/x-httpd-php-source  .phps

 2、定位至DirectoryIndex index.html

   修改為:

    DirectoryIndex  index.php  index.html

# cd /usr/local/apache/htdocs         //進入到apache的網頁檔案位置

# vi index.php                     //建立一個php檔案,寫入以下内容

&lt;?php

phpinfo();

?&gt;

而後重新啟動httpd,或讓其重新載入配置檔案即可測試php是否已經可以正常使用。

<a target="_blank" href="http://blog.51cto.com/attachment/201204/075227752.jpg"></a>

說明已經OK

首先把我們下載下傳好的Discuz放到apache的主目錄

# cp Discuz_7.2_FULL_SC_GBK.zip /usr/local/apache/htdocs        //拷貝網頁檔案到htdocs

# unzip Discuz_7.2_FULL_SC_GBK.zip              //解壓縮檔案

# mv upload bbs                //将upload目錄改為bbs,我們Discuz論壇的整個網頁檔案都在這

然後就可以通過WEB來安裝了

<a target="_blank" href="http://blog.51cto.com/attachment/201204/075135413.jpg"></a>

有一個提示資訊,我們改一下php的主配置檔案,按照給的提示資訊改

# vi /usr/local/php/lib/php.ini

把第266行short_open_tag = On 改為On

改完之後先把apache服務停掉,然後再啟用,然後再去頁面按照提示一步一步安裝,安裝完成之後, 如下圖

<a target="_blank" href="http://blog.51cto.com/attachment/201204/074953520.jpg"></a>

使用apache虛拟主機之前,我們要關掉apache的中心主機,因為中心主機不能跟虛拟主機一起使用,關掉中心主機,我們要注釋掉主配置檔案裡面的 DocumentRoot.

虛拟主機的格式

# www.magedu.com                 // #開頭的注釋資訊

&lt;VirtualHost 172.16.34.2:80&gt;                   //定義虛拟主機關鍵字VirtualHost,後面跟IP位址和端口号

         ServerAdmin [email protected]   //定義管理者郵箱位址

         ServerName www.magedu.com               //定義域名

         DocumentRoot "/vhosts/magedu"          //定義虛拟主機的網頁檔案位置

         ErrorLog "/vhosts/logs/magedu_error_log"  //錯誤日志存放位置

         CustomLog "/vhosts/logs/magedu_access_log" combined   //通路日志存放位置及日志

           &lt;Directory "/vhosts/magedu"&gt;            //定義目錄的屬性資訊,對目錄做通路控制

                   Options none                               //定義操作選項,是否允許索引等

                   AllowOverride none                   //是否允許權限覆寫

                   Order allow,deny                        //目錄權限,先允許,後拒絕

                   Deny from 172.16.100.0/24    //拒絕的用戶端

                   Allow from 172.16.0.0/16        //允許的用戶端

         &lt;/Directory&gt;                                     //目錄容器結束符

&lt;/VirtualHost&gt;                                     //虛拟主機結束符

如果要使用域名通路,需要做DNS的解析,也可以通過IP位址來通路。

本文轉自 gm100861 51CTO部落格,原文連結:http://blog.51cto.com/gm100861/826533