Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18672186
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: BSD

2008-04-06 21:13:25

改版声明:此次改版主要增加了相应的说明文字特别是在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的相应设置%%%%%%%%%%% 
阅读(479) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~