Webserver Anleitung · 4 min read · Jan 07, 2026
Erstellen Sie Ihren eigenen Webserver mit BIND und Apache auf CentOS 5 (Vereinfacht) - Seite 2
Springen wir wieder :) Diesmal ein bisschen weiter zu Zeile 1005, dort sollten Sie sehen:
NameVirtualHost *:80Die Direktive NameVirtualHost sagt Apache, dass wir name-basiertes virtuelles Hosting verwenden möchten, oder einfacher ausgedrückt, eine Reihe von Websites, die alle dieselbe IP-Adresse verwenden. Fügen Sie ein paar Leerzeilen unter ‘#NameVirtualHost *:80’ hinzu und setzen Sie in die Zeile direkt darunter NameVirtualHost und Ihren Hostnamen oder Ihre IP-Adresse, gefolgt von :80. Das ‘:80’ bedeutet, dass wir name-basiertes virtuelles Hosting für das HTTP-Protokoll verwenden.
Also sollten Sie etwas wie dies erzeugen:
NameVirtualHost host.website.com:80Jetzt sind wir fast fertig mit der Konfiguration unserer httpd.conf-Datei. Das einzige, was wir noch konfigurieren müssen, ist, wenn jemand unseren Server über die IP anstelle des Domainnamens besucht, werden wir unseren Standard-Hostnamen für diese Benutzer sichtbar machen. Wir können dies am Ende der Konfigurationsdatei einfügen:
ServerAdmin [email protected]
DocumentRoot /www
ServerName 77.77.197.69
ErrorLog logs/error_log
CustomLog logs/access_log common
Um unsere
httpd.conf
leichter zu verwalten, sollten wir diese Zeile am Ende der Datei hinzufügen:
Include conf/vhosts/*.confDas bedeutet, dass wir alle .conf-Einträge aus /etc/httpd/conf/vhosts einfügen werden, wo wir virtuelle Hosts für unsere Websites speichern, während wir sie hinzufügen. Es wird einfacher zu verstehen sein, während wir weiter fortschreiten. Ok, wir sind fast fertig, speichern Sie httpd.conf und machen Sie weiter.
Erstellen von Website-Verzeichnissen
Wir sollten jetzt die Verzeichnisstruktur für die Website erstellen, um unsere Websites ordnungsgemäß zu verwalten. Zuerst erstellen wir das Hauptverzeichnis:
mkdir /wwwWir machen jetzt root zum Eigentümer von /www:
chown root.root /wwwBevor wir weitergehen, müssen wir eine Anpassung vornehmen, wir müssen eine Zone für host.website.com in unsere named.conf hinzufügen, da wir es als Hostnamen in httpd.conf verwendet haben und wir einen Fehler erhalten, wenn wir dies nicht tun. Also sollten wir dies zu named.conf hinzufügen:
zone "host.website.com" IN {
type master;
file "/var/named/host.website.com.db";
};Und natürlich ist hier der Inhalt der Datei:
/var/named/chroot/var/named/host.website.com.db$TTL 14400
@ 86400 IN SOA ns1.website.com. [email protected]. (
2008021501 ; serial, heutiges Datum+heutiges
86400 ; refresh, Sekunden
7200 ; retry, Sekunden
3600000 ; expire, Sekunden
86400 ) ; minimum, Sekunden
host.website.com. 86400 IN NS ns1.website.com.
host.website.com. 86400 IN NS ns2.website.com.
host.website.com. IN A 77.77.197.69
localhost.host.website.com. IN A 127.0.0.1Sie können so viele Datensätze hinzufügen, wie Sie möchten. Bevor Sie named neu starten, erstellen Sie einen Link:
ln -s/var/named/chroot/var/named/host.website.com.db /var/named/host.website.com.dbservice named restartJetzt gehen wir zurück zur Verzeichnisstruktur. Wir haben eine Zone für unsere
website.com
hinzugefügt, jetzt benötigen wir ein virtuelles Verzeichnis dafür.
cd /www
mkdir website.com
cd website.com
mkdir html
mkdir html/cgi-bin
mkdir databases
mkdir logs
Da wir ein Verzeichnis für unsere Website erstellt haben, benötigen wir nur noch einen Benutzer, der berechtigt ist, diesen Domainnamen zu verwalten. Das können wir mit:
useradd -d /www/your-domain/ domain_useroder wenn Sie den Shell-Zugriff auf den Benutzer einschränken möchten, verwenden Sie dies:
useradd -d /www/your-domain/ -s /sbin/nologin domain_userNachdem der Benutzer hinzugefügt wurde, können wir sein Passwort mit:
passwdändern. Dieser Benutzer hat immer noch nicht seinen “Zuhause” :) Platz, den er besitzt, jetzt fügen wir dies hinzu:
cd /www && chown domain_user:domain_user website.comWenn Sie ein “databases”-Verzeichnis erstellen, müssen Sie den Eigentümer auf den mysql-Benutzer ändern, da MySQL sonst nicht in der Lage ist, in die Datenbankdateien zu schreiben. Alle Verzeichnisse, Unterverzeichnisse und Dateien, die mit Datenbanken zu tun haben, sollten im Besitz des mysql-Benutzers sein, und wir können dies mit diesem Befehl tun:
cd website.com && chown -R mysql:mysql databasesDamit haben wir die Erstellung der Verzeichnisstruktur für die Website abgeschlossen, jetzt bleibt nur noch zu sagen, wo sich unsere Website befindet, und wir sind fertig.
Jetzt gehen wir ein wenig zurück, als wir httpd.conf konfigurierten, fügten wir dort eine Zeile ein:
Include conf/vhosts/*.confJetzt werden Sie herausfinden, warum wir das getan haben, falls Sie es noch nicht getan haben. Da der Ordner noch nicht existiert, sollten wir ihn erstellen:
cd /etc/httpd/conf && mkdir vhostsJetzt gehen wir in das vhosts-Verzeichnis:
cd vhostsund wir erstellen eine neue Datei für unsere Domain:
nano website.com.80.confWir sollten Folgendes in diese Datei einfügen:
ServerAdmin [email protected]
ServerName website.com
ServerAlias www.website.com
DocumentRoot /www/website.com/html
ScriptAlias /cgi-bin/ /www/website.com/html/cgi-bin/
ErrorLog /www/website.com/logs/error_log
CustomLog /www/website.com/logs/access_log combined
Wir erreichen schließlich den Endpunkt, als wir Apache sagten, wo sich das Verzeichnis unserer Website befindet, jetzt wird jede Anfrage vom Browser für www.website.com aus /www/website.com/html gelesen; dort sollten Sie Ihre Dateien ablegen, z.B. index.html. Jetzt können wir unseren httpd starten oder neu starten, falls er bereits läuft.
service httpd startoder
service httpd restartWenn Sie Probleme mit diesem Tutorial oder mit der Konfiguration von Apache oder BIND haben, zögern Sie nicht, mich zu kontaktieren. Ich bin mir sicher, dass ich diese und sogar schlimmere Probleme hatte - ich helfe Ihnen gerne in meiner Freizeit.
Autor
: Emir Ibrahimbegovic
E:
[email protected]
W:
Danke an:
Tony Bhimani, Sébastien Wains, Nayyar Ahmad
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.