Wissen

Unter Debian eine Webserver-Umgebung installieren – Apache, PHP, MySQL, phpMyAdmin und ProFTP

Es gibt einfach ein paar Dinge die kann Linux einfach viel besser als Windows und ein Tätigkeit davon ist Bereitstellung eines Webservers. In den vergangenen Beiträgen habt ihr schon erfahren, wie man einen Linux Server in einer Minimalkonfiguration aufsetzt und diesen mit einem SSH Zugang verseht. Damit habt ihr schon einmal eine tolle Basis um darauf nun die Dienste für einen Webserver zu installieren. Die rudimentären Dienste dafür wären:

– der Apache Server
Dieser liefert die Webseiten an die Besucher einer Webseite aus!

– das PHP Modul
PHP dürfte wohl derzeit die Programmiersprache Nummer 1 sein, wenn es darum geht mehr als eine statische Webseite zu erzeugen. Für alles was über HTML und CSS hinaus geht, müsst ihr PHP einsetzen. Alternative ginge es noch mit PERL, aber diese Sprache wird immer weniger bei der Programmierung von Webseiten verwendet.

– die MySQL Datenbank
Möchte man dynamische Inhalte erstellen, kommt man sehr schnell an einer Datenbank nicht mehr vorbei! Hier bietet sich die MySQL Datenbank an, welche nicht nur kostenlos ist, sondern auch gute Performance auch für größere Projekte bietet.

Dies wird übrigens als LAMP System bezeichnet! (Linux – Apache – MySQL – PHP)

..und schon wären wir bei den optionalen Diensten, welche jedoch aber bei jeder vollständigen Webserver-Installation zu finden sind.

– der phpMyAdmin
Dies ist das Verwaltungstool für die oben genannte MySQL Datenbank. Zwar kann man auch über die Linux Konsole alle nötigen Dinge in eine MySQL Datenbank konfigurieren, aber mit dem phpMyAdmin hat man dazu noch eine grafische Oberfläche, welche sich hin und wieder etwas einfacher bedienen lässt. Vor allem dann, wenn man nicht täglich mit der Config einer MySQL Datenbank zu tun hat!

– der proFTP Server
Ein FTP Server ist meiner Meinung auch eine optionale Software, die aber auch zu einer vollständigen Webserver-Installation dazu gehört. Denn dieser kann auf eine recht einfache Art und Weise die Zugriffe auf die Files einer Webseite steuern. Klar ist diese vielleicht nicht immer von Nöten, wenn man seine File-Transfers z.B. über WinSCP bzw. SSH macht – aber er dient einfach zur Verbesserung der Verwaltung von Webseiten. Vor allem dann, wenn am Webserver mehr als eine Person herum spielen sollte. Ein weiteres Plus an einem FTP Server ist – es gibt seiten, welche sich automatisch aktualisieren können – wie z.B. ein WordPress System. Dieses benötigt für genau diesen Update bzw. Installationsprozess einen laufenden FTP Server. #
Damit wären wir dann auch schon mit den Pflichtmodulen durch und kommen zur eigentlichen Anleitung, wie man diese Komponenten sinnig installiert. Ich habe mir dabei einen kleinen Ablauf entworfen, der die verschiedenen Module in verschiedenen Schritten installiert und konfiguriert. Klar könnte man auch einen globalen apt-get installl …alle Module machen, aber damit habe ich keine so guten Erfahrungen gesammelt! Daher installiere ich alle benötigte Komponenten Schritt für Schritt und baue mir diese dann entsprechend zusammen.

Bevor wir starten, stellt sicher, dass der Hostname gesetzt ist:
hostname
hostname -f

Schritt 1: MySQL installieren

apt-get install mysql-server mysql-client
Konfiguration von mySQL: /etc/mysql/my.cnf

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (1)

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (2)

 

OPTIONAL (empfohlen):

Wer möchte kann nun seine mySQL Datenbank noch sicher machen:

Datenbank absichern:
z.B. nur lokalen Zugriff einrichten, PW ändern, Anonymous User deaktivieren usw.

mysql_secure_installation

Jetzt bestätigt man alle Abfragen einfach mit YES! 😉

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (4)

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (5)

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (6)

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (7)

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (8)

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (3)
Datenbanken legen wir später über den PHPMYADMIN an.

Wer jedoch mehr auf die Konfiguration per Kommandozeile steht, hier ein kurzes Beispiel um eine Datenbank per „Hand“ anzulegen:

mysql -u root -p

create database testdatenbank;
grant all on testdatenbank.* to ‚datenbankuser‘ identified by ‚datenbankuser-pw‘;

Deiser Befehl erzeugt nun die Datenbank „testdatenbank“ mit dem User „datenbankuser“ und dem Kennwort „datenbankuser-pw“.

Schritt 2: Apache 2 installieren

apt-get install apache2

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (9)

Nach der Installation sollte man nun bei Eingabe der IP Adresse eine Apache Seite zu sehen bekommen.

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (10)

INFO:
Apache Standartverzeichnis: /var/www
Apache Konfigurationsdatei: /etc/apache2/apache2.conf
Apache zusätzliche Konfiguration (Module): /etc/apache2
Apache zusätzliche Seiten anlegen: /etc/apache2/sites-available/
Apache virtuelle Hosts: /etc/apache2/sites-enabled
Apache virtuelle Hosts Config: /etc/apache2/conf.d
Apache zusätzliche Seiten anlegen: /etc/apache2/sites-available/
Seiten aktivieren: a2ensite <seitenname>
Und so gehts:

Apache Rewrite aktivieren:
a2enmod rewrite

Apache neu starten
service apache2 restart

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (11)

