FreeBSD WEB服務器架設筆記 2

FreeBSD WEB服務器架設筆記 2


安裝服務器軟件

mysql

  Code: [Copy to clipboard]  
cd /usr/ports/databases/mysql4-server

因爲我安裝系統時將數據庫單獨分了一個區存放,所以我要修改一下mysql默認的數據庫存放目錄

  Code: [Copy to clipboard]  
ee Makefile



  Code: [Copy to clipboard]  
DB_DIR?= 你的數據庫存放目錄
#CONFIGURE_TARGET那行前面的空行加上兩行優化選項:
BUILD_OPTIMIZED=yes
BUILD_STATIC= yes

保存退出編輯。然後

  Code: [Copy to clipboard]  
make
make install clean

安裝完畢後,加大mysql的最大連接數

  Code: [Copy to clipboard]  
ee /usr/local/bin/mysqld_safe

向下尋找到第314行(4.0.20版是314行),其行很長,以“$NOHUP_NICENESS”開頭,以“>> $err_log 2>&1”結尾。該行被嵌套在一個if語句裏。在314這行末尾的“ >> $err_log 2>&1”前面加上“ -O max_connections=1000 ”,(注意前後各留一個空格)。
然後向下找到316行,也是很長的一行,以“eval "$NOHUP_NICENESS”開頭,以“>> $err_log 2>&1”結尾。同樣在“ >> $err_log 2>&1”前面加上“ -O max_connections=1000 ”。
保存退出。然後重啓,此時的mysql40就是1000個併發連接的數據庫了。可以用下面的方法檢查一下:

  Code: [Copy to clipboard]  
cd /usr/local/bin
mysqladmin -uroot -p variables

將會打出一個長列表,按scroll lock後向上捲動屏幕,能看到裏面有一項顯示

| max_connections | 1000 |

那麼表示最大併發連接數已經修改到1000了。

修改 mysql 的 root 密碼

  Code: [Copy to clipboard]  
mysqladmin -u root password '你要的密碼'
apache

先安裝openssl

  Code: [Copy to clipboard]  
cd /usr/ports/security/openssl
make install clean

然後升級一下 expat2

  Code: [Copy to clipboard]  
cd /usr/ports/textproc/expat2
make deinstall
make install clean

安裝 apache2

  Code: [Copy to clipboard]  
cd /usr/ports/www/apache2
make install clean

安裝 apache 的 mod

fastcgi:

  Code: [Copy to clipboard]  
cd /usr/ports/www/mod_fastcgi
make WITH_APACHE2=yes install clean

OK,完成了。

下來是php:

  Code: [Copy to clipboard]  
cd /usr/ports/www/mod_php4
make install clean

安裝後的設置:
看一下 /usr/etc/apache2 目錄下面已經有幾個 httpd 的設置文件了,拷一個當正式的配置文件

  Code: [Copy to clipboard]  
cp /usr/local/etc/apache2/httpd-dist.conf /usr/local/etc/apache2/httpd.conf

然後編輯 httpd.conf

  Code: [Copy to clipboard]  
ee /usr/local/etc/apache2/httpd.conf



  Code: [Copy to clipboard]  
#增加對php的支持,在AddType application/x-gzip .gz .tgz後面加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

#隨後設置網站默認啓動頁允許爲index.php,找到 DirectoryIndex這行,改爲:
DirectoryIndex index.html index.htm index.php index.html.var

#再設置apache默認字符集爲簡體中文。找到 AddDefaultCharset 改成:
AddDefaultCharset GB2312

#另外,一個訪問量較大的網站,apache默認的150連接肯定是不行的。以下各行改爲:
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 10000

最後,要在服務器啓動時自動啓動 apache,需要編輯 /etc/rc.conf

  Code: [Copy to clipboard]  
ee /etc/rc.conf

加入以下兩行:

  Code: [Copy to clipboard]  
apache2_enable="YES"
apache2ssl_enable="YES"

這時候,你可以用以下命令來試着啓動 apache

  Code: [Copy to clipboard]  
/usr/local/etc/rc.d/apache2.sh start

===============================================
如果提示說 ssl.conf 配置文件某行有錯,server.crt 證書文件不存在的話,那麼恭喜你,跟我一樣中獎了,我不知道這是否是 apache2 port的一個bug,總之這樣安裝完的apache+mod_ssl 是沒有服務器證書的,apache2啓動失敗了,我們需要手工來籤屬一個可用的證書
先下載一下證書生成程序:[url]http://www.openssl.org/contrib/ssl.ca-0.1.tar.gz[/url]
然後:

  Code: [Copy to clipboard]  
tar zxvf ssl.ca-0.1.tar.gz
cd ssl.ca-0.1
./new-root-ca.sh
./new-server-cert.sh server
./sign-server-cert.sh server           

我只寫了相關的命令,後面三個命令執行時會有一系列的問題需要回答:密碼、省份、城市、機構  。。。。有夠煩的,自己看着辦吧,赫赫
不過友情提示一下:./new-server-cert.sh server 的時候,commonName 最好設成跟你的 ServerName 一樣,不然 apache 啓動中會生成錯誤日誌。

好了,然後到 /usr/local/etc/apache2 目錄下面建兩個目錄來存放剛纔生成的 crt 和 key 文件

  Code: [Copy to clipboard]  
mkdir ssl_crt
mkdir ssl_key

然後將剛纔生成的四個文件放到新目錄下面,再修改屬性,以策安全

  Code: [Copy to clipboard]  
cp ca.crt /usr/local/etc/apache2/ssl_crt
cp ca.key /usr/local/etc/apache2/ssl_key
cp server.crt /usr/local/etc/apache2/ssl_crt
cp server.key /usr/local/etc/apache2/ssl_key
cd /usr/local/etc/apache2/ssl_key
chmod 444 server.key
chmod 444 server.key
cd /usr/local/etc/apache2/ssl_crt
chmod 444 server.crt
chmod 444 server.crt
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章