我是Apache新手,当我将apache从2.2.22更新到2.4.6时,我发现我将mod_rewrite设置的默认虚拟主机位置发生了变化。
对于apache2.2.22:它位于/ etc / apache2 / sites_enabled / default中。对于apache 2.4.6,它已更改,帮助文档也说:“NameVirtualHost directiveAsAs”:不再需要,现在已弃用。
我注意到似乎已从apache.conf中删除了该设置。以下是Apache 2.2.22和2.4.6的配置详细信息。
任何人都可以告诉我在配置中需要更改的内容吗?
对于apache2.2.22:/ etc / apache2 / sites_enabled / default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride all
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/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 All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
<Location />
AuthName "CIO Internal Demo"
AuthType Basic
AuthUserFile /etc/apache2/htpasswd.users
Require valid-user
</Location>
<Location /liveclass_api/liveclass_callback.php>
Satisfy Any
Allow from all
</Location>
<Location /sp_service.php>
Satisfy Any
Allow from all
</Location>
1,1 Top
对于apache2.4.6:/etc/apache2/sites_enabled/000-default.conf
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
Apache 2.4.6的文件apache.conf的一部分
# Include list of ports to listen on
Include ports.conf
# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
#<Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
答案 0 :(得分:0)
您正在谈论的文件和目录看起来就像在debian linux上一样,因为原始的Apache目录/文件布局是不同的。 有关从Apache 2.2迁移到2.4的一般指南,请参见此处Upgrading to 2.4。 另外,您可能还需要查看debian是否具有有关更改的目录/文件结构等信息。