LAMP 安裝配置APACHE+PHP+MYSQL環境

來源:互聯網
上載者:User

LAMP 安裝 配置
配置環境
作業系統:Redhat Enterprise AS 4
已安裝包:httpd2.0.4, mysql4.1,libxml2.6.16, zlib1.2.1.2,gd2.0.28, libpng1.2.7
說明:網上的各種安裝說明都不是很好地說明了配置參數的來由,本文將儘可能標明每一步的必要性.已安裝包不是必需的,其中mysql可以獨立安裝,而rpm包形式的httpd因為不是mod-so形式安裝的,如果要支援php或者其它模組,要強制remove重安裝編碼版本. #rpm --nodeps --erase httpd
其它php可能需要的模組功能說明:
libxml2: xml解析庫
zlib: 開源壓縮庫
gd: 圖形庫
libpng: 用來處理png映像格式檔案的庫
freetype: TrueType字型繪製引擎
ZendOptimizer:
JPEG庫:
然後下載檔案mysql,apache,php,請到下面網址下載相應軟體
http://www.apache.org/
http://www.php.net/
http://www.mysql.com/

第一步:安裝apache
進入安裝目錄,依次執行下面命令:
解壓源碼包
# tar -zxf httpd-2.0.55.tar.gz
進入安裝目錄
# cd httpd-2.0.55
配置apache安裝資訊, 配置安裝後目錄,模組動態配置,允許重寫重配置
# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite
執行make安裝
# make; make install

第二步:配置apache
修改httpd.conf檔案
//ServerName 修改主機名稱,若無dns,則用IP替代
ServerName 192.168.36.163:80

//DocumentRoot 修改文檔路徑,就是要放置目標網頁的地方
DocumentRoot "/var/www/html"


//DirectoryIndex 修改預設的首頁名稱
DirectoryIndex index.html index.php index.htm

第三步:安裝PHP
進入安裝目錄,依次執行下面命令:
解壓源碼包
# tar -zxf php-5.0.5.tar.gz
進入安裝目錄
# cd php-5.05
配置php安裝資訊, 配置安裝後目錄,模組動態配置,允許重寫重配置
# 方式一
./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/lib --with-png --with-freetype-dir=/usr/local/freetype --enable-mbstring

#方式二
'./configure' '--prefix=/usr/local/php' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-mysql=/usr/local/mysql/' '--with-mssql=/usr/local/freetds/' '--with-curl=/usr/local/curl '

其中./configure 後的
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql/
--with-libxml-dir
--enable-mbstring
是必要的選項

--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-png
--with-zlib-dir=/usr/lib
--with-freetype-dir=/usr/local/freetype
這是讓PHP支援GD庫的配置選項

執行make安裝
# make; make install

第四步:配置 httpd.conf讓apache支援PHP
# vi /usr/local/apache/conf/httpd.conf
php安裝完後會自動在httpd.conf加上下面一行(若無,請手動添加):
LoadModule php5_module modules/libphp5.so

找到 AddType application/x-gzip .gz .tgz 在其下添加如下內容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

重啟apache
# /usr/local/apache/bin/apachectl restart

附:apache的一些重要配置選項
1 Directory

Options FollowSymLinks
AllowOverride None
Order deny,allow #說明先執行denny,再執行allow
allow from all #此句是允許所有地址訪問,在這可設定具體IP的存取權限

2 ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" #指令碼路徑
3 redirects (http return status code)
ErrorDocument 500 "The server made a boo boo."
ErrorDocument 404 /missing.html
ErrorDocument 404 "/cgi-bin/missing_handler.pl"
ErrorDocument 402 http://www.example.com/subscription_info.html

呵呵,我開始學PHP了,學習PHP首先要學會搭建一個LAMP(Linux+Apache+Mysql+Php),我配置了一天才配置成功,安裝文檔全部都是中文,還好有老師在旁邊一步一步的給我細心的講解,我才配置出來,在這裡我要謝謝我的老師!
好了,下面我就給大家介紹配置LAMP的每一步,大家按照我的步驟來做肯定能配置成功,也省去了大家看心疼的英文的時間了。
我用的作業系統是Red Hat Linux9,Apache:httpd-2.0.53.tar.gz,Mysql:mysql-standard-4.1.10-pc-linux-gnu-i686.tar.gz,PHP:php-4.3.10.tar.bz2.
首先檢查作業系統是否已經安裝了Apache、Mysql、PHP,如果已經安裝的話將其刪除掉。
以檢查是否安裝Mysql為例:
#rpm –qa |grep –i mysql
如果有顯示任何軟體包,則使用
#rpm -e 軟體包名稱 --nodeps 刪除
我們可以也可以用下面的方法將已經安裝的Mysql刪除:
#for i in `rpm –qa|grep –i mysql`
>do rpm –e $i –nodeps
>done

檢查完之後我們開始安裝Apache、Mysql和PHP。
一、安裝Apahce伺服器
#tar -zxvf httpd-2.0.53.tar.gz -C /usr/local //將Apahce2解壓縮到/usr/local目錄下
#./configure --enable-so
#make
#make install

二、安裝PHP
#tar -zjvf php-4.3.10.tar.bz2 //解壓縮PHP軟體包
#cd ../php-4.3.10 //進入到PHP解壓縮的目錄
#./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql
#make
#make install
#cp php.ini-dist /usr/local/lib/php.ini //將php.ini-dist檔案拷貝到/usr/local/lib檔案夾下名稱為php.ini
#cd /usr/local/apahce2/conf //進入/usr/local/apache2/conf檔案夾
#vi http.conf //進入http.conf檔案
PHP4:LoadModule php4_module libexec/libphp4.so
PHP5:LoadModule php5_module libexec/libphp5.so

添加解析,為Apahce添加PHP支援,加入:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
加入後儲存退出wq。

#/usr/local/apache2/bin/apachectl start //啟動Apahce服務

有時候會發現錯誤系統預設開啟的IP地址和連接埠號碼沒有指定,修改方法:
#cd /usr/local/apache2/conf
#vi http.conf
/ServerName
找到ServerName www.example.com:80,將其改為ServerName 127.0.0.1:80
修改完後儲存退出wq。
現在再重新啟動Apahce服務就OK了!

我們可以開啟瀏覽器,輸入http://你的伺服器位址測試Apahce是否配置成功,如果成功就會出現Apahce伺服器的“羽毛”標誌。同時也表明在/usr/local/apahce2/htdocs檔案夾配置靜態網頁,配置成功Apache可以顯示靜態網頁。例如:http://127.0.0.1,配置成功就會出現Apahce伺服器“羽毛”標誌了。

下面我們來編寫一個簡單的PHP網頁來測試PHP是否配置成功
#cd /usr/local/apahce2/htdocs //進入/usr/local/apache2/htdocs檔案夾下,進行編寫PHP動態網頁
#vi test.php //建立test.php
PHPinfo(); //編寫一個PHP測試頁 www.111cn.net
?>
編寫完之後儲存退出wq。
好了,然後我們重啟一下Apahce服務就可以看見PHP測試頁了。#/usr/local/apache2/bin/apachectl restart
然後開啟瀏覽器在地址欄裡輸入http://127.0.0.1:80/test.php
會顯示出來Apahce、PHP和伺服器的相關資訊。

安裝Mysql
#tar -zxvf mysql-standard-4.1.10-pc-linux-gnu-i686.tar.gz //解壓縮Mysql資料包
#cd mysql-standard-4.1.10-pc-linux-gnu-i686 //進入Mysql解壓縮目錄
#groupadd mysql //添加mysql組
#useradd -g mysql mysql //添加mysql使用者並且添加到mysql組中
#cd /usr/local //進入/usr/local檔案夾
#gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf - //先用tar解包,輸出的資料給gunzip解包
#ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql //建立軟連結mysql到目前的目錄
#cd /usr/local/mysql //進入/usr/local/mysql檔案夾
#scripts/mysql_install_db --user=mysql //初始化Mysql資料庫,scripts:目錄名稱;--user=mysql:mysql使用者對mysql資料庫進行初始化
#chown -R root .
#chown -R mysql data
#chgrp -R mysql .
#bin/mysqld_safe --user=mysql &

http://dev.mysql.com/doc/refman/ ... l#installing-source

Linux簡單安裝Mysql+Apach+PHP+phpMyAdmin

Linux簡單安裝Mysql+Apach+PHP+phpMyAdmin
2008年06月02日 星期一 上午 01:00
從網上看到許多Apache+Mysql+PHP的安裝文檔,但有的總是會有寫錯誤,最近我根據網上找的一些文檔,並改正其中的錯誤,寫了一個詳細的安裝步驟,以供大家的學習和參考,如果有錯誤並加以更正 :

我的系統是redhat as5 建議大家完整安裝,以免安裝時缺少相關的編譯器等等。
一、安裝mysql(mysql-5.0.21.tar.gz)
# tar zxf mysql-5.0.21.tar.gz
# cd mysql-5.0.21
#./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql/
說明:
#prefix=/usr/local/mysql mysql安裝的目標目錄
#sysconfdir=/etc my.ini設定檔的路徑
#localstatedir=/var/lib/mysql 資料庫存放的路徑
# make
# make install
# groupadd mysql
# useradd mysql -g mysql
# cp support-files/my-medium.cnf /etc/my.cnf
#(這個檔案夾是原來編譯的目錄下的)詢問你是否要覆蓋時,輸入"y"
#/usr/local/mysql/bin/mysql_install_db --user=mysql
# cd /usr/local/mysql 然後設定許可權
# chown -R root . #設定root能訪問/usr/local/mysql
# chown -R mysql /var/lib/mysql #設定mysql使用者能夠訪問/var/lib/mysql
# chgrp -R mysql /usr/local/mysql #設定mysql組能訪問/usr/local/mysql
# /usr/local/mysql/bin/mysqld_safe --user=mysql & #安全啟動mysql
# PATH=$PATH:/usr/local/mysql/bin //讓系統找到mysql
# export PATH
# echo"/usr/local/mysql/lib/mysql">>/etc/ld.so.conf
# ldconfig -v

二、安裝apache (httpd-2.0.59.tar.gz)
# tar zxf httpd-2.0.59.tar.gz
# cd httpd-2.0.59
# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-mods-shared=most
說明:
--enable-so選項:讓Apache可以支援DSO模式,注意,這裡採用的是Apache2.0的文法。如果你的Apache是1.3版本,應改為--enable-module=so。
--enable-mods-shared=most選項:告訴編譯器將所有標準模組都編譯為DSO模組。你要是用的是Apache1.3,改為--enable-shared=max就可以。
--enable-rewrite選項:支援地址修正功能,使用1.3版本的朋友請將它改為--enable-module=rewrite。

# make
# make install
# vi /usr/local/apache/conf/httpd.conf #啟動Apache中的php選項,找到下面兩行
DirectoryIndex index.php #修改預設啟動頁
DocumentRoot #指定主目錄(/usr/local/apache2/htdocs)
ServerName 127.0.0.1:80
# /usr/local/apache/bin/apachectl start
三、安裝php (php-5.1.6.tar.bz2)
# tar jxf php-5.1.6.tar.bz2
# cd php-5.1.6
# ./configure --with-apxs2=/usr/local/apache/bin/apxs --disable-debug --enable-safe-mode --enable-trans-sid --with-xml --with-mysql=/usr/local/mysql --enable-short-tags --with-gd --with-zlib --with-jpeg --with-png --enable-memory-limit --disable-posix --with-config-file-path=/usr/local/lib
說明:
? --with-apxs2=/usr/local/apache/bin/apxs 這是加入apache中為DSO模組的位置
? --disable-debug #關閉php內部調試
? --enable-safe-mode #開啟php的安全模式
? --enable-trans-sid
? --with-xml #支援xml
? --with-mysql #支援mysql
? --enable-short-tags #支援PHP的短標記
? --with-gd #支援GD庫
? --with-zlib #支援zlib
? --with-jpeg
? --with-png
? --enable-memory-limit
? --disable-posix
? --with-config-file-path=/usr/local/lib
總之複製粘貼就可以了,-_-
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs
注意:如果說mysql+apache 都是預設安裝,configure配置方法
# ./configure --with-apxs2=/usr/sbin/apxs --disable-debug --enable-safe-mode --enable-trans-sid --with-xml --with-mysql=/usr/share/mysql --enable-short-tags --with-gd --with-zlib --with-jpeg --with-png --enable-memory-limit --disable-posix --with-config-file-path=/usr/local/lib
# make
# make install
# cp php.ini-dist /usr/local/lib/php.ini 複製php的設定檔
# cd /usr/local/lib/
# vi php.ini 修改設定檔
register_globals = On 一般在414行
max_execution_time = 30 ; // 改為600 (增加處理指令碼的時間限制)
max_input_time = 600 ; //最大輸出時間600秒
memory_limit = 8M ; //改為40M (這樣才能發10M的附件)
register_global =On
post_max_size = 2M ; //php可接受的 post 方法大小 2M
file_uploads = On ; //允許上傳檔案
upload_max_filesize = 2M ; //最大上傳檔案2M
session.auto_start = 1 ; //session自動啟動
如果編譯PHP:make出錯
configure: error: Cannot find MySQL header files under yes.
Note that the MySQL client library is not bundled anymore.
解法:   
如果不知道 header file 在哪,用 「find / -name mysql.h」命令找出其位置;   
如果是自己也有手?影慚b MySQL 套件的?,直接指定?位置。
在 ./configure 下參數指定 header file 的位置(即mysql安裝目錄),如下:
./configure --with-apxs2=/usr/local/Apache2/bin/apxs --with-mysql=/usr/local/mysql
四、整合apache和php www.111cn.net
# vi /usr/local/apache/conf/httpd.conf 修改apache的設定檔
添加: AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps //注意將這兩行添加在其它AddType後面
確保檔案中有下面一段,如果沒有的話就添加在所有LoadModule之後
LoadModule php5_module modules/libphp5.so
由於我裝的版本較高所以是php5,如果是LoadModule php4_module modules/libphp4.so的話也可以
# /usr/local/apache/bin/apachectl start //如果這地方報如下錯
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
原因:是Linux有一個SELinux保護模式引起的。
解決辦法:
1關閉SELINUX的方法:
vi /etc/selinux/config 將SELINUX=enforcing 改成SELINUX=disabled 需要重啟
這個方法可能會對伺服器帶來風險。
2不關閉SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1
server httpd start 報錯:啟動 httpd:[Wed May 07 02:17:20 2008] [warn] module php4_module is already loaded, skipping
解決辦法:查看# vi /usr/local/apache/conf/httpd.conf
是否有二條相同指令LoadModule php4_module modules/libphp4.so 刪除一條,即可
五、安裝phpMyAdmin (phpMyAdmin-2.6.0.tar.gz)
# tar zxf phpMyAdmin-2.6.0.tar.gz
# mv phpMyAdmin-2.6.0 /usr/local/apache/htdocs/
# vi config.inc.php 修改這個檔案
$cfg['Servers'][$i]['host'] = 'localhost'; //改成你資料庫伺服器的主機名稱或IP地址;
$cfg['Servers'][$i]['user'] = 'root'; // MySQL 資料庫的使用者名稱;
$cfg['Servers'][$i]['password'] = ''; // MySQL 資料庫的密碼;
主要修改這幾項,儲存退出
測試:
http://IP/phpMyAdmin-2.6.0
這裡可以修改phpMyAdmin-2.6.0這個目錄的名字,這樣訪問比較方便

解決Cannot load /usr/local/apache/modules/libphp5.so的方法

最後一步重新啟動apache報如下錯誤:
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
原因:是Linux有一個SELinux保護模式引起的。
解決辦法:
1關閉SELINUX的方法:
vi /etc/selinux/config 將SELINUX=enforcing 改成SELINUX=disabled 需要重啟
這個方法可能會對伺服器帶來風險。
2不關閉SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.