Suche
Suche Menü

Lokaler Webserver mit Apache, PHP, MySQL und Co. unter Ubuntu Linux

ubuntu_webserver150

Über die Vorzüge von lokalen Webservern als Testumgebung haben sich schon so einige ausgelassen. Muss ich also nicht auch noch tun. Gründe sich einen Solchen einzurichten gibt es viele. Entwicklungsumgebung, Bastelstube oder schlicht „weil man’s kann“. Hat man ein Ubuntu System zur Hand, geht die Einrichtung in wenigen Minuten.

Hier also die Schnellanleitung für einen solchen Webserver auf Ubuntu-Basis – inklusive Apache2, PHP5, MySQL, public_html und phpMyAdmin

Los gehts wie immer – na wer errät es? – genau – auf der Konsole. Also auf das Ding und mal geschmeidig folgende Zeile reingemeißelt:

sudo apt-get install apache2 php5 mysql-server phpmyadmin

Bei der Installation wird euch eure Kiste nach einem MySQL root Passwort fragen. Denkt euch ein schönes aus und merkt es euch gut. Bei der phpMyAdmin Konfiguration werdet ihr die Wahl zwischen apache2 und lighttpd haben – hier reicht es apache2 auszuwählen. Ebenso werdet ihr gefragt, ob ihr phpMyAdmin mit dbconfig-common konfigurieren wollt. Hier solltet ihr mit <Ja> antworten und ihm dann im Anschluss das eben festgelegte MySQL root Passwort verraten. Abschliessend will er dann noch ein neues Passwort für phpMyAdmin wissen. Auch hier gilt wieder: Ausdenken und merken :-)

Nachdem dann alles installiert ist, sind wir auch schon fast fertig – einen laufenden Webserver habt ihr schonmal – fehlt nur noch etwas Finetuning.

Erster Schritt ist das Einschalten der Userdir Unterstützung:

sudo a2enmod userdir

Dann sollten wir selbiges natürlich auch mal anlegen:

mkdir public_html

Nun ist ein kleiner Eingriff (mit root Rechten) in die PHP-Config nötig, um dort auch die PHP-Unterstützung fürs Userdir zu aktivieren. Wir bearbeiten also die /etc/apache2/mods-enabled/php5.conf und kommentieren dort die Zeilen 11 bis 15 aus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
#    <IfModule mod_userdir.c>
#        <Directory /home/*/public_html>
#            php_admin_value engine Off
#        </Directory>
#    </IfModule>
</IfModule>

Abschliessend noch schnell in der /etc/apache2/mods-enabled/userdir.conf in Zeile 6 ein Options angefügt (ebenfalls mit root Rechten) damit wir auch durch eine .htaccess das Directory Listing abschalten können (wenn gewünscht):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride FileInfo AuthConfig Limit Indexes Options
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>

Nun noch fix den Apache einmal neu gestartet, damit die Änderungen übernommen werden:

sudo service apache2 restart

Das wars. Ihr könnt euch dann ja mal eine info.php mit dem Inhalt <?php phpinfo(); ?> in euer public_html legen und diese dann im Browser über http://localhost/~username/info.php aufrufen.

Wenn ihr alles richtig gemacht habt, sollte ihr eine Übersicht über euer System sehen (webserbertechnisch). Hab ich mich vor ner Weile schonmal drüber ausgelassen.

phpinfo

Ihr vermutet übrigens richtig, dass ihr ~username durch euren Benutzernamen ersetzen müsst. Die Tilde (~) muss dem Usernamen an dieser Stelle immer vorangestellt werden.

Zu guter letzt noch fix phpMyAdmin getestet – findet ihr unter http://localhost/phpmyadmin – Benutzer und Kennwort? Hatten wir vorhin oder? Genau: root ist der Benutzer und das Kennwort habt ihr euch ja sicher gemerkt oder? ;-)

phpmyadmin

phpMyAdmin läuft auch? Wunderbar – viel Spaß mit eurem neuen lokalen Webserver :-) Kommentare, Anmerkungen, Lobeshymnen und sonstige Nörgeleien sind wie immer herzlich Willkommen…

 

Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone

Autor:

Ich bin Andi, 34 Jahre jung, glücklicher Papa, Freizeit-Blogger, Pixelfänger und Pixelschubser. Ich hoffe der Artikel hat Dir gefallen. Über ein Feedback würd ich mich freuen :-) Du findest mich ausserdem bei Facebook, Twitter und Google+.

12 Kommentare Schreibe einen Kommentar

  1. eine lokale testumgebung ist einfach super. wenn ich mir überlege, wie lange es gedauert hat, bis ich mein wordpress cms mal lokal laufen hatte. ewig. danke für die anleitung, diese wird einigen beginnern sicher helfen.

    Firefox 12.0 Windows 7

    Antworten

  2. Pingback: Eigenen Webserver mit MySQL, PHP5.x, Apache2 und DynDns - Linux: Linux-Forum

  3. Das ist wirklich perfekt beschrieben und es funktioniert auf Anhieb bestens :-)

    Danke.

    Firefox 11.0 Ubuntu

    Antworten

    • Hallo Gernot,
      generell erfolgen Seiteneinbungen (ums mal so zu nennen) bei Debian und Ubuntu über die /etc/apache/sites-enabled/… und nicht via einbindung in die httpd.conf (oder apache2.conf wie sie bei Ubuntu/Debian heißt).
      Weiterhin wird eben jener Eintrag bei der Installation von phpmyadmin via apt / aptitude automatisch angelegt. Warum das bei dir nicht geschehen ist, ist mir ehrlich gesagt ein Rätsel

      Google Chrome 22.0.1229.94 GNU/Linux x64

      Antworten

      • Hallo Andi,
        vielen Dank für Deine Antwort. Schön, dass ich auch gleich noch was gelernt habe durch Deinen Kommentar.
        Da ich mein Ubuntu (aus diversen Gründen) nochmal neu installieren muss, werde ich mal schauen ob das jetzt dann automatisch geschieht. Ich halte Dich auf dem Laufenden ;)

        Viele Grüße

        Google Chrome 22.0.1229.94 Windows 7 x64 Edition

        Antworten

  4. Ich wollt nochmal sagen: Die beste Anleitung! Danke dafür! Und eine Sache hat mir noch gefehlt, dann ist die Anleitung für mich perfekt:

    sudo a2enmod rewrite

    . Da hab ich mich jetzt eine ganze Weile mit 404s rumgequält, ohne an sowas triviales zu denken :D

    Chromium 34.0.1847.116 Ubuntu

    Antworten

  5. Hallo,
    danke für die Anleitung, aber ich hab nur ’ne Sammlung von WSOD, 403 und 404 gehabt und nach ein paar Versuchen alles wieder deinstalliert. Nehm ich halt doch wieder xampp.

    Firefox 42.0 Ubuntu x64

    Antworten

  6. Hallo Andi, vielen Dank für Deine Mühe.
    Wenn ich die config ändern möchte, habe ich folgende Anzeige:
    Pfad … /etc/apache2/mods-enabled/php5.conf
    bash: /etc/apache2/mods-enabled/php5.conf: Keine Berechtigung

    Was ist das Problem?
    Gruß Stephan

    Firefox 45.0 Ubuntu x64

    Antworten

    • Hast du denn den Teil mit „bearbeiten wir mit root Rechten“ beachtet? Also z.B. sudo nano ... ?

      Google Chrome 49.0.2623.87 Windows 10 x64 Edition

      Antworten

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.