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
Diskussion