FreeBSD kernel 编译大法(三)编kernel失败的处理…
2008-02-23 08:02:42来源:互联网 阅读 ()
--localstatedir=/var/mysql \
--with-low-memory \
--without-bench \
--without-debug
??我们解释一下配置程序里面各行的含义。./configure就是要执行的配置程序了;--prefix=/usr/local
表示,编译后的MySQL数据库服务程序将会安装到/usr/local/bin目录当中,而库文件会安装到
/usr/local/lib/mysql目录中,头文件将安装到/usr/local/include目录中;--localstatedir=/var/mysql
表示数据库所用到的数据将会安装到/var/mysql目录中(我们在安装OpenBSD的时候提到如果需要,
可以为/var/mysql建立一个独立的分区就是这个原因,这样可以方便管理);--with-low-memory这一
句至关重要,没有了它,基本上就不要指望在您的机器上面通过编译,除非您拥有超过1Gb的内存,这句
会指导编译程序使用交换分区作为虚拟内存;--without-bench和—without-debug告诉编译器和安装脚本
不需要测试程序和调试信息。
??好了,解释得够清楚吗?
第四节、编译和安装MySQL
??这个步骤非常简单,只需要执行下面的命令即可,其他得事情由电脑来完成。因为编译的过程非常久,
可以喝杯水歇一歇。
make
make install
make init-db
第五节、测试MySQL
??对不起,本节的标题有点含糊。这里的测试是指测试MySQL的编译和安装是否正常。为了测试MySQL
是否被正确编译和安装,需要执行以下的命令:
/usr/local/bin/safe_mysqld > /dev/null &
/usr/local/bin/mysqladmin –u root password ‘123456’
??如果第二条命令无声无息地结束了,那么就证明MySQL可以正常使用了。对了,第二条命令其实是更
改系统管理员的口令啊!那么您知道以后使用MySQL程序的时候需要的口令了吗?
第六节、让MySQL在系统启动的时候自动启动
??我们需要做一些工作来让MySQL在系统启动的时候自动启动。首先我们修改/etc/rc.conf文件,添加
以下的行:
mysqld_flags=””
??然后,需要修改/etc/rc文件,找到启动named的代码(第171行),添加以下的代码:
if [ “X${mysqld_flags}” != X”NO” ]; then
echo ‘starting mysqld’
/usr/local/bin/safe_mysqld > /dev/null &
fi
??另外,为了让其他需要用到MySQL的程序编译可以顺利通过,就需要在/etc/rc.local文件中添加以
下的代码:
if [ “X${mysqld_flags}” != X”NO” ]; then
/sbin/ldconfig –m /usr/local/lib/mysql
fi
第四课、配置邮件服务
??其实OpenBSD 2.8在系统安装完成之后,就已经安装且启动了邮件服务sendmail。我们在这里需要为
OpenBSD找一个比sendmail更加安全、更加容易使用和高效能的邮件服务程序,我们选择了qmail(利用
qmail加上vpopmail可以把系统用户和邮件用户分离,并且使用虚拟邮件域。再加上MySQL就可以实现邮件
用户的数据库口令校验,这是我选择qmail的原因)。
第一节、关闭sendmail
??因为qmail作为sendmail的替代服务程序,不能和sendmail一起工作,所以必须先关闭sendmail程序。
执行以下的命令关闭正在执行的sendmail程序。
Kill –9 `cat /var/run/sendmail.pid`
??同时,必须把sendmail相关的链接删除,并把senmail更名
chmod 0 /usr/sbin/sendmail /usr/sbin/sendmail.old
??最后还必须修改/etc/rc.conf文件,更改sendmail_flags以避免系统重新启动时sendmail自动启动。
sendmail_flags=”-q 30m” 改为 sendmail_flags=NO
第二节、安装qmail
??如果一直按照手册的例子进行练习,那么现在应该可以访问CD-ROM,如果系统曾经重新启动,那么
请按照第三课、第一节的内容来访问CD-ROM。
??进入/mnt/packages目录并安装qmail执行代码包:
cd /mnt/packages
pkg_add qmail-1.03.tgz
??安装的过程中会询问是否添加一些组和用户,默认选择Y,不用改变,直接回车继续就可以了。一定
要记录qmaild的uid和nofiles的gid,因为在以后的课程中启动smtp和pop的时候需要它们(例如qmaild的
uid是2850,nofiles的gid是32750)。Qmail被安装到/var/qmail目录。
第三节、配置qmail
??要配置和运行需要DNS正确运行,如果还没有配置DNS服务,请按照第二课的内容进行配置。
??首先执行以下的命令建立新的sendmail链接,以实现和sendmail的兼容:
ln –s /var/qmail/bin/sendmail /usr/sbin/sendmail
??然后建立基础的域信息,使用下面的命令来完成:
/var/qmail/setup/config-fast 01tech.nat
??当然,也可以通过/var/qmail/setup/config来设置基础域信息,不过既然DNS正常,为什么不使用更
快捷的方法呢?config的用法请参考/var/qmail/doc里面的文档。
??复制rc文件,并对其进行修改,让它和sendmail兼容:
cp /var/qmail/boot/home /var/qmail/rc
??qmail默认使用Mailbox,而sendmail默认使用Maildir,很多的程序都根据sendmail规则来编写,需
要使用Maildir,所以需要更改rc文件,作出以下的更改:
Mailbox 改为 Maildir
第四节、测试qmail
??安装和配置完成之后当然要测试一下qmail的运作是否正常了,执行以下的命令启动qmail服务:
csh –cf ‘/var/qmail/rc &’ > /dev/null &
??然后使用以下的命令查看是否存在qmail-lspawn ./Maildir。如果已经存在,则证明qmail服务已经
正常启动,如果没有找到,就需要按照第三节的内容重新配置。
ps -x
第五节、启动系统时自动运行qmail服务
??首先修改/etc/rc.conf文件,添加以下的内容:
qmail_flags=””
??然后修改/etc/rc文件,找到sendmail的启动代码,在后面添加以下的代码:
if [ “X${qmail_flags}” != X”NO” ]; then
echo –n ‘ qmail’; csh –cf ‘/var/qmail/rc &’ > /dev/null &
fi
第五课、分离系统用户和邮件用户
??我们使用vpopmail来分离系统用户和邮件用户,这样可以提高系统的安全性。而且vpopmail还可以
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
