- chalblog - http://blog.is-a-geek.org -

NAS-4220: Firmware updaten und Optware, Apache mit PHP und MySQL installieren

NAS-4220: Firmware updaten und Optware, Apache mit PHP und MySQL installieren [1]Vor kurzem hat eine schon etwas ältere ICYBOX nas4220 den Weg in meinen privaten IT-Zoo gefunden. Grund genug sich Gedanken darüber zu machen, welche sinnvolle Aufgabe diese in Zukunft erfüllen könnte. Ich habe mich dazu entschieden, das NAS nach einer Frischzellenkur als Backup-Server mit einem vollwertigen Apache, PHP Unterstützung, MySQL-Server und PhpMyadmin einzusetzen.

In diesem Tutorial werde ich euch beschreiben, wie ihr eine neue Firmware einspielen könnt, Optware installiert, diverse Pakete hinzufügt und verschiedene Startscripts verwenden könnt.

Neue Firmware einspielen

Als Firmware muss die Version “IB-NAS4220-B” (2.6.3.2-20090424) geflasht sein, welche uns erlaubt zusätzliche Software zu installieren. Die auf dem Nas vorhandene Version findet man unter System > Information (Bild 1). Stimmt diese mit der von mir vorhin erwähnten überein, kann man diesen Abschnitt überspringen.

Sollte dies nicht der Fall sein, ladet euch die folgende Firmware herunter, welche in Maintenance > Firmware Upgrade (Bild 2) geflasht werden kann (das heruntergeladene Archiv nicht entpacken).

Download: upgradeimg_ibnas4220b_2.6.3.1-20090424.tar.gz [2]

NAS 4220 1 [3]

Bild 1

NAS 4220 2 [4]

Bild 2

 

Vorbereitungen

Bevor man beginnt, sollte man das Nas unter Maintenance > Factory Reset auf Werkseinstellungen (Bild 3) zurücksetzen und die Festplatte formatieren.

Die Laufwerkseinstellungen findet man in Maintenance > Disk Utility (Bild 4). Es ist unbedingt darauf zu achten, dass man als Dateisystem “ext3” wählt, da es ansonsten zu Problemen kommen kann.

Nach der Formatierung startet man das NAS neu (Bild 5) und leert den Browser-Cache. Hat man dies erledigt, aktiviert man unter den “Network Services” den SSH-Server (Bild 6).

NAS 4220 3 [5]

Bild 3

NAS 4220 4 [6]

Bild 4

NAS 4220 5 [7]

Bild 5

NAS 4220 6 [8]

Bild 6

 

Zusätzliche Softwarepakete

Ladet euch jetzt das von mir zusammengestellte Archiv herunter, welches alle benötigten Dateien für dieses Tutorial enthält.

Download: nas4220_aio_package.zip [9]

Als Zusatzpakete installieren wir die Paketverwaltung “Optware” und “Userscripts” um das Ausführen von eigenen Scripts beim Restart zu ermöglichen.

Es stehen zwei Versionen von “Optware” zur Auswahl: einmal mit dem Bittorrent-Client Transmission und einmal ohne diesen. Sollte die Box also nicht als Downloader dienen, ist es ratsam das Optware-Paket aus dem Ordner “Optware wo Transmission” zu verwenden, da man so Ressourcen sparen kann (Bild 7).

Die Dateien aus dem “Optware” oder “Optware wo Transmission”, die aus dem Ordner “Userscript” und die Datei aus “Zlibs” kopiert man in den Ordner …

\public\applications\new_software

… auf der Box, welcher über die normale Dateifreigabe erreichbar ist (Bild 8).

NAS 4220 7 [10]

Bild 7

NAS 4220 8 [11]

Bild 8

Danach startet man die Box neu (System > Turn Off Server). Sind die zuvor kopierten Files verschwunden hat alles geklappt.

Anschließend loggt man sich über SSH am NAS ein (z.B. mit Putty [12]) und verwendet dazu den Benutzernamen “root” und das Standardpasswort (sofern noch nicht geändert) “admin“.

Um die nächsten Schritte durchführen zu können, muss das NAS über eine Internetverbindung verfügen!

Zum Update der Paketliste und veralteten Pakete diese Befehle ausführen und als Antwort auf etwaige Abfragen die Standardwerte benutzen (also einfach Enter drücken).

ipkg update
ipkg upgrade

Nano, Apache, MySQL und PhpMyadmin installieren:

ipkg install nano mysql apache phpmyadmin

Vor der Konfiguration der Ports, Datenbank usw. wieder neu starten. Weitere installierbare Pakete findet ihr auf der Optware-Seite [13].

Konfiguration

Bitte führt die folgenden Schritte genau nach Anweisung/Reihenfolge durch und startet das NAS nur dann neu, wenn ihr in der Anleitung dazu aufgefordert werdet.

Userscripts

Die in diesem Abschnitt angegebenen Dateien befinden sich alle im Ordner “Scripts” meines Archives.

init: Diese Datei wurde von mir erweitert und kopiert die Konfiguration mit einem angepassten Port des internen Webservers in den NAS-Speicher. Danach wird der “thttpd” mit dieser neu gestartet und ist unter dem neuen Port (8080) erreichbar. Überschreibt mit dieser “init” die schon in “\public\applications\userscript” vorhandene.

