大名鼎鼎的LAMP架构是指Linux+Apache+MySQL+PHP,那么这里的OAMP架构当然是指OpenBSD+Apache+MySQL+PHP。这两天颇花了一些时间在OAMP家够上安装Moodle2.0,之前并没有使用过OpenBSD,本来以为自己比较熟悉Linux和FreeBSD,这个尝试过程应该很简单,但实际做起来却颇费周章,所以记录一下。
一、安装OpenBSD系统
为什么选择OpenBSD,当然就冲着OpenBSD被誉为“最安全的操作系统”。我以前没有用过OPenBSD,所以想尝试一下新鲜事物是主要原因,而且我也想为将来自己架设网站做点技术准备,因为我对网络攻防技术确实不了解也比较懒,只想把网络安全交给一个放心的操作系统。
我当然也知道系统安全更多地依赖于用户的素质和良好的安全习惯,光依赖操作系统本身的安全是不行的,好的工具加上不好的用户效果远不如好的用户加上不好的工具,这正如扛着青龙偃月到的周仓战斗力远不如拿把杀猪刀的关羽。但无论如何,扛着青龙偃月到的周仓还是比拿杀猪刀的周仓强一点。
过去的OpenBSD安装比较麻烦,除非网络安装,否则要自己制作安装盘。本月初新发布的OpenBSD4.2已经官方提供光盘安装版本,使得我们的安装就容易多了。安装过程此处不表,凡识几个洋文的人都可以轻易地安装好。但切记重要的一点,安装的时候要选择完全安装,包括所有的X窗口系统相关的软件包。
使用Linux及BSD的用户们常常因为对shell的偏好而不安装窗口系统,这在OpenBSD4.2中会带来一个很大的麻烦,就是expat包的问题,据说在下一个版本中expat又会进入Base包里,这我喜欢。
(我在这里走了弯路,浪费很多时间)
二、OpenBSD的软件安装
OpenBSD的软件安装与FreeBSD比较相似但不是完全一样,大体来说有三种:
1package方式:就是直接安装二进制文件
2ports方式:这需要自己编译
3源码编译:最通用的方式,基本上在每种操作系统上都可以用吧。
此处不讨论3,就方式1和2而言,我觉得一般安装应用软件似乎使用FreeBSD的人偏好2而使用OpenBSD的人更多地偏好1—也不知道我的这个感觉是否正确—也许是OpenBSD追求安全而觉得port得到的软件不够安全?
方式1的用法:
首先要配置PKG_PATH参数,我一般是这样
#exportPKG_PATH=ftp://ftp.jp.openbsd.org/pub/OpenBSD/4.2/
packages/i386
在我这里经过比较还是日本的源比较快一些,然后就可以添加需要的软件了,我一般首先:
#pkg_add–rvicvsup
这里我喜欢带的参数-i能给用户一个交互选择软件包的机会。
方式2的用法:
先要安装cvsup程序如上。
然后编辑cvsup文件如下:
#Defaultsthatapplytoallthecollections
*defaultrelease=cvs
*defaultdeleteuse-rel-suffix
*defaultumask=002
*defaulthost=cvsup.jp.openbsd.org
*defaultbase=/cvs
*defaultprefix=/cvs
*defaultcompress
OpenBSD-all
#OpenBSD-src
#OpenBSD-www
#OpenBSD-ports
#OpenBSD-x11
#OpenBSD-xf4
#OpenBSD-xenocara
然后还要:
#cvsup–g–L2cvsup
#cd/usr
#cvs-d/cvscheckoutsrc
这里的使用与FreeBSD还有很大的不同,之后就可以进入相应的ports目录输入makeinstall自己编译安装应用软件了。
三、Apache的安装
OpenBSD4.2里的Apache是不需要安装的,因为它本身就带有,但是系统本身带的是Apache1,它不使用流行已久的原因在官方文档里有说明,就是“Apache2的许可协议是不可接受的”。我很吃了一惊,不知道apache2license里哪句话让OpenBSD的人如此执著地拒绝,以后要搞明白这个问题。同时也觉得OpenBSD的人真有个性,我喜欢。
OpenBSD要开启Apache只需要修改/etc/rc.conf文件就可以了,如下:
#vi/etc/rc.conf
修改其中httpd_flags=NO
为httpd_flags=””
因为默认的OpenBSD中的httpd的运行采用了更为安全的chroot机制,但比较麻烦,所以我实际上都把httpd_flags设置为”-u”,使它以非chroot方式启动。
四、PHP5的安装
#pkg_add–rviphp5-core
这样就可以安装好php5了,为了正常运行还需要:
1/usr/local/sbin/phpxs–s
安装所有的模块,当然后面还需要自己手动安装一些模块。
2修改apache的配置文件,加上如下的一句:
DirectoryIndexindex.htmlindex.php
AddTypeapplication/x-httpd-php.php
前者是设置默认的首页页面,后者使apache能够解析php文件
3#cp/usr/local/share/examples/php.ini_recommeded
/var/www/conf/php.ini
设置php5的配置文件。
五、Mysql的安装
#pkg_add-vimysql-server
这样就可以安装好mysql5了
#cp/usr/local/share/mysql/my-medium.cnf/etc/my.cnf
这样启动MySQL服务器:
#/usr/local/bin/mysqld_safe&
Moodle的安装只能采用源码的安装了,过程属于老调重弹了,不重复。
没有采用chroot机制启动apache,没有为mysql管理员设密码……这样一个建设在号称最安全的操作系统上的很不安全的LMS系统建设好了