內部Web服務
內部Web服務可以作為企業Intranet的平台,在Linux中有很多的基於Web的應用。作為Web應用的基礎,我們選擇Apache平台,它是目前在互聯網上應用最廣的Web服務器軟件,其性能和可擴展性已經得到了長時間的檢驗,而且有很多的Web應用均直接支持Apache。按照前述的安裝過程所安裝的Redhat 6.2已經包含了Apache服務器,但作為專用Web服務器,我們還希望擴展它的功能,在這裡我們將介紹目前比較流行的Apache構建方式:Apahce+PHP4+mysql。Mysql作為支持Web數據存儲的小型數據庫具有較高的處理速度,非常適合Web應用,同時可以通過phpMyAdmin實現Web方式的簡單管理,因此比較流行。對基於名字的虛擬主機也將做一個簡單的介紹。
為獲得較好的性能,我們將PHP編譯到Apache當中,而不是將其編譯成一個模塊。以下是所需要的軟件包:(下載地址)
mysql-3.22.32-pc-linux-gnu-i686.tar.gz
apache_1.3.12.tar.gz
php-4.0.1pl2.tar.gz
phpMyAdmin_2.0.5.tar.gz
1.首先將這些軟件包copy到一個臨時目錄中如/usr/local/src。並在該目錄中將它們解壓縮:
# tar xzf mysql-3.22.32-pc-linux-gnu-i686.tar.gz
# tar xzf apache_1.3.12.tar.gz
# tar xzf php-4.0.1pl2.tar.gz
# tar xzf phpMyAdmin_2.0.5.tar.gz
2.安裝mysql數據庫,我們選擇的mysql壓縮包是二進制版本,所以簡單地將/usr/local/src/mysql-3.22.32拷貝到/usr/local/下,並更改目錄名為mysql:
# cp /usr/local/src/mysql-3.22.32 /usr/local/src/mysql
初始化mysql數據庫:
# cd /usr/local/src/mysql
# ./scripts/mysql_install_db
將mysql的數據庫啟動腳本加入系統啟動目錄:
# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 700 /etc/rc.d/init.d/mysqld
# ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc3.d/S97mysqld
現在可以重啟服務器或運行/etc/rc.d/init.d/mysqld start來啟動mysql進程。測試數據庫是否安裝成功可以運行如下命令:
# /usr/local/mysql/bin/mysql mysql
mysql 3.22.32
>select * from userg
如果可以成功地查詢出結果,表示mysql的安裝成功了。使用q退出。
3.安裝php和apache,我們把apache安裝到/usr/local/apache中,下面是安裝過程:
# cd /usr/local/src/apache_1.3.12
# ./configure --prefix=/usr/local/apache
# cd ../php-4.0.1
# ./configure --with-mysql=/usr/local/mysql --with-apache=../apache_1.3.12 --enable-track-vars
# make
# make install
# cd ../apache_1.3.12
# ./configure --prefix=/usr/local/apache --activate-module=src/modules/php3/libphp3.a
# make
# make install
# cd ../php-4.0.1
# cp php.ini-dist /usr/local/lib/php.ini
可以編輯/usr/local/lib/php.ini來設置php的一些參數。
修改apache的配置文件以使apache將php結尾的文件交給php4引擎來處理。同時定義index.php可以作為目錄的缺省處理文件。修改/usr/local/apache/conf/httpd.conf中的如下幾行:
AddType application/x-httpd-php .php
Index index.Html index.php
覆蓋Redhat的httpd啟動腳本,讓新安裝的apache可以隨系統一起啟動。
# /etc/rc.d/init.d stop
# cp /usr/local/apache/bin/apache-ech /etc/rc.d/init.d/httpd
# /etc/rc.d/init.d start
4.虛擬主機配置,在前面我們將mycompany.vvv和www.mycompany.vvv均指向了192.168.6.4,希望它們呈現給用戶的是不同的網站,這就要用到Apache基於域名的虛擬主機功能。比如我們希望使用mycompany.vvv來進行基於Web的mysql管理,而www.mycompany.vvv用於為內部用戶發布信息和提供服務。可以進行如下操作:
# adduser admin
# adduser www
# mkdir /home/admin/html
# mkdir /home/admin/cgi-bin
# mkdir /home/www/html
# mkdir /home/www/cgi-bin
# chown -R admin.admin /home/admin
# chown -R www.www /home/www
# chmod 711 /home/admin
# chmod 711 /home/www
編輯/usr/local/apache/conf/httpd.conf,在該文件的最後,加入如下內容:
NameVirtualHost 192.168.0.4
ServerAdmin
[email protected]
DocumentRoot /home/admin/html
Cgi-bin
ServerName mycompany.vvv
ErrorLog logs/mycompany.vvv-error_log
CustomLog logs/mycompany.vvv-Access_log common
ServerAdmin
[email protected]
DocumentRoot /home/www/html
Cgi-bin
ServerName www.mycompany.vvv
ErrorLog logs/www.mycompany.vvv-error_log
CustomLog logs/www.mycompany.vvv-access_log common
重啟apache:
# /etc/rc.d/init.d/httpd restart
制作測試頁:
# su www
$ cd /home/www/html
$ pico index.php
文件index.php的內容如下:
phpinfo();
?>
在內部網用戶的電腦上使用浏覽器訪問http://www.mycompany.vvv,如果你可以看到如圖4的畫面,表示Apache、PHP4及虛擬主機的配置均安裝成功了。
5.安裝phpMyAdmin,將/usr/local/src/phpMyAdmin拷貝到/home/admin/html/phpMyAdmin下,並編輯/home/admin/html/phpMyAdmin,步驟如下:
# su admin
$ cp -r /usr/local/src/phpMyAdmin /home/admin/html/phpMyAdmin
$ cd /home/admin/html/phpMyAdmin
$ pico ./config.inc.php
PhpMyAdmin有中文的詞匯文件,可以將操作界面改變為中文,編輯config.inc.php改成如下形式:
......
require("chinese_gb.inc.php");
......
在內部網用戶主機上用浏覽器訪問http://mycompany.com/phpMyAdmin/,看到類似如圖5界面表示安裝成功了。
5.安裝phpMyAdmin,將/usr/local/src/phpMyAdmin拷貝到/home/admin/html/phpMyAdmin下,並編輯/home/admin/html/phpMyAdmin,步驟如下:
# su admin
$ cp -r /usr/local/src/phpMyAdmin /home/admin/html/phpMyAdmin
$ cd /home/admin/html/phpMyAdmin
$ pico ./config.inc.php
PhpMyAdmin有中文的詞匯文件,可以將操作界面改變為中文,編輯config.inc.php改成如下形式:
......
require("chinese_gb.inc.php");
......
在內部網用戶主機上用浏覽器訪問http://mycompany.com/phpMyAdmin/,看到類似如圖5界面表示安裝成功了。