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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将旧配置文件从Apache 2.2.22传输到 Apache 2.4.6相关的知识,希望对你有一定的参考价值。

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

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

以上是关于如何将旧配置文件从Apache 2.2.22传输到 Apache 2.4.6的主要内容,如果未能解决你的问题,请参考以下文章

DocumentRoot 没有改变,从 Apache2 2.2.22 更新到 2.4.7

Apache Beam 数据流:从 Azure 到 GCS 的文件传输

使用 Apache 将旧域上的旧路径重定向到新域上的新路径

如何将旧 S3 存储桶中的 Terraform 状态移动到新的 S3 存储桶?

Apache 说打开文件读取时出错:权限被拒绝

通过 Apache Flume 将日志文件从本地文件系统移动到 HDFS 时出错