Home / Linux / Webserver (LAMP) Installation unter Debian 5 (Lenny) und Ubuntu

Webserver (LAMP) Installation unter Debian 5 (Lenny) und Ubuntu

Ich möchte in diesem Guide beschreiben wie ihr unter Debian 5 – Codename „Lenny“ und Ubuntu einen voll funktionsfähigen Webserver mit php, mysql, und Java Support in wenigen Schritten installieren könnt.

Achtung: diese Installationsanleitung ist für eine alte Version von Debian Hier geht es zur aktuellen LAMP Installationsanleitung unter Debian Wheezy

Paketlisten aktualisieren

Um zu gewährleisten, das ihr auch die richtigen, und aktuellen Pakete erhaltet, ist zu empfehlen mit folgendem Befehl eure Paketlisten upzudaten:

apt-get update

Installation des Apache Webserver (Version 2.2)

Mit folgendem Befehl wir der standard Apache Server 2.2 ohne zusätzliche Module installiert und gleich gestartet. Wir haben somit bereits einen lauffähigen Webserver, der HTML Dateien wiedergeben kann.

apt-get install -y apache2

Um dies zu testen, könnt ihr in einem Browser die IP eures Servers eingeben. Die Standard Webseite des Apache ( /var/www/index.html ) wird aufgerufen und sagt euch nur: It works!

Installation der PHP module für Apache

Da uns die Ausführung von stinknormalen html Dateien nicht reicht, und wir natürlich auch php Files ausführen möchten, installieren wir folgende Pakete zum Apache Webserver hinzu.

apt-get install -y libapache2-mod-php5 php5-cli php5-common php5-cgi

Als ganz großen Tipp für die Beschleunigung von PHP unter Apache empfehle ich eAccelerator, über den ihr Hier einen Guide findet.

Installation der MySQL Datenbank

Wenn ihr auf eurem Server mit Datenbanken arbeiten wollt, bzw. Datenbanken zur Verfügung stellen möchtet, dann wird der MySQL-Server mit folgenden Paketen installiert.

apt-get install -y mysql-server php5-mysql

Während dem Installationsvorgang werdet ihr in einem blau hinterlegtem Bildschirm dazu aufgefordert, das MySQL-Root Passwort zu setzen. Ich empfehle, dies auch zu tun.

mysql_root

Nach der Bestätigung des Passworts ist die Installation des MySQL Servers abgeschlossen.

Apache restart

Nachdem nun unsere Installationen abgeschlossen sind, ist es notwendig den Apache neu zu starten, damit alle neuen Erweiterungen verarbeitet werden können.

/etc/init.d/apache2 restart

[sam id=’2′ codes=’true‘]

MySQL Datenbankbenutzer und Datenbank anlegen

Unser MySQL Server ist nun installiert und wir können uns den ersten User und die erste Datenbank anlegen. Über folgenden Befehl verbinden wir uns mit der MySQL Server Konsole:

mysql -u root -p

Ihr werdet nun nach eurem Passwort gefragt, das ihr bei der Installation in der blauen Box eingegeben habt. Wir sind nun mit der MySQL Server Konsole verbunden und legen die erste Datenbank und den ersten User an:

create database datenbank1;
grant all privileges on datenbank1.* to 'dbuser1'@'localhost' identified by 'Passwort' with grant option;

datenbank1 – steht für den Datenbanknamen
dbuser1
– steht für den Benutzernamen
localhost – Bedeutet das der Benutzer nur vom Server, wo auch der MySQL Server installiert ist, zugreifen darf. Hier könnte auch eine IP stehen wenn ihr anderen Servern den Zugriff erlauben wollt, oder ggf auch ein ‚%‘, welches bedeutet, das von überall darauf zugegriffen werden darf.
Passwort – steht für das Passwort, welches der Benutzer zur Authentifizierung benutzt.

Die fett gedruckten Buchstaben sind nach eurem Belieben anzupassen.

Test der Installation mit der phpinfo File

