版權(quán)聲明:原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出版、作者信息和本聲明。否則將追究法律責(zé)任。http://blog.csdn.net/mayongzhan - 馬永占,myz,mayongzhan
最終安裝的只有mysql+apache+php
系統(tǒng)里自帶了zlib libxml2 libxslt libcurl openssl
經(jīng)修改過后的linux安裝配置lamp v2如下:
痛苦了N天啊.這東西真的很變態(tài).N多個(gè)軟件需要make
想到這里突然開始喜歡xmapp了
希望廣大PHPER有時(shí)間了再研究這個(gè)太費(fèi)時(shí)間...如果你是職業(yè)的linux管理員...那可要努力了.!
裝了第一次卡到zlib上....最后的結(jié)果就是刪掉已經(jīng)快被裝爛了的centos...
痛苦的過程如下
mysql + apache + openssl + PHP + gd + libpng + libjpeg + freetype2 + zlib(這個(gè)很重要很多都要用.) +libxml2
mysql
這是第一道坎
先是make出錯(cuò)...經(jīng)過分析才知道是gcc沒有裝.暈掉. 裝centos時(shí)沒有注意要選有個(gè)開發(fā)工具的東西...make可以用了之后...發(fā)現(xiàn)還是make不了,經(jīng)過分析....知道我下的是glibcc,是編譯完了的...倒~~~~
直接復(fù)制過去...
apache這個(gè)東西先是沒裝.先要裝其他的一些小東西.然而就是這些小東西.導(dǎo)致整個(gè)過程的終止
zlib
這個(gè)是第一個(gè)裝的.沒什么說的,./configure --prefix=/usr/myz/libs/zlib
順利裝上
freetype2
也順利裝上
然后是libpng
這里卡死了...
提示找不到zlib
我試了改makefile....結(jié)果沒用...
然后又重新裝了下zlib...然后裝libpng...結(jié)果沒有裝到指定地點(diǎn)...瘋掉.
之后刪除
痛苦...如果上天再給我一次機(jī)會(huì)...我愿意直接裝xmapp...如果需要裝一臺(tái)web服務(wù)器的話.我選擇.rpm...如果是ubuntu的話我選擇apt-get...
努力的重新安裝一遍.如下:
MySQL+Apache+PHP+gd + libpng + libjpeg + freetype2 + zlib+libxml
MySQL
tar -zxvf mysql.tar.gz
groupadd mysql
useradd -g mysql mysql
到解壓好的那個(gè)目錄下
初始化數(shù)據(jù)庫: ./scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
加入到系統(tǒng)啟動(dòng)組(red hat): cp ./support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld reset
加配置cp ./support-files/my-medium.cnf /etc/my.cnf
bin/mysqld_safe --user=mysql &
這里又出了點(diǎn)小問題,系統(tǒng)啟動(dòng)出現(xiàn)錯(cuò)誤.因?yàn)檎也坏絤ysql,當(dāng)然要修改/etc.init.d/mysqld這個(gè)文件,把里面的/usr/local/mysql改成我的目錄,OK
還有一點(diǎn)要到/usr/local/bin下面去ln -fs /usr/myz/mysql/bin/mysql mysql
當(dāng)然還有mysqladmin mysqldump
這樣還不能遠(yuǎn)程連接...暈....
grant all on *.* to root@"202.11.10.253" Identified by "dbpassword"
OK...MySQL是安裝完了...
MySQL配置
設(shè)置其實(shí)剛才就做了一些
mysqladmin -u root password XXX
現(xiàn)在應(yīng)該只剩下設(shè)置字符集了
找到客戶端配置[client] 在下面添加
default-character-set=utf8 默認(rèn)字符集為utf8
在找到[mysqld] 添加
default-character-set=utf8 默認(rèn)字符集為utf8
init_connect='SET NAMES utf8' (設(shè)定連接mysql數(shù)據(jù)庫時(shí)使用utf8編碼,以讓mysql數(shù)據(jù)庫為utf8運(yùn)行)
修改好后,重新啟動(dòng)mysql(/etc/init.d/mysql restart) 即可,查詢一下show variables like 'character%';
Zlib
這個(gè)很重要....吸取以前的教訓(xùn).直接默認(rèn)安裝
# tar -zxvf zlib-1.2.2.tar.gz
# cd zlib-1.2.2
# ./configure
# make
# make install
libjpeg
這個(gè)很傻帽.不能自己創(chuàng)建文件夾.試了就知道,在make install那步當(dāng)中
# ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
# make
# make install
出現(xiàn)問題的文件夾就自己創(chuàng)建一下.OK
libpng
# cp scripts/makefile.linux makefile
# make (若是提示找不到zlib庫文件或者頭文件,多半是makefile文件里zlib的默認(rèn)路徑有誤。可編輯makefile文件,找到zlib項(xiàng)并重新指定路徑到zlib路徑,建議還是默認(rèn)安裝)。
# make install
freetype
./configure --prefix=/usr/local/ freetype
make
make install
libxml2
./configure --prefix=/usr/local/libxml2
make
make install
cp xml2-config /usr/bin 這個(gè)在php編譯的時(shí)候會(huì)用到
gd
注意:png和zlib都是默認(rèn)安裝
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg --with-png=/usr/local/lib --with-zlib=/usr/local/lib --with-freetype=/usr/local/freetype
# make
# make install
如果不出現(xiàn)以上那幾個(gè)的東西的 no的話就是安裝成功了.終于.....接下來該apache了
apache
# ./configure --prefix=/usr/myz/apache --sysconfdir=/etc --enable-so --enable-track-vars --enable-rewrite --with-z=/usr/local/lib
# make
# make install
sysconfdir是配置文件目錄
so是允許so
track-vars為啟動(dòng)cookie的get/post等追蹤功能
rewrite重寫
z zlib壓縮
apache配置
vi /etc/httpd.conf
要改的有如下幾處:
找到LoadModule php5_module modules/libphp5.so
讓php5以動(dòng)態(tài)模塊方式(DSO)加載在apache上。apache在啟動(dòng)后去加載php。
前面的#號(hào)去掉(默認(rèn)已去掉注釋)( LoadModule xxx.so在php裝完了自動(dòng)會(huì)出來)
#AddType application/x-gzip .gz .tgz
下面加二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
第一句是讓apache在遇到.php文件后綴的時(shí)候,調(diào)用php模塊解釋php里面的代碼。第二句是在遇到.phps文件后綴的時(shí)候以語法高亮方式顯示php源代碼。這里可以做很多文章,比如AddType application/x-httpd-php .html,這樣apache會(huì)把.html文件也通過php去解釋,很多網(wǎng)站的"偽靜態(tài)"就是這里做的手腳。
找到DirectoryIndex index.html
改為 DirectoryIndex index.html index.htm index.php,這是在給apache設(shè)置默認(rèn)首頁。并且是有先后順序的。
修改www的目錄
先mkdir /var/www
然后修改httpd.conf里
DocumentRoot "/var/www"
<Directory "/var/www">
# cp /usr/lamp/apache2/bin/apachectl /etc/init.d/httpd
設(shè)置開機(jī)自啟動(dòng)
# chkconfig --add httpd
這里會(huì)出現(xiàn)錯(cuò)誤.在httpd里的第一行下面加上:
# myz
# chkconfig: 2345 60 40
# description: MyZ Server
將apache添加為系統(tǒng)服務(wù)
# service httpd start
這里先等一等,因?yàn)閘ibphp5.so要裝完php才會(huì)有。
關(guān)于Permission denied的錯(cuò)誤
處理如下:
1. vi /etc/sysconfig/selinux
更改SELINUX=disabled
2.chcon -t texrel_shlib_t /usr/apache/modules/libphp5.so
或者簡單的方法去關(guān)掉selinux,#setup在里面找selinux相關(guān)的disabled掉。
然后start就會(huì)開啟服務(wù)了,同理service httpd stop就是停止服務(wù)。還可以service httpd restart。不過這個(gè)沒有什么提示信息,你可以自己編寫個(gè)shell腳本,加入一些提示信息就顯得好看多了。
這里啟動(dòng)會(huì)出現(xiàn)一點(diǎn)錯(cuò)誤:
httpd could not reliably determine
需要在httpd.conf 中的ServerName:www.example.com:80下面加上
www.yourdomain.com:80
對(duì)了如果ping不通80端口試試關(guān)掉linux的防火墻試試,#setup里面有。
php
# ./configure --prefix=/usr/myz/php \
--with-apxs2=/usr/myz/apache/bin/apxs \
--with-config-file-path=/etc \
--enable-safe-mode \
--with-zlib= \
--with-zlib-dir=/usr/local/lib \
--with-libxml-dir=/usr/local/lib \
--enable-mbstring \
--with-mysql=/usr/myz/mysql \
--with-mysql-sock=/tmp \
--with-pdo-mysql=/usr/myz/mysql \
--enable-soap \
--with-xmlrpc \
--enable-sockets \
--with-curl=/usr/local/lib \
--with-xsl=/usr/local/lib \
--with-openssl=/usr \
--with-gd=/usr/local/lib \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/local/lib \
--with-freetype-dir=/usr/loca/lib \
藍(lán)字的是我覺得必須的.
有的是需要裝的.比如apache,zlib,libxml2,libcurl,libxslt
我用的是5.2.5有的東西是默認(rèn)的enable 比如cli
這個(gè)不全...但是夠用...但是不好...但是也太多了
我編了N遍!!!!
美中不足.沒有裝上libcURL還有xslt
make
最可怕的是在make test時(shí)不斷循環(huán)...最后退不出去.只能reset電腦...
make install
又出現(xiàn)錯(cuò)誤,說找不到libphp5.so,搜了半天,最后把所有的刪掉重來一次.OK
復(fù)制php.ini-recommended為php.ini,并存放到/etc/目錄下.
php配置
這個(gè)...隨意吧...因?yàn)槭菍?shí)驗(yàn)所以什么也沒改...只看了下phpinfo()
結(jié)束...