-
        

Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 46

Thema: Kleiner Webserver auf dem Raspberry Pi

  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9

    Kleiner Webserver auf dem Raspberry Pi

    Anzeige

    Heyho,

    letztes Wochenende habe ich (erfolgreich) meinen Webserver auf dem Raspberry Pi zum laufen bekommen. Wichtig ist allerdings....das Ding hat noch KEINEN Passwortschutz. Wenn ihr den also ans Internet anbindet (per DynDNS + Router), solltet ihr das Passwort auf dem Pi ändern und am besten genau schauen was ihr da runterladet....nicht das euch irgendeiner ein Virenverseuchtes File auf das Pi hochlädt und ihr es euch auf den PC übertragt.
    Wie die Anbindung ans Internet geschieht kann ich auch gerne erklären (falls Interesse besteht).
    Das ganze sieht (bisher) so aus:


    --------------------------------------------------------------------------------------



    Ich möchte euch hier mal kurz zusammenfassen wie ihr einen Webserver auf euerm Raspberry Pi installiert und einrichtet.
    Als Webserver verwende ich "Lighttpd".
    Dieser installiert sich wie folgt:

    Code:
    $ sudo mkdir /var/www
    $ sudo groupadd www-data
    $ sudo adduser www-data www-data
    $ sudo usermod -a -G www-data www-data
    $ sudo chown -R www-data:www-data /var/www
    $ sudo apt-get update
    $ sudo apt-get install lighttpd
    $ sudo apt-get install php5-cgi php5-mysql php5-curl php5-gd  php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache  php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite  php5-tidy php5-xmlrpc php5-xsl php5-fpm php5-cgi php5-cli php5-common  php5-suhosin
    Wenn diese Zeilen ausgeführt worden sind, müsst ihr noch das Config-File anpassen.
    Dafür erstellt ihr einfach mittels Texteditor eine Datei und nennt diese "lighttpd.conf".

    Code:
    server.modules = (
        "mod_access",
        "mod_alias",
        "mod_compress",
         "mod_redirect",
    #       "mod_rewrite",
    )
    
    server.document-root        = "/var/www"
    server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
    server.errorlog             = "/var/log/lighttpd/error.log"
    server.pid-file             = "/var/run/lighttpd.pid"
    server.username             = "www-data"
    server.groupname            = "www-data"
    
    index-file.names            = ( "index.php", "index.html",
                                    "index.htm", "default.htm",
                                   " index.lighttpd.html" )
    
    url.access-deny             = ( "~", ".inc" )
    
    static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
    
    include_shell "/usr/share/lighttpd/use-ipv6.pl"
    
    dir-listing.encoding        = "utf-8"
    server.dir-listing          = "enable"
    
    compress.cache-dir          = "/var/cache/lighttpd/compress/"
    compress.filetype           = ( "application/x-javascript", "text/css", "text/html", "text/plain" )
    
    include_shell "/usr/share/lighttpd/create-mime.assign.pl"
    include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
    
    $HTTP["url"] =~ "^/($|/)" {
    dir-listing.activate = "disable"
    } 
    
    $HTTP["url"] =~ "^/owncloud/data/" {
    url.access-deny = ("")
    }
    Diese Datei ladet ihr anschließend mittels FileZilla o.ä. hoch und speichert diese unter "/etc/lighttpd".
    Danach müsst ihr mit

    Code:
    $ sudo /etc/init.d/lighttpd force-restart
    das Config-File neu laden.
    Anschließend sollte euer Raspberry Pi mittels Browser über die normale IP-Adresse des Moduls erreichbar sein. Wenn es nicht funktioniert, probiert

    IP-Adresse/index.lighttpd.html

    Der Server ist nun bereit um PHP und HTML Seiten zu verarbeiten.
    Alle Seiten die ihr erstellt habt, müsst ihr unter "/var/www" speichern. Die Seiten sind anschließend über IP-Adresse/Seitenname + Endung zu erreichen.
    Was ich festgestellt habe ist, das PHP im Safe-Mode läuft. Das bereitet z.B. bei dem Dateiupload Probleme. Wenn ihr den Benutzer und die Gruppenzugehörigkeit eurer Uploadseite nicht auf www-data ändert, blockt PHP die Ausführung dieser Seite. Dies soll verhindern das dort ohne weiteres Schadcode etc. ausgeführt werden kann.
    Um den Benutzer zu ändern, nutzt ihr folgenden Befehl:

    Code:
    $ chown www-data.www-data /var/www/Dateiname + Endung
    Sobald ihr dies gemacht habt, werden auch PHP Files die ihr z.B. mit FileZilla unter dem Namen "xyz" hochgeladen habt, ausgeführt.
    Die Uploadseite sieht wie folgt aus. Wichtig ist, dass ihr euch in dem Pfad "/var/www" einen Ordner Namens "Uploads" macht (oder ein anderer Name aber dann müsst ihr das in dem PHP-File anpassen).
    Einmal die HTML-Seite:

    Code:
    <html>
    <head>
    <title>
    Raspberry Pi Webserver
    </title>
    </head>
    
    <h1>
    <font color="red">
    Raspberry Pi Webserver
    </font> 
    </h1>
    
    <body>
    <form action="Uploadpfad.php" method="post" enctype="multipart/form-data">
      <p>W&auml;hlen Sie eine Textdatei (txt, html usw.) von Ihrem Rechner aus:<br>
        <input name="file" type="file" size="50" maxlength="100000" accept="text/*">
      </p>
    <input type="submit" name="submit" value="Upload" />
    
    </br>
    </br>
    <a href="/index.html">Zurück</a>
    </body>
    </html>
    Und einmal das dazugehörige PHP-File, welches gleich genannt werden muss wie der rot markierte Bereich:

    Code:
    <html>
    <head>
    <title>
    Raspberry Pi Webserver
    </title>
    </head>
    
    <h1>
    <font color="red">
    Raspberry Pi Webserver
    </font> 
    </h1>
    
    <body>
    <?php 
    
    error_reporting(E_ALL); 
    ini_set("display_errors", 1); 
    
    if ($_FILES["file"]["error"] > 0) 
    { 
        echo "Error: " . $_FILES["file"]["error"] . "<br />"; 
    } 
    else 
    { 
        echo "Upload: " . $_FILES["file"]["name"] . "<br />"; 
        echo "Type: " . $_FILES["file"]["type"] . "<br />"; 
        echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; 
        echo "Stored in: " . $_FILES["file"]["tmp_name"]; 
        move_uploaded_file($_FILES["file"]["tmp_name"], 
        "/var/www/Uploads/". $_FILES["file"]["name"]); 
        echo "<p>Upload successful: " . $_FILES["file"]["name"] . "</p>"; 
    } 
    
    ?> 
    
    <a href="/Upload.html">Zurück</a> 
    
    </html>
    Achja.....das Raspberry Pi Bild von der HTML Seite gibt es hier:

    http://upload.wikimedia.org/wikipedi...y_Pi_Photo.jpg

    Umgang mit der Seite ist ganz einfach.....
    Browser öffnen, IP-Adresse/Namen von dem HTML-File eingeben, Datei über "Durchsuchen" auswählen, "Upload" drücken, im Ordner "/var/www/Euer Uploadordner" nachschauen, über den erfolgreichen Upload freuen

    Kleiner Nachtrag:
    Habe mal das dafür notwendige Config-File eingefügt.
    Für alle die gerne eine Cloud auf ihrem Raspberry laufen lassen möchten, ist ein Beitrag weiter unten eine Seite gelinkt wo die Installation sehr gut beschrieben wird.
    Anschließend muss das Config-File für lighttpd am Ende noch mit

    Code:
    $HTTP["url"] =~ "^/owncloud/data/" {
         url.access-deny = ("")
       }
    erweitert werden. Dies sorgt dafür das man nicht direkt auf den Ordner zugreifen kann wo die Daten liegen.

    Danke nochmal an Schumi, DanielSan und TheDarkRose für die Hinweise!
    Geändert von Kampi (13.07.2012 um 21:39 Uhr)
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    23
    Beiträge
    449
    Wie währs mit OwnCloud?

    • Ist OpenSource
    • Sieht super aus
    • Mehrbenutzerverwaltung (Auch mit Sharen von Files, Files öffentlich zugänglich machen etc)
    • Dateien Online bearbeiten
    • Kalender
    • Kontakte
    • Bildergalerie
    • Anbindung an Dateimanager auf Client problemlos möglich
    • Demo: http://demo.owncloud.org/
    • Homepage: http://owncloud.org/


    Viele Grüße
    -schumi-

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    32
    Beiträge
    647
    Sehr guter Beitrag!
    Damit kann ich auf jeden Fall was anfangen. Lighttpd kannte ich noch garnicht ich hab bis jetzt meine Webserver immer mit Apache aufgesetzt.
    Wie würdest du eine Datenbank (MySQL o.ä.) realisieren?
    Owncloud kannte ich auch noch nicht! Das kann ich sehr gut für ein aktuelles Projekt von mir gebrauchen.

    Gruß Daniel
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.08.2008
    Ort
    Hallein
    Alter
    26
    Beiträge
    802
    Würde auf dem Pi eher auf sqlite zurückgreifen!
    Kultuverein Metal Resurrection, für mehr Bands und Konzerte in Österreich (:

  5. #5
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Zitat Zitat von DanielSan Beitrag anzeigen
    Sehr guter Beitrag!
    Damit kann ich auf jeden Fall was anfangen. Lighttpd kannte ich noch garnicht ich hab bis jetzt meine Webserver immer mit Apache aufgesetzt.
    Wie würdest du eine Datenbank (MySQL o.ä.) realisieren?
    Owncloud kannte ich auch noch nicht! Das kann ich sehr gut für ein aktuelles Projekt von mir gebrauchen.

    Gruß Daniel
    Own-Cloud kann ich auch mal ausprobieren
    Bei LightTPD kannst du auch MySQL realisieren und auch andere Sachen.
    Ich meine ich hätte mal gelesen das Apache bisl zu für das Raspberry Resourcenfressend ist.
    Aber so wie ich das verstehe ist OwnCloud wirklich NUR eine Cloud. Der Vorteil an LightTPD ist halt auch das du das Raspberry Pi via Web steuern kannst (über PHP z.B.)
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.08.2008
    Ort
    Hallein
    Alter
    26
    Beiträge
    802
    Alsoooo: lighttp (das TPD schreibt man nicht groß!) ist ein reiner Webserver. Dieser wird benötigt um eben auch owncloud laufen lassen zu können. Genauso wie der Apache wird auch MySQL zu ressourcenfressend sein. Aber da gibts ja Abhilfe: sqlite, welches auch von owncloud unterstützt wird. Wenn man Dateien auf dem Pi ablegen möchte, oder einen stromsparenden Kalendar, ist Owncloud das richtige. Man kann ja nebenbei immer noch eigene PHP-Sachen laufen lassen um I/Os zu steuern.
    Kultuverein Metal Resurrection, für mehr Bands und Konzerte in Österreich (:

  7. #7
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Zitat Zitat von TheDarkRose Beitrag anzeigen
    Alsoooo: lighttp (das TPD schreibt man nicht groß!) ist ein reiner Webserver. Dieser wird benötigt um eben auch owncloud laufen lassen zu können. Genauso wie der Apache wird auch MySQL zu ressourcenfressend sein. Aber da gibts ja Abhilfe: sqlite, welches auch von owncloud unterstützt wird. Wenn man Dateien auf dem Pi ablegen möchte, oder einen stromsparenden Kalendar, ist Owncloud das richtige. Man kann ja nebenbei immer noch eigene PHP-Sachen laufen lassen um I/Os zu steuern.
    Ah danke für das richtig stellen
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.08.2008
    Ort
    Hallein
    Alter
    26
    Beiträge
    802
    Kein Problem, Server und so Zeugs, damit verdien ich mein Geld

    Hätte ich meinen Pi schon, wär ich hier eh noch aktiver ^^
    Kultuverein Metal Resurrection, für mehr Bands und Konzerte in Österreich (:

  9. #9
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Zitat Zitat von TheDarkRose Beitrag anzeigen
    Kein Problem, Server und so Zeugs, damit verdien ich mein Geld

    Hätte ich meinen Pi schon, wär ich hier eh noch aktiver ^^
    Ja wie man vielleicht merkt bin ich noch absoluter Linux-Neuling
    Ich hab davon leider noch gar keinen peil
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    32
    Beiträge
    647
    Also ich habe gerade mal auf mein Kubuntu 12.04 Lighttpd, php5, sqlite und owncloud installiert. Owncloud ist echt schick!

    Als kleine ergänzung für Lighttpd:

    Directory listing unterbinden:
    $HTTP["url"] =~ "^/($|/)" {
    dir-listing.activate = "disable"
    }
    Verzeichniss sperren: (Lighttpd kennt kein .htaccess)
    $HTTP["url"] =~ "^/owncloud/data/" {
    url.access-deny = ("")
    }
    Die beiden Sachen muss man in die /etc/lighttpd/lighttpd.conf schreiben. Einfach ganz am ende anhängen. Das sind zwei notwendige Schritte wenn man Owncloud verwenden möchte.
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

Seite 1 von 5 123 ... LetzteLetzte

Ähnliche Themen

  1. News und Infos zum Raspberry Pi
    Von Kampi im Forum Raspberry Pi
    Antworten: 19
    Letzter Beitrag: 08.02.2013, 16:09
  2. Raspberry PI Lieferzeit
    Von Thalhammer im Forum Offtopic und Community Tratsch
    Antworten: 9
    Letzter Beitrag: 01.08.2012, 17:12
  3. Verkaufe Raspberry Pi zu verkaufen
    Von FD im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 8
    Letzter Beitrag: 03.07.2012, 08:57
  4. Erste Lieferungen des Raspberry Pi
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 1
    Letzter Beitrag: 18.04.2012, 23:52
  5. Antworten: 27
    Letzter Beitrag: 28.05.2010, 11:23

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •