安装完BSD只是服务器提供服务这条万里长征路的开始,还需要一些基本的设定和优化。不过实际上,即便不优化,FreeBSD现在也可以很安全的提供服务,决定权在你。
1.更新FreeBSD系统文件
1.更新FreeBSD系统文件
没有人能保证操作系统完美无缺,即便是发行版也不能,但在发现补丁后及时打上,是最明智的做法。这一点上FreeBSD也做得相当人性。那么,更新系统文件之前,我们也需要改一个配置文件,会让你变得更快。
#vi /etc/freebsd-update.conf
找到ServerName update.FreeBSD.org
将update.freebsd.org,改为freebsd-updates.mirrors.163.com
保存退出
然后就可以了,运行下面的命令更新
#freebsd-update fetch
#freebsd-update install
这些命令,你都可以加入到crontab中定期自动运行。更新完成后要重启下,系统补丁才算真正打上了。
2.软件安装源配置
找到ServerName update.FreeBSD.org
将update.freebsd.org,改为freebsd-updates.mirrors.163.com
保存退出
然后就可以了,运行下面的命令更新
#freebsd-update fetch
#freebsd-update install
这些命令,你都可以加入到crontab中定期自动运行。更新完成后要重启下,系统补丁才算真正打上了。
2.软件安装源配置
编辑一个文件,这个文件在新装的freebsd系统中是不存在的,除非你用ports安装过软件,否则不会生成这个文件。所以,在新装系统中需要手动创建这个文件。
#vi /etc/make.conf
然后输入以下内容
MASTER_SITE_OVERRIDE=\
ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}\
ftp://ftp.tw.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}
保存退出,这样你在用ports安装的时候使用最快的ports镜像。一般不推荐用pkg_add方式直接安装二进制文件,这样不够优化,最好是通过ports树进行编译安装。除非有特殊的要求,比如桌面环境KDE,GNOME等大工程量的套件。
3.安装及更新ports树
#vi /etc/make.conf
然后输入以下内容
MASTER_SITE_OVERRIDE=\
ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}\
ftp://ftp.tw.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}
保存退出,这样你在用ports安装的时候使用最快的ports镜像。一般不推荐用pkg_add方式直接安装二进制文件,这样不够优化,最好是通过ports树进行编译安装。除非有特殊的要求,比如桌面环境KDE,GNOME等大工程量的套件。
3.安装及更新ports树
有些接触过FreeBSD的一定知道portsnap,这是freebsd下软件更新的利器。portsnap,顾名思义,就是ports的快照。运行portsnap会把目前最新的远端ports树结构以及树下所有软件的最新稳定版的编译文件列入服务器的ports树中。
#vi /etc/portsnap.conf
找到portsnap.FreeBSD.org
将其改为portsnap3.hshh.org
保存退出
我是网通用户,所以用3号镜像。镜像列表如下
portsnap.hshh.org(电信)
portsnap2.hshh.org(电信)
portsnap3.hshh.org(网通)
portsnap4.hshh.org(电信)
这是国内的portsnap镜像,更新速度会更快。然后,执行下述命令
#portsnap fetch extract
更新你的ports树吧,国内的镜像速度飞快。大约会下载70M左右的port包。然后等待解压缩完成。
需要更新,可以运行下述命令
#portsnap fetch update
portsnap采用增量更新的方式,第一次需要执行fetch extract,以后只需要执行fetch update即可。
找到portsnap.FreeBSD.org
将其改为portsnap3.hshh.org
保存退出
我是网通用户,所以用3号镜像。镜像列表如下
portsnap.hshh.org(电信)
portsnap2.hshh.org(电信)
portsnap3.hshh.org(网通)
portsnap4.hshh.org(电信)
这是国内的portsnap镜像,更新速度会更快。然后,执行下述命令
#portsnap fetch extract
更新你的ports树吧,国内的镜像速度飞快。大约会下载70M左右的port包。然后等待解压缩完成。
需要更新,可以运行下述命令
#portsnap fetch update
portsnap采用增量更新的方式,第一次需要执行fetch extract,以后只需要执行fetch update即可。
4.软件安装
这是我最欣赏freebsd的优点之一,软件收集全面,分类明确,安装简便,编译安装方式足够适应系统并优化。
举例,比如我要需要安装sudo,值得注意的是,安装前更新下port树不失为一个好习惯。
运行下列命令进行安装
#cd /usr/ports/security/sudo
#make install clean
会弹出选项,按照需求进行选择,然后OK,等待编译完成吧,这个软件就装完了。
通过ports安装的软件,其配置文件路径一般在如下位置
#vi /usr/local/etc/sudoers
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
表示wheel组的成员,不用切换用户,就可以sudo方式执行root权限的命令
5.运行你安装的软件
这里有一点小麻烦,但绝对不大,只占用你大约不到30秒的时间。如果你安装了应用软件,比如nginx,请按照下列步骤完成
#vi /etc/rc.conf
然后新起一行,输入
nginx_enable="YES"
保存退出
然后运行下面的命令
#cd /usr/local/etc/rc.d/nginx start
此时访问你的服务器,如能看到nginx的欢迎信息,就说明你的nginx正常启动了。
6.即时生效新安装的命令
FreeBSD 的cshell会缓存环境变量PATH中指定的目录里的可执行文件,以加快查找速度,这会造成一些新安装的命令无法运行,最典型的例子就是刚安装的vim居然提示找不到命令。用如下命令解决问题:
rehash
7.列出无法补齐的候选文件
想要让FreeBSD的csh像bash那样按tab列出无法补齐的候选文件,标准的方法是按Ctrl+D。但如果一定要用tab的话,在/etc/csh.cshrc中加入:
set autolist
8.有关于FreeBSD的网络配置
虽然sysinstall也能修改主机的网络相关,但修改完网卡的相关参数后sysinstall会提示Would you liketo bring the le0 interface up right now?(你想让le0生效吗?)但我兴冲冲的执行此步后,发现新改的网卡参数并没重新重奖;所以我建议修改/etc/rc.conf文件后用命令使其立即生效。
#vi /etc/rc.conf
hostname="bsd.mydomain.com"
ifconfig_le0="inet 192.168.1.108 netmask 255.255.255.0"
defaultrouter="192.168.1.1" #defaultrouter是网关地址
修改后需要让修改立即生效。这里不建议reboot服务器,有个小技巧与大家分享下,即
sh /etc/rc
域名解析DNS配置如下,示例为google提供的一组DNS服务器地址
#vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
9.进行安全的远程登录
修改/etc/ssh/sshd_config文件,
Port 2122 # 默认为22,更改后减少别人暴力破解的机会
AllowUsers user1,user2 #指定能够远程登录的用户,其它用户登录时直接拒绝
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
备注:
密钥认证,默认已经设置好,在用户根目录生成 .ssh/authorized_keys即可。
密钥可借助SecureCRT、puttygent等工具协助完成
10.查看FreeBSD服务器的一些基础情况和信息
①查看CPU:
sysctl hw.model hw.ncpu
dmesg | grep "CPU:"
②查看内存:
dmesg | grep "real memory" | awk -F '[( )]' '{print $2,$4,$7,$8}'
查看swap:
top | grep "Swap:" | awk '{print $1,$2}'
③查看硬盘:
diskinfo -vt /dev/ad0
④看硬盘大小及硬件使用情况:
dmesg | grep "sector" | awk '{print $1,$2}'
df -h
⑤查看服务器品牌:
dmesg | grep "ACPI APIC"
⑥查看系统内核,命令跟Linux下一样:
uname -a
本文只是抛砖引玉,更多配置请查阅FAQ,Hands Book.
这是我最欣赏freebsd的优点之一,软件收集全面,分类明确,安装简便,编译安装方式足够适应系统并优化。
举例,比如我要需要安装sudo,值得注意的是,安装前更新下port树不失为一个好习惯。
运行下列命令进行安装
#cd /usr/ports/security/sudo
#make install clean
会弹出选项,按照需求进行选择,然后OK,等待编译完成吧,这个软件就装完了。
通过ports安装的软件,其配置文件路径一般在如下位置
#vi /usr/local/etc/sudoers
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
表示wheel组的成员,不用切换用户,就可以sudo方式执行root权限的命令
5.运行你安装的软件
这里有一点小麻烦,但绝对不大,只占用你大约不到30秒的时间。如果你安装了应用软件,比如nginx,请按照下列步骤完成
#vi /etc/rc.conf
然后新起一行,输入
nginx_enable="YES"
保存退出
然后运行下面的命令
#cd /usr/local/etc/rc.d/nginx start
此时访问你的服务器,如能看到nginx的欢迎信息,就说明你的nginx正常启动了。
6.即时生效新安装的命令
FreeBSD 的cshell会缓存环境变量PATH中指定的目录里的可执行文件,以加快查找速度,这会造成一些新安装的命令无法运行,最典型的例子就是刚安装的vim居然提示找不到命令。用如下命令解决问题:
rehash
7.列出无法补齐的候选文件
想要让FreeBSD的csh像bash那样按tab列出无法补齐的候选文件,标准的方法是按Ctrl+D。但如果一定要用tab的话,在/etc/csh.cshrc中加入:
set autolist
8.有关于FreeBSD的网络配置
虽然sysinstall也能修改主机的网络相关,但修改完网卡的相关参数后sysinstall会提示Would you liketo bring the le0 interface up right now?(你想让le0生效吗?)但我兴冲冲的执行此步后,发现新改的网卡参数并没重新重奖;所以我建议修改/etc/rc.conf文件后用命令使其立即生效。
#vi /etc/rc.conf
hostname="bsd.mydomain.com"
ifconfig_le0="inet 192.168.1.108 netmask 255.255.255.0"
defaultrouter="192.168.1.1" #defaultrouter是网关地址
修改后需要让修改立即生效。这里不建议reboot服务器,有个小技巧与大家分享下,即
sh /etc/rc
域名解析DNS配置如下,示例为google提供的一组DNS服务器地址
#vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
9.进行安全的远程登录
修改/etc/ssh/sshd_config文件,
Port 2122 # 默认为22,更改后减少别人暴力破解的机会
AllowUsers user1,user2 #指定能够远程登录的用户,其它用户登录时直接拒绝
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
备注:
密钥认证,默认已经设置好,在用户根目录生成 .ssh/authorized_keys即可。
密钥可借助SecureCRT、puttygent等工具协助完成
10.查看FreeBSD服务器的一些基础情况和信息
①查看CPU:
sysctl hw.model hw.ncpu
dmesg | grep "CPU:"
②查看内存:
dmesg | grep "real memory" | awk -F '[( )]' '{print $2,$4,$7,$8}'
查看swap:
top | grep "Swap:" | awk '{print $1,$2}'
③查看硬盘:
diskinfo -vt /dev/ad0
④看硬盘大小及硬件使用情况:
dmesg | grep "sector" | awk '{print $1,$2}'
df -h
⑤查看服务器品牌:
dmesg | grep "ACPI APIC"
⑥查看系统内核,命令跟Linux下一样:
uname -a
本文只是抛砖引玉,更多配置请查阅FAQ,Hands Book.