apache用户验证与虚拟主机包括整合tomcat的虚拟主机

发表于:2007-05-25来源:作者:点击数: 标签:
接http://bbs.chinaunix.net/forum/viewtopic.php?t=607020lt;Directory"/www/htdocs/www1" Authname"www1" AuthTypeBasic AuthUserFile/www/pwd/userpwd(此处为用户验证的密码文件的位置) Requireuserwww1(此处为要验证的用户名,多个用户可以用空格间隔

接http://bbs.chinaunix.net/forum/viewtopic.php?t=607020&show_type=new
2)用户验证
<Directory "/www/htdocs/www1">
        Authname "www1"
        AuthType Basic
        AuthUserFile /www/pwd/userpwd (此处为用户验证的密码文件的位置)
        Require user www1  (此处为要验证的用户名,多个用户可以用空格间隔)
</Directory>
<Directory "/www/htdocs/www2">
        Authname "www2"
        AuthType Basic
        AuthUserFile /www/pwd/userpwd
        Require user www2
</Directory>

<Directory "/www/htdocs/www3">
        Authname "www3"
        AuthType Basic
        AuthUserFile /www/pwd/userpwd    (此处为用户验证的密码文件的位置) 
        AuthGroupFile /www/pwd/groupfile   (此处为用户验证的组文件的位置)
        Require group test (此处为用户验证的组名)
</Directory>
然后再apache的安装目录下的bin目录里运行
./htpasswd -c /www/pwd/userpwd www1
New password:
Re-type new password:
Adding password for user www1
添加一个用户www1并创建userpwd文件
./htpasswd  /www/pwd/userpwd www2
添加用户www2注意此处没用-c否则将覆盖掉原来的文件丢失www1的信息
创建组
在组文件所在的目录里
Vi groupfile (创建组文件)
我的内容为
test: www1 www2    (用户名之间用空格隔开组名冒号后的第一个用户名也要与冒号用空格隔开)
2)虚拟主机未整合tomcat
NameVirtualHost 192.168.0.100

<VirtualHost 192.168.0.100:80>

ServerName www.sword.net    (域名)
ServerAlias sword.net *.sword.net    (此处我也不不太明白,请高手指教)
DocumentRoot /www/htdocs/ (网站根目录所在的位置)

</VirtualHost>

<VirtualHost 192.168.0.100:80>

ServerName test.net.henkel
DocumentRoot /www/htdocs/www2

</VirtualHost>

此两个为域名解析注意要在dns作相应的设置才能使用:)
相关文档http://man.chinaunix.net/newsoft/ApacheManual/
<VirtualHost 192.168.0.100:81>
    ServerAdmin root@sword.com
    DocumentRoot /www/htdocs/www1
    ServerName sword.com
    ErrorLog logs/sword.com-error_log
    CustomLog logs/sword.com-aclearcase/" target="_blank" >ccess_log common
</VirtualHost>

<VirtualHost 192.168.0.100:82>
    ServerAdmin root@sword.com
    DocumentRoot /www/htdocs/www2
    ServerName sword.com
    ErrorLog logs/sword.com-error_log
    CustomLog logs/sword.com-access_log common
</VirtualHost>

<VirtualHost 192.168.0.101:80>
    ServerAdmin root@sowrd.com
    DocumentRoot /www/htdocs/www3
    ServerName sword.com
    ErrorLog logs/sword.com-error_log
    CustomLog logs/sword.com-access_log common
</VirtualHost>

以上是基于ip的虚拟主机设置,最后的192.168.0.101:80是虚拟ip的主机设置。
3)基于tomcat的虚拟主机
<VirtualHost 192.168.0.100:83>
    ServerAdmin root@sowrd.com
    DocumentRoot /www/www
    DirectoryIndex index.jsp index.htm index.html index.php (此处应该能改更改默认主页,但不知道为什么我更改了几次都没有成功,请高手指教,是不是要把前面的DirectoryIndex注释电掉?)
    ServerName sword.com
    ErrorLog logs/sword.com-error_log
CustomLog logs/sword.com-access_log common
(此下三行为在虚拟主机中调用jsp的解析程序,我是这样认为的,如有不妥之处请高手指点)
    <Location "/*.jsp"> 
        JkUriSet worker ajp13:localhost:8009
    </Location>
</VirtualHost>
修改tomcat安装目录下的/conf/server.xml在server.xml中的
<Engine> </Engine>中添加
<Host name="192.168.0.100" debug="0" (确定ip或域名)
      appBase="/www/www"(确定主目录)
      unpackWARs="true" autoDeploy="true">
      <Alias>localhost</Alias>
      <Alias>www</Alias>
      <Alias>10.0.0.10</Alias>
      <Context path="" docBase="" debug="1"/>
      <Valve className="org.apache.catalina.valves.AccessLogValve"
      directory="logs" (存放日志的目录:)我的理解)
      prefix="vtomcat_log."
      suffix=".txt"
      pattern="common" resolveHosts="false"/>
      <Logger className="org.apache.catalina.logger.FileLogger"
      directory="logs"
      prefix="home_log_"
      suffix="_app_log.txt"
      timestamp="true"/>
</Host>
参考文献http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk2/vhosthowto.html

 sword_111 回复于:2005-09-09 15:44:10
在添上磁盘限额,
磁盘限额
注意如果你是默认分区最好不要做磁盘限额,我做了两次都没有成功,最后系统崩溃了。
/etc/fstab中根分区的记录,将/home分区的第4个字段改成defaults,usrquota,如下: 
LABEL=/home   /home   ext3    defaults,usrquota     1 2 
# reboot  //重新启动系统使设置生效 
也可以用 
# mount -o remount /dev/sda6  ///dev/sda6的挂接点就是/home,这样可以不用启动系统。 
这里我还要说明一下,如果我们对一个组进行磁配额,那我们需要增加参数grpquota,例如 
LABEL=/home   /home   ext3    defaults,grpquota     1 2 
也可以 
LABEL=/home   /home   ext3    defaults,usrquota,grpquota     1 2 
你想怎么限制都可以,自己组合参数吧。 
# quotacheck -avu 
说明:a-自动开启挂载文件系统的配额,v-显示信息,u-启用用户配额or g-启用组配额

我的配置文件
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /dev/shm                tmpfs   defaults        0 0
LABEL=/home             /home                   ext3    defaults        1 2
none                    /proc                   proc    defaults        0 0
none                    /sys                    sysfs   defaults        0 0
LABEL=/usr              /usr                    ext3    defaults,usrquota,grpquota        1 2 (此处作了限额)
LABEL=/var              /var                    ext3    defaults        1 2
LABEL=SWAP-sda6         swap                    swap    defaults        0 0
/dev/hdc                /media/cdrom            auto    pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
/dev/fd0                /media/floppy           auto    pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
请教一下能不能为不是系统的用户作限额.
如果我用vsftpd用mysql管理用户,能不能为这些用户限额?
参考文献https://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/sysadmin-guide/ch-disk-quotas.html

原文转自:http://www.ltesting.net