Sonntag, 24. August 2014

Raspberry Pi: Webserver mit apache und php einrichten

Der Pi eignet sich wunderbar als Webserver, da er wenig Strom verbraucht und daher für einen 24/7-Betrieb bestens gewappnet ist. Da ich raspbian (ein auf den Pi angepasstes Debian-Derivat) als OS verwende, habe ich die Auswahl zwischen zwei der bekanntesten Webserver: Apache und nginx. Der Vorteil von nginx gegenüber apache ist der Performance-Gewinn auf dem Pi, da er wesentlich schlanker aufgebaut ist. Ich werde in diesem How-To allerdings apache in Verbindung mit php5 (aktuell ist momentan PHP 5.4) installieren und grundkonfigurieren, da apache erheblich kompatibler und dadurch universeller einsetzbar ist, als es nginx ist. Wer also Plugins und darauf aufbauende weitere Tutorials verfolgen möchte, um einen Einstieg in die Webserver-Welt zu tätigen, ist mit apache vorerst besser beraten.
Zuerst müssen die Paketquellen mit #sudo apt-get update aktualisiert werden. Danach kann die Installation erfolgen. Dazu führt Ihr folgende Befehle in der Kommandozeile aus und bestätigt diese mit einem Druck auf [Y] bzw. [J]:

#sudo apt-get install apache2 php5 libapache2-mod-php5

Über #groupadd www-data wird  die Gruppe www-data angelegt, falls nicht schon durch die Installation geschehen. Über #usermod -g www-data www-data wird die Gruppe www-data durch den user www-data ergänzt. Nun müssen über #sudo nano /etc/apache2/sites-enabled/000-default die default-Settings angepasst werden. Dabei wird der folgende Part in der Datei angepasst:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride
none << in ALL ändern
Der Dienst muss nun via #sudo service apache2 restart neugestartet werden. Ist die Datei korrekt abgeändert worden, sollte dies mit einem OK quittiert werden und der Prompt sollte erneut blinken. Wollt ihr die Installation von PHP checken und z.B. den Versionsstand und aktivierte/deaktivierte Optionen prüfen, könnt Ihr im Verzeichnis /var/www eine Datei anlegen, die phpinfo.php heißt und den Aufruf der php-info ermöglicht. Zuerst wechselt dazu mit #cd /var/www in das Verzeichnis und erstellt mit #sudo nano phpinfo.php die Datei phpinfo.php. In dieser fügt ihr folgendes ein, um die aktuelle PHP-Konfiguration via Webinterface über http://[IP]/phpinfo.php zu erhalten:

<?php
phpinfo();?>

Nun noch nano mit [CTRL] + [X] verlassen und im Prompt die Abfrage nach dem Speichern mit [J] verlassen. Über einen Webbrowser sollte die php-Konfiguration nun abrufbar sein.


Nun könnt ihr die html-Seiten anpassen und den Webserver nach euren Bedürfnissen umgestalten.

Freitag, 22. August 2014

Raspberry Pi: nemex einrichten


Wenn man spontan eine Idee hat, die man nicht nur schriftlich, sondern auch multimedial festhalten möchte, die Daten allerdings auf der eigenen, vertrauenswürdigen Infrastruktur ablegen möchte, ist nemex genau das kleine Helferlein, was vielleicht noch gefehlt hat.
Unverkennbar: Das nemex-Logo

Nemex ist ein wunderbares Tool, um spontane Ideen auf moderne Art und Weise festzuhalten. Der Konfigurationsaufwand ist minimal und das Toolkit im Zip-Folder kommt mit einer wunderbaren Markdown-Funktion und sehr granular personalisierbarem Design trotz einer verhältnismäßig einfachen und kurzen Installation. Zudem wird für eine vollwertige Installation keine Datenbank wie bei den meisten CRM und CMM-Systemen benötigt. 


Zur Installation ladet Ihr Euch einfach die aktuelle Version von der Nemex-Website runter, bewegt sie per FTP auf euren Webserver und ändert in der config.php-Datei Passwort und Nutzernamen. Danach solltet Ihr die Dateirechte des projects-Ordners auf 777 (Vollzugriff für jeden) stellen.

Auch mobil wartet nemex mit einem frischen Design und einem passenden Layout auf. Minimalistisch, aber funktional und dabei wirklich schick ist die mobile Version von nemex geraten. Entwickelt wurde nemex übrigens in Darmstadt in Deutschland.



Vor der Einrichtung von nemex selbst muss ein Webserver (apache2, nginx ...) installiert sein und php muss mindestens in der Version 5.3 vorliegen. Wenn das alles problemlos installiert wurde, muss im Webserver-Ordner (je nachdem ob apache2 oder nginx verwendet wurde) die Berechtigung verändert und über 

#sudo wget https://github.com/neonelephantstudio/nemex/archive/master.zip 

das Zip-Verzeichnis geladen werden. Ist dieser Schritt ebenfalls vollbracht, kann dieses mit 

#sudo unzip master.zip 

im Verzeichnis entpackt werden. Die Berechtigungen des projects/-Ordners müssen noch angepasst und ggf. die Referenzierung auf die index.php-Datei editiert werden. Webserver neustarten (z.B. für nginx mit #sudo /etc/init.d/nginx stop und #sudo /etc/init.d/nginx start und Euer digitales Notizbuch ist online! Wenn es auch von außen erreichbar sein soll, müssen natürlich Portweiterleitungen auf Router/Firewall eingerichtet und im besten Fall Dyn-DNS konfiguriert sein.

Das wunderbare Bildmaterial aus diesem Post stammt aus dem press-kit von nemex. Es ist ebenfalls unter der gpl v3 lizensiert und somit auch frei verfügbar.

Viel Spaß beim Ideen sammeln :-)
- nugaxstruxi

Edit 28.08.2014 / 18:09


Das Verzeichnis kann auch direkt via #sudo wget http://nemex.io/nemex.zip geladen werden. Der Download entspricht dem "nemex 0.99 (ZIP)"-Link auf der Entwicklerseite.