SuSE的Apache的设定

因为工作关系Apache需要设定成虚拟网站空间方式
新版SuSE的Apache已经改成模组化
所以只要修改几个档案就可以在建立帐号时,网站就对应的到位置
而不用去修改http.conf一个个建对应/home的位置,建完还要重新启动Apache
相当方便^^下面就开始设定组态噜

1.修改/etc/sysconfig/apache2
]#vi /etc/sysconfig/apache2
找APACHE_MODULES
在最后面加上vhost_alias
存档重新编译apach2的设定档让apache2载入vhost模组
]#SuSEconfig --module apache2

2.在/etc/apache2/vhosts.d/建立一个新档叫vhost.conf内容如下
]#vi /etc/apache2/vhosts.d/vhost.conf
<VirtualHost *>
UseCanonicalName Off
ErrorLog /var/log/apache2/error_log
CustomLog /var/log/apache2/access_log common
VirtualDocumentRoot /home/vhost/%0/public_html
VirtualScriptAlias /home/vhost/%0/public_html/cgi-bin
AddHandler cgi-script .cgi
<Directory "/home/vhost/%0/public_html/cgi-bin">
   Options ExecCGI
   SetHandler cgi-script
</Directory>

</VirtualHost>
红色地方依个人喜好设定不同
预设因该是/home/%0/public_html
/home的后面没"vhost"小弟为管理方便所以多建一层目录
这样home看起来就干净多噜

3.修改default-server.conf
vi default-server.conf
找ScriptAlias XXXXXX
注解掉这一段
#ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"

# "/srv/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
#<Directory "/srv/www/cgi-bin">
# AllowOverride None
# Options +ExecCGI -Includes
# Order allow,deny
# Allow from all
#</Directory>

没多建目录的
这边apache2 restart就OK噜直接跳过下面4的动作

4.若有多建一层还要继续修改mod_userdir.conf
]#vi mod_userdir.conf
找<Directory /home/*/public_html>
改成<Directory /home/vhost/*/public_html>
存档离开

5.重新启动apache2
]#rcapache2 restart

以后要建立网站
只要建立新USER时
家目录直接建成domain方式就OK了
例如
ABC USER他的家目录建成/home/vhost/www.xyz.com
apache就会自动去/home/vhost/www.xyz.com/public_html/
目录下读网站资料了。