Boxpirates Wiki >>> PI Webserver: Unterschied zwischen den Versionen

Aus Boxpirates Wiki
Wechseln zu: Navigation, Suche
 
(Eine dazwischenliegende Version des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:lanp.png]]
+
[[Datei:lamp.png|right]]
  
 
= Webserver mit dem Raspberry Pi =
 
= Webserver mit dem Raspberry Pi =

Aktuelle Version vom 23. Oktober 2014, 19:00 Uhr

Lamp.png

Webserver mit dem Raspberry Pi

Webserver mit Apache2, PHP5, MySQL5, FTP

Als erstes die Grundinstallation durchführen.

FTP Installieren

FTP Zugriff einrichten:

  • sudo apt-get install proftpd
  • Abfrage mit Y/J beantworten
  • Im jetzt geöffneten Fenster -> Servermodus <- wählen und dann OK
  • Virtuellen User einrichten
  • sudo nano /etc/proftpd/proftpd.conf
  • Am Ende der Datei folgendes einfügen:
  • DefaultRoot ~
  • AuthOrder mod_auth_file.c mod_auth_unix.c
  • AuthUserFile /etc/proftpd/ftpd.passwd
  • AuthPAM off
  • RequireValidShell off
  • mit STRG + O Änderungen speichern, nächste Abfrage Enter und mit STRG + X Nano verlassen
  • cd /etc/proftpd/
  • sudo ftpasswd --passwd --name raspiftp --uid 1000 --gid 1000 --home /home/pi --shell /bin/false
  • Jetzt das Passwort vergeben
  • Jetzt kann man mit dem User raspiftp mit einem FTP-Client auf den Raspi zugreifen
  • Braucht man Root-Rechte für FTP, muss dem User Root des PI ein Passwort zugewiesen werden:
  • sudo su
  • passwd

Jetzt kann mit dem FTP Programm mit Root-Rechten per SFTP/SSH zugegriffen werden.

MySQL Installieren

MySQL Datenbank installieren:

  • sudo apt-get install mysql-server mysql-client php5-mysql
  • Root Passwort festlegen
  • sudo reboot

Apache2 Installieren

  • Apache2 installieren (die eigentliche Webserver Software)
  • sudo apt-get install apache2
  • Zum Testes am PC einen Browser öffen, und die IP-Adresse des Raspi Webservers eingeben
  • Wenn -> It works! <- erscheint ist die Installation der Webserver in Ordnung
  • Das Verzeichnis für die Web Dokumente ist /var/www

PHP Installieren

PHP5 installieren:

sudo apt-get install php5

PHPMyAdmin Installieren (Tool für MySQL)

Datenbanktool phpmyadmin installieren

  • sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
  • Im Fenster apache2 auswählen OK
  • Automatische Datenbankeinstellungen mit YES/JA bestätigen
  • Weitere einstellungen vornehmen
  • sudo nano /etc/php5/apache2filter/php.ini
  • extension=mysql.so
  • mit STRG + O Änderungen speichern, nächste Abfrage Enter und mit STRG + X Nano verlassen

Alexandernili 16:43, 19. Okt. 2014 (CEST)


Nginx-pushstream-logo.png

Installation Nginx der andere schnelle Webserver

Auf dem kleinen Wunderwerk, alias Raspberry Pi, läuft auch ein Webserver. Ich probierte den klassischen Apache 2 aus, wobei die Performance für mich nicht zufriedenstellend war. Somit entschied ich mich den Nginx Webserver zu installieren, welcher wesentlich runder läuft. Im Folgenden beschreibe ich, wie ihr diesen auf eurem Raspberry Pi installiert und einrichtet.

Voraussetzung: Raspbian oder vergleichbare Distribution installiert

1. Installation

Die Installation geht dank dem Paketmanager APT denkbar einfach.

sudo apt-get install nginx

2. Anpassen der Werte

Nun passen wir noch ein paar Werte bzgl. max. Prozesse an, so dass Nginx den Raspberry Pi nicht überlastet.

sudo sed -i "s/worker_processes 4;/worker_processes 1;/g" /etc/nginx/nginx.conf

sudo sed -i "s/worker_connections 768;/worker_connections 128;/g" /etc/nginx/nginx.conf

3. Start von Nginx

Jetzt noch Ngix starten, damit er auch einen Nutzen hat

sudo /etc/init.d/nginx start

Und das war’s schon.

Fertig ist der Nginx installiert.

Nun kann PHP (ich empfehle php5-fpm zu verwenden) und eine MySQL Datenbank wie unter jedem gewöhnlichen Debian Server nachinstalliert werden.

Ebenfalls ist es möglich Ruby on Rails zu installieren.

PHP installieren

4. PHP installieren

Zuerst installieren wir PHP mit ein paar Standard-Erweiterungen mittels des Paketmanagers APT.

sudo apt-get install php5 php5-fpm php-pear php5-common php5-mcrypt php5-mysql php5-cli php5-gd

5. PHP aktivieren in der Nginx config

Nun müssen wir PHP in nginx aktivieren. Dies machen wir, indem wir mittels eines Editors die folgende,

erste Passage durch die zweite ersetzten. In nano speichert man mittels STRG + X und darauffolgend Y.

sudo nano /etc/nginx/sites-available/default

              # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
              #
              #location ~ \.php$ {
              #	         fastcgi_split_path_info ^(.+\.php)(/.+)$;
              #	# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
              #
              #	# With php5-cgi alone:
              #	fastcgi_pass 127.0.0.1:9000;
              #	# With php5-fpm:
              #	fastcgi_pass unix:/var/run/php5-fpm.sock;
              #	fastcgi_index index.php;
              #	include fastcgi_params;
              #}

              # deny access to .htaccess files, if Apache's document root
              # concurs with nginx's one
              #
              #location ~ /\.ht {
              #	deny all;
              #}




              # pass the PHP scripts to PHP-FPM server listening on unix socket
              location ~ \.php$ {
                              try_files $uri =404;
               	       fastcgi_split_path_info ^(.+\.php)(/.+)$;
               	       fastcgi_pass unix:/var/run/php5-fpm.sock;
               	       fastcgi_index index.php;
               	       include fastcgi_params;
              }
              # deny access to .htaccess files
              location ~ /\.ht {
              deny all;
              }


6. Nginx anpassen für index.php

Damit die index.php direkt geladen wird, müssen wir in derselben Datei wie in Punkt 3 wieder die erste durch die zweite, folgende Passage ersetzten.

sudo nano /etc/nginx/sites-available/default

                          index index.html index.htm;




                          index index.html index.htm index.php;


7. Nginx Restart

Jetzt müssen wir nginx und PHP starten.

sudo /etc/init.d/nginx restart

sudo /etc/init.d/php5-fpm restart

Nun läuft nginx mit PHP auf unserem Raspberry Pi.

An dieser Stelle möchte ich noch darauf hinweisen das der Raspberry Pi bekanntlicherweise nicht der Leistungsstärkste ist und daher große Systeme,

trotz des schlanken Webservers nginx, wie WordPress nur bedingt gut laufen werden.


Reiter 22:49, 19. Okt. 2014 (CEST)