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.
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.
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:
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
Hey,
vielen Dank! Werde es morgen gleich ausprobieren =)
Es grüßt,
Bene.
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
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
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
Das freut mich und so sollte es auch sein 😉
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
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
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
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
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