2008/11/02

zx1986's LAMP Guide (2008/11/02)

#即將安裝的路徑預定為:
 Apache 裝在 /imhere/apache2/
 MySQL 裝在 /imere/mysql5/
 PHP 裝在 /imere/php5/
 Apache 的預設檔案路徑將設為 /imhere/www/
 
#先將所有檔案下載至 /imhere/LAMP 下:
 tar zxvf *.tar.gz 解壓縮;
 tar jxvf *.tar.bz2 解壓縮。
 [x = extract (from Archive)]
 [z / j = gzip / bzip2 compressed , and now need to be uncompressed]

#下文「藍色」部份為指令碼(command line)

-----------------------------------------------
#安裝 mysql-5.1.23-rc
 
01、Shell> tar zxvf /imhere/LAMP/mysql-5.1.29-rc.tar.gz
 
02、Shell> cd /imhere/LAMP/mysql-5.1.29-rc
 
03、Shell> ./configure --prefix=/imhere/mysql5 --localstatedir=/imhere/mysql5/var
  [--prefix : 設定 MySQL 安裝路徑]
  [--localstatedir : MySQL 資料庫的資料檔存放的目錄]
 
04、Shell> make
 
05、Shell> make install

06、Shell> /imhere/mysql5/bin/mysql_install_db
  MySQL 灌好之後,需先執行一個 Script。
  讓 MySQL 系統產生「mysql」這個資料庫及一些必要的 Tables (user , db, … 等)。
  這個 Script 順利執行後,將會在 /im/mysql5/ 下新增出一個 var 資料夾。
 
07、Shell> chmod 700 /imhere/mysql5/share/mysql/mysql.server
  將 mysql.server 改成只有 Owner 才有權限的執行檔。
 
08、Shell> adduser mysql
  新增一個 Linux 的系統帳號,名稱為: mysql。

09、Shell> chown -R mysql /imhere/mysql5/var
  此為 MySQL 資料庫的資料檔所在目錄,將其 Owner 設為剛剛新增的 mysql。
 
10、Shell> /imhere/mysql5/share/mysql/mysql.server start
  啟動 MySQL 資料庫程式,出現「確定」即表示成功啟動。

-----------------------------------------------
#安裝 httpd-2.2.8(Apache)
 
01、Shell> tar zxvf /imhere/LAMP/httpd-2.2.10.tar.gz
 
02、Shell> cd /imhere/LAMP/httpd-2.2.10
 
03、Shell> ./configure --prefix=/imhere/apache2 --enable-so [--enable-ssl]
  [--prefix:設定 Apache 安裝路徑]
  [--enable-so:設定 Apache 啟動 so 模組,讓 Apache 能夠載入 shared modules (例如 PHP)]
  [--enable-ssl:是否開啟 ssl 連線功能,可以不開啟]
 
04、Shell> make
 
05、Shell> make install
 
06、Shell> /imhere/apahce2/bin/apachectl start
  啟動 Apache,連線到 http://127.0.0.1,出現「It's Work!」即表示啟動成功。

-----------------------------------------------
#以下組件請下載至 /imhere/LAMP 進行解壓縮並使用 tarball 安裝。
#安裝 GD(GD 為一組繪圖的 Library,可經由 PHP 呼叫,於網頁上即時繪圖)

a」安裝 zlib(壓縮函式庫)
01、Shell> tar zxvf zlib-1.2.3.tar.gz
02、Shell> cd zlib-1.2.3
03、Shell> ./configure
04、Shell> make
05、Shell> make install

b」安裝 libpng(支援 png graphics format)
01、Shell> tar zxvf libpng-1.2.32.tar.gz
02、Shell> cd libpng-1.2.32
03、Shell> ./configure
04、Shell> make
05、Shell> make install

c」安裝 jpeg-6b(支援 jpeg graphics format)
01、Shell> tar zxvf jpeg-6b.tar.gz
02、Shell> cd jpeg-6b
03、Shell> ./configure
04、Shell> make
05、Shell> make install
*在 make install 時會出現錯誤,內容是找不到 /usr/local/man/man1 這個目錄,
 而 jpeg 此安裝需 copy 一些說明手冊(manual)至此目錄,解決之道就是建這麼個目錄。
 Shell> mkdir /usr/local/man
 Shell> mkdir /usr/local/man/man1

d」安裝 GD
01、Shell> tar zxvf gd-2.0.35.tar.gz
02、Shell> cd gd-2.0.35
03、Shell> ./configure
04、Shell> make
05、Shell> make install
 
-----------------------------------------------
#安裝 php-5.2.5
 
01、Shell> tar zxvf php-5.2.6.tar.gz
 
02、Shell> cd php-5.2.6
 
03、Shell> ./configure --prefix=/imhere/php5 --with-config-file-path=/imhere/php5 --with-apxs2=/imhere/apache2/bin/apxs --with-mysql=/imhere/mysql5 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local --enable-mbstring
  [--prefix:設定 PHP 安裝路徑]
  [--with-apxs2:代表希望安裝 PHP 成為 Apache 的 shared modules,並將該 modules 置於 /im/apache2/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 ]
 
04、Shell> make
 
05、Shell> make install
 
06、Shell> cp php.ini-dist /imhere/php5/php.ini
  將 PHP 的預設設定檔複製到 /im/php5 底下,並同時更名為:php.ini

-----------------------------------------------
#設定 Apache(編輯 httpd.conf 檔)
 
01、Shell> vi /imhere/apache2/conf/httpd.conf
  在檔案最末加入:AddType application/x-httpd-php .php .php3 .phtml
  加入這行的意思是讓 Apache 知道要處理的檔案是 php,php3,phtml 時,
  知道應該交給 PHP 模組來處理。
 
02、Shell> vi /imhere/apache2/conf/httpd.conf
  搜尋「DirectoryIndex」,修改為:DirectoryIndex index.html index.php index.htm
  搜尋「DocumentRoot」,將路徑改為:DocumentRoot "/imhere/www"
  搜尋「htdoc」,修改為:/imhere/www
  (重新設定 DocumentRoot 的路徑,共需修改這「兩處」!)
 
03、編寫一個php測試檔案,內容為:

<?php
phpinfo();
?>


  另存至 /imhere/www/ 資料夾下,檔名為:index.php
 
03、Shell> /imhere/apache2/bin/apachectl restart
  重新啟動 Apache,連線至 http://127.0.0.1,出現伺服器資訊頁面,即表示 PHP 與 Apache 正常運作。