thttpd.conf: Es handelt sich dabei um die Konfigurationsdatei des internen Webservers, welche durch die vorhin behandelte “init” kopiert wird. Fügt diese in den Ordner “/public/applications/userscript/scripts” am NAS ein.

webserver.sh:Das Bash-Script ist für den Start von Apache und MySQL zuständig und gehört ebenso in den Ordner “/public/applications/userscript/scripts“.

Apacheverzeichnis erstellen

Da wir den Webserver mit reichlich Daten füttern wollen, empfiehlt es sich auf der Festplatte ein Verzeichnis zu erstellen. Dies geschieht mit Hilfe der Network-Shares, wodurch man dann auch bequem Dateien über die Freigabe einspielen kann.

Erstellt eine mit dem “Share Name” “www” und notiert euch den in “Path” eingetragenen Wert (in meinem Fall /mnt/ide1). Damit wird auf der Festplatte ein Verzeichnis “www” erstellt, welches wir später als “DocumentRoot” in der Apache Konfigurationsdatei eintragen.

NAS4220 9 [14]

Bild 9

 

Apache Konfiguration

Damit wir die Einstellungen von Apache bearbeiten können verbinden wir uns wieder mit SSH auf die Box (User: root Standardpasswort: admin) und öffnen mit dem zuvor installierten Editor Nano die Konfigurationsdatei.

nano /opt/etc/apache2/httpd.conf

Dort passen wir den Pfad an, in dem später unsere Webseiten liegen werden. Ändert dazu folgende Zeilen …

.
DocumentRoot "/opt/share/www"
.
<Directory "/opt/share/www">
.

… so um, dass die Werte mit eurem notierten “Path” gefolgt von “www” übereinstimmen.

.
DocumentRoot "/mnt/ide1/www"
.
<Directory "/mnt/ide1/www">
.

Sucht die Zeile mit der Angabe des Listen-Ports und ändert dieses auf das Standardport 80.

Listen 80

Zum “DirectoryIndex” schreiben wir noch “index.php” dazu, um etwaige PHP-Startseiten automatisch anzeigen zu lassen.

<IfModule dir_module>
DirectoryIndex index.html, index.php
</IfModule>

Nachdem man am Ende der Datei folgende Zeilen eingefügt hat, kann man die Datei speichern und schließen (nano: speichern mit “Strg+o“, schließen mit “Strg+x”).

LoadModule php5_module libexec/libphp5.so
AddType application/x-httpd-php .php

MySQL Passwort setzen

Damit der Datenbankdienst auch wirklich gestartet ist, führen wir folgenden Befehl aus:

/opt/etc/init.d/S70mysqld start

Danach einen Befehl nach dem anderen (Zeile für Zeile) ausführen. In der dritten Zeile bitte den Wert “neuespasswort” auf euer gewünschtes Passwort ändern.

/opt/bin/mysql -u root
use mysql;
update user set Password = PASSWORD('neuespasswort') where User ='root';

Jetzt schließen wir die Datenbankbearbeitung …

exit

… und fahren mit der Einrichtung von PhpMyadmin fort.

PhpMyadmin

Wieder über SSH öffnen wir in Nano die Datei “config.inc.php”.

nano /opt/share/www/phpmyadmin/config.inc.php

Hier suchen wir von oben angefangen die ersten Zeilen, welche den Authentifizierungstyp enthalten (können mehrfach vorhanden sein!). In der Zeile mit dem Passwort fügen wir unser im vorhin erstelltes MySQL-Passwort ein.

$cfg['Servers'][$i]['auth_type']     = 'config'; // Authentication method (config, http or cookie)
$cfg['Servers'][$i]['user']          = 'root'; // MySQL user
$cfg['Servers'][$i]['password']      = 'MYSQLPASSWORT'; // MySQL password (only needed

Am Ende dieser Datei fügt noch folgende Zeilen an, um die Passwortabfrage in PhpMyadmin zu aktivieren (“MYSQLPASSWORT” wieder ersetzen!).

<?php
$cfg['blowfish_secret'] = 'MYSQLPASSWORT';
$i=0;
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
?>

Jetzt speichern und schließen wir diese Datei (nano: speichern mit “Strg+o“, schließen mit “Strg+x”).

Da wir unser Apacheverzeichnis verschoben haben, müssen wir auch den PhpMyadmin-Ordner dort reinkopieren (bei Abweichungen den Zielpfad anpassen):

cp -r /opt/share/www/phpmyadmin /mnt/ide1/www/

Letzter Restart und Anmerkungen

Den finalen Neustart erledigen wir in der SSH-Sitzung mit:

reboot

Nach dem Restart ist zu beachten, dass man das Webinterface ab sofort nur mehr über das Port 8080 erreichen kann.

http://NASIP:8080

Ruft man im Browser die NAS-IP ohne Portangabe auf, sollte “It works!” von Apache zu sehen sein. Die PHP Funktionalität kann man testen, indem man einfach die Datei “index.php” im Ordner “PHP Tester” meines Archives in den “www”-Ordner am NAS kopiert.

Das Webinterface von PhpMyandmin ist unter der folgenden Adresse erreichbar:

http://NASIP/phpmyadmin

Sollten sich in der Anleitung Fehler eingeschlichen haben, könnt ihr gerne ein Kommentar hinterlassen.

 

Viel Spaß mit eurem WebserverNAS!