NAS-4220: Firmware updaten und Optware, Apache mit PHP und MySQL installieren
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
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).
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
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).
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) 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.
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.
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!
23 Kommentare zu “NAS-4220: Firmware updaten und Optware, Apache mit PHP und MySQL installieren”
Kommentar abgeben zu Chal
Kategorien
- Allgemein (9)
- Anderes (6)
- DIY Anleitungen (8)
- Downloads (22)
- HTC (16)
- Linux (35)
- Server (29)
- Windows (8)
Neueste Beiträge
- Tor Relay auf Ubuntu 14.04 zur Verfügung stellen
- Sogo Upgrade von Version 2 auf Version 3 auf Ubuntu 14.04
- Download: Lustige und sinnlose Feiertage im November 2012 als ICS Datei
- Skype-Symbol auf Windows 7 aus der Taskleiste verschwinden lassen
- Statische IP ab Ubuntu Server 12.04 LTS Precise Pangolin
Folge uns auch via
Archiv
WERBUNG
Featured Video
Kalender
M | D | M | D | F | S | S |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Meta
Unterstützt mich
futurezone.at – Newsfeed
- Was kommt zuerst: Kernfusion oder Mars-Kolonie? 26. Dezember 2024
- Erneute Störung bei Unterseekabel zwischen Estland und Finnland 25. Dezember 2024
- NASA-Sonde kam der Sonne an Heiligabend näher als je zuvor 25. Dezember 2024
- Microsoft will Copilot mit ChatGPT-Alternativen ausstatten 25. Dezember 2024
- Mitmachen und Sonos Beam und Era 100 gewinnen 25. Dezember 2024
Hilfe?!?! Bei mir geht das net!
Die NAS-IP ohne Portangabe zeigt nicht “It works!”!?!?
Und nun?
zeigt http://NASIP:8080 das webinterface?
koennte es sein, dass http://NASIP:8000 it works zeigt?
sollte dies der fall sein hast du in der apache konfig vergessen das listen port zu ändern.
falls das nicht die problemloesung sein sollte meld dich einfach noch mal.
sorry. hatte jetzt wenig zeit (nachwuchs).
habe es gerade nochmals versucht… funktioniert leider nicht.
http://NASIP:8080 zeigt das webinterface.
nasip springt jedoch auf nasip/login.cgi und zeigt mir dann natürlich einen seiten-ladefehler.
bei nasip/phpmyadmin kommt der seiten-ladefehler sofort.
????
IB-NAS4220-B> /opt/etc/init.d/S80apache start
httpd: Syntax error on line 474 of /opt/etc/apache2/httpd.conf: Cannot load /opt/libexec/libphp5.so into server: /opt/libexec/libphp5.so: cannot open shared object file: No such file or directory
IB-NAS4220-B>
????
ich habe jetzt noch folgendes gemacht:
ipkg install php-apache
/opt/etc/init.d/S80apache start
/opt/etc/init.d/S70mysqld start
jetzt komme ich schon mal auf nasip/phpmyadmin
auf nasip komme ich jedoch immer noch nicht!?
woher nimmt der dann /login.cgi????
das mit dem /login.cgi ist nur im firefox.
im ie sieht es so aus:
Index of /
.DS_Store
phpmyadmin/
hatte genau dieses problem auch. alles was irgendwie mit dem nas zu tun hat im browser schliessen und dann den kompletten browsercache leeren dann geht er nicht mehr auf die …cgi
das hab ich jetzt schon gemacht.
er startet aber die index.html nicht automatisch.
Index of /
intex.html
.DS_Store
phpmyadmin/
kann sie jedoch auf der angezeigten seite auswählen
sorry dass ich immer nur basic tipps geben kann bin aber zur zeit im urlaub und ausland. hast du den punkt mit dem directoryindex ausgeführt, welcher dem apache mitteilt, welche dateien er als startseite verwenden soll?
DirectoryIndex index.html, index.php, index.htm
deine datei heisst uebrigens in(t)ex.html
ja, hab ich.
komme schon seit tagen nicht mehr weiter.
hab naechste woche mein nas wieder zur verfügung dann kann man sich die sache ja mal naeher anschauen
Leider wurde wohl nichts mehr aus dem nachschauen wa…bei mir funzt das nämlich auch nich -.-
der vorposter hat sich dann nicht mehr gemeldet was genau funktioniert bei dir nicht?
Ich hab genau nach dieser Anleitung gearbeitet und zu belohnung hat mir das Teil mein Netzwerk zerschossen.Ich muss die Box wieder resetten.Nebenbei.Gibt eine Möglichkeit, die Login Seite an sich zu modifizieren (Seitendisign ändern?!)
wie kann dir das teil dein netzwerk zerschiessen? hast du eine fixe ip verwendet, welche schon vergeben ist? oder den dhcp server aktiviert?
es gibt eine moeglichkeit das design zu aendern aber dann musst du schon selbst ein design erstellen. manche aenderungen bleiben jedoch beim neustart nciht bestehen und muessen dann beim start mit hilfe eines scripts wieder an die richtige stelle kopiert werden. ob da die designfiles dazugehoeren muesstest du ausprobieren indem du z.b. einfach mal ein paar buchstaben auf die loginseite machst und restartest.
wie weit kommst du denn im tutorial wo alles noch so funktioniert wie beschrieben?
Ich habe die Einstellungen so gemacht, wie es in der Anleitung stand.Nachdem ich den Listenport umgestellt hatte.Irgendwann sollte ich den Apache und die MySQL starten…von da an war der ofen aus und mein Rechner war ausgesperrt.Dann habe ich die Box neugestartet und versucht, über Port 80 oder 8080 rein zu gegen, wie beschrieben. Nix zu machen. Die Box war nicht mehr erreichbar, von keinem Rechner, – auch nich über IP ohne Porteingabe…
so…ich habe die Lösung und ich habe auch die Fehler gefunden, warum es nicht geklappt hat…
httpd.conf
Das Fehlerhafte Modul ausklammern durch dieses Zeichen ‘#’
#LoadModule ext_filter_module libexec/mod_ext_filter.so
Dieses File ‘LoadModule php5_module libexec/libphp5.so’ wird am ende der LoadModule angehängt in Zeile 118
Aus diesem Bereich:
DirectoryIndex index.html, index.php
wird dieser Bereich:
DirectoryIndex index.php
Die PHP wird sofort geladen, wenn man die NAS.IP aufruft.
Wenn man nur HTML verwendet, kann man die Index.php in Index.html umbenennen.
Das hat aber dann zur folge, das PHPMYADMIN nicht mehr automatisch aufgerufen wird, wenn man NAS.IP/phpmyadmin eingibt.
Diesen Eintrag ‘AddType application/x-httpd-php .php’ habe ich an Zeile 373 eingefügt.
Wenn diese Einstellung gemacht wurden, startet der Apache automatisch die Index.php oder Index.html (falls eingetragen). Man kann natürlich auch nur Index.html oben eintragen und muss,damit die Index.php gestartet wird, in der Index.html einen Referr mit Verweisung auf die PHP eintragen.Das funst wunderbar. Wer auch immer diese Anleitung gemacht hat, ich danke ihm.
Folgendes noch…bitte nicht diese Anleitung mit NANO machen, sondern WinSCP und Putty runterladen, das geht damit viel viel einfacher 😀
vielen dank für dein kommentar werde wenn ich von den weihnachtsferien wieder zurück bin die anleitung nochmal testen und anpassen.
das mit dem editor: ich glaube das ist eher ansichtssache. man kann auch vi verwenden welcher schon drauf ist.
Nachtrag:
Das Teil rennt…die MySQL is natürlich nich besonders schnell aber sie funst.
Nachdem ich auf dem Webinterface des NAS selber war das Teil shutdownen wollte, konnte er die return.cgi nich finden. In der obigen adresse tauchte dann auch die NAS.IP ohne Port auf…das erklärt, das er die CGI nich finden konnte, warum aber nur bei dieser einen Datei?
LG
Thema Editor: Jedem das Seine ;D
Hallo. Ich hoffe auch eure Hilfe. Bei mir funktioniert der “new_software” ordner nicht. die permissions sind mit chmod auf 777 gesetzt aber das optware.tgz wir nicht gelöscht beim neustart.
ich habe darauchfhin auch mal versucht es manuell in den ordner applications/optware zu kopieren und die init manuell auszuführen. da macht die box auch was mit fingerprints und so weiter aber am ende schlägt der ipkg fehl: not found.
ich habe die neuste Firmware, Raid1 mit ext2.
Danke für alles ideen
Hallo,
ich scheitere an dem Punkt IPKG Update
“IB-NAS4220-B> ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ts72xx/cross/stable/Packages.gz
An error ocurred, return value: 1.
Collected errors:
ipkg_download: ERROR: Command failed with return value 1: `wget –passive-ftp -q -P /opt/ipkg-wapgah http://ipkg.nslu2-linux.org/feeds/optware/ts72xx/cross/stable/Packages.gz‘
IB-NAS4220-B> ipkg upgrade
Nothing to be done
Successfully terminated.
IB-NAS4220-B> ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ts72xx/cross/stable/Packages.gz
An error ocurred, return value: 1.
Collected errors:
ipkg_download: ERROR: Command failed with return value 1: `wget –passive-ftp -q -P /opt/ipkg-NUtm5J http://ipkg.nslu2-linux.org/feeds/optware/ts72xx/cross/stable/Packages.gz‘
IB-NAS4220-B>” was mache ich da falsch ?
MfG
Guten Abend,
auch wenn das Thema schon etwas älter ist, der Blog aber noch gepflegt wird, mal noch eine Rückfrage hierzu:
Haben die Box bisher nur als Massenspeicher genutzt und kam nun mit Freunden auf die Idee einen Webserver darauf aufzusetzen – wurde bisher nur als ftp genutzt.
Habe die Anleitung befolgt, die Datenbanken starten soweit auch. Wollte nun noch wordpress zusätzlich installieren, da bekomme ich nun immer die Meldung das die Datenbanken nicht laufen würden.
Haben Sie eine Idee oder einen Tipp für mich? Komme nun gar nicht weiter.
Danke im Voraus!
Marcel
Hallo,
Habe heute meine NAS Box wider in betrib genommen jetzt habe ich das kleich pobhblhm
komme auf das web interfes drauf aber aber bekommen weder pher ftp eine index.php noch index html drauf keine reschte dar für.
und wen ich auf poht 80 gehe pasitrt nicht.