如何将旧配置文件从Apache 2.2.22传输到​​Apache 2.4.6

时间:2013-08-16 11:29:12

标签: apache rewrite

我是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>

vim:syntax = apache ts = 4 sw = 4 sts = 4 sr noet

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>

1 个答案:

答案 0 :(得分:0)

您正在谈论的文件和目录看起来就像在debian linux上一样,因为原始的Apache目录/文件布局是不同的。 有关从Apache 2.2迁移到2.4的一般指南,请参见此处Upgrading to 2.4。 另外,您可能还需要查看debian是否具有有关更改的目录/文件结构等信息。