查看單個文章
舊 2005-07-01, 10:01 PM   #1
貝斯特 帥哥
長老會員
 
貝斯特 的頭像
榮譽勳章
UID - 90669
在線等級: 級別:1 | 在線時長:11小時 | 升級還需:1小時
註冊日期: 2003-08-06
住址: The Gates of Hell
文章: 1758
現金: 15064 金幣
資產: 5185909 金幣
Cool 在FREEBSD系統上配置APACHE WEB服務器,及其常用模塊

作者:帶走戰士 發表時間: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
__________________

給自己看也給所有需要這些話鼓勵的人看!

認真不一定會得到美好的結果,但是不認真就一定沒有

想要有什麼結果,就秉持你的雙手
放手去做
總比什麼都沒付出最後失敗了才嘆氣來的好吧
沒努力的人.沒有資格說放棄
努力過的人.更要有勇氣繼續努力下去
貝斯特 目前離線  
送花文章: 1, 收花文章: 38 篇, 收花: 123 次
回覆時引用此帖