Virtuelle Hosts einrichten:

Dafür generiert ihr einfach unter

/etc/apache2/sites-available/

eigene Config-Files für die einzelnen virtuellen Hosts:

vi /etc/apache2/sites-available/beispielseite.de.conf

<VirtualHost *:80>
ServerAdmin webseite@beispielseite.de
ServerName beispielseite.de
ServerAlias www.beispielseite.de
DocumentRoot /var/www/beispielseite.de/public_html/
ErrorLog /var/www/beispielseite.de/logs/error.log
CustomLog /var/www/beispielseite.de/logs/access.log combined
</VirtualHost>

Benötigt ihr mehrere Seiten, dann legt ihr neue Konfigurationsfiles an!

Info: die Seiten können unter allen verfügbaren IPs auf dem Server angesprochen werden!
Bevor ihr diese Configuration verwenden könnt, müssen die entsprechenden Pfade natürlich erzeugt werden!

mkdir -p /var/www/beispielseite.de/public_html
mkdir /var/www/beispielseite.de/logs

Ist dies erledigt, aktivieren wir die Config mit folgenden Befehl:

a2ensite beispielseite.de.conf

Jetzt ist es ein guter Zeitpunkt den Webserver neu zu starten:

service apache2 reload

Alternativ:
/etc/init.d/apache2 restart
TIPP:
Eine Webseite deaktivieren / sperren könnt ihr mit folgenden Befehl:

a2dissite beispielseite.de.conf

Schritt 3: PHP 5 istallieren

apt-get install php5 libapache2-mod-php5

ACHTUNG!
Nach der Installation muss der Apache Server neu gestartet werden! Zum Teil erledigt das System dies auch selbstständig – aber ich habe gute Erfahrung damit gemacht, dies nochmals per Hand zu erledigen!

/etc/init.d/apache2 restart

PHP Konfigurtation findet man unter:

/etc/php5/apache2/php.ini

Test der Installation von PHP!
erzeugt eine PHP Datei „info.php“(vi /var/www/info.php)mit folgendem Inhalt:

<?php
phpinfo();
?>
Öffnet im Browser dieses File:

http://ip-des-servers/info.php

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (12)

OPTIONAL:
Änderungen in der php.ini

max_execution_time = 30
memory_limit = 128M
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
display_errors = Off
log_errors = On
error_log = /var/log/php/error.log
register_globals = Off
max_input_time = 30
Damit die LOGS geschrieben werden können muss das Verzeichnis natürlich angelegt und mit Rechten versehen werden:

mkdir /var/log/php
chown www-data /var/log/php

 

Schritt 4: PHP mit MySQL verbinden

Wie man in der Ausgabe der info.php recht gut erkennen kann, fehlt dort noch die Anzeige für die MySQL Umgebung. Zudem erweitern wir etwas unsere PHP Installation!
apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5 ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5 xmlrpc php5-xsl
Apache jetzt neu starten:

/etc/init.d/apache2 restart
Wenn man nun die info.php erneut startet, sollten jezt dort die Informationen zu MYSQL zu finden sein!

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (13)

 

Schritt 5: Installation von phpMyAdmin

Um MySQL sauber verwalten zu können, benötigen wir den phpMyAdmin.
apt-get install phpmyadmin

Web server to reconfigure automatically: <– apache2
Configure database for phpmyadmin with dbconfig-common? <– No

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (14)

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (15)

 

Der phpMy Admin ist nun unter http://ip-adresse-des-servers/phpmyadmin zu erreichen
Ihr könnt Euch hier z.B. mit dem root Account des Servers anmelden!

 

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (16)

Schritt 6: FTP Server installieren (ProFTPD)

apt-get install proftpd-basic

Server-Modus wählen!

Debian-Webserver-Umgebung-Installieren-Apache-PHP-mySQP-phpMyAdmin-ProFTP (18)

Die Config findet man hier:
nano /etc/proftpd/proftpd.conf
(/etc/proftpd/conf.d)

Diese sollte wie folgt aussehen:
(Folgendes in das File kopieren! )

DefaultRoot ~
AuthOrder mod_auth_file.c mod_auth_unix.c
AuthPam off
RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd

Jetzt erstellen wir noch schnell das ftpd.passwd File:
vi /etc/proftpd/ftpd.passwd

Speichern!!

Bevor wir beginnen setzen wir nun die nötigen Rechte auf den WWW Bereich (für einen universellen FTP Nutzer!):

chown -R www-data:www-data /var/www

Um einen User anzulegen wechseln wir nun in folgendes Verzeichnis:

cd /etc/proftpd

Jetzt setzen wir die Rechte
Dafür benötigen wir die ID des Webserver Dienstes:

Folgender Befehl zeigt Euch die UID an:

id www-data

Diese benötien wir nun zum Anlegen:

ftpasswd –passwd –name benutzername –uid id –home /var/www –shell /bin/false

Neustart des FTP Servers:

/etc/init.d/proftpd restart
ACHTUNG: nicht die ROOT Anmeldedaten verwenden!

Links zu den entsprechenden Herstellerseiten:

Apache: http://www.apache.org/
PHP: http://www.php.net/
MySQL: http://www.mysql.com/
phpMyAdmin: http://www.phpmyadmin.net/
ProFTPD: http://www.proftpd.org/

Optional, wer unsere Anleitung für die Installation von Debian gefolgt ist:

Debian: http://www.debian.org/


Tags:

  • proftpd debian install
  • apache ftp server einrichten
  • debian 9 webserver installieren
  • debian apache admin einrichten
  • wie installiere ich lamp unter debian
Tags

Related Articles

Kommentar verfassen

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close

Send this to a friend