分类:
2010-06-15 23:44:43
1. Install FreeBSD
1. standard->a.qàa.qàdelevporàcd-rom
此处选"delevpor",如果你是新手,或对应用模块不是很熟悉,可以使用delevpor,避免后面的编译出现编译错误.
2.#ee /etc/rc.conf
ifconfig_?=”inet 192.168.1.X netmask 255.255.255.0”
defaultrouter=”192.168.1.1”
3.#cd /root/ && ee .cshrc
set prompt = "%B%n@%m[%/]
4.#date
#date 0605281358
06年05月28号13点58分
这有可能导致后面的编译不成功,所以一定要在此确认你的系统时间是否正确.
2. CVSUP
安装cvsup.
#Setenv PACKAGESITE ftp://ftp.tw.freebsd.org/pub/ports/i386/packages-5.3-release/Latest/
#Pkg_add –r cvsup-without-gui.tbz
cvsup standard-supfile
1. mkdir /usr/home/ebon/cvsup
2. cp standard-supfile /usr/home/ebon/cvsup/standard-supfile
cp ports-supfile /usr/home/ebon/cvsup/ports-supfile
3.ee /usr/home/ebon/cvsup/standard-supfile
cvsup2.cn.freebsd.org
4.cvsup –g –L2 /usr/home/ebon/cvsup/standard-supfile
3. Build world
1.cd /usr/src
2make –j4 buildworld /-j4,4个线程
3.make installworld
4. Make kenerl
1. mkdir /root/kernel
2. cd /usr/src/sys/i386/conf
3. cp GEREIC /root/kernel/flynn
4. ln –s /root/kernel/flynn
5.ee flynn
{内核参数: FreeBSD 5-CURRENT 的内核配置与优化 }
6.cd /usr/src
7. make buildkernel KERNCONF=flynn
8.cd /boot && cp –R kernel kernel.old
9. make installkernel KERNCONF=flynn
5. CVSUP PORTS
1.ee /usr/home/ebon/cvsup/ports-supfile
更改站点:cvsup2.cn.freebsd.org
2.cvsup –g –L 2 /usr/home/ebon/cvsup/ports-supfile
===========================================
作为webserver,升级全部的ports是完全没有必要的,因此可以把
ports-all 那行前面加#注释掉。
继续往后面找,有很多ports分支,我们把需要的打开,不需要的保留行首的#,就是取消了。对webserver来说,还是留着吧,以免编译遇到问题. 对新手而言
===========================================
6.删除旧的obj
1. cd /usr/obj
2. chflags –R noschg *
3. ls –lo
4. rm –rf *
7.MAKE 前期准备
#ee /etc/make.conf
在文件里添加下面这行:
MASTER_SITE_OVERRIDE=ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}
指定ports软件首先从国内下载.
8.Install MYSQL
1. mkdir /usr/db
2. adduser-àmysql添加这个用户
3. cd /usr/ports/databases/mysql40-server/file
4. ee mysql-server.sh.in
mysql_dbdir=”/var/db/mysql”改成你想要安装的路径.
5. cd /usr/ports/databases/mysql40-server
6. ee Makefile
在Makefile里CONFIGURE_TARGET那行前面的空行加上两行优化选项:
BUILD_OPTIMIZED=yes
BUILD_STATIC= yes
6.make;make install;make clean
7.cd /usr/ports/databases/p5-DBD-mysql40
8. make;make install;makei clean
9./usr/local/etc/rc.d/mysql-server.sh stiart
10.ee /etc/rc.conf 加入mysql_ebable=”YES”
11./usr/local/bin/mysqladmin –u root password ‘passwd’
12.mysql –u root -p
9. Install Apache2
1. 编译中间可能会提问相关软件gettext的安装选项,全选上吧。编译时可能会提示安装新版textproc/expat2错误,原因是机器里已经有旧版的expat2。只需删除旧版重新安装新版expat2即可:
#cd /usr/ports/textproc/expat2
#make deinstall
# make;make install;make clean
2. #cd /usr/ports/www/apache20
#make;make install;make clean
3. 启动HTTPD.
手动
#/usr/local/etc/rc.d/apache2.sh start
启动没有错误提示.
(/etc/rc.conf里添加apache2_enable=”YES” 则开机启动)
#ps –aux
查看,没有httpd进程
.
在日志里/var/log/httpd-error.log,全是这句:
[Wed May 24 22:17:53 2006] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of ""
GOOGLE一下,找到解决方法:
1./etc/rc.conf 添加 hostname=”ebon.org”
2./etc/local/etc/apache2/httpd.conf 添加
ServerName ebon.org
3./etc/hosts 添加 192.168.1.X ebon.org
这三个文件中的a.b.c对应本机的IP都要填写一致,否则系统启动不了,可不要怪我哇.另,本文设及是内网HOST对应,如用公网,则改成相应即可.
启动APACHE,ps看下有进程没?看看?
如果系统重启还没有的,请查看你的80端口是否被其它程序占用.
(关闭apache:killall httpd或/usr/local/etc/rc.d/apache2.sh stop )
还有一个启动错误,请见这:
另:备份httpd.conf
diff –ub httpd.conf backname来对比你对apache做过什么配置,也让你在改错时,可以有个参照.
APACHE自带有SSL.现装CGI,如果你需要的话:
#cd /usr/ports/www/mod_fastcgi
#make WITH_APACHE2=yes install
完后要在 /usr/local/etc/apache2/httpd.conf 添加
LoadModule fastcgi_module libexec/apache2/mod_fastcgi.so
AddHandler fastcgi-script fcgi fcgi fpl
然后 httpd -t 看是否 OK
OK,一切已经完成,重启你的 APACHE2 就行了
请见:
10. Install php4
1.#cd /usr/ports/lang/php4
#make;make install;make clean
(另其它FB版本php有在/usr/ports/www/mod_php4位置)
2.本步骤一定不能省略,否则打开php文件的时候会发现提示有Fatal error:call to undefined function:preg_match() in *** on line ***,安装上php4-extensions即可
请见:
#cd /usr/ports/lang/php4-extensions
# make;make install;make clean
3.cp /usr/local/etc/php.ini-recommended php.ini
11.基本配置HTTPD
基本配置httpd.conf,以使其支持PHP.
1> #cat httpd.conf | grep php
LoadModule php4_module libexec/apache2/libphp4.so
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
(见附一)
在LoadModule php4_module libexec/apache2/libphp4.so下,加入
AddType application//x-httpd-php .php
AddType application/x-httpd-php-source .phps
2> ##DocumentRoot "/usr/local/www/data"
DocumentRoot "/usr/www/data"
##这个是apache的主目录,可根据实际情况修改
##; 要根据DocumentRoot作相应修改;
##
(这2个地方保持要一致)
3> Options Indexes FollowSymLinks
为了安全起见,请把上面的“Indexes”删掉。否则别人可以浏览到您网站里的所有文件。
改为:Options FollowSymLinks
4> 修改DirectoryIndex index.html index.html.var
为:DirectoryIndex index.php index.html index.htm
(改成你所想要的后辍)
5> apache高级配置.
默认连接数,如要改动,请参照:
在Apache2.0中新加入了ServerLimit指令,使得无须重编译Apache就可以加大MaxClients。我的就改成了:
; 10
StartServers
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 10000
;
ServerLimit的最大值是20000,这对于大多数站点是足够了,但如果你一定要再加大的话,那么这个值位于源代码树下的server/mpm/prefork/prefork.c中。里面的
#define DEFAULT_SERVER_LIMIT 256
#define MAX_SERVER_LIMIT 20000
这两行就对应着MaxClients和ServerLimit的限制值。但我相信很少有人可以用到20000的并发连接数。
(更多的httpd配置说明,请GOOGLE)
5.测试PHP连接.
# ee /usr/local/www/data/index.php
phpinfo();
?>
在浏览器上: 看看结果?
附一:
_______________________________________________________________
1.如果cat /usr/local/etc/apache2/httpd.conf | grep php中没有这一句:
LoadModule php4_module libexec/apache2/libphp4.so
#cd /usr/ports/lang/php4
#make config来查看一有没有选中,APACHE这项.
如没有,刚选中安装即可.
如有,则有可能要重新装一次APACHE,PHP才行.
2. httpd.conf中有php4_module模块.但还是不能调用php
#/usr/local/etc/php
#ee extensions.ini
注释一些的模块,有可能是这些导致不能启动(如pdf).
12.Install ZendOptimizer
#/usr/ports/distfiles
#fetch
#tar -zxvf ZendOptimizer-2.5.2-FreeBSD5.1-i386.tar.gz
#cd tar -zxvf ZendOptimizer-2.5.2-FreeBSD5.1-i386
#.install.sh
./install.sh
/usr/libexec/ld-elf.so.1: Shared object "libm.so.2" not found, required by "php"
安装不成功,google一下.
首先要执行以下命令,否则会提示错误的
ln -s /lib/libm.so.3 /lib/libm.so.2
或者用以下方法:
ee /etc/libmap.conf
libm.so.2 libm.so.3
#./install.sh
一路下去.OK
也可以用ports方法安装.但同样需要下载.
#fetch à/usr/ports/distfiles
#cd /usr/ports/devel/ZendOptimizer
#make;make install;make clean
1.如果找开网页,出现下载程序请求这样.
则需要你重新装apache,php一次.
如朋友你有其它办法解决,请指点一下.谢谢.
2.如你打开网页,网页出现:
<?php
phpinfo();
?>
则说明,你的PHP没有加载起.请查看附一: