我已经在我的 Web 服务器上从 Raring 迁移到 Saucy,并使用它将 Apache 从 2.2.x 升级到 2.4.x。
Apache 现在似乎不知道启用站点的目录或其内容。每个主机都提供 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?
Apache 2.2 的 apache2.conf 有这个指令:
Include sites-enabled/*
Apache 2.4 的 apache2.conf 已切换到使用此指令:
IncludeOptional sites-enabled/*.conf
您
sites-enabled
目录中的文件很可能不会以.conf
正如 Shane 提到的,您需要确保 httpd.conf 包含来自启用站点的文件夹中的文件。
此外,大多数基于 Debian 的发行版将包含启用站点的文件夹中的所有文件,而上次我检查了 Redhat “等效”将仅包含扩展名为 .conf 的文件。
无论哪种方式,这都需要存在于您的 httpd.conf 中: