天天看點

LAMP源碼環境搭建

LAMP源碼環境搭建

編譯環境

先使用yum grouplist檢視安裝的組

確定Development Tools

Development Libraries

Legacy Software Development

X Software Development

組已經安裝,如果依賴于jave的也需要安裝java的開發環境,如果沒有安裝則用指令yum -y  groupinstall “上述的軟體飽組“來進行安裝yum groupinstall "Development Tools"

    yum groupinstall "Development Libraries"

    yum groupinstall "Legacy Software Development"

    yum -y groupinstall  "X Software Development"

下面依次安裝mysql-5.5.15-linux2.6-i686.tar.gz(綠色軟體),httpd-2.2.19.tar.bz2  (源碼包)

php-5.3.7.tar.bz2  (源碼包)

安裝源碼包之前要先去掉以前的,可以使用

yum list  all  |grep  -E  "mysql|httpd|php"

yum  remove  包1  包2  包3

系統上專門有兩個目錄放置源碼包

/usr/src   核心,重要的

/usr/local/src 普通的

先安裝mysql的綠色軟體包,路徑為/usr/local/(下圖(3)以指明)

解壓tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/mysql

cd  mysql

less INSTALL-BINARY | more  檢視說明檔案

  内容

<a href="http://blog.51cto.com/attachment/201210/122430239.png" target="_blank"></a>

(1) 建立mysql組groupadd  -g 306  -r  mysql

(2) useradd  -g  mysql  -u 306 -r   -s  /sbin/nologin  -M  mysql是建一個mysql系統賬戶 

(3) 切換到/usr/local/目錄裡

(4) 解壓,以做過

(5) 建立軟連接配接 ,也可以将解壓後的檔案,重命名為mysql并拷貝到/usr/local/目錄裡切換到mysql目錄裡

(6) 

(7) 和(8)改變mysql目錄下的所屬組和擁有者

[root@RHELmysql]#chown -R mysql.mysql .

<a href="http://blog.51cto.com/attachment/201210/122444935.png" target="_blank"></a>

 (9) scripts/mysql_install_db --user=mysql初始化 ,生成master的資料庫,

(10)和(11)

[root@RHEL mysql]# chown -R root . 再改回擁有者

[root@RHEL mysql]# chown -R mysql data  

<a href="http://blog.51cto.com/attachment/201210/122456127.png" target="_blank"></a>

(12)cp support-files/my-medium.cnf  /etc/my.cnf

(13)開啟mysql資料庫,背景運作

[root@RHEL mysql]# bin/mysqld_safe  --user-mysql &amp;

檢視是否開啟了mysql

<a href="http://blog.51cto.com/attachment/201210/122528509.png" target="_blank"></a>

可以看到已開啟

登陸mysql

[root@RHEL bin]# ./mysql

<a href="http://blog.51cto.com/attachment/201210/122551412.png" target="_blank"></a>

可以登陸,但是隻能在/usr/local/mysql/bin下以./mysql登陸

要想以rpm安裝那樣在任何目錄下用指令mysql登陸 ,配置如下:

編輯/etc/profile檔案,:

PATH=$PATH:/usr/local/mysql/bin/  加入到環境檔案

/etc/profile 要立即生效可以用 ./etc/profile 或source /etc/profile

檢視一下變量

<a href="http://blog.51cto.com/attachment/201210/122607278.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201210/122621162.png" target="_blank"></a>

可以了

編譯安裝apache  php  編譯php的時候要求mysql的頭檔案,庫檔案,但mysql的這些檔案是在非标準路徑下,是以要指明一下(即通知系統找到自己的庫)。

一般系統開機調用的庫檔案在

/lib  /usr/lib/   /usr/local/lib

是以要指定庫檔案路徑 有2種方式

1通過cd /etc/ld.so.conf檔案得知需在/etc/ld.so.conf.d/下建以.conf為字尾的檔案

2切換到 cd /etc/ld.so.conf.d/ 目錄裡

 建立一個以.conf為字尾的檔案如:mysql.conf并編輯如下:

/usr/local/mysql/lib      加入這一句話

3 ldconfig 加載 (通知緩存重新讀取)

<a href="http://blog.51cto.com/attachment/201210/122641707.png" target="_blank"></a>

已加載上

頭檔案的标準位置為

/usr/include

/usr/local/include

是以.ln -s /usr/local/mysql/include /usr/include/mysql将目錄連接配接過去

<a href="http://blog.51cto.com/attachment/201210/122701640.png" target="_blank"></a>

現在還不能用service mysqld start|restart|stop指令

必須用下邊的指令,很不爽。即執行第14步

<a href="http://blog.51cto.com/attachment/201210/122717682.png" target="_blank"></a>

cp support-files/mysql.server /etc/init.d/mysqld    mysqld還是比較體貼的,因為伺服器一般都是在後邊加個d如httpd、vsftpd等,是以将mysql.server該為了mysqld了。

<a href="http://blog.51cto.com/attachment/201210/122742482.png" target="_blank"></a>

如果mysql啟動不了,stop幾次或是用kill殺死該程序,再啟動。

設定開機啟動

<a href="http://blog.51cto.com/attachment/201210/122809156.png" target="_blank"></a>

Apache的安裝

解壓到/usr/local/src/目錄 

tar -jxvf httpd-2.2.19.tar.bz2 -C /usr/local/src/

cd /usr/local/src/

用./configure –help 檢視幫助得知

--prefix  安裝路徑

--sysconfigdir  配置檔案的路徑

--with-ssl=dir  openssl開發庫的檔案支援(https通路)

可以使用rpm -qa |grep openssl 有devel  

<a href="http://blog.51cto.com/attachment/201210/122843721.png" target="_blank"></a>

如果已經裝了devel 而且是通過rpm包安裝的,應該安裝在标準路徑下,直接使用 --enable-ssl即可

--with-suexec-bin  表示是否啟用suexec功能,需要用某個特定使用者的身份的時候,就已該使用者的身份去直接suexec

linux可以運作cgi腳本,以apache的身份運作,

--with-mpm 設定apache的運作方式   預設profeck 模式

./configure常用的選項有如下

--prefix=/usr/local/apache

--sysconfdir=/etc/httpd

--enable=so 啟用以dso模式加載子產品

--enable-ssl

--with-ssl=/usr/local/ssl

--enable-rewrite  支援URL重寫

--with-z  使用zlib

--enable-mods-shared=most

--enable-suexec

--with-suexec-caller=daemon(使用者名)

具體安裝如下:

(1)./configure --prefix=/usr/local/apache  --sysconfdir=/etc/httpd  --enable-so --enable-ssl  --with-z

(2)Make

(3)Make install

在/usr/local/apache/bin 目錄下啟動Apache伺服器

<a href="http://blog.51cto.com/attachment/201210/122900902.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201210/122918334.png" target="_blank"></a>

要指定庫檔案路徑

切換到cd /etc/ld.so.conf.d/

建立httpd.conf檔案   vim httpd.conf

/usr/local/apache/lib    添加内容(指到自己的庫檔案)

ldconfig

<a href="http://blog.51cto.com/attachment/201210/122932275.png" target="_blank"></a>

建頭檔案連接配接

ln -s /usr/local/apache/include /usr/include/httpd

測試一下看能否通路apache伺服器;

<a href="http://blog.51cto.com/attachment/201210/122946279.png" target="_blank"></a>

Ok  以工作了

如果想以”service 服務 start|stop“的方式的話你可以修改apachectl腳本,并拷貝到/etc/rc.d/init.d/ 重命名為httpd,我試了試直接将apachectl并拷貝到/etc/rc.d/init.d/ 重命名為httpd,也可以。

如果用”chkconfig 服務 on“設定開啟啟動的話,

Vim /etc/rc.local 加上一句話

/usr/local/apache/bin/apachectl start

安裝php (php的官方網站  www.php.net)

1 解壓tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src/

2.切換到/usr/local/src/php-5.3.7 目錄裡

3. ./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

--with-apxs2=/usr/local/apache/bin/apxs

将php編譯成apache的子產品,允許apache的apxs調用該子產品

--with-mysql=/usr/local/mysql  指明mysql的安裝位置

--with-mysqli=/usr/local/mysql/bin/mysql_config調用myql接口

-enable-mbstring=all     字元集

--with-xml       資料交換格式

--with-png         圖形

--with-jpeg         圖形

--with-zlib          壓縮

--with-gd           圖形

--with-freetype  

以上指令可以檢視./configure  --help

4.make

5.make install

6.編輯httpd.conf加入  AddType application/x-httpd-php .php使Apache能處理php頁面

<a href="http://blog.51cto.com/attachment/201210/123006745.png" target="_blank"></a>

7.在/usr/local/apache/htdocs裡編輯index.html檔案來測試php

&lt;?php

phpinfo();

?&gt;

mv index.html index.php

8.重新開機Apache伺服器

/usr/local/apache/bin/apachectl restart

測試

<a href="http://blog.51cto.com/attachment/201210/123024598.png" target="_blank"></a>

調用php成功

測試調用mysql

編輯index.php如下:

<a href="http://blog.51cto.com/attachment/201210/123036519.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201210/123053213.png" target="_blank"></a>

如果關閉mysql再測試一下:

<a href="http://blog.51cto.com/attachment/201210/123108142.png" target="_blank"></a>

到此LAMP環境已搭建完成

我們可以搭建自己的網站和論壇了

論壇如Discuz 和phpwind 等

關于phpwind的安裝請參考

http://abc16810.blog.51cto.com/3177586/1034856

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