- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 46

Thema: Kleiner Webserver auf dem Raspberry Pi

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9

    Kleiner Webserver auf dem Raspberry Pi

    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:
    Bild hier  

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

    Bild hier  

    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

Ä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
  •  

Labornetzteil AliExpress