Wissen

Apache Server und Virtual Hosts unter CentOS installieren – einrichten

Der Apache Webserver ist wohl die Software, wenn es darum geht Internetinhalte zu Verfügung zu stellen. Daher ist es auch nicht verwunderlich, dass das System trotz der wachsenden Konkurrenz immer noch über 50 Prozent der Webseiten im Netz ausliefert. Es gibt zwar inzwischen auch etwas schlankere und vielleicht auch etwas schnellere Webserver, aber wer einen starken und flexiblen Webserver benötigt, kommt am Apache einfach nicht vorbei, da sich dieser relativ gut an jedes Bedürfnis anpassen lässt.

In dieser kurzen Anleitung will ich Euch nun zeigen, wie man grundsätzlich einen Apache Server unter CentOS installiert und den ersten Virtual Host darunter einrichtet. Im Grunde ist diese Installation auf fast alle anderen Linux Distributionen übertragbar, wobei sich die Befehle und Pfade leicht unterscheiden können. Doch wer einfach verstanden hat, wie der Apache Server tickt, wird sich immer relativ schnell zurecht finden.

Schritt 1: Installation Apache Server

Dies ist keine Hexenkunst und mit 2 Schritten erledigt.

sudo yum -y install httpd

Die Installation sollte nach ein paar Sekunden abgeschlossen sein und wir könnten danach den Webserver direkt starten und theoretisch, könnte man nun schon Daten online stellen!

Damit der Apache auch automatisch beim Start des CentOS Betriebssystem startet, müssen wir diesen als Service definieren:

sudo systemctl enable httpd.service

 

Schritt 2: Die Verzeichnisstruktur anlegen

Hier legen wir uns als Demo die Seite test.de an – in diesem Verzeichnis gibt es dann ein public_html – in welches wir später unseren Content ablegen und darunter noch ein Logs Verzeichnis in welches der Server seine Daten für genau diese Domain ablegt. Der Parameter -p dient dazu, dass der gesamte Verzeichnisbaum in einem Schritt generiert wird.

sudo mkdir -p /var/www/test.de/public_html/logs

 

Schritt 3: Rechte Vergabe

Wenn ihr das public_html Verzeichnis einem Nutzer zur Bearbeitung zur Verfügung stellen wollt, dann solltet ihr Euch jetzt mit diesem Nutzer anmelden, bevor ihr den nächsten Befehl absetzt. Oder ihr tragt einfach anstelle der Variable $USER – den entsprechenden Nutzer ein.

sudo chown -R $USER:$USER /var/www/test.de/public_html/

Auf das Basisverzeichnis setzen wir noch folgendes Recht:

sudo chmod -R 755 /var/www

Das Logs Verzeichnis benötigt spezielle Rechte!
Damit hatte ich etwas zu kämpfen, da immer – wenn ich das Log Verzeichnis in die virtuelle Hosts Datei geschrieben hatte, der Webserver sich nicht mehr starten lies.
Damit kann man das Problem lösen:

sudo chcon -t httpd_log_t /var/www/test.de/public_html/logs /var/www/test.de/public_html/logs/*

 

Schritt 4: Wir legen den ersten virtuellen Host an

In diesem Schritt legen wir die erste VirtalHosts Datei an und erzeugen die erste Seite und etwas Inhalt für diese Seite, damit wir testen können, ob alles auch so funktioniert, wie wir uns dies vorstellen.

Wir erstellen uns die „index.html“. Dies ist eine Basis-Datei, welche vom Server immer zuerst aufgerufen wird.

nano /var/www/test.de/public_html/index.html

In diese Datei schreiben wir jetzt ein paar Zeilen Code:

<html>
<head>
<title>Testseite</title>
</head>
<body>
<h1>Dies ist eine Testseite!!</h1>
</body>
</html>

 

Jetzt prüfen wir ob in der Apache Konfiguration folgender Eintrag zu finden ist:

Apache Config öffnen:

sudo nano /etc/httpd/conf/httpd.conf

Auf Eintrag prüfen! Dieser befindet sich ganz unten im Konfigurationsfile:

IncludeOptional conf.d/*.conf

Dieser Eintrag gibt an, an welcher Stelle sich die Konfigurationsdateien befinden.
Alle Dateien die sich im /etc/httpd/conf.d/ Ordner befinden und welche die Dateiendung .conf besitzen werden beim Start des Apache Servers automatisch integriert. Hier könnte man nun auch nochmals einen speziellen Ordner anlegen in welche man nur die VirtualHost Dateien legt. Aber ich sage es mal so – im Grunde kann man sich diese Arbeit auch sparen. Daher möchte ich hier nicht auf die ehemalige „Best Practice“ Variante eingehen. Wir legen die Virtual Host Konfiguration direkt das Config-Verzeichnis ab. Wer möchte kann für jeden VHost ein eigenes File generieren oder alle Konfigurationen in ein File packen! Wir legen hier nun ein File für eine Domain an. Der Filename sagt uns dann direkt um welche Domain es sich handelt. Aber wie gesagt – auch hier könnte man als fauler ITler die Daten zusammen fassen.

sudo nano /etc/httpd/conf.d/test.de.conf

In das erzeugte File setzen wir nun die Informationen zur Domain:

<VirtualHost *:80>
ServerName www.test.de
ServerAlias test.de
DocumentRoot /var/www/test.de/public_html
ErrorLog /var/www/test.de/public_html/logs/error.log
CustomLog /var/www/test.de/public_html/logs/requests.log combined
</VirtualHost>

 

Damit sind wir nun mit der Einrichtung durch und können den Apache Server durchstarten!

sudo apachectl restart

Sollte jetzt keine Fehlermeldung auftauchen, haben wir alles richtig gemacht und Eure Basiswebseite sollte nun erreichbar sein.
Es sei denn die Firewall ist am System aktiviert! Dann müssen wir hier noch die entsprechenden Protokolle frei schalten!

 

Schritt 5: Anpassung der Firewall

Dies erledigen wir mit folgenden Befehlen:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Dies war es dann auch schon. Damit wäre die rudimentäre Einrichtung abgeschlossen und der Apache kann konfiguriert werden.

 


Tags

Ähnliche Artikel

1 thought on “Apache Server und Virtual Hosts unter CentOS installieren – einrichten”

Kommentar verfassen

Close

Adblock Entdeckt

Bitte unterstütze und in dem Du AdBlock deaktivierst.

Send this to a friend