Um nun zu verifizieren, das wir die Installation richtig durchgeführt haben, und alle benötigten Komponenten korrekt mit Apache funktionieren legen wir uns eine kleine php Datei an, die uns wichtige Infos gibt. Wir wechseln zuerst in das Apache Standard Verzeichnis und legen uns dann die Datei info.php an, die wir dann mit dem lieblingseditor ( bei mir vi ) editieren:

cd /var/www/
vi info.php

In unserer Datei fügen wir nun folgenden Inhalt ein:

<?php phpinfo(); ?>

Wir speichern nun die Datei und rufen sie mit folgender URL in unserem Browser auf:

http://ip-adresse/info.php

Ihr solltet nun einen ähnlichen Screen sehen:

php_ini

Wenn ihr den Screen seht, dann hat die php Installation bereits geklappt.
Zusätzlich könnt ihr noch kontrollieren ob im Punkt: „additional .ini files parsed“ der Eintrag „/etc/php5/apache2/conf./mysql.ini“ vorhanden ist. Wenn dieser Eintrag ebenfalls da ist, dann kann euer php auch mit dem mysql Server kommunizieren.

Java Installation unter Debian

4.3/5 - (3 votes)

Auch cool

Linux richtig anwenden: Tipps und Tricks für eine optimale Erfahrung

Die Kombination aus Spiele-Plattformen, und dem Betriebssystem Linux mag auf den ersten Blick ungewöhnlich erscheinen. …

