作者:帶走戰士 發表時間:2002/02/28 06:42pm
在FREEBSD系統上配置APACHE WEB服務器,及其常用模塊。
apache+mod_gzip+mod_perl+mod_php+modssl+mod_fastcgi+mysql
在磁盤上建立一個工作目錄/ 列如:mkdir /www
1:到APACHE的網絡站下載APACHE WEB SERVER
http://www.apache.org (目前版本是1.2.23)
2:到php的網絡站下載php解析器
http://www.php.net (目前版本是 4.1.1)
3:到mod_gzip的網站下載mod_gzip.c
http://www.remotecommunications.com/apache/mod_gzip/ (目前版本1.3.19.1a)
4:到mysql的網站下載 mysql
http://sourceforge.net/projects/mysql/ (目前版本 3.23.49a)
5:到mod_perl的站點下載mod_perl
http://perl.apache.org/dist/ (目前版本1.26)
更多APACHE模塊
http://cpan.valueclick.com/modules/by-module/Apache/
6:到modssl網站下載 modssl
http://www.modssl.org/contrib/ (目前版本2.87 for apache 1.3.23)這個模塊要符合你的apache版本,如:2.87只可以編譯到apache 1.3.23的版本裡。
7:到openssl的網站下載 openbssl
http://www.openssl.org/(目前版本0.9.6c)
8:到mod_fastcgi網站下載mod_fastcgi
http://www.fastcgi.com/dist/ (目前版本 2.2.12)
以上軟件都下載到你的工作目錄 /www 裡。
cd /www
tar -zxvf apache_1.3.23.tar.gz
解開以後把目錄更名為 mv apache_1.3.23 apache
tar -zxvf mod_perl-1.26.tar.gz
解開以後把目錄更名為 mv mod_perl-2.26 mod_perl
tar -zxvf php-4.1.1.tar.gz
解開以後把目錄更名為 mv php-4.1.1 php4
tar -zxvf mod_fastcgi-2.2.12.tar.gz
解開以後把目錄更名為 mv mod_fastcgi-2.2.12 mod_fastcgi
tar -zxvf mod_ssl-2.8.7-1.3.23.tar.gz
解開以後把目錄更名為 mv mod_ssl-2.8.7-1.3.23 mod_ssl
tar -zxvf openssl-0.9.6c.tar.gz
解開以後把目錄更名為 mv openssl-0.9.6c openssl
tar -zxvf mysql-3.23.49.tar.gz
解開以後把目錄更名為 mv mysql-3.23.49 mysql
先安裝mysql
首先要為mysql 添加組和用戶。
pw groupadd mysql (添加mysql用戶組)
pw useradd mysql -g mysql -s /nonexistent (添加mysql用戶)
用戶和組添加完畢下一步我們開始編譯安裝mysql
cd mysql
./configure --prefix=/usr/local/mysql (這裡指定把你的mysql安裝到/usr/local/mysql 的目錄裡。)
make
make install
cd /usr/local/mysql/bin/
執行 ./mysql_install_db
cd /usr/local/mysql/share/mysql
執行 ./mysql.server
至此mysql安裝完畢。讓我們來看一下運行情況,
/usr/local/mysql/mysql
如果出先如下提示,說明mysql安裝運行正常。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.49-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
在 mysql>提示符下執行,
mysql>status
顯示如下。
--------------
mysql Ver 11.16 Distrib 3.23.49, for unknown-freebsdelf4.5 (i386)
Connection id: 4
Current database:
Current user: root@localhost
Current pager: stdout
Using outfile: ''
Server version: 3.23.49-log
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /tmp/mysql.sock
Uptime: 3 hours 22 min 32 sec
Threads: 1 Questions: 6 Slow queries: 0 Opens: 6 Flush tables: 1 Open tables: 0 Queries per second avg: 0.000
--------------
執行
mysql>exit
退出mysql
/usr/local/mysql/bin/mysqladmin -u root password 123 (給mysql用戶加上密碼。密碼為 123 或自己定義)
/usr/local/mysql/bin/mysqladmin -u root -h lhs.westxj.net password 123 (給mysql用戶加上密碼。密碼為 123 或自己定義)
看看密碼是否設置成功。
/usr/local/mysql/bin/mysql -u root -p (回車,然後輸入你的mysql密碼)
/usr/local/mysql/bin/mysql -u root -h you.com.cn -p (回車,然後輸入你的mysql密碼)
接下來我們準備安裝apache和其他模塊。
cd /www/apache
./configure --prefix=/usr/local/apache --enable-module=so(這個我們把apache 安裝目錄指定到 /usr/local/apache 裡。)
為apache準備php模塊。
cd /www/php4
./configure --with-mysql=/usr/local/mysql --with-apache=/www/apache --enable-track-vars
make
make install
為apache準備mod_perl 模塊。
cd /mod_perl
perl Makefile.PL PL APACHE_SRC=/www/apache/src
perl Makefile.PL DO_HTTPD=1
perl Makefile.PL USE_APACI=1
perl Makefile.PL PERL_HTTPD=1
perl Makefile.PL EVERYTHING=1
(以上指令在Apache目錄中創建perl的mod-perl模塊)
make
make test
make install
為mod_ssl安裝準備openssl
cd /www/openssl
./configure
make
make install
為apache 準備modssl模塊。
cd /www/mod_ssl
./configure --with-apache=/www/apache --with-ssl=/www/openssl
make
make install
為apache 準備mod_fastcgi模塊。
cd /www
將mod_fastcgi搬移並更名到apache的src/modules/目錄裡。
mv mod_fastcgi /www/apache/src/modules/fastcgi
為apache準備mod_gzip模塊。
先在apache的src/modules/的目錄裡建立一個叫mod_gzip的目錄。
mkdir /www/apache/src/modules/mod_gzip
cp mod_gzip.c /www/apache/src/modules/mod_gzip/
至此準備工作完畢,我們開始編譯安裝apache
cd /www/apache
/configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --activate-module=src/modules/perl/libperl.a --activate-module=src/modules/ssl/libssl.a --activate-module=src/modules/fastcgi/libfastcgi.a --add-module=src/modules/mod_gzip/mod_gzip.c --enable-module=so
make
make certificate TYPE=custom (設置mod_ssl)
這一步要生成你自己的 CA (認證中心),和用它來為你的服務器簽署證書。 有很多東西要輸入。
STEP 0: 選擇算法,使用缺省的 RSA
STEP 1: 生成 ca.key,CA的私人密鑰
STEP 2: 為CA生成X.509的認證請求 ca.csr 要輸入一些信息:
Country Name: cn 國家代碼,兩個字母
State or Provice name: xin jiang 省份
Locality Name: urmqi 城市名
Organization Name: Home CA 組織名,隨便寫吧
Organization Unit Name: Mine CA
Common Name: Mine CA
Email Address:
lhs@westxj.net 我的Email
Certificate Validity: 365 默然為一年。
STEP 3: 生成CA的簽名,ca.crt
STEP 4: 生成服務器的私人密鑰,server.key
STEP 5: 生成服務器的認證請求,server.csr 要輸入一些信息,和STEP 2類似,
不過注意 Common Name是你的網站域名,如
www.you.com.cn Certificate Validity不要太大,365就可以了。
STEP 6: 為你的服務器簽名,得到server.crt
STEP 7-8 :為你的 ca.key 和 server.key 加密,要記住pass phrase。
最後我們來完成apache的安裝
make install
再做一些收尾工作。
cd /www/php4
把php.ini-dist配置文件拷貝並更名到/usr/local/lib/ 名為php.ini
cp /php.ini-dist /usr/local/lib/php.ini
再去配置一下apache下的/conf/httpd.conf文件。
cd /usr/local/apache/conf/
vi httpd.conf
ServerAdmin
lhs@westxj.net (管理員郵箱,改成你自己的。)
#ServerName westxj.net (網站域名,該成你自己的域名,並把#號去掉!)
# And for PHP 4.x, use:(修改支持php腳本的配置,把#號去掉修改為如下列子。)
#
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
AddType application/x-tar .tgz
列子:
# And for PHP 4.x, use:
#
AddType application/x-httpd-php .php .php3 (如果要支持老腳本php3,在這裡加上.php3就可以了。)
AddType application/x-httpd-php-source .phps
AddType application/x-tar .tgz
修改完畢,下面我們來測試一下配置文件是否正確。
/usr/local/apache/bin/httpd -t
如果顯示如下。
Syntax OK
說明配置無誤。
讓我們運行apache服務。
/usr/local/apache/bin/apachectl startssl (回車,輸入你設置的mod_ssl 密碼)
瀏覽一下看是否服務啟動起來。
lynx localhost
或在其他瀏覽器裡輸入地址。
http://localhost
http://127.0.0.1
看到apache測試頁說明服務啟動起來了。
最後再來讓我們測試一下php模塊是否工作正常。
cd /usr/local/apache/htdocs/
建立一個TEST的php腳本。
vi test.php
<?
phpinfo ()
?>
http://localhost/test.php
如果看到內容說明工作正常。
如果你在安裝中有什麼問題,歡迎你給我發信提問。dzzs@westxj.net