改版声明:此次改版主要增加了相应的说明文字特别是在ftp服务器方面
版权声明:本着开源的思想,大家尽可以转载也希望大家不要垄断技术
强烈建议:安装系统时安装src和ports
理由:经过试验可以提升同步src和ports的速度
基本设置
setenv PACKAGEROOT
"ftp://ftp.jp.freebsd.org
" 设置环境变量使pkg_add -r 源代码安装方式选择较快的服务器下载二进制软件安装 pkg_add -r cvsup-without-gui 下载并安装二进制代码程序cvsup-without-gui(cvsup-without-gui无图形支持在文本方式下工作的软件,用来同步代码及ports用。)
编辑/etc/rc.conf
ee /etc/rc.conf
增加以下(用来停止sendmail)
sendmail_enable=
"NONE
" sendmail_submit_enable=
"NO
" sendmail_outbound_enable=
"NO
" sendmail_msp_queue_enable=
"NO
" mkdir /usr/home/chb/pkg_info
reboot
pkg_info | col -b > /usr/home/chb/pkg_info/pkg_info_cvsup-without-gui.txt
(主要是记录安装的软件,用来以后分析软件包的关联性)
同步系统代码
cvsup -g -L 2 -h cvsup.jp.FreeBSD.org /usr/share/examples/cvsup/standard-supfile
注意:standard-supfile这个文件同步前一定要查看里面内容是否正确!即:[*default release=cvs tag= ] 默认的情况下可能会把代码同步到当前的最新版本,当然这个最新版本可能是current版!所以一定要指定!我的写法是:
*default release=cvs tag=RELENG_5_4 意思是同步到FreeBSD5.4的当前稳定版代码
还有就是值得注意的是:目前同步代码可以选择两个文件
一是:stable-supfile
二是:standard-supfile
stable-supfile 一般已经指定了同步代码的版本,一般也不需要设定!但是用FreeBSD5.2.1的朋友们就需要注意了因为FreeBSD5.2.1会把代码同步到4系的最新版,我一直没明白FreeBSD开发小组为什么会这么做!一旦没有修改就同步的话,轻则造成部分软件无法使用重则造成内核错误根本就无法进入系统!我可亲身经历过
standard-supfile 我认为同步前最好核对一下里面关于同步代码版本的部分。
至于为什么选择standard-supfile而不选择stable-supfile我可是经过N次的重做才确定用standard-supfile
登陆系统后运行uname -v查看系统版本号你会发现以standard-supfile同步的系统显示的是FreeBSD 5.4-RELEASE-p4 #0: Sat Jul 16 09:29:22 CST 2005 chb@ns1.tjhaina.net:/usr/obj/usr/src/sys/GENERIC
注意这里的5.4-RELEASE-p4用stable-supfile是不会出现p4的!
当然这只是我个人的做法!
编译系统内核
cd /usr/src make -j4 buildworld
上面命令-j4表示使用多线程支持加快编译速度(注意:cpu的占用率会升高)
编辑内核
cd /usr/src/sys/i386/conf
cp GENERIC /root/GENERIC.OLD
ee NS1
建立内核
cd /usr/src
make buildkernel
安装内核
make installkernel
重新启动
shutdown -r now
更新系统配置文件
mergemaster -p
这个命令后会跟随多个提示问题建议仔细阅读后做出选择,如果是安装系统后第一次同步代码,并是在没有安装任何软件的情况下,可以考虑执行 mergemaster -ai 跳过询问信息选择全部跟新
cd /usr/src
make installworld
mergemaster
重新启动
shutdown -r now
删除/usr/obj(以防影响下一次编译内核)
/usr/obj
cd /usr/obj
chflags -R noschg *
rm -rf *
同步ports软件包
cvsup -g -L 2 -h cvsup.jp.FreeBSD.org /usr/share/examples/cvsup/ports-supfile
DNS服务器
设置bind9.3.1
%%%%%%%%%%%%%%%%%建立正反向解析目录%%%%%%%%%%%%%%
mkdir /etc/namedb/rev
mkdir /etc/namedb/hosts
%%%%%%%%%%%%%%%改变正反向解析目录属性%%%%%%%%%%%%%%
chown bind:bind /etc/namedb/rev
chown bind:bind /etc/namedb/hosts
chmod 750 /etc/namedb/rev
chmod 750 /etc/namedb/hosts
%%%%%%%%%%%%%生成正反向解析文件的例子文件%%%%%%%%%%%%
cd /etc/namedb
sh make-localhost
%%%%%%%%%%%%%%%%生成这正反向解析文件%%%%%%%%%%%%%%
cp /etc/namedb/master/localhost.rev /etc/namedb/rev/192.168.0.rev
cp /etc/namedb/master/localhost.rev /etc/namedb/hosts/tjhaina.net.hosts
%%%%%%%%%%%%%%%%设置DNS服务器的主域%%%%%%%%%%%%%%%
ee /etc/namedb/named.conf
zone
"0.168.192.IN-ADDR.ARPA
" {
type master;
file
"/etc/namedb/rev/192.168.0.rev
";
};
zone
"tjhaina.net
" {
type master;
file
"/etc/namedb/hosts/tjhaina.net.hosts
";
};
%%%%%%%%%%%%%设置DNS服务器反向解析文件%%%%%%%
ee /etc/namedb/rev/192.168.0.rev
$TTL 3600
@ IN SOA ns1.tjhaina.net. root.ns1.tjhaina.net. (
20050430 Serial
3600 Refresh
900 Retry
3600000 Expire
3600 ) Minimum
IN NS ns1.tjhaina.net.
205 IN PTR ns1.tjhaina.net.
205 IN PTR
205是你的IP地址
(增加反向解析PTR记录 注意:不建议全部的域名及二级域名增加PTR记录)
%%%%%%%%%%%%%设置DNS服务器的正向解析文件%%%%%%%
ee /etc/namedb/hosts/tjhaina.net.hosts
$TTL 3600
@ IN SOA ns1.tjhaina.net. root.ns1.tjhaina.net. (
20050621 Serial
3600 Refresh
900 Retry
3600000 Expire
3600 ) Minimum
IN NS ns1.tjhaina.net.
ns1 IN A 192.168.0.205
www IN A 192.168.0.205
mail IN A 192.168.0.205
tjhaina.net. IN MX 10 mail.tjhaina.net
(注意:MX记录的添加要先做一个mail的A记录再做MX记录。MX记录添加的原则是用你的域名指向你的mail的二级域名。不过还有其他的添加方法大家自己可以找一下相关资料)
%%%%%%%%%%%%%生成DNS服务器的key文件%%%%%%%%%%%%%%%
/usr/sbin/rndc-confgen > /etc/namedb/rndc.conf
%%%%%%%%%%%%%将key文件导入named.conf文件%%%%%%%%%%%%%
cd /etc/namedb
tail -n10 rndc.conf | head -n9 | sed -e s/#\ //g >> named.conf
(这个命令我也不知道为什么这么写!希望大家一起讨论)
%%%%%%%%%%%%%启动DNS服务器%%%%%%%%%%%%%%%%%%%%%
/usr/sbin/named -gc /etc/namedb/named.conf &
(& 表示后台运行)
/usr/sbin/rndc status
(查看DNS的启动情况)
%%%%%%%%%%%%%设置本机DNS服务器地址%%%% %%%%%%%%%%%%
ee /etc/resolv.conf
添加
nameserver 127.0.0.1
nameserver 211.98.2.4
nameserver 202.99.104.68
nameserver 202.99.96.68
nameserver 202.102.128.68
nameserver 202.103.0.117
nameserver 202.103.44.5
(所以选这么多DNS是考虑到了冗余设计防止万一出错)
%%%%%%%%%%%%删除或注释掉DNS服务器的监听地址%%%%%%
ee /etc/namedb/named.conf
删除
20 listen-on { 127.0.0.1; };
注释掉
// listen-on { 127.0.0.1; };
rndc reload
(由于bind9在默认的情况下只是给自己,所以要去除监听地址listen-on { 127.0.0.1; };)
%%%%%%%%%%%%使DNS服务器和系统一起启动%%%%%%%%
ee /etc/rc.conf
添加
named_enable=
"YES
" 安装perl5.8.X
cd /usr/ports/lang/perl5.8
make WITH_DEBUGGING=yes \
WITH_GDBM=yes \
WITHOUT_PERL_MALLOC=yes \
WITHOUT_PERL_64BITINT=yes \
WITH_THREADS=yes \
ENABLE_SUIDPERL=yes
(注意:以上命令及参数是按行输入)
make test
make install
make clean
make rmconfig
shutdown -r now
perl -v
ps auwx|grep perl
pkg_info
pkg_info | col -b > /usr/home/chb/pkg_info/pkg_info_perl5.8.txt
###############更改ports软件包的默认下载路径(因为只有安装了perl后才会有/etc/make.conf)#######
ee /etc/make.conf
添加
MASTER_SITE_OVERRIDE=ftp://ftp3.jp.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}
(更改ports默认的下载路径,可以根据自己的实际情况进行设置)
################################安装openssl####################################
cd /usr/ports/security/openssl
make
make install
make clean
make rmconfig
pkg_info
pkg_info | col -b > /usr/home/chb/pkg_info/pkg_info_openssl.txt
#################################安装web管理系统##############################
cd /usr/ports/sysutils/webmin
make
make install
make clean
make rmconfig
/usr/local/lib/webmin/setup.sh
ee /etc/rc.conf
添加
webmin_enable=
"YES
" pkg_info
pkg_info | col -b > /usr/home/chb/pkg_info/pkg_info_webmin.txt
#################################安装数据库mysql4.0############################
cd /usr/ports/databases/mysql40-server
make WITH_CHARSET=gbk \
WITH_XCHARSET=all \
SKIP_DNS_CHECK=yes \
BUILD_OPTIMIZED=yes \
BUILD_STATIC=yes
make install
make clean
make rmconfig
pkg_info
pkg_info | col -b > /usr/home/chb/pkg_info/pkg_info_mysql40-server.txt
%%%%%%%%%%%%安装mysql40组件%%%%%%%%%%%%%%
cd /usr/ports/databases/p5-DBD-mysql40
make
make install
make clean
make rmconfig
%%%%%%%%%%%使mysql40和系统一起启动%%%%%%%%%%%
ee /etc/rc.conf
mysql_enable=
"YES
" %%%%%%%%%%%设置mysql40的密码%%%%%%%%%%%%%%
/usr/local/bin/mysqladmin -u root password
'password
' mysql -u root -ppassword
%%%%%%%%%%启动mysql40%%%%%%%%%%%%%%%%%%%
start mysql
#/usr/local/share/mysql/mysql.server start
/usr/local/etc/rc.d/mysql-server.sh start
如果以上两条命令不能启动mysql
那么请reboot系统来启动mysql
pkg_info
pkg_info | col -b > /usr/home/chb/pkg_info/pkg_info_mysql40.txt
###############################安装expat2#####################################
cd /usr/ports/textproc/expat2
make
make install
make clean
make rmconfig
pkg_info
pkg_info | col -b > /usr/home/chb/pkg_info/pkg_info_expat2.txt
###############################安装web服务器apache1.33######################
cd /usr/ports/www/apache13
make
make install
make clean
make rmconfig
%%%%%%%%%%%使apache和系统一起启动%%%%%%%%%%%
ee /etc/rc.conf
添加
apache_enable=
"YES
" %%%%%%%%%%%%更改apache的相应设置%%%%%%%%%%%