西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)php教程 → 在ubuntu上搭建Lamp環(huán)鏡

在ubuntu上搭建Lamp環(huán)鏡

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:ThinkSail時(shí)間:2010/8/20 10:48:14字體大小:A-A+

作者:不詳點(diǎn)擊:467次評(píng)論:0次標(biāo)簽: php Lamp

  • 類型:服務(wù)器區(qū)大。21M語言:中文 評(píng)分:7.5
  • 標(biāo)簽:
立即下載

Linux+Apache+Mysql+Perl/PHP/Python一組常用來搭建動(dòng)態(tài)網(wǎng)站或者服務(wù)器的開源軟件,本身都是各自獨(dú)立的程序,但是因?yàn)槌1环旁谝黄鹗褂茫瑩碛辛嗽絹碓礁叩募嫒荻龋餐M成了一個(gè)強(qiáng)大的Web應(yīng)用程序平臺(tái)。隨著開源潮流的蓬勃發(fā)展,開放源代碼的LAMP已經(jīng)與J2EE和.Net商業(yè)軟件形成三足鼎立之勢,并且該軟件開發(fā)的項(xiàng)目在軟件方面的投資成本較低,因此受到整個(gè)IT界的關(guān)注。

最流行的PHP框架結(jié)構(gòu)

下載教大家如何在 Ubuntu 上搭建Lamp環(huán)鏡

一:準(zhǔn)備軟件包,存放/home/xiutuo/software/目錄下。

主要軟件包,
(這里沒有選擇mysql-standard-5.0.20-linux-i686.tar.gz,
呆會(huì)再說明原因。)
httpd-2.2.0.tar.gz
mysql-max-5.0.21-linux-i686-glibc23.tar.gz
php-5.1.2.tar.gz

安裝php所需的軟件包
(其中l(wèi)ibxml2是安裝php5必須的,為什么還需要perl呆會(huì)說明原因。)
libxml2-2.6.19.tar.gz
libxslt-1.1.15.tar.gz
ActivePerl-5.8.8.817-i686-linux-2.2.17-gcc-257965.rpm
curl-7.15.0.tar.gz

GD庫所需要軟件包
(有人說PHP源碼包里自帶了GD2.0.28和zlib,
只要安裝GD的三個(gè)支持包:jpg,png和freetype,但是我們還是下載)
gd-2.0.33.tar.gz
freetype-2.1.10.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.8.tar.gz
zlib-1.2.3.tar.gz

相關(guān)下載
(根據(jù)自己的linux版本下載相應(yīng)的包,
查看操作系統(tǒng)版本:
# uname -r )

http://ftp.gnome.org/pub/GNOME/s … bxml2-2.6.19.tar.gz
http://ftp.gnome.org/pub/GNOME/s … bxslt-1.1.15.tar.gz
http://downloads.activestate.com … .638-i686-linux.rpm

http://curl.haxx.se/download/curl-7.15.0.tar.gz

http://www.boutell.com/gd/http/gd-2.0.33.tar.gz

http://keihanna.dl.sourceforge.n … etype-2.1.10.tar.gz

http://www.ijg.org/files/jpegsrc.v6b.tar.gz

http://nchc.dl.sourceforge.net/s … libpng-1.2.8.tar.gz

http://www.zlib.net/zlib-1.2.3.tar.gz

把以上所有軟件包下載到:/home/xiutuo/software/目錄下。

二:安裝apache2。
# cd /home/xiutuo/software/
進(jìn)入目錄/home/xiutuo/software/
# tar -zvxf httpd-2.2.0.tar.gz
解壓httpd-2.2.0.tar.gz
# cd httpd-2.2.0
進(jìn)入httpd-2.2.0目錄
# mkdir -p /usr/local/apache2
生成/usr/local/apache2目錄
# ./configure –prefix=/usr/local/apache
或者
# ./configure –prefix=/usr/local/apache –enable-modules=so –enable-rewrite
# make; make install
安裝apache
# vi /usr/local/apache/conf/httpd.conf
#ServerName www.example.com:80 在其下增加
ServerName www.xiutuo.com:80
保存退出,現(xiàn)在就這么簡單配置apache。

# /usr/local/apache/bin/apachectl -k start
啟動(dòng)apahce,
用瀏覽器查看http://www.xiutuo.com,得到it works,說明apache已經(jīng)配置成功了。
# /usr/local/apache/bin/apachectl -k stop
停止apache。

三:安裝mysql
# cd /home/xiutuo/software/
# tar -zvxf mysql-max-5.0.21-linux-i686-glibc23.tar.gz
# mkdir -p /usr/local/mysql (省略也可)
# cp -r mysql-max-5.0.21-linux-i686-glibc23.tar.gz /usr/local/mysql
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

添加mysql用戶及用戶組
# groupadd mysql
# useradd -g mysql mysql
修改mysql目錄權(quán)限
# chown -R root /usr/local/mysql
# chgrp -R mysql /usr/local/mysql
# chown -R mysql /usr/local/mysql/data
生成mysql系統(tǒng)數(shù)據(jù)庫
# /usr/local/mysql/scrīpts/mysql_install_db –user=mysql&
啟動(dòng)mysql服務(wù)
# /usr/local/mysql/bin/mysqld_safe –user=mysql&
如出現(xiàn) Starting mysqld daemon with databases from /usr/local/mysql/data
代表正常啟動(dòng)mysql服務(wù)了, 按Ctrl + C 跳出
修改 mysql 的 root 密碼
# /usr/local/mysql/bin/mysqladmin -u root -p password “123456″

四:安裝GD庫(讓PHP支持GIF,PNG,JPEG)
a.安裝 jpeg6
建立目錄:
# mkdir -p /usr/local/jpeg6
# mkdir -p /usr/local/jpeg6/bin
# mkdir -p /usr/local/jpeg6/lib
# mkdir -p /usr/local/jpeg6/include
# mkdir -p /usr/local/jpeg6/man
# mkdir -p /usr/local/jpeg6/man1
# mkdir -p /usr/local/jpeg6/man/man1

# cd /home/xiutuo/software/
# tar -zvxf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure –prefix=/usr/local/jpeg6/ –enable-shared –enable-static
# make; make install

b.安裝libpng
# cd /home/xiutuo/software/
# tar -zvxf libpng-1.2.8.tar.gz
# cd libpng-1.2.8
# cp scrīpts/makefile.std makefile
# make; make install

c.安裝 freetype
# cd /home/xiutuo/software/
# tar -zvxf freetype-2.1.10.tar.gz
# cd freetype-2.1.10
# mkdir -p /usr/local/freetype
# ./configure –prefix=/usr/local/freetype
# make;make install

d.:安裝zlib
# cd /home/xiutuo/software/
#tar -zxvf zlib-1.2.3.tar.gz
#cd zlib.1.2.3
# ./configure
# make;make install

e.安裝GD庫
# cd /home/xiutuo/software/
# tar -zvxf gd-2.0.33.tar.gz
# mkdir -p /usr/local/gd2
# cd gd-2.0.33
# ./configure –prefix=/usr/local/gd2 –with-jpeg=/usr/local/jpeg6/
–with-png=/usr/local/lib/
–with-zlib=/usr/local/lib/
–with-freetype=/usr/local/freetype/
# make; make install

e.安裝Curl庫
# cd /home/xiutuo/software/
# tar -zxf curl-7.15.0.tar.gz
# mkdir -p /usr/local/curl
# ./configure –prefix=/usr/local/curl
# make; make install

五:安裝php5,php5必須有l(wèi)ibxml2支持!
a.安裝libxml2
# cd /home/xiutuo/software/
# tar -zxf libxml2-2.6.19.tar.gz
# cd libxml2-2.6.19
# mkdir -p /usr/local/libxml2
# ./configure –prefix=/usr/local/libxml2
# make; make install

b.安裝 libxslt(可選安裝,你可以不安裝)
# cd /home/xiutuo/software/
# tar -zxf libxslt-1.1.15.tar.gz
# mkdir -p /usr/local/libxslt
# cd libxslt-1.1.15
# ./configure –prefix=/usr/local/libxslt –with-libxml-prefix=/usr/local/libxml2
# make; make install

c.安裝php5
# cd /home/xiutuo/software/
# tar -zvxf php-5.1.2.tar.gz
# mkdir -p /usr/local/php
# cd php-5.05
# ./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache/bin/apxs –with-mysql=/usr/local/mysql/ –with-curl=/usr/local/curl –enable-ftp –with-libxml-dir=/usr/local/libxml2 –with-expat-dir=/usr/lib –enable-soap –with-xsl=/usr/local/libxslt –enable-xslt -with-gd=/usr/local/gd2/ –with-jpeg-dir=/usr/local/jpeg6/ –with-zlib-dir=/usr/local/lib/ –with-png=/usr/local/lib/ –with-freetype-dir=/usr/local/freetype/
+——————————————————————–+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+——————————————————————–+
Thank you for using PHP.

# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini (別忘記了呵呵)

其中./configure 后的
–prefix=/usr/local/php
–with-apxs2=/usr/local/apache/bin/apxs
–with-mysql=/usr/local/mysql/
–with-libxml-dir=/usr/local/libxml2
是必要的選項(xiàng)

–with-gd=/usr/local/gd2/
–with-jpeg-dir=/usr/local/jpeg6/
–with-png=/usr/local/lib
–with-zlib-dir=/usr/lib
–with-freetype-dir=/usr/local/freetype
這是讓PHP支持GD庫的配置選項(xiàng)

–with-curl=/usr/local/curl 支持CURL庫
–enable-ftp 打開FTP庫函數(shù)支持

–enable-soap –with-xsl=/usr/local/libxslt –enable-xslt
讓PHP支持SOAP, 上面這些一般用得少, 可以去掉

六:重新配置apache2讓他支持php。

配置 httpd.conf 讓apache支持PHP
# vi /usr/local/apache/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz 在其下添加如下內(nèi)容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

重啟apache
# /usr/local/apache2/bin/apachectl restart
在htdocs目錄里建一內(nèi)容為 <? phpinfo(); ?> PHP文件, 輸入U(xiǎn)RL地址查看PHP配置是否正確

ok,web環(huán)境apache2+mysql5+php5就介紹到這里。
更詳細(xì)的apache2的配置和mysql配置和php.ini的配置參考相應(yīng)文檔。
——————————————————–
安裝時(shí)候遇到的問題:

由于本人的系統(tǒng)是redhat9,自定義安裝了php,mysql,apache。
所以在安裝最新的php,mysql,apache版本時(shí)候,本人對(duì)相關(guān)的rpm進(jìn)行了
卸載,忽略依賴關(guān)系強(qiáng)制卸載apache;由于php,mysql與perl的bt依賴關(guān)系,
一氣之下刪除了所有的相關(guān)文件。

問題

1.當(dāng)你看到mysql有很多版本,如:
mysql-max-5.0.21-linux-i686-glibc23.tar.gz和
mysql-max-5.0.21-linux-i686.tar.gz
這倆個(gè)到底選哪個(gè)呢,請你使用如下命令來決定
# rpm -qa | grep glibc
glibc-kernheaders-2.4-8.10
glibc-common-2.3.2-11.9
glibc-2.3.2-11.9
glibc-devel-2.3.2-11.9
如果出現(xiàn)以上信息,請選擇mysql-max-5.0.21-linux-i686-glibc23.tar.gz版本

2:編譯php時(shí)出現(xiàn)

./configure: /usr/local/apache2/bin/apxs: /replace/with/path/to/perl/interpreter:
bad interpreter: No such file or directory
這是找不到perl解釋器的緣故。
修改/usr/local/apache2/bin/apxs文件中:
/replace/with/path/to/perl/interpreter
把他替換成perl所在的路徑如/opt/ActivePerl-5.8/bin/perl,
(如果你下載的是active perl5.8的rpm,他默認(rèn)安裝路徑是/opt/ActivePerl-5.8/bin/perl)

3.安裝了perl后,發(fā)現(xiàn)所有的文本編輯器都不能用了。
運(yùn)行vi或者gedit時(shí)候,提示找不到libperl.so
到perl的安裝目錄下找一個(gè)libperl.so放到/usr/lib目錄下就解決問題了
我的libperl.so在/opt/ActivePerl-5.8/lib/5.8.8/i686-linux-thread-multi-CORE/目錄下。
如果不知道libperl.so在什么地方,可以用
# locate libperl.so
查找,或者用find命令

4.當(dāng)我使用mysql-standard-5.0.20,編譯php時(shí)出現(xiàn)mysql錯(cuò)誤:

checking for mSQL support… no
checking for MSSQL support via FreeTDS… no
checking for MySQL support… yes
checking for specified location of the MySQL UNIX socket… no
checking for MySQL UNIX socket location… /tmp/mysql.sock
checking for mysql_close in -lmysqlclient… no
checking for mysql_error in -lmysqlclient… no
configure: error: mysql configure failed. Please check config.log for more information.

網(wǎng)查找說:安裝PHP的時(shí)候沒有指定一下mysql的安裝目錄。但是我已經(jīng)指定了,所以這個(gè)說法是錯(cuò)誤的,其實(shí)主要原因是 mysql-level沒有裝,也就是mysql的版本不對(duì),應(yīng)該換
mysql-max-5.0.21版本(包含所有mysql相關(guān)內(nèi)容的軟件包)

5.編譯php時(shí)出現(xiàn)
configure: error: freetype2 not found!
沒有安裝freetype-level

configure: error: libpng.(a|so) not found.
沒有安裝libpng-devel

6忘了mysql的root口令怎么辦
# /usr/local/mysql/support-files/mysql.server stop
# mysqld_safe –skip-grant-tables &
# mysqladmin -u user password ‘newpassword’
# mysqladmin flush-privileges

 

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)