barcode

Hier wird beschrieben, wie man einen Apache-Webserver mit PHP5 und MySQL unterstützung unter Ubuntu/Debian installiert und einrichtet

LAMP steht dabei für Linux, Ampache, MySQL und PHP

Apache 2

Zum Installieren einfach

sudo aptitude update
sudo aptitude install apache2

Eigentlich ist der Webserver jetzt schon fertig. Zum testen in einem beliebigen Browser http://<IP> eingeben. Wenn der Apache läuft, sollte etwas wie „It works“ stehen.

MySQL

MySQL (zur Zeit in der Version 5) ist ein Programm, das eine oder mehrere Datenbanken zur verfügung stellt.

Zur installation reicht folgendes

aptitude install mysql-server mysql-client

Während der Installation wird man nach dem SQL-root-Passwort gefragt. Diese bitte sehr sicher wählen und merken (oder aufschreiben). Diese Passwort dient dazu, Tabellen zu erstellen und zu löschen, sowie zu editieren und andere grundsätzliche Dinge mit den Datenbanken zu machen.

Sollte man nicht nach einenm Passwort gefragt werden, sollte man es jetzt setzten. Anleitung findet man hier

Installation abgeschlossen!!

PHP5

PHP ist eine Scriptsprache, mit an C und Perl angelehnten Syntax

Zur installation folgendes eingeben

aptitude install php5 libapache2-mod-php5

Das Paket libapache2-mod-php5 dient zur Verbindung von Apache2 und PHP5. Jetzt muss der Webserver neu gestartet werden, damit das Modul libapache2-mod-php5 gestartet wird

/etc/init.d/apache restart

Zum testen von PHP schreibt man ein kleine PHP-Skript Namens phpinfo.php mit folgendem Inhalt

phpinfo.php
<?php
phpinfo();
?>

Diese Datei kommt in das Apache Root-Verzeichnis /var/www . Jetzt muss man noch das Skript aufrufen: http://<IP>/phpinfo.php .

Es müssten jetzt verschieden Informationen über den Webserver und seine Module angezeit werden.

PHP5 und MySQL

Damit PHP5 auf den SQL-Server zugreifen kann, müssen noch verschieden Module installiert werden.Eine Auflistung dieser Module bekommt man, wenn man

aptitude search php5

eingibt. Ich installiere aber nur folgende Module

aptitude install php5-mcrypt php5-mysql libapache2-mod-php5 php5-cli php5-common php5-curl php5-gd

Jetzt noch mal den Apache Webserver neu starten, damit auch diese neuen Module geladen werden

/etc/init.d/apache restart

Fertig

MySQL-Hilfe

Zum erstellen von MySQL-Datenbanken und Tabellen muss man kein SQL-Gott sein. Hier gibt es ein kleines aber feines Tool zur Administration: phpMyAdmin. Diese kann man über die Paketverwaltung installieren. Jedoch ist diese Version Uralt. Hier eine kleine Anleitung zu installation von phpMyAdmin

mkdir phpmyadmin
cd phpmyadmin
wget <Sourceforge-URL> (Die bekommt man über google)
tar -xvf phpMyAdmin-<Version>.tar.bz2
mv phpMyAdmin-<Version> /var/www/phpMyAdmin
chown -R www-data:www-data /var/www/phpMyAdmin

Jetzt kann man sich über http://<IP>/phpMyAdmin mit dem MySQL-Server verbinden und administrieren. Wenn man bei der Installation von SQL ein root-Kennwort gesetzt hat, muss man sich hier über diese Kennung anmelden

Login bei phpMyAdmin

Man kann für phpMyAdmin die Anmeldedaten des SQL-Servers fest in der Datei config.inc.php folgendes suchen und gegebenenfalls ändern.

$cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['user']          = 'root';
$cfg['Servers'][$i]['password']      = '<Passwort>';          

Wenn man aber bei jedem Start gefragt werden will, welcher User sich einloggen soll (höhere Sicherheit, Test von Userberechtigungen), muss man die folgenden Zeilen ein bisschen abändern

$cfg['Servers'][$i]['auth_type']     = 'http';
$cfg['Servers'][$i]['user']          = 'root';
$cfg['Servers'][$i]['password']      = '';          

Geschützter Bereich

Manchmal ist es notwendig, einen Bereich vor fremden Augen per Passwort zu schützen

Serverkonfiguration

Zunächst muss man in der entsprechenden Site-Konfiguration mindestens die Option AllowOverride AuthConfig setzen. Ansonsten darf die Konfiguration nicht überschrieben werden.

.htaccess Datei

In das zu schützende Verzeichnis eine Datei .htaccess erstellen und folgenden Inhalt einfügen

AuthType Basic
AuthName "Geschützter Bereich"
AuthUserFile <Pfad_zur_Passwortdatei>
require valid-user

Es wird ein Fenster mit dem Namen „Geschützer Bereich“ ausgegeben. Nur User, die sich erfolgreich angemeldet haben (require valid-user) dürfen die Webseite einsehen. Will man nur bestimmten Usern aus der Passwort-Datei den Zugriff erlauben, wird dies durch die Directive require user tux max lisa erreicht

Passwort Datei

Jetzt muss man nur noch die Passwortdatei erstellen

htpasswd2 -c <Datei> <User>

Mit der Option -c wird diese Datei neu angelegt. Sollten noch weitere Nutzer mit angelegt werden, muss -c weggelassen werden.

Mit der Option -D kann ein existierender User wieder gelöscht werden