Sie haben keine Zugriffsberechtigung, wenn in Apache zwei namenbasierte Websites auf einer einzigen IP-Adresse eingerichtet werden sollen

Sie haben keine Zugriffsberechtigung, wenn in Apache zwei namenbasierte Websites auf einer einzigen IP-Adresse eingerichtet werden sollen

Apache wurde auf meinem Debian installiert, ich möchte zwei Domänennamen mit unterschiedlichen Verzeichnissen verknüpfen.

cat  /etc/hosts
127.0.0.1  hwy.local  www.hwy.local  test.app   www.test.app

Zwei Domänennamen, alle an 127.0.0.1 gebunden.

Katze /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
    ServerName www.hwy.local
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error_hwy.log
    CustomLog ${APACHE_LOG_DIR}/access_hwy.log combined
        <Directory /var/www/html>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
        </Directory>
</VirtualHost>
<VirtualHost *:80>

ServerName www.test.app
ServerAdmin webmaster@localhost
DocumentRoot  /home/debian9/app
ErrorLog ${APACHE_LOG_DIR}/error_app.log
CustomLog ${APACHE_LOG_DIR}/access_app.log combined
    <Directory /home/debian9/app>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

Erstelle Datei .

 touch  /var/log/apache2/error_hwy.log
 touch  /var/log/apache2/access_hwy.log
 touch  /var/log/apache2/error_app.log
 touch  /var/log/apache2/access_app.log
 sudo chown -R www-data:www-data /home/debian9/app
 sudo chmod -R g+rw /home/debian9/app
 sudo systemctl restart  apache2

Speichern Sie dieselbe Datei test.html sowohl in als /var/www/htmlauch in /home/debian9/app.

<p>it is a test</p>

Warum www.hwy.local/test.htmltritt beim Öffnen www.test.app ein Fehler auf?

`This site can’t be reached` 

curl -i  www.test.app/test.html
HTTP/1.1 403 Forbidden
Date: Fri, 07 Sep 2018 09:08:13 GMT
Server: Apache/2.4.25 (Debian)
Content-Length: 296
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /test.html
on this server.<br />
</p>
<hr>
<address>Apache/2.4.25 (Debian) Server at www.test.app Port 80</address>
</body></html>

Kann nicht DocumentRootfür „ www.test.appals“ festlegen, was sich von „für“ /home/debian9/app unterscheidet ?/var/www/htmlwww.hyw.local

Antwort1

allow from all

ist die Konfigurationssyntax von Apache 2.2.Mit Apache 2.4das sollte sein

Require all granted

verwandte Informationen