Raspberry PI Webserver (Apache, Mysql, PHP, PHPmyadmin) mit rpi-controlcenter

  • Hallo, da ich das erstemal einen Webserver aufgesetzt habe und mir alles zusammen suchen musste dachte ich das ein komplett Tutorial gerade für Anfänger nicht schlecht sei. Ich hatte alles nebenbei für mich Dokumentiert.


    Raspberry PI Webserver (Apache, Mysql, PHP, PHPmyadmin) mit rpi-controlcenter
    #####################################################################
    Inaltsverzeichnis


    1.) Betriebssystem
    2.) Einstellungen
    3.) User anlegen
    4.) Pakete Installieren
    5.) FTP-Server konfigurieren
    6.) Restliche Pakete Installieren
    7.) phpmyadmin Einstellen
    8.) rpi-controlcenter


    #####################################################################


    1.) Betriebssystem


    - Raspberry Pi Wheezy installieren


    #####################################################################


    2.) Einstellungen


    Beim erstmaligen Starten des PI's folgende Optionen einstellen:


    - Update beziehen
    - Tastatur Einstellen auf deutsch
    - Das Root-System auf die gesamte Speicherkarte ausweiten
    - Speicher aufteilen 16mb für Grafikarte
    - SSH Aktivieren (Dann kann mit Putty darauf zugegriffen werden)


    #####################################################################


    3.) User anlegen


    Einloggen mit dem Benutzer Pi:


    Dann einen neuen Admin Anlegen der den Benutzer Pi ersetzt:


    sudo useradd -m "Admin"
    sudo passwd "Admin"


    Einen neuen User Anlegen:


    sudo useradd -m "User"
    sudo passwd "User"


    Wenn der Admin angelegt ist die Rechte anpassen:


    sudo nano /etc/group


    In der Datei "group" immer hinter dem Eintag pi den Eintag ",Admin" tätigen


    adm:x:4:pi,Admin


    Ausloggen und mit dem neuen Admin einloggen.


    Um die default shell für den neuen Admin Account zu setzen (Wenn man unter dem neuen Admin Account eingeloggt ist):


    sudo chsh -s /bin/bash


    sudo userdel pi


    Gruppe für den Apache2 erstellen


    sudo groupadd www //www kann von euch ausgesucht werden
    sudo adduser <benutzername> www //Den vorhin erstellten User eintragen
    sudo chgrp www /var/www
    sudo chmod g+w /var/www


    #####################################################################


    4.) Pakete Installieren


    Als erstes updates für apt-get ausführen:


    sudo apt-get update


    Apache installieren:


    sudo apt-get install apache2



    Proftpd Installieren:


    sudo apt-get install proftpd-basic


    Die option Standalone aktivieren.


    #####################################################################


    5.) FTP-Server konfigurieren


    Wir begeben uns nun in den Ordner /etc/proftpd und bearbeiten dort proftpd.conf.


    sudo nano /etc/proftpd/proftpd.conf


    Ganz unten dann folgendes einfügen:


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


    Dann speichern und schließen.


    User erstellen:


    cd /etc/proftpd/


    Dort erstellen wir einen User mit dem Namen des angelegten users für das Verzeichnis /var/www/ //Verzeichniss ist beliebig!
    Wisst ihr die ID des User nicht einfac:


    sudo nano /etc/group und den Angelegten User ganz unten benutzen. Danach folgendes eingeben:


    sudo ftpasswd --passwd --name user --uid 1001 --gid 1001 --home /var/www/ --shell /bin/false


    Pi neustarten:


    sudo shutdown -r now


    Der FTP sollte jetzt funktionieren!


    #####################################################################


    6.) Restliche Pakete Installieren


    Mysql installieren


    sudo apt-get install mysql-server


    Achtung! Wenn nach dem DB Passwort für den Benutzer Root gefragt wird, ein eigenständiges Passwort vergeben! (Keins was einem User zugewiesen wurde)


    PHP-Installieren


    sudo apt-get install php5
    sudo apt-get install php5-mysql


    Mcrypt installieren


    sudo apt-get install mcrypt //NUR FÜR DAS rpi-controlcenter


    Sqlite3 installieren


    sudo apt-get install sqlite3 php5-sqlite //NUR FÜR DAS rpi-controlcenter
        
    phpmyadmin installieren


    sudo apt-get install phpmyadmin


    Dann beim Fenster welches Modul Konfiguriert werden soll, apache2 auswählen.
    Das Password für die Datenbank eingeben und im Anschluss das Passwort für den User in phpmyadmin eingeben.
    Achtung! Wenn nach dem Passwort für den Benutzer in phpmyadmin gefragt wird, ein eigenständiges Passwort vergeben! (Keins was einem User zugewiesen wurde)


    Pi neustarten


    sudo shutdown -r now


    #####################################################################


    7.) phpmyadmin Einstellen


    Als erstes müsst ihr folgendes eingeben:


    cd /var/www
    sudo ln -s /usr/share/phpmyadmin/ "phpmyadmin"


    //"phpmyadmin" Ist ein der Name wie ihr nachher im Webbrowser die DB aufrufen könnt. Ich habe diesen anders genannt damit nicht jeder darauf kommt.


    Nun kann man unter http://deine-ip/dein_name_für_phpadmin die Seite aufrufen.


    #####################################################################


    8.) rpi-controlcenter


    Auf den ftp Verbinden und in das Verzeichnis /etc/var/www wechseln.
    Dort dann das neuste Packet des rpi-controlcenter hochladen.
    Jetzt kann das rpi-controlcenter Installiert werden.


    Installieren des rpi-controlcenter:


    http://deine-ip/ordner_deiner_wahl/install/index.php
       
    Achtung! Wenn nach für den Admin des rpi-controlcenter gefragt wird, ein eigenständiges Passwort und Benutzer vergeben!


    Einloggen und die Berechtigung des Gast Accounts alles auf Nein stellen!
    Bei den aktualisierungszeiten kann mann ruhig auf 60sek stellen. Außer Netzwerktraffic, das sollte öfters aktualisiert werden.


    Ihr könnt euer phpmyadmin jetzt auch in das rpi-controlcenter einbinden!


    #####################################################################


    So sollte nun alles funktionieren und ihr könnt eure Website in das System einbinden.

  • Hallo ck2003,


    ein paar Anregungen von meiner Seite zu deinem Tutorial:


    Verwende bitte die BB-Codes zum Beispiel für Code-Fenster damit das Tutorial etwas übersichtlicher wird und man die Befehle und Konfigurationsdateien gleich erkennen kann.


    Quote

    - SSH Aktivieren (Dann kann mit Putty darauf zugegriffen werden)


    SSH ist standardmäßig bereits aktiviert. Man kann auch die beschriebene Konfiguration von Raspbian bereits über SSH aufrufen (Stichwort: raspi-config).



    Das geht eleganter und ist noch lange nicht vollständig. Der Eintrag in der sudoers fehlt dir zum Beispiel noch. Lies dir vielleicht mal mein Tutorial durch: http://www.gtkdb.de/index_7_2175.html


    Quote

    Gruppe für den Apache2 erstellen


    sudo groupadd www //www kann von euch ausgesucht werden
    sudo adduser <benutzername> www //Den vorhin erstellten User eintragen
    sudo chgrp www /var/www
    sudo chmod g+w /var/www


    Bei der Installation von Apache2 sollte bereits der Benutzer www-data und die gleichnamige Gruppe erstellt worden sein. Warum also einen neuen Benutzer und eine neue Gruppe anlegen? Das macht das Ganze nur inkompatibel zu anderen Anleitungen.


    Quote

    Als erstes updates für apt-get ausführen:


    sudo apt-get update


    Bitte nochmal nachlesen was der Befehl eigentlich macht. Damit wird die lokale Paketdatenbank aktualisiert.


    Gruß Georg

  • Hallo Georg!


    Danke für deine Anregung!


    Das mit dem SSH und der sudoers Liste wusste ich nicht. Ich danke dir für die Info. Werde ich mich mal morgen drum kümmern.


    Die www-data Gruppe habe ich extra nicht genommen da in der apache Readme drinne steht, das wenn Hacker eine Lücke finden diese ausgenutzt werden könnte und man daher eine extra Gruppe anlegen sollte!


    Das mit apt-get update habe ich wohl falsch beschrieben das werde ich morgen auch einmal ändern!


    Habe aber dank für deine Verbesserungsvroschläge!


    Gruß ck2003

  • Hallo Hilfe,
    hab nach der super Anweisung den Websever eingerichtet und bin mit den passwörtern durcheinander gekommen - wie find ich die raus oder wo kann ich das ändern ?