FreeBSD使用经验汇总

一、系统安装及基本配置:

#增加用户
adduser
#往group里加用户
pw groupmod groupname -m username
#显示组里的用户
pw groupshow groupname
#显示用户所属的组
groups username
#显示用户的ID信息
id username
#忘记root密码的处理:
#以单用户模式启动系统后执行下列命令
mount -a
passwd root
#迁移系统需要包含的内容:
#启动配置文件
#/etc/rc.conf
#定时运行配置文件
#/etc/crontab
#软件启动配置文件目录
#/usr/local/etc/rc.d

二、基于Ports的软件安装:

基础工作:

#更新Ports
cvsup -gL 2 -h cvsup.freebsd.org /usr/share/examples/cvsup/ports-supfile
#Ports下软件安装的基本命令
cd /usr/ports/<分类目录名>/<软件目录名>
make install
#清除安装文件
make clean
#卸载软件
make deinstall
#查看已安装软件
pkg_info
#查看已安装软件版本更新情况
pkg_version
#安装升级及ports清理
#升级已经安装的软件
#portupgrade [-R] <软件名>
# -R 表示更新相关软件
#清除全部安装文件
portsclean -C
#清除未使用的下载安装文件包
portsclean -DD
#清除所有下载的安装文件包
portsclean -D

安装Apache2:

#位置
cd /usr/ports/www/apache20
#为了能够使用SVN,故需要增加以下编译选项
# --enable-dav --enable-so
#选项的具体用法可以参考:
make
cd work
./configure --help
#推荐用预定义的宏
make install -DWITH_DAV_MODULES
#其它的还有如SSL PROXY MISC etc.

安装PHP5:

#位置
cd /usr/ports/lang/php5
#要使用#老版本需要手工添加PCRE支持,使用如下编译参数,选项的具体用法帮助如apache类似的方法取得
# --with-pcre-regex
#可能还需要另外编译安装一下PCRE
cd /usr/ports/devel/pcre
make install clean
#最新版本有单独的PHP-PCRE支持,并且不会自动生成mod_php5,需要编译参数
# --with-apache
#推荐用预定义宏
make install -DWITH_APACHE
#安装php-pcre
cd /usr/ports/devel/php5-pcre
make install
#安装php-xml
cd /usr/ports/textproc/php5-xml
make install
#安装php-session
cd /usr/ports/www/php5-session
make install

安装Subversion:

#位置
cd /usr/ports/devel/subversion
#增加apache支持,需要编译参数
make install -DWITH_MOD_DAV_SVN -DWITHOUT_BDB
#如果需要使用BDB,则需要重新编译apache2
#配置了使用的基本方法参见《在FreeBSD下安装subversion
#FAQ《SVN+HTTP的一个ulgy的错误

安装配置Postgresql:

#位置
#创建postgres数据空间
#假设当前目录为 ~/pgsql
su pgsql
mkdir data
initdb -D /home/username/pgsql/data
#启动pgsql
pg_ctl start -D /home/username/pgsql/data

安装TurboGears:

#安装
python ez_setup.py TurboGears
#安装pycopg2支持,用于连接pgsql
python ez_setup.py psycopg2
#安装SQLAlchemy支持
python ez_setup.py SQLAlchemy

安装dnspython(GTalkBot之BCBFANS版需要):

#安装
python ez_setup.py dnspython

三、通过SSH Tunnel安全连接服务器的服务:

以PostgreSQL为例。默认安装的PostgreSQL只允许本机连接,不允许从网络中访问。虽然可以修改配置文件实现,但多开一个端口就多增加一份安全的风险,还是SSH最靠谱。故推荐通过SSH的Tunnel连接进行管理。

首先使用PuTTY通过SSH连接FreeBSD服务器,然后在PuTTY的配置中设置:Connection | SSH | Tunnel,增加一项:L5430 localhost:5432。然后在pgAdmin里增加一个服务器:localhost:5430,即可通过SSH Tunnel连接到远程PostgreSQL服务器上了。

附录、在虚拟机里碰到的问题:

参见《在VMWare中运行FreeBSD时的时钟同步问题