在FREEBSD系統上編譯配置 apache+php+gd 等常用模塊
apache+php+gd+mod_gzip+mod_fastcgi+mod_layout+mod_ssl+mysql
準備工作,建立一個工作目錄,如果:mkdir /www
cd /www
apache 下載 http://www.apache.org/dist/httpd/apache_1.3.34.tar.gz(本文中使目前最新1.3x版本)
php 下載 http://us3.php.net/get/php-5.1.2.tar.gz/from/ca.php.net/mirror (本文使用目前最新的5.x版本)
gd 下載 http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
zlib 下載 http://www.zlib.net/zlib-1.2.3.tar.gz (使用GD功能所需要的軟體包)
libpng 下載 ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.8.tar.gz (使用GD功能所需要的軟體包)
下載 ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.8-config.tar.gz(使用GD功能所需要的軟體包)
jpeg-6b 下載 ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz (使用GD功能所需要的軟體包)
freetype2 下載 http://umn.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.10.tar.gz (使用GD功能所需要的軟體包)
XFree86 下載ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/4.10-RELEASE/packages/All/XFree86-
4.3.0,1.tgz(選擇你使用的FREEBSD版本來安裝,本文中使用的是FREEBSD 4.10,雖然此時國內上不了FREEBSD WEB站點,但FTP是正常的)
mod_ssl 下載 http://www.modssl.org/source/mod_ssl-2.8.25-1.3.34.tar.gz
openssl 下載 http://www.openssl.org/source/openssl-0.9.8a.tar.gz
mod_layout 下載 http://www.tangent.org/download/mod_layout-3.2.1.tar.gz (目前最新支持APACHE 1.3x版本的軟體包)
mysql 下載 http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.18.tar.gz/from/http://mysql.mirrored.ca/
mod_gzip 下載 http://umn.dl.sourceforge.net/sourceforge/mod-gzip/mod_gzip-1.3.26.1a.tgz
mod_fastcgi 下載 http://www.fastcgi.com/dist/mod_fastcgi-SNAP-0404142202.tar.gz
tar zxvf mysql-5.0.18.tar.gz (解壓mysql軟體包)
mv mysql-5.0.18 mysql
cd mysql
pw groupadd mysql (為安裝MYSQL資料庫添加用戶組)
pw useradd mysql -g mysql -s /nonexistent (為安裝MYSLQ數據添加用戶)
./configure --prefix=/usr/local/mysql
make
make install
cp support-files/my-medium.cnf /etc/my.cnf
cd /usr/local/mysql
bin/mysql_install_db --user=mysql
chown -R root .
chown -R mysql var
chgrp -R mysql .
bin/mysqld_safe --user=mysql &
/usr/local/mysql/bin/mysqladmin -u root -h localhost password dzzs (給mysql用戶加上密碼。本文密碼為 dzzs 或自己定義 )
/usr/local/mysql/bin/mysqladmin -u root -h hostname password dzzs (給mysql用戶加上密碼。本文密碼為 dzzs 或自己定義 )
vi /etc/msyql.cf
找到
# The MySQL server
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
myisam_sort_buffer_size = 8M
server-id=1
log-bin=binlog_name
set-variable = max_connections=11085 (在此位置加上這一行,加大MYSQL併發連接數)
/usr/local/mysql/share/mysql/mysql.server restart (重新啟動MYSQL 服務)
msyql -uroot -pdzzs
>show variables
max_connections | 11085 (查看併發連接數行)
tar zxvf openssl-0.9.8a.tar.gz
mv openssl-0.9.8a.tar.gz openssl
cd openssl
./config
make
make install
tar zxvf apache apache_1.3.34.tar.gz
mv apache_1.3.34 apache
cd apache/src/inclucde/ vi httpd.h 找到 #define HARD_SERVER_LIMIT 256 這一行,修改為 #define HARD_SERVER_LIMIT 9216 ,增大
apache 的併發連接數。
:wq! 存檔退出。
cd /www/apache
./configure --prefix=/usr/local/apache --enable-module=so
安裝 XFree86 pkg_add ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/4.10-RELEASE/packages/All/XFree86-
4.3.0,1.tgz (註:不安裝XFree86,編譯gd的時候會無法通過)
cd /www
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --shared
make
make install
cd /www
tar zxvf libpng-1.2.8-config.tar.gz
cd libpng-1.2.8-config
cd scripts/
cp makefile.freebsd ../makefile
cd ../
./configure
make
make install
cd /www
tar zxvf libpng-1.2.8.tar.gz
cd libpng-1.2.8
cd scripts/
cp makefile.freebsd ../makefile
cd ../
make
make install
cd /www
tar zxvf freetype-2.1.10.tar.gz
cd freetype-2.1.10 (註:編譯此軟體包需要 gun make 3.79.1版本)
./configure
make
make install
cd /www
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --enable-shared --enable-static
make
make install
cd /www
tar zxvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure --with-png=/usr/local --with-freetype=/usr/local --with-jpeg=/usr/local --with-fontconfig=/usr/local --with-
xpm=/usr/local
make
make install
cd /www
tar zxvf php-5.1.2.tar.gz
mv php-5.1.2 php5
cd php5
./configure --with-apache=/www/apache --with-mysql=/usr/local/mysql --with-gd --enable-gd --enable-gd-native-ttf --with-jpeg
-dir=/usr/local --with-png=/usr/local --with-ttf --with-zlib --with-freetype-dir=/usr/local --enable-track-vars
make
make install
cp php.ini-dist /usr/local/lib/php.ini
cd /www
tar zxvf mod_ssl-2.8.25-1.3.34.tar.gz
cd mod_ssl-2.8.25-1.3.34
./configure --with-apache=/www/apache --with-ssl=/www/openssl
cd /www
tar zxvf mod_layout-3.2.1.tar.gz
mv mod_layout-3.2.1 /www/apache/src/modules/layout
tar zxvf mod_fastcgi-SNAP-0404142202.tar.gz
mv mod_fastcgi-SNAP-0404142202 /www/apache/src/modules/fastcgi
cd /www/apache
./configure --prefix=/usr/local/apache --enable-module=proxy --enable-module=so --activate-module=src/modules/php5/libphp5.a
--activate-module=src/modules/layout/liblayout.a --activate-module=src/modules/fastcgi/libfastcgi.a --activate-
module=src/modules/ssl/libssl.a
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: dzzsxj@gmail.com 我的Email
Certificate Validity: 365 默然為一年。
STEP 3: 生成CA的簽名,ca.crt
STEP 4: 生成伺服器的私人密鑰,server.key
STEP 5: 生成伺服器的認證請求,server.csr 要輸入一些信息,和STEP 2類似,
不過注意 Common Name是你的網站域名,如 www.xjpop.com
Certificate Validity不要太大,365就可以了。
STEP 6: 為你的伺服器簽名,得到server.crt
STEP 7-8 :為你的 ca.key 和 server.key 加密,要記住pass phrase。
make install
vi /usr/local/apache/conf/httpd.conf
ServerAdmin dzzsxj@gmail.com (管理員郵箱,改成你自己的。)
ServerName xjpop.com (網站域名,該成你自己的域名,並把#號去掉!)
# And for PHP 5.x, use:(修改支持php腳本的配置,把#號去掉修改為如下列子。)
#
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
AddType application/x-tar .tgz
示例:
#
# AddType allows you to tweak mime.types without actually editing it, or to
# make certain files to be certain types.
#
# And for PHP 5.x, use:
#
AddType application/x-httpd-php .php .php3
AddType application/x-httpd-php-source .phps
AddType application/x-tar .tgz
修改併發連接數
MaxClients 150 為 MaxClients 9216
wq!
tar zxvf mod_gzip-1.3.26.1a.tgz
cd mod_gzip-1.3.26.1a
vi Makefile
APXS?=/usr/local/sbin/apxs 將這一行修改為 APXS?=/usr/local/apache/bin/apxs
wq!
make
make install
vi /usr/local/apache/conf/httpd.conf
找到
# LoadModule foo_module libexec/mod_foo.so
#LoadModule gzip_module libexec/mod_gzip.so
把#取掉
LoadModule gzip_module libexec/mod_gzip.so
wq!(存檔退出)
/usr/local/apache/bin/apachectl restart (重啟APACHE 使mod_gzip生效)
cd /usr/local/apache/htdocs/
vi phpinfo.php (測試PHP是否可以正常運行)
<?
phpinfo();
?>
wq!
http://xjpop.com/phpinfo.php
vi gdphp.php(一個測試你空間是否開啟GD功能的腳本)
<?
if(function_exists("ImageJpeg")&&function_exists("imagegif")){
echo '你的空間支持GD庫';
}else{
echo '你的空間不支持GD庫';
}
?>
wq!
http://xjpop.com/gdphp.php
[ 本帖最後由 帶走戰士 於 2006-3-8 23:59 編輯 ]
《解決方案》
樓主可不可以介紹一下()註:編譯此軟體包需要 gun make 3.79.1版本()究竟怎麼用
我用make-3.80.tar.bz2 可不可以????
《解決方案》
原帖由 mao1001 於 2006-2-15 14:36 發表
樓主可不可以介紹一下()註:編譯此軟體包需要 gun make 3.79.1版本()究竟怎麼用
我用make-3.80.tar.bz2 可不可以????
可以,3.79.1版本,以及新版本的都可以。
《解決方案》
我還是沒有把它搞定,能不能請樓主再給點詳細的步驟,
比如更新make的時候要注意些什麼東西
《解決方案》
原帖由 mao1001 於 2006-2-15 16:48 發表
我還是沒有把它搞定,能不能請樓主再給點詳細的步驟,
比如更新make的時候要注意些什麼東西
直接升級你的 MAKE 版本就可以了
./configure
make
make install
cp /usr/local/bin/make /usr/bin/make
《解決方案》
搞定了;謝過了
《解決方案》
我在安裝fontconfig-2.3.0.tar.gz 的時候出現
Cannot find usable expat library. This could mean that your version is too old.
怎麼解決啊???
《解決方案》
原帖由 mao1001 於 2006-2-16 13:55 發表
我在安裝fontconfig-2.3.0.tar.gz 的時候出現
Cannot find usable expat library. This could mean that your version is too old.
怎麼解決啊???
你安裝 XFree86 的時候自動會安裝上 fontconfig 的。
《解決方案》
原帖由 帶走戰士 於 2006-2-16 22:40 發表
你安裝 XFree86 的時候自動會安裝上 fontconfig 的。
pkg_add ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/4.10-RELEASE/packages/All/XFree86-4.3.0,1.tgz
《解決方案》
裝mod_gzip會出現
make
/usr/local/apache/bin/apxs -Wc,-Wall,-O3,-fomit-frame-pointer,-pipe -c mod_gzip.c mod_gzip_debug.c mod_gzip_compress.c -o mod_gzip.so
/usr/local/apache/bin/apxs:No such file or directory
*** Error code 1
Stop in /home/apps/mod_gzip-1.3.26.1a.
這個錯誤啊.大哥怎麼辦啊!