Differences between revisions 1 and 8 (spanning 7 versions)
Revision 1 as of 2004-08-08 18:23:24
Size: 525
Editor: hd
Comment: 先个头,回头再说罢。时间不多了
Revision 8 as of 2009-12-25 07:15:58
Size: 2165
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
-- hd [[[DateTime(2004-08-08T18:23:24Z)]]]
[[TableOfContents]]
= jail增强剂 =
-- hd [<<DateTime(2004-08-08T18:23:24Z)>>]
<<TableOfContents>>
= jail十全补丸 =
Line 8: Line 8:
== 章标题1 == == jailer ==
使用jailer可以让你更好的管理vhost。使用方法是在安装好后的vhost中安装jailer:
{{{
cd /usr/ports/sysutil/jailer
make install
make clean
}}}
这样在你的vhost中就有了{{{/usr/local/sbin/jailer}}}应用程序。
启动vhost的脚本由
{{{
jail path hostname ip-number /bin/sh /etc/rc
}}}
变为
{{{
jail path hostname ip-number /usr/local/sbin/jailer
}}}
这样就可以发现在启动的进程中有一个jailer的进程,你可以用kill来重启和关闭一个jail的vhost了。
Line 10: Line 26:
=== 小节标题1 === == jailutils ==
使用了jailer后管理jail还是比较麻烦,jailutils帮助你更简单的在host中管理vhost。这里需要注意,jailer是运行在vhost中的,而jailutils是运行在host中的。

在host中安装jailutils:
Line 12: Line 31:
#!python
Python code
cd /usr/ports/sysutils/jailutils
make install
make clean
Line 16: Line 36:
==== 次节标题1 ====
xxx

== 章标题2 ==

=== 小节标题2 ===
安装后你可以使用jstart来启动一个vhost了(这是使用jailer来启动):
Line 23: Line 38:
其它
代码引用
jstart path hostname ip-number /usr/local/sbin/jailer
Line 27: Line 41:
==== 次节标题2 ====
yyy
可以通过jails工具查看现在运行了哪些vhost:
{{{
jails
mailtest.huandong.com
zxtest.huandong.com
fxhtest.huandong.com
devtest.huandong.com
}}}

这时你就可以通过killjail来停止一个vhost:
{{{
killjail devtest.huangdong.com
}}}
是不是很简单呢?

== vhost中ports的共享 ==
在安装后的vhost中如果不能使用ports是一个非常沮丧的事,而给每个vhost装一份ports更是资源的不充分利用。我使用mount_null来解决这个问题。
我在host中建立了一个目录{{{/data/sys/ports}}},放所有vhost以及host所使用的ports目录放在里边。为了能让vhost使用这个目录,我们需要使用mount_null来连接到vhost中去,使用ln会让vhost找不着这个目录的:
{{{
mount_null /data/sys/ports /data/vhost/mailtest/usr/ports
}}}

-- hd [2004-08-08 18:23:24]

jail十全大补丸

只是简单的使用jail会发现许多的不方便,哪么bsder们很早就给你准备了一堆增强工具,让jail的应用更加灵活。从而极大的提高了jail应用的方便程度。

jailer

使用jailer可以让你更好的管理vhost。使用方法是在安装好后的vhost中安装jailer:

cd /usr/ports/sysutil/jailer
make install
make clean

这样在你的vhost中就有了/usr/local/sbin/jailer应用程序。 启动vhost的脚本由

jail path hostname ip-number /bin/sh /etc/rc

变为

jail path hostname ip-number /usr/local/sbin/jailer

这样就可以发现在启动的进程中有一个jailer的进程,你可以用kill来重启和关闭一个jail的vhost了。

jailutils

使用了jailer后管理jail还是比较麻烦,jailutils帮助你更简单的在host中管理vhost。这里需要注意,jailer是运行在vhost中的,而jailutils是运行在host中的。

在host中安装jailutils:

cd /usr/ports/sysutils/jailutils
make install
make clean

安装后你可以使用jstart来启动一个vhost了(这是使用jailer来启动):

jstart path hostname ip-number /usr/local/sbin/jailer

可以通过jails工具查看现在运行了哪些vhost:

jails
mailtest.huandong.com
zxtest.huandong.com
fxhtest.huandong.com
devtest.huandong.com

这时你就可以通过killjail来停止一个vhost:

killjail devtest.huangdong.com

是不是很简单呢?

vhost中ports的共享

在安装后的vhost中如果不能使用ports是一个非常沮丧的事,而给每个vhost装一份ports更是资源的不充分利用。我使用mount_null来解决这个问题。 我在host中建立了一个目录/data/sys/ports,放所有vhost以及host所使用的ports目录放在里边。为了能让vhost使用这个目录,我们需要使用mount_null来连接到vhost中去,使用ln会让vhost找不着这个目录的:

mount_null /data/sys/ports /data/vhost/mailtest/usr/ports

bsd/JailToolsHowto (last edited 2009-12-25 07:15:58 by localhost)