lamp介紹
linux+apache+mysql+php
安裝前把所有rpm的httpd,mysql,php,等rpm包全部移除
系統所安裝一些必要的軟體
gd-devel
bzip2-devel
zlib-devel
libjpeg-devel
libpng-level
libtiff-devel
freetype-devel
openssl-devel
libxmlz-devel
gettext-devel
編譯說使用的軟體
gcc
gcc-c++
ncurses-devel
lamp所需的軟體
htpd-2.2.21.tar.bz2 (apache)
gd-2.44 (gd庫是一個開源的圖像處理庫,支援 png/jpeg/gif以及其
他格式的圖像。gd一般被用來建立圖表、圖形、縮略圖以及其他圖像相關的處理操作)
mysql
php
apache安裝
#tar jxvf httpd-2.2.21.tar.bz2 –c /usr/local/src/
#cd !$
#cd httpd-2.2.21.
#./configure –prefix=/usr/local/apache2.2 --with-ssl --enable-ssl --enable-so \
--enable-rewirte --enable-threads --with-mpm=worker (如果不指定路徑,預設也會安裝/usr/local下)
--enable-so 啟用dso機制,靜态子產品和動态子產品
--enable-rewirte 允許重寫規則以及url重定向
--with-mpm=worker 預設是prefork,選擇worker伺服器模式主要是改善apache的性能,apache的程序數大大減小,負載也大大降低,運作平穩。
#make&&make install
将apache加入到系統服務中
# cp /apache2.2/bin/apachectl /etc/rc.d/init.d/httpd
#vi /etc/rc.d/init.d/httpd
# chkconfig: 2345 10 90
# description: activates/deactivates apache web server
添加這兩行(包括#号),在2345運作級别中運作,下面是將 httpd 強制支援 chkconfig添加到啟動服務中(說明:開啟/關閉apache web伺服器),如不添加,下面一條指令則不支援
#chkconfig --add httpd
#chkconfig –level 35 httpd on
#/etc/rc.d/init.d/httpd start
# /usr/local/httpd/bin/apachectl –t 測試apache是否正常運作
syntax ok
mysql安裝
#tar zxvf mysql-5.1.52.tar.gz –c /usr/local/src/mysql-5.1.52
#cd !$
#cd mysql-5.1.52
#./configure –prefix=/usr/local/mysql \
--with-extra-charsets=gbk,gb2312,utf8 \ 與額外的字元集
--enable-thread-safe-client 允許線程安全(為了配合apache的worker模式,如不這樣,安裝php可能會報錯)
安裝完成
#export path=$path:/usr/local/mysql-5.1.52/bin
#useradd mysql
#cd /usr/local/mysql/
#chown –r mysql:mysql *
#./bin/mysql_install_db --user=mysql
#cp /sharp/mysql/my-medium.cnf /etc/my.cnf 複制配置檔案
#cp /sharp/mysql/mysql.server /etc/rc.d/init.d/mysqld複制啟動檔案
#chkconfig --add mysqld
#chkconfig --level 3 mysqld on
#/etc/init.d/mysqld/ start
#mysqladmin -u root password '123456'
apache整合php
gd庫安裝
#tar zxvf gd-2.44.tar.gz
#cd gd-2.44
#./configure --prefix /usr/local/gd-2.44 \
--with-freetype=/usr/local/freetype/ \
--with-png=/usr/local/libpng/ \
--with-jpeg=/usr/local/jpeg/ \
#make&&make install
php安裝
#tar jxvf php-5.2.10.tar.bz2 –c /usr/local/src
#./configure –prefix=/usr/local/php-5..2.10 \
--with-gd2=/usr/local/gd2.44 \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql-5.1.52
#make
#make install
#cp php.ini-dist /usr/local/php/lib/php.ini
修改apache主配置檔案
#vi /usr/local/apache/conf/http.conf
1、在<ifmodule mime_module> <\ifmodule>之間
addtype application/x-httpd-php .php 添加一行
2、在driectoryindex index.htm 之間
index.php 支援php
驗證之前所安裝的
#/usr/local/apache/bin/apachectl –t 檢查配置檔案的文法
檢視/usr/local/apache/modules/目錄 自動生成libphp5.so動态子產品檔案
檢視/usr/local/apache/conf/httpd.conf檔案
loadmodule php5_module modules/libphp2.so 自動添加這一行
在網頁目錄中編輯一個php腳本,檢視更詳細的内容
<?
phpinfo ();
?>
#/etc/init.d/httpd start 啟動
在浏覽器中輸入http://127.0.0.1/index.php
[root@localhost modules]# /etc/init.d/httpd restart
httpd: syntax error on line 53 of /usr/local/httpd/conf/httpd.conf: cannot load /usr/local/httpd/modules/libphp5.so into server: /usr/local/httpd/modules/libphp5.so: cannot restore segment prot after reloc: permission denied
整合完成後,不能重新開機apache提示以上錯誤,是selinux引起的關閉selinux,重新開機