18 Kommentare

  1. Benedikt Schmitz

    Hey,

    vielen Dank! Werde es morgen gleich ausprobieren =)

    Es grüßt,
    Bene.

  2. Thomas Haubenhofer

    Sg Hr Verfasser!

    Vielen Dank für die exakte und ausführliche Beschreibung.
    Bin ein Linux-Baby (ca. 1 Woche alt und steh kurz vor meinem 40. Geburtstag 😉 und die Seite hat sehr geholfen.

    Mit besten Grüßen
    TH

  3. Hat super geklappt. Danke für die wirklich sehr gut geschrieben Anleitung.
    Evtl. kannst du ja noch die zwei Punkte phpmyadmin und FTP hinzufügen.

    Grüße

    • Hallo nockuno,

      ich werde deinen Wunsch berücksichtigen und die Anleitung gerne um die Punkte phpmyadmin und FTP Server erweitern.

      Danke für das Feeedback

  4. Hy Patrick
    Habe zunächst auf eigene Faust bei meinem Lenny 5.0.3 einen localen Webserver zum Joomla testen „aufgesetzt“, was nicht so funktionierte wie es soll. Auf der Suche nach Hilfe im www fand ich diese Anleitung und habe zunächst mit den angegebenen Kommandos „drüberinstalliert“ und das funktionierte auch nicht. Also dann, alles was mit dem Apache usw. zu tun hat removed, danach nach deiner Anleitung von vorne angefangen. Und..: alles läuft wie es soll.

    Danke für diese gute Anleitung

    Hardy

  5. Hallo zusammen,

    die Anleitung hat mir schonmal mehr geholfen, wie die anderen Seiten – Dankesehr!

    Aber ein kleines Problemchen habe ich noch:

    apt-get install -y mysql-server mysql-server-5.0 mysql-common php5-mysql
    „Der Blaue Kasten für das Passwort kommt nicht.“

    und:

    /etc/init.d/apache2 restart
    Kommt diese Fehlermeldung:
    Restarting web server: apache2apache2: Syntax error on line 278 of /etc/apache2/apache2.conf: Syntax error on line 5 of /etc/apache2/conf.d/phpmyadmin.conf: /etc/apache2/conf.d/phpmyadmin.conf:5: was not closed.
    failed!

    Für jede Hilfe die mich weiterbringt bin ich sehr dankbar.

    Mit freundlichen Grüßen, Addamain

    P.S. Ich habe Linux Debian 5.0 Lamp

    • Hallo Addamain,

      kann es sein dass auf deinem Server bereits zuvor eine Mysql Datenbank installiert war? Weil zumindest Phpmyadmin installiert ist, oder hast du phpmyadmin bewusst mitinstalliert?

      versuch mal mit folgendem Befehl dein MySQL Serverdienst neu zu konfigurieren: dpkg-reconfigure mysql-server-5.0

      Um genaueres über die Fehlkonfiguration beim Apache zu sagen, müsste ich Einblick in die Konfiguration haben. Du kannst mir gerne mal die /etc/apache2/apache2.conf und die /etc/apache2/conf.d/phpmyadmin.conf per Mail zukommen lassen.

      Gruß
      Patrick

  6. Gute Anleitung, allerdings vermisse ich hier schmerzlich die Berücksichtigung des Sicherheitsaspekts.
    Gerade der Apache stellt in seiner Grundkonfiguration direkt nach der Installation ein nicht unerhebliches Sicherheitsrisiko dar.

    Sicher findet man im Netz diverse Anleitungen, wie man seinen Server und die darauf laufenden Applikationen absichern kann. Allerdings vernachlässigen die meisten Linux-Neulinge (aber leider nicht nur die…) nur allzuoft die Absicherung ihres Servers und denken, es sei alles erledigt, sobald das gewünschte Programm läuft. Gerade bei den stetig fallenden Preisen für Root- oder vServer sind sich viele Servereigentümer garnicht über die Tatsache im Klaren, daß sie für alles, was über ihren Server läuft, voll verantwortlich sind.
    Wenn dann irgendwann Post von der Staatsanwaltschaft wegen illegaler Verbreitung von Musik, Software oder Kinderpornographie oder wegen der Nutzung des Servers als Spamschleuder oder wegen illegalen Netzwerkangriffen kommt, dann ist es für den Serverbesitzer zu spät und er muß mit empfindlichen Strafen rechnen.

    Deswegen kann man garnicht oft genug auf die Absicherung eines Servers hinweisen…

    Eine relativ leicht verständliche Anleitung ist zb. hier zu finden: http://www.strassenprogrammierer.de/webserver-absichern-hacker_tipp_479.html
    Ansonsten hilft http://gidf.de natürlich auch gerne weiter…

    • Hallo Nexus,

      Du hast gerade mit dem Sicherheits Aspekt natürlich grundlegend Recht.

      Allerdings muss ich dazu sagen, dass nach der Installation auf einem Debian (Ubuntu basiert auch auf Debian) System mit den oben angeführten Paketen, nur die standard Webserver Ports offen sind. Daher stellt es aus reiner Portsicht kein Risiko dar. Wobei ich natürlich trotzdem jedem nahe lege, nach der Installation die Ports seines Servers mit nmap zu checken.

      Auch die Apache Module stellen unter Debian kein wirkliches Sicherheitsrisiko dar, da nach der Installation zwar viele Module verfügbar sind, jedoch nicht geladen werden. Die Module welche geladen werden, sind auf für den täglichen 0815 gebrauch bestimmt.

      Du bringst mich aber auf die Idee einen Artikel bezüglich Web-Server Security zu schreiben.

      Gruß
      Patrick

      • Ich sehe das genauso wie du Patrick. Debian ist von Grund auf, auf Sicherheit bedacht und Ausgelegt. Die Ports sind zu und die Apache Module halten sich in Grenzen! Der Guide ist Top. Über einen Security Beitrag würde ich mich allerdings auf freuen 🙂

        Gruß
        Alex

  7. Hallo Patrick

    Seid 2 Jahren besitze ich eine PC und tue mich mit meinen 72 Jahren recht schwer, wenn es um neue Sachen geht. Aber dieses Tutorial ist sehr gut und ausführlich von dir beschrieben worden. Natürlich bin ich ein absoluter Anfänger aber extrem lernbegierig was mit der installation und konfiguration eines Rootservers zu tun hat. Die wenigen Jahre, dich wohl nach haben werde 🙂 möchte ich intensiv mit dem verwalten eines Rootservers verbringen.

    Mein Sohn, der vor einem viertel Jahr ums leben kam, hinterlies mir einen angemieteten Rootserver, der mich vor einer Woche auf die Idee brachte, in seinem Sinne einfach das Projekt weiter zu führen, wenn ich auch nicht wusste, was er eigentlich vor hatte!

    Nach mehreren recherchen fand ich heraus, dass auf dem Rootserver nur Debian vorinstalliert war und suchte dann einige Zeit über Google informationen zusammen. Schliesslich bin ich dann hier auf Deiner Webseite gelandet.

    Ich hatte von Anfang an bis zum Schluss dieses Tutorials keine Probleme und alles leuft super klasse.

    Natürlich habe ich jetzt noch eine Menge Fragen, wie man zum beisbiel hpmyadmin und FTP Server installiert/konfiguriert und wie man das ganze auch noch absichert!

    Auch wüsste ich gerne wie man die domain auf die Ip abgleicht, damit man die Domain auch im Brwoser anzeigen lassen kann. Derzeit geht das ja nur mit der Server IP Adresse. Deshalb warte ich schon gespannt auf neue Tutorials.

    Nochmals vielen Dank für Dein Tutorial. Du hast einen Alten Knochen richtig glücklich gemacht…

    mfg Erik

    • Hallo Erik,

      sehr emotionale Geschichte. Tut mir sehr leid mit deinem Sohn.

      Bezüglich deinen Fragen, werde ich mich die nächsten Tage, Wochen nochmal hinsetzen und die Guides ein wenig erweitern. Mir fehlte im Moment leider ein wenig die Zeit. FTP Tutorial wird auf jeden Fall noch folgen.

      Aufschalten einer Domain in Apache ist eigentlich ziemlich einfach. Dazu musst du die Datei: /etc/apache2/sites-enabled/000-default editieren und zB. folgenden Eintrag hinzufügen:


      ServerName meine-domain.de
      ServerAlias meine-weitere-domain1.de meine-weitere-domain2.de
      DocumentRoot /var/www/verzeichnis

      PHPmyAdmin lässt sich ziemlich einfach installieren:
      apt-get install phpmyadmin

      Gruß
      Patrick

  8. Hi,

    Ich habe jetzt schon mehrere PHP/MySQL-Installationen durchgeführt – nicht nur mit diesem Tutorial, auch mit anderen und ich bekomme immer denselben Fehler, nämlich, dass ich wenn ich versuche eine PHP-Datei zu öffnen, der Server sie nicht als PHP-Datei erkennt, sondern sie herunterladen will. Es kommt ein Dialogfenster, das mich fragt, ob ich die Datei speichern oder öffnen will… Und ich weiß wirklich nicht was ich noch machen soll.

    Die Installation hat einwandfrei geklappt, aber ich kriege einfach keine PHP-Dateien zum Laufen.

    Wenn ich „/etc/init.d/apache2 restart“ ausführe, kriege ich die Meldung:
    * Restarting web server apache2

    apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
    apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
    (13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
    no listening sockets available, shutting down
    Unable to open logs

    • Hallo Stefan,

      Es sieht so aus als würde auf deinem Server bereits ein Dienst laufen welchen den Port 80 belegt. Vielleicht eine ältere Apache Instanz?
      Versuch mal folgenden Befehl und schaue nach was dir den Port 80 belegt:
      netstat -anp

      Gruß
      Patrick

  9. Michael Schneider

    Error 2002(HY 000); Can`t connect to local MySQL server through socket ‚/var/run/mysqld/myscld.sock‘ (2) = WAS BDEUTET DAS? Vielen Dank für Eure Hilfe! 🙂 Bitte nicht per Email antworten (die ist ein Fake) Danke 🙂

    • Hallo Michael,

      schau mal ob die Datei /var/run/mysqld/mysqld.sock vorhanden ist, bzw. wie die Berechtigungen auf die Datei sind.

      PS: kleiner Tipp nebenbei: Die Email Adresse ist für User nicht sichtbar! Sie dient lediglich der identifizierung bzw. zum laden eines Gravatar Bildes. 😉

      Gruß
      Patrick