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 *:80

Die 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:80

Jetzt 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/*.conf

Das 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 /www

Wir machen jetzt root zum Eigentümer von /www:

chown root.root /www

Bevor 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.1

Sie 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.db
service named restart

Jetzt 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_user

oder wenn Sie den Shell-Zugriff auf den Benutzer einschränken möchten, verwenden Sie dies:

useradd -d /www/your-domain/ -s /sbin/nologin domain_user

Nachdem 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.com

Wenn 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 databases

Damit 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/*.conf

Jetzt 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 vhosts

Jetzt gehen wir in das vhosts-Verzeichnis:

cd vhosts

und wir erstellen eine neue Datei für unsere Domain:

nano website.com.80.conf

Wir 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 start

oder

service httpd restart

Wenn 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:

www.green.ba

Danke an:

Tony Bhimani, Sébastien Wains, Nayyar Ahmad

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.