|
OpenBSD 3.5 虚拟主机全攻略(一)
原创
作者:红袖恬香(本人不是Chinaunix上的红袖添香,非常怀念他在论坛上给OpenBSD funs解答问题的时代,因此起了这个名字)
主页:http://www.easywan.org
联系方式:QQ 511166
看到国内用OpenBSD的人越来越多了,感到非常高兴。毕竟又多了很多可以相互交流的chinese funs
不多罗嗦了,开始正题
1. 如果你还没有OpenBSD安装CD,请到这个站点下载OpenBSD 3.5 for i386的ISO制成CD或者在Vmware下直接作虚拟CDROM
ftp://ftp.zedz.net/pub/OpenBSD.iso/OpenBSD35-i386.iso
安装OpenBSD基本系统(这个我就不重复了,到处都能找到中文或者英文讲解)
2. 准备所需软件包,并上传到你刚装好的系统中(此时BSD机器还没有其他文件传输服务,但可以用sshd的scp方式)
如果你不想一个一个ports去下载,可以到我的站点下载整个过程所需的packages
http://www.easywan.org/free/openbsd/openbsd-3.5-mod.tgz
# cd /usr/src/
# tar xzvf openbsd-3.5-mod.tgz
如果你需要更多OpenBSD的packages,请到这个站点下载
http://openbsd.md5.com.ar/pub/OpenBSD/3.5/packages/i386/
3. 开始安装虚拟主机的各种发布服务
3.1 安装FTPD服务(因为OpenBSD带的ftpd比较弱,建议大家采用的pure-ftpd)
# pkg_add pure-ftpd-1.0.19.tgz
# cp /usr/local/share/examples/pure-ftpd/pure-ftpd.conf.sample /etc/pure-ftpd.conf
# vi /etc/pure-ftpd.conf(修改配置文件并添加系统ftp用户,大家可以在精华区查找)
把pure-ftpd作为系统自动启动的服务
# vi /etc/rc.local 添加
if [ -x /usr/local/sbin/pure-ftpd ]; then
echo Starting Pure-FTPd
/usr/local/sbin/pure-config.pl /etc/pure-ftpd.conf
fi
3.2 设置系统中自带的apache 1.3.29服务(下一篇我会讲关于编译apache2和php4,毕竟apache2性能出色)
# vi /etc/rc.conf
# 修改 httpd_flags=NO 为 httpd_flags="-u" (-u参数是关闭chroot,否则web目录不能在/var/www以外)
# vi /var/www/conf/httpd.conf(适当修改配置文件,大家可以在精华区查找)
3.3 安装PHP4模块,让APACHE支持PHP程序
# pkg_add php4-core-4.3.8.tgz
# /usr/local/sbin/phpxs -s
# cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini
# pkg_add php4-mysql-4.3.8.tgz
# /usr/local/sbin/phpxs -a mysql
# pkg_add php4-imap-4.3.8.tgz
# /usr/local/sbin/phpxs -a imap
# pkg_add php4-pear-4.3.8.tgz
# vi /var/www/conf/httpd.conf 添加
AddType application/x-httpd-php .php
3.4 安装mysql服务器和phpMyAdmin管理工具
# pkg_add mysql-server-4.0.18p1.tgz
# /usr/local/bin/mysqld_safe &
# /usr/local/bin/mysqladmin -u root password 'new-password'
# tar xzvf phpMyAdmin-2.5.7-pl1.tar.gz -C /var/www/htdocs/
# vi /var/www/htdocs/phpMyAdmin-2.5.7-pl1/config.inc.php 对应修改
$cfg['Servers'][$i]['auth_type'] = 'http'; (采用php的httpd认证)
$cfg['Servers'][$i]['user'] = 'root'; (数据库管理用户)
$cfg['Servers'][$i]['password'] = ''; (数据库管理用户的密码,可以不添。登陆的时候自动传递)
# vi /etc/rc.conf 添加
mysqld=YES
把mysqld作为系统自动启动的服务
# vi /etc/rc.local 添加
if [ X"${mysqld}" == X"YES" -a -x /usr/local/bin/mysqld_safe ]; then
echo Starting mysqld
/usr/local/bin/mysqld_safe &
fi
3.5 安装UCD-SNMPD网管服务
# pkg_add ucd-snmp-4.2.6.tgz
# cp /usr/local/share/examples/ucd-snmp/EXAMPLE.conf /etc/snmpd.conf
# vi /etc/snmpd.conf (请阅读ucd-snmp的资料后适当修改配置文件)
# vi /etc/rc.local 添加
if [ -x /usr/local/sbin/snmpd ]; then
echo 'Starting snmpd'
/usr/local/sbin/snmpd -c /etc/snmpd.conf
fi
3.6 安装mrtg状态监测服务
# pkg_add mrtg-2.10.13.tgz
# vi /usr/local/bin/cfgmaker 增加
RunAsDaemon: yes
Interval: 5
Options[_]: growright, bits
Language: chinese
# cfgmaker --output /etc/mrtg.cfg --global "WorkDir: /var/www/htdocs/mrtg" community@host_ip_address
# mkdir /var/www/htdocs/mrtg
# indexmaker --output=/var/www/htdocs/mrtg/index.html --columns=1 /etc/mrtg.cfg
# vi /etc/rc.local
if [ -x /usr/local/bin/mrtg ]; then
echo Starting mrtg
/usr/local/bin/mrtg --logging=/var/log/mrtg.log /etc/mrtg.cfg &
fi
如果大家对这个感兴趣,又认为我写的不详细,请留下建议。我将逐步把以上的资料写成详细章节式的chm手册 |
|