2007年10月28日 星期日

《 LAMP》TKWU 's Tarball Guide

MySQL 5.1.22-rc + PHP 5.2.4 + Apache 2.2.6 完整安裝手冊(Tarball 安裝法)
// PHP5 + Apache + MySQL 安裝方法 For Linux / FreeBSD
// Written by Tung-Kuang Wu & Webber (long time ago)
// Updated on 2007/10/26

/***
假設 : Apache 裝在 /www
PHP 裝在 /www/php
MySQL 則裝在 /www/mysql
***/

1. 首先將檔案拷貝至 /usr/local 下 ( MySQL 5.1.22-rc + PHP 5.2.4 + Apache 2.2.6 )

2. 安裝 mysql-5.1.22-rc

// 安裝之前,檢查 /etc/my.cnf,更改 datadir 與 socket 如下:
// 假設安裝 mysql 於 /www/mysql
datadir=/www/mysql/var
socket=/tmp/mysql.sock


tar zxvf mysql-5.1.22-rc.tar.gz
cd /usr/local/mysql-5.1.22-rc
./configure --prefix=/www/mysql --localstatedir=/www/mysql/var
make ; make install


--prefix : 設定 Mysql 安裝路徑
--localstatedir : MySQL 的資料庫檔存放的目錄

當 MySQL 灌好之後,需先執行一個 Script 讓 MySQL 系統產生 mysql 這個資料庫及一些
必要的 Tables (user, db, … 等)。


/www/mysql/bin/mysql_install_db


建立好系統必要的 Grant Tables 之後我們就可以啟動 MySQL 資料庫。


// 將 mysql.server 改成可執行檔
chmod 700 /www/mysql/share/mysql/mysql.server

// 新增一個 mysql 帳號
adduser mysql

// 此為 MySQL 資料庫的資料檔所在,設其 Owner為 mysql
chown -R mysql /www/mysql/var

/www/mysql/share/mysql/mysql.server start

// 設定 root 存取 MySQL 之帳號密碼。
/www/mysql/bin/mysqladmin -u root password 'Your Password'


3. 安裝 Apache (httpd-2.2.6)


tar jxvf httpd-2.2.6.tar.bz2
cd /usr/local/httpd-2.2.6
./configure --prefix=/www --enable-so [--enable-ssl]
make ; make install


--prefix : 設定 Apache httpd 安裝路徑
--enable-so : 告訴 Apache 啟動 so 模組, 讓 Apache 能夠載入 shared modules(例如 PHP)

4. 安裝 gd (在灌 FreeBSD / Linux 時要安裝 C Development 和 Development Libaries)
(gd 為一組繪圖的 Library, 可經由 PHP 呼叫, 於網頁上即時繪圖)

a. 安裝 zlib (壓縮)


tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make && make install


b. 安裝 libpng (png graphics format)


tar zxvf libpng-1.2.16.tar.gz
cd libpng-1.2.16
./configure
make && make install


c. 安裝 jpeg-6b (jpeg graphics format)


tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure
make && make install


// 在 make install 時會出現錯誤, 內容是找不到 /usr/local/man/man1 這個目錄,
// 而 jpeg 此安裝需 copy 一些說明手冊 (manual) 至此目錄, 解決之道就是建這麼
// 個目錄 … (see below)


mkdir /usr/local/man
mkdir /usr/local/man/man1


d. 安裝 GD


tar zxvf gd-2.0.34.tar.gz
cd gd-2.0.34
./configure
make && make install


##CONTINUE##
5. 安裝 php-5.2.4


tar jxvf php-5.2.4.tar.bz2
cd /usr/local/php-5.2.4
./configure ./configure --prefix=/www/php --with-config-file-path=/www/php
--with-apxs2=/www/bin/apxs --with-mysql=/www/mysql --with-gd
--with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local
--enable-mbstring


// Again, PHP configure seems to have some trouble including “iconv” library …
// So there we go again …

vi Makefile
// … in around line 84 …
EXTRA_LIBS = -liconv -lcrypt ….. (加上紅色部分)

make;make install
cp php.ini-dist /www/php/php.ini


--prefix : 設定 PHP 安裝路徑
--with-apxs2 : 代表希望安裝 PHP 成為 Apache 的 shared modules, 並將該 modules置於 /www/bin/apxs
--with-config-file-path : 設定 PHP 組態檔 (php.ini) 所在目錄
--with-mysql : 讓 PHP 支援 MySQL
--with-gd / zlib / jpeg / png : 讓 PHP 支援 GD, Zlib, Jpeg, PNG 等
--enable-mbstring : 讓 PHP 支援 multi-byte string

6. 在 httpd.conf 中加入以下一行,以及修改部分細節


AddType application/x-httpd-php .php .php3 .phtml
DocumentRoot "/www/htdocs"
DirectoryIndex index.html index.php


7. 啟動 Apache

/www/bin/apachectl start


8. 安裝 phpMyAdmin-2.9.2


tar zxvf phpMyAdmin-2.9.2.tar.gz


將解開的目錄 phpMyAdmin-2.9.2 (or phpMyAdmin) 整個搬移到 /www/htdocs 下。


cd /usr/local
mv phpMyAdmin /www/htdocs/phpMyAdmin


接下來就可以用網頁模式來管理 MySQL 了,可以試試下列網址。
http://localhost/phpMyAdmin/

----------------------------------------------------------------------

依照 TKWU 的安裝編譯過程,我在第五點安裝PHP的時候發生了 cannot find liconv
用了以上的修改方式,還是不行所以逕行下載了 iconv 函式庫 來自行安裝


wget -o /usr/local/ http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz
./configure --prefix=/usr/local
make && make install


然後繼續編譯 php 就沒問題了,雖然不確定問題是出在哪裡,不過可以試試看。
另外,稍微修改了本文將 "make; make install" 改成 "make && make install"。

( 軟體均可於 ftp://ftp.im.ncue.edu.tw/teachers/tkwu/apache/ 下載)

沒有留言:

張貼留言