我已经将我的 Web 服务器上的 Raring 迁移到 Saucy,并且将 Apache 从 2.2.x 升级到 2.4.x。
Apache 现在似乎不知道 sites-enabled 目录或其内容。每个主机都使用 000-default.conf 提供服务。VirtualHost 的一个示例是006-cjshayward
:
<VirtualHost *:80>
ServerName cjshayward.com
ServerAdmin [email protected]
DocumentRoot /home/jonathan/cjshayward/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options ExecCGI Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/author.cjshayward.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.cjshayward.com
ServerAlias author.cjshayward.com cjsh.name www.cjsh.name cjsh.info www.cjsh.info
RewriteEngine on
RewriteRule ^(.*)$ http://cjshayward.com$1 [R=301,L]
</VirtualHost>
我还需要做什么才能注册为拥有自己父目录的 VirtualHost?
答案1
Apache 2.2 的 apache2.conf 有以下指令:Include sites-enabled/*
Apache 2.4 的 apache2.conf 已切换为使用该指令:IncludeOptional sites-enabled/*.conf
您的目录中的文件很可能sites-enabled
不是以.conf
答案2
正如 Shane 提到的,您需要确保 httpd.conf 包含来自您的 sites-enabled 文件夹的文件。
此外,大多数基于 Debian 的发行版将包含 sites-enabled 文件夹中的所有文件,而我上次检查时发现 Redhat“等效版本”仅包含扩展名为 .conf 的文件。
无论哪种方式,这都需要存在于您的 httpd.conf 中:
Include /etc/apache2/sites-enabled/*