|
|
【前言】
[LAMP - Wikipedia] 應該不用多說了吧,不過本次實作 Web Server 不是使用 Apache,而是使用小而輕巧的 Lighttpd-輕量級 Web Server,不知是不是應該改叫 LLMP (Linux Lighttpd MySQL PHP) :p
【作業環境】
CentOS 5.1 (Linux 2.6.18-53.1.4.el5)
mysql-server-5.0.22-2.2.el5_1.1
lighttpd-1.4.18-1.el5.rf
php-5.1.6-15.el5
php-mysql-5.1.6-15.el5
【安裝及設定】
MySQL
Step1.安裝 MySQL Database
我使用郡組安裝把相關會用到的套件都裝入,在安裝以前先查看會安裝哪些套件
- #yum groupinfo "MySQL Database" //查尋 MySQL 郡組套件會安裝哪些套件
- Group: MySQL Database
- Description: This package group contains packages useful for use with MySQL.
- Mandatory Packages: //強制安裝套件
- mysql
- Default Packages: //預?#93;會安裝的套件
- unixODBC
- mysql-server
- MySQL-python
- mysql-connector-odbc
- libdbi-dbd-mysql
- perl-DBD-MySQL
- Optional Packages: //建議安裝 (視個人需求自行安裝)
- mod_auth_mysql
- mysql-devel //MySQL ?#123;式?#125;發套件及函式庫
- qt-MySQL
- mysql-bench //MySQL 效能測試套件
- php-mysql
複製代碼
接下來就利用 yum 來進行郡組安裝 MySQL 吧
- #yum groupinstall "MySQL Database"
複製代碼
你可能會問說怎麼沒有 MySQL-shared (MySQL 用戶端函式庫套件),這個套件若需要就到[MySQL Download]找對應的 MySQL 版本及需要的 rpm 來安裝吧。
Step2.修改 /etc/my.cnf
我想將 DB 放置資料夾從預設的 /var/lib/mysql 改放到 /home/db/mysql 下,我喜歡集中管理 :p
- #mkdir /home/db ; mkdir /home/db/mysql
- #chown mysql:mysql /home/db/mysql
- #vim /etc/my.cnf
- [mysqld]
- datadir=/var/lib/mysql //預?#93;值
- datadir=/home/db/mysql //修改後
複製代碼
再來就是執行 chkconfig 將 mysqld 設定在 runlevel 2 ~ 5 為啟動 MySQL 服務
- #chkconfig mysqld on
- #chkconfig --list |grep mysqld //查看?#93;定是否生效
- mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
複製代碼
Step3.啟動 MySQL
- #/etc/rc.d/init.d/mysqld start //啟動 MySQL 服務
- Initializing MySQL database: Installing all prepared tables Fill help tables
- Starting MySQL: [ OK ]
複製代碼
檢查 MySQL 是否啟動成功並 Listen 相關 Port
- #netstat -tnl
- Active Internet connections (only servers)
- Proto Recv-Q Send-Q Local Address Foreign Address State
- tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
複製代碼
Step4.設定 MySQL 管理者密碼
剛安裝完 MySQL 後記得趕快設定管理者密碼 (這裡的 root 跟 CentOS 的 SuperUser Root 沒關系哦!!)
- #mysqladmin -u root password YOUR_PASSWORD //?#93;定新密碼
- #mysqladmin -u root -p password NEW_PASSWORD //日後若要更改密碼
複製代碼
Step5.測試登入 MySQL
設定好 MySQL 管理者密碼後試著登入看看吧:p
- #mysql -u root -p
- Enter password: //輸入剛才?#93;定的 MySQL 密碼
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 1581 to server version: 5.0.27
- Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
- mysql> //成功登入 mysql
複製代碼
Step6.建立其它 MySQL 帳號
以下命令為表示允許連線主機來源是 localhost 以 sqluser1 的 MySQL 帳號及密碼為 1234 登入的使用者,能對指定的資料庫 testdb 擁有所有權限。
- mysql> grant all privileges on testdb.* to sqluser1@localhost IDENTIFIED BY '1234';
- Query OK, 0 rows affected (0.00 sec)
- mysql> FLUSH PRIVILEGES ; //重新載入(使變更生效)
- Query OK, 0 rows affected (0.01 sec)
複製代碼
Lighttpd
Step1.安裝 lighttpd、lighttpd-fastcgi 套件
因為 Lighttpd 使用 FastCGI 來處理 PHP 所以要一併安裝
- #yum -y install lighttpd lighttpd-fastcgi
複製代碼
Step2.修改 lighttpd 設定檔
修改 lighttpd 設定檔來支援 PHP (FastCGI)
- #vim /etc/lighttpd/lighttpd.conf
- server.modules = (
- "mod_fastcgi", //這行的 mark 要拿掉(支援 PHP-FastCGI)
- )
- #### fastcgi module
- ## read fastcgi.txt for more info
- ## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
- fastcgi.server = ( ".php" =>
- ( "localhost" =>
- (
- "socket" => "/var/run/lighttpd/php-fastcgi.socket", //預?#93;值
- "socket" => "/tmp/php-fastcgi.socket", //修改後
- "bin-path" => "/usr/bin/php-cgi"
- )
- )
- )
複製代碼
Step3.設定開機自動啟動 lighttpd 服務
使用 chkconfig 指令來查看 lighttpd 在各 runlevel 下狀態
-
- #chkconfig --list |grep lighttpd
- lighttpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
複製代碼
設定 lighttpd 在 runlevel 為 2、3、5 時會啟動服務
-
- #chkconfig --levels 235 lighttpd on
複製代碼
檢查剛才的設定是否生效
-
- #chkconfig --list |grep lighttpd
- lighttpd 0:off 1:off 2:on 3:on 4:off 5:on 6:off
複製代碼
Step4.啟動 lighttpd 服務
-
- #/etc/rc.d/init.d/lighttpd start
- Starting lighttpd: [ OK ]
複製代碼
檢查一下 lighttpd process 是否執行
- #ps ax |grep lighttpd
- 4266 ? S 0:00 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
複製代碼
檢查是否 LISTEN Port 80
- #netstat -tnl |grep :80
- tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
複製代碼
PHP
Step1.安裝 PHP 5
安裝 php 及 php-mysql 套件
- #yum -y install php php-mysql
複製代碼
Step2.查尋安裝 PHP 是否成功
查看安裝的 PHP 版本
- #php -v
- PHP 5.1.6 (cli) (built: Sep 20 2007 10:16:10)
- Copyright (c) 1997-2006 The PHP Group
- Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
複製代碼
查看目前 PHP 模組
- #php -m
- [PHP Modules]
- bz2
- ...略
- xml
- zlib
- [Zend Modules]
複製代碼
Step3.測試 Lighttpd 能否正確處理 php 檔案
隨意建立一個檔名為 test.php 的檔案,然後放到 lighttpd 的 web 目錄而 test.php 內容如下如果能看到 php 的預設頁就表示 lighttpd 能正確處理 php 檔案了
【參考】
[學生用伺服器建置流程(CentOS 5 版)PHP & MySQL]
[台灣PHP聯盟 - 在 RHEL 修改 mysql 放置資料的路徑]
[Jamyy's Weblog: 架設自己的即時訊息伺服器 - 使用 jabberd 2]
【Log】
初稿-2008/01/16 |
|