Wenn ich mit localhost von demselben Webserver-PC auf den Apache-Webserver zugreife , wird die Apache2 Ubuntu-Standardseite angezeigt.
Wenn ich jedoch mit 192.168.0.2 auf den Apache-Webserver zugreife , wird der Fehler 403 Verboten angezeigt (Verboten Sie haben keine Berechtigung, auf diesen Server zuzugreifen).
Webserver-Details
- Ubuntu 14.04 LTS
- Apache Version 2.4.7
Besitzbefehle
www-data sudo adduser ftpuser www-data
sudo chown -R www-data:ftpuser /var/www
sudo chmod -R g+rwX /var/www
In der Datei etc / apache2 / apache2.conf
ServerName 192.168.0.2
<Directory/>
AllowOverride All
Require all granted
</Directory>
In der Datei etc / apache2 / port.conf
NameVirtualHost *:80
Listen *:80
Virtueller Host für eine Website
<VirtualHost *:80>
ServerName mysite
DocumentRoot /var/www/mysite
<Directory /var/www/mysite>
Options None FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
Welche Einstellungen muss ich an welchem Ort vornehmen? Bitte helfen Sie ...
ServerName 192.168.0.2
Zeile wegwerfen, da die ServerName-Direktive den Namen www.server.com und nicht die IP-Nummer haben sollte. Ich denke, das könnte das Problem lösen. Für Servername sollten Sie den Namen des Servers eingeben, falls vorhanden. ServerName ermöglicht namenbasiertes virtuelles Hosting, wodurch mehr Websites auf derselben IP-Adresse gespeichert werden können.Antworten:
1. Sie sollten Ihre / etc / hosts-Datei folgendermaßen konfigurieren :
Wo
test-site
ist der zweite "localhost". Undmy-hostname
ist der "System Hostname" definiert in/etc/hostname
.2. Sie sollten einen virtuellen Host (VH) definieren und aktivieren :
Es gibt eine Standard-HTTP-VH. Es ist in platziert
/etc/apache2/sites-available/
. Der Dateiname ist000-default.conf
. Sie müssen es bearbeiten (Sie können es umbenennen, wenn Sie möchten, oder andere .conf-Dateien erstellen, basierend darauf) und danach müssen Sie es aktivieren.Sie können es manuell aktivieren, indem Sie einen "weichen, symbolischen Link" erstellen:
Oder Sie können das Apache2-Tool namens a2ensite verwenden , das dasselbe macht:
Nehmen wir an, es gibt 3 virtuelle Hosts , aktiviertes SSL und eine registrierte private Domain (z. B. SOS.info):
Und eine, die für die Zwecke dieses Themas erstellt wurde:
Der Inhalt der ersten 2 VHs ist:
$ cat /etc/apache2/sites-available/
http.SOS.info.conf
Dieser leitet alle HTTP-Anforderungen an HTTPS um.
$ cat /etc/apache2/sites-available/
https.SOS.info.conf
Dies ist die HTTPS VH.
Der Inhalt dieser beiden Dateien kann in einer Datei veröffentlicht werden. In diesem Fall ist die Verwaltung (
a2ensite
/a2dissite
) jedoch schwieriger.Der dritte virtuelle Host ist der, der für unsere Zwecke erstellt wurde :
$ cat /etc/apache2/sites-available/
http.test-site.conf
3. Mit dieser Konfiguration sollten Sie zugreifen auf:
Im Hauptbeispiel sollten Sie auf Folgendes zugreifen :
Versuchen Sie, die Site im Webbrowser zu öffnen, oder versuchen Sie es einfach (im Terminal) mit den nächsten Befehlen:
Natürlich müssen einige
index.html
Seiten in ihrem DocumentRoot enthalten sein :)4. Sie müssen "/ etc / apache2 / apache2.conf" richtig konfiguriert haben.
Ii ist eine gute Idee, etwas Zeit zu investieren, um die Sicherheit Ihres Servers zu verbessern. In diesen Handbüchern geht es um die Sicherheitskonfiguration: 1. und 2 .. Hier erhalten Sie ein kostenloses SSL-Zertifikat. Diese Websites helfen Ihnen dabei, Ihren Fortschritt zu überprüfen: 1. und 2 ..
Gemäß den obigen Sicherheitshandbüchern
/etc/apache2/apache2.conf
muss die Datei wie folgt aussehen:5. Richten Sie die Firewall ein.
Um externen Zugriff auf Ihren Webserver zuzulassen / zu verweigern, können Sie UFW (Uncomplicated Firewall) verwenden:
Um nur die
tcp
Verwendung des Protokolls zuzulassen :Sie können und die Portnummer direkt verwenden:
Nur für den Fall, dass Sie die "Regeltabelle" neu laden können:
Sie können die GUI-Oberfläche von UFW verwenden, die als gufw bezeichnet wird .
Wählen Sie das
Office
Profil. Es wird festgelegt:Status:ON
,Incoming:Deny
undOutgoing:Allow
und Ihre Regeln hinzuzufügen.6. Wenn Sie einen Router haben, vergessen Sie nicht, einige Ports weiterzuleiten:
Wenn Sie einen Router haben und möchten, dass Ihr Webserver über das Internet erreichbar ist , vergessen Sie nicht, eine Portweiterleitung hinzuzufügen. So etwas wie diese .
quelle
/var/log/apache2/error.log
.Bitte ändern Sie den Besitz des Verzeichnisses, in dem Sie Ihre Dateien bereitstellen, mithilfe des Befehls:
quelle
Ich soll Sie mit dieser Antwort verknüpfen, wo mein Problem gelöst wurde.
Fügen Sie dem Ordner zunächst Berechtigungen hinzu:
Dann fügen Sie diesen Text hinzu:
Bis zum Ende dieser Datei:
quelle