Linux和Solaris建Apache虚拟根环境(1)(3)
来源:asp之家 时间:2010-05-08 17:52:00
2.2 生成基本的目录
bin将是usr/bin的连接
注意: 在这些例子中(除了我直接从一般文件系统中拷贝的代码)我都省略了前导的“/”,所以,注意不要将你的虚拟根环境化的目录树与真正的“/”混淆。
在下面我将用紫红色标记出虚拟根环境化的文件
ROOT# cd /www
ROOT# mkdir -p usr/bin usr/lib lib etc tmp dev webhome
ROOT# ln -s usr/bin bin
2.3 /tmp是假定的专用perms
ROOT# chmod 777 tmp
ROOT# chmod +t tmp
2.4 构造特殊的装置 dev/null
ROOT# mknod -m 666 dev/null c 1 3
2.5 为你自己的时区设定时区信息(这里使用的是MET)
ROOT# mkdir -p usr/share/zoneinfo
ROOT# cp -pi /usr/share/zoneinfo/MET usr/share/zoneinfo/
ROOT# cd etc
ROOT# ln -s ../usr/share/zoneinfo/MET localtime
ROOT# cd ..
2.6 克服perl和mod-perl不便
你会发现由于缺乏本地设置,perl和mod-perl多有不便,但你可以通过在实现了虚拟根环境目录树中安装本地文件来它:
ROOT# set |grep LANG
LANG=en_US
ROOT# mkdir /www/usr/share/locale
ROOT# cp -a /usr/share/locale/en_US /www/usr/share/locale/
<b>2.7 现在,在可以提供非常基础的虚拟根环境化的文件系统的共享库</b>
ROOT# cp -pi /lib/libtermcap.so.2 /lib/ld-linux.so.2 /lib/libc.so.6 lib/
<b>2.8 测试你的目录树(Apachect1后面将要用到“cat”,但也不是必需的)</b>
<CENTER><ccid_nobr>
<table width="400" border="1" cellspacing="0" cellpadding="2"
bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">
<tr>
<td bgcolor="e6e6e6" class="code" style="font-size:9pt">
<pre><ccid_code>
ROOT# cp -pi /bin/ls /bin/sh /bin/cat bin/
ROOT# chroot /www /bin/ls -l /
lrwxrwxrwx 1 00 7 Jan 29 09:24 bin -> usr/bin
drwxr-xr-x 2 001024 Jan 29 09:28 dev
drwxr-xr-x 2 003072 Jan 29 13:17 etc
drwxr-xr-x 2 001024 Jan 29 13:12 lib
drwxrwxrwt 2 001024 Jan 29 09:23 tmp
drwxr-xr-x 5 001024 Jan 29 09:23 usr
drwxr-xr-x 2 001024 Jan 29 10:41 webhome
2.9 你可以移动一下ls,它只是用于测试的。
ROOT# rm bin/ls
3.准备一个用户和名字服务器
下面我们生成一个运行Apache的用户,下面是这种配置的必要的命名服务:
3.1 生成一个不存在于系统上的新的用户,给他起一个特殊的名字和用户ID(例如888)。
注意:对于存在真正的鉴定文件(/etc/passwd /etc/group)的user.group,这并不是必需的,完全有你决定:
ROOT# cd /www
ROOT# touch etc/passwd etc/group etc/shadow
ROOT# chmod 400 etc/shadow