Apache Installation

apache_logoEigene Website auf dem Server?
Wie? Apache!
Warum? Frei, offen, erprobt, sehr gut dokumentiert!

Ausserdem gibt es viele schöne Module und eine brauchbare Konfiguration ist auch nicht schwierig.

Gibts hier: https://httpd.apache.org/


Unser Rechner: debian-server.lan mit der IP 192.168.0.23

Hier eine schnelle Installation. Für ganz spezielle Wünsche kann es gut sein den Server selbst zu kompilieren.
Aber meistens reicht diese schnelle Variante:

Installation

Apache

apt-get install apache2

Dann schaut mal auf http://192.168.0.23/

Da ist jetzt entweder schon ein Wunderbares start Howto oder es sagt euch schlicht:

It works!

Und damit sind wir durch mit der Installation. xD

Startklar.

Der Server kann mitapachectl (natürlich auch mit /etc/init.d/apache2 oder dem Service Befehl) gesteuert werden.
Ein brauchbarer Befehl ist auch a2query. Damit lassen sich Infos über laufende Konfigurationen, und Versionsnummern anzeigen.

Grobes zur Konfiguration

Die Apache Dokumentation ist wie gesagt sehr empfehlenswert: http://httpd.apache.org/docs/2.4/
Sie kann sogar einfach durch apt-get install apache2-doc lokal installiert werden und ist dann auch über den Browser erreichbar. Ja – Webserver sind schon praktisch.
Allerdins sind auch schon hilfreiche Erklärngen unter /usr/share/doc/apache2/ zu finden… README heißt…
Es kann sein, dass bei anderen Distributionen die Standardkonfiguration etwas abweichen oder die a2* Befehle nicht verfügbar sind.
Aber das sollte auch kein Hindernis sein. Letztendlich können wir uns das hinbasteln wie wir möchten.

Falls die Startseite nicht die Einführung ist, das sind ungefähr die Infos:
Die Konfigurationsdateien liegen in /etc/apache2/

Hier sind bei unserer Installation schon einige Dateien für verschiedene Module vorhanden.
Die Hauptkonfiguration ist bei uns die apache2.conf. Dazu gibt es nochmal einen Extra Artikel.
Dann gibt es die Verzeichnisse mods, conf, sites mit dem jeweiligen available und enabled Ordnern.
Diese werden alle durch die apache2.conf eingebunden.
Möchte man ein neues Modul, eine Neue Seite oder einen neuen Konfigurationsschnipsel laden, wird es in den jeweiligen available Ordner gelegt und mit einem der Befehle

a2enmod dasModul, a2ensite dieSeite oder a2enconf confSchnipsel

ein Symlink zu der Konfiguration in den jeweiligen enabled Ordner erstellt.
Genau so einfach lassen sich die Konfigurationen wieder abschalten:

a2dismod dasModul,a2dissite dieSeite oder a2disconf confSchnipsel

Prinzip dürfte klar sein. 😉

Die Verzeichnisse

Sites

Hier können Virtual Hosts mit eigenständiger Konfiguration angelegt werden.

Conf

Hier können Ergänzungen zur globalen Konfiguration bereitgestellt werden.

Mods

Viele mods sind jetzt schon vorhanden und einige wie z.B. php auch schon aktiviert.
Was die im einzelnen machen, kann man hier nachlesen: https://httpd.apache.org/docs/2.4/de/mod/

Das sollte fürs erste reichen. Der Webserver läuft und wir haben die Konfiguration grob verstanden 😉

PHP Modul einbinden

php-logoPHP läuft noch nicht. Muss nicht, wenn man nur html Seiten anbieten möchte. Ich hätte aber auch gern etwas PHP dazu.
Wenn PHP noch nicht installiert ist macht apt es uns wieder sehr einfach:
apt-get install libapache2-mod-php5
Installiert nicht nur das Apache Modul sondern wieder alle Abhängigkeiten wie z.B. PHP 🙂
Hat der Paketmanager das jetzt auch direkt aktiviert?
a2query -m | grep php
Sieht so aus. Falls aber nicht:
a2enmod php5

php.ini

Die passende Konfigurationsdatei liegt hier: /etc/php5/apache2/php.ini Darin sind Einstellungen wie max. Sciptlaufzeit, Max. Dateiuploadgröße, und andere nützliche Sachen.

Test

Das DocRoot ist bei uns jetzt /var/www/html

Noch kurz Testen, ob es wirklich funktioniert hat:

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

http://192.168.0.23/info.php

Hier sollten jetzt jede menge Informationen zu PHP und dem Webserver gelistet sein.

Wenn schon PHP dann vllt. auch eine Datenbank dazu? Ich mag MySQL.

 

Weiter zu: Spielereien mit dem Apache Server

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

one + two =