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 &
檢視是否開啟了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
<?php
phpinfo();
?>
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