CentOS 5.4上安裝Apache + PHP + MySQL

由於正在練習Linux的緣故,
也試著在Linux架伺服器玩看看,
由於是使用source tarball方式安裝,
方法和FreeBSD上其實大同小異。

以下我所使用的安裝步驟:
一、安裝Apache
(1) 下載並解開tarball
[cc no_cc=”1″]# tar zxvf httpd-2.2.14.tar.gz[/cc]
(2) configure,指定安裝目錄並將mod_so.c編譯進來(安裝PHP會用到)
[cc no_cc=”1″]# ./configure –prefix=/usr/local/apache –enable-module=so[/cc]
(3) 開始編譯並安裝
[cc no_cc=”1″]# make
# make install[/cc]
(4) 試看看能不能運作
[cc no_cc=”1″]# /usr/local/apache/bin/apachectl start[/cc]

二、安裝MySQL
(1)先行安裝必要的lib,後面在configure時會用到
[cc no_cc=”1″]# yum -y install ncurses-devel[/cc]
(2) 新增MySQL用的User和Group
[cc no_cc=”1″]# groupadd mysql
# useradd -g mysql mysql[/cc]
(3) 下載並解開mysql-5.1.41.tar.gz
[cc no_cc=”1″]# tar zxvf mysql-5.1.41.tar.gz[/cc]
(4) configure,設定安裝目錄、使用較低的記憶體、預設編碼為utf-8
[cc no_cc=”1″]# ./configure –prefix=/usr/local/mysql –with-low-memory –with-charset=utf8[/cc]
(5) 編譯並安裝
[cc no_cc=”1″]# make
# make install[/cc]
(6) 複製設定檔
[cc no_cc=”1″]# cp support-files/my-medium.cnf /etc/my.cnf[/cc]
(7) 更改/usr/local/mysql目錄權限
[cc no_cc=”1″]# cd /usr/local/mysql
# chgrp -R mysql .
# bin/mysql_install_db –user=mysql
# chown -R root .
# chown -R mysql var[/cc]
(8) 啟動MySQL並設定MySQL的root密碼
[cc no_cc=”1″]# /usr/local/mysql/share/mysql/mysql.server start
# /usr/local/mysql/bin/mysqladmin password 密碼[/cc]
(9) 試看看能不能進入MySQL主控介面
[cc no_cc=”1″]# /usr/local/mysql/bin/mysql -u root -p[/cc]

三、安裝PHP
(1)先行安裝必要的lib,後面在configure時會用到
[cc no_cc=”1″]# yum -y install libpng-devel
# yum -y install libmcrypt-devel
# yum -y install libxml2-devel[/cc]
(2) 下載並解開php-5.2.12.tar.gz
[cc no_cc=”1″]# tar zxvf php-5.2.12.tar.gz[/cc]
(3) configure,加入所需的設定
[cc no_cc=”1″]# ./configure –with-apxs2=/usr/local/apache/bin/apxs –with-mysql=/usr/local/mysql –enable-mbstring –with-gd –enable-zip –with-gettext –with-mcrypt –with-zlib[/cc]
(4) 編譯並安裝
[cc no_cc=”1″]# make
# make test (會花點時間,請耐心請候)
# make install[/cc]
(5) 複製設定檔
[cc no_cc=”1″]# cp -f php.ini-dist /usr/local/lib/php.ini[/cc]

四、相關設定
這裡我們要設定apache的設定檔httpd.conf
支援PHP和UserDir。
(1) PHP部份:
編輯/usr/local/apache/conf/httpd.conf
大約在168行找到以下敘述:
[cc no_cc=”1″]DirectoryIndex index.html[/cc]
在後面加上 index.htm index.php。
接著於文件新增一行 [cc no_cc=”1″]AddType application/x-httpd-php .php .phtml[/cc]
讓Apahce認得PHP文件。
(2) UserDir部份
大約在httpd.conf第384找到 [cc no_cc=”1″]#Include conf/extra/httpd-userdir.conf[/cc]
將行首的註解# 刪掉,
編輯 /usr/local/apache2/conf/extra/httpd-userdir.conf
約第10行 [cc no_cc=”1″]UserDir public_html[/cc]
可以將public_html改成其他名字(如www),
接著設定目錄權限,
先將該文件底下的範例全部用# 註解掉(範例設定只有Read-only權限),
自行設定權限(我自己用的設定):
[ccel_xml]<Directory “/home/*/www”>
Options FollowSymLinks
AllowOverride None
Order deny,allow
deny from all
allow from 192.168.0.0/16
</Directory>[/ccel_xml]
接著我們要修改使用家目錄的權限為755,
因為CentOS預設對使用者家目錄的權限是700,
這樣Apache可能權限的關係找不到文件,
另外也要將SELinux關掉。
完成後啟動Apahce(如果Apache已啟動請先關閉)
[cc no_cc=”1″]# /usr/local/apache/bin/apachectl start[/cc]
在 使用者家目錄/www/ 建一個.php文件,
內容為:
[ccel_php]<?php
phpinfo();
?>[/ccel_php]
打開瀏覽器連到該份PHP文件試看看PHP和UserDir能不能運作。

五、開機時運行Apache和MySQL
我是用修改/etc/rc.local的方法,
加入以下兩行能夠在開機時一併將Apache和MySQL跑起來:
[cc no_cc=”1″]/usr/local/apache/bin/apachectl start &
/usr/local/mysql/share/mysql/mysql.server start &[/cc]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料