Așadar, după ceva timp, am reușit să pun la punct serverul. Am zis să fac tutorialul ăsta pentru că sigur voi uita, în timp, detaliile, și mi-e mai simplu să le am într-un articol.
Pe scurt, am vrut să am totul unificat în casă. Să pot accesa prin rețea filme la calitate foarte bună, să pot face filesharing cu băieții care așteaptă materialele sau cei care îmi dau la montaj. Nu este un server propriu zis pentru că n-are backup, n-are RAID sau chestii de genul.
Dar ultima dată când m-am lovit de recuperarea de pe RAID nu au stat lucrurile prea bine. Așa că evit orice fel de RAID. Bine, a mai avansat tehnologia, la NAS-uri e mult mai bine. Poate pe viitor ăsta va fi făcut. Momentan, e suficient.
De unde am început?
Am avut un HDD luat de pe un MAC pe care l-am dat de colo colo. Am avut un adaptor de HDD cu alimentare și mai vechi. Am mai luat un cititor căruia i-am pus un microSD.
L-am formatat EXT3 cu Partition Magic, cred. Am mai găsit și alte programe, inițial am făcut cu altul, dar… am uitat numele lui. Orice știe EXT2 sau EXT3 e binevenit.
Cu cât e mai rapid dispozitivul, cu atât mai bine. Va fi făcut un swap pe el.
Am băgat un router ASUS de care n-am fost foarte mulțumit inițial, dar după ne-am înțeles bine după ce i-am dezactivat firewall-ul și majoritatea aplicațiilor pe care le avea de la Asus. Bine, aveam și o versiune de Merlin care nu suporta mare lucru.
Ce greșeli am făcut?
Stau foarte prost cu răbdarea, nu pot să citesc documentație până la capăt. Așa că… mi-am luat-o de fiecare dată. În plus, ce nu e legat de muncă le fac… extra, când sunt obosit. Nu ma pot concentra perfect. Iar când e sistem de operare nou… prefer să dau un restart decât să caut comanda de reload.
Routerele Asus folosesc Optware. E alternativă la Entware. Aici vor apărea și multe conflicte. Optware nu e actualizat mereu, pe când Entware e mai des actualizat. Dacă vreți fișiere în cloud trebuie să băgați și altceva: nextcloud sau să continuați cu Optware pentru a putea folosi aplicațiile de la Asus.
În documentația lor scrie clar:
Important: Asus’s DownloadMaster is based on Optware, and therefore is NOT compatible with Entware. You will have to uninstall DownloadMaster and look at the alternatives provided by Entware.
Abia ieri am citit asta. Evident că le aveam instalate pe un alt HDD și dădeau conflict. Practic, instalam, iar la boot îmi lua ca primară cealaltă unitate de stocare de pe router.
Așadar, pe al 2 lea HDD aveam cele de mai jos. Uite așa, pe scurtătura(symlink) pentru opt aveam asusware, când eu știam că am pus entware.
Cu treaba asta m-am luptat câteva zile până am citit paragraful acela.
În principiu, ce este mai jos este compatibil cu orice router de la Asus. Cel puțin, din ce am văzut pe unde am tot colindat zilele astea. D-asta și schițez tutorialul ăsta ca să nu mai caut de nebun data viitoare.
Instalați Asus Merlin
Practic, trebuie să verificați dacă router-ul vostru este compatibil și ce erori pot apărea. Uitați-vă la changelog dacă vedeți ceva suspect. Pentru al meu erau ceva erori la vechiul firmware pe care le-am trecut cu vederea.
Instalați Entware
Înainte de a instala Entware trebuie să activați SSH-ul ca să vă puteți loga pe router.
Găsiți opțiunea la Administrare -> Sistem. Te poți loga ori cu SSH, ori cu parolă. Cum ți-e mai comod.
Nu uita că trebuie să bifezi și opțiunea pentru a putea executa fișiere.
Dacă vreți să puneți un server web o să aveți nevoie de entware. Dacă nu, chestii de torrent, Samba și alte bălării le aveți direct în administrare.
Practic, de acolo avem nevoie de următoarele:
cd /tmp
wget -c -O entware-ngu-setup.sh http://bit.ly/2xZTaVp
chmod +x ./entware-ngu-setup.sh
./entware-ngu-setup.sh
Apoi alegeți cât aveți nevoie pentru swap. Eu am ales 2 GB pentru că oricând e nevoie de mai multe resurse.
După aceea va trebui să instalați serverul web.
Pentru că am avut ceva erori cu Entware a trebuit să pun Optware. Sincer, după ce le-am testat pe ambele, prefer Entware. La Optware m-am trezit cu ceva buguri și consumă mai multe resurse. Fiind vorba doar de un fișier, nu mi-am bătut capul.
Diferența între Optware și Entware este la comenzi. Practic, în loc de opkg vom folosi ipkg. Iar dacă băgați Lighttpd o să fie un pic schimbate comenzile.
Comanda e cea de mai jos, puteți să mai puneți sau să mai scoateți din module. Pentru mine, necesare sunt ultimele 3.
opkg install php7 php7-fastcgi php7-mod-dom php7-mod-json php7-mod-mbstring php7-mod-sqlite3 php7-mod-xml libxml2 lighttpd lighttpd-mod-fastcgi php7-mod-curl php7-mod-hash php7-mod-intl
Nu vă oprește nimeni să instalați mariaDB, nginx sau altceva, dacă aveți nevoie. Eu, momentan, sunt ok doar cu PHP7 și lighttpd.
Setăm folderele de upload pentru lighttpd:
sed -i 's/#server.port = 81/server.port = 81/g' "/opt/etc/lighttpd/lighttpd.conf"
sed -i "/server.upload-dirs*/cserver.upload-dirs = ( \"/opt/tmp\" )" "/opt/etc/lighttpd/lighttpd.conf"
Dăm enable la PHP.
cat >> /opt/etc/lighttpd/conf.d/30-fastcgi.conf << EOF
server.modules += ( "mod_fastcgi" )
fastcgi.server = ( ".php" =>
( "localhost" =>
( "socket" => "/tmp/php-fcgi.sock",
"bin-path" => "/opt/bin/php-fcgi",
"max-procs" => 1,
"bin-environment" =>
( "PHP_FCGI_CHILDREN" => "2",
"PHP_FCGI_MAX_REQUESTS" => "1000" )
)
)
)
EOF
Apoi dăm restart la server:
/opt/etc/init.d/S80lighttpd restart
De aici nu ne mai rămâne decât să setăm permisiunile pentru firewall ca să aveți fișierele vizibile din exterior.
Folosim nano pentru a adăuga iptables.
nano /jffs/scripts/firewall-start
#!/bin/sh
iptables -I INPUT -p tcp --destination-port 81 -j ACCEPT
Dăm permisiuni pentru fișierul de la jffs.
chmod a+rx /jffs/scripts/firewall-start
/jffs/scripts/firewall-start
Puteți urca fișierele și stați cu ochii pe resurse. Dispar imediat de pe routere. 🙂
Fișierele le aveți disponibile aici:
În viitorul apropiat o să mă joc și cu Transmission sau vedem ce variantă găsesc. Vedem ce uptime voi avea…
Cătălin a zis
Eu sunt mulţumit de litespeed.. Bine nici nginx nu este mai prejos, dar mno, litespeed este mult mai stabil. Şi se pare că blogul tău se încarcă greu la mine, sau cel puţin mai greu decât eram obisnuit. Pe pingdom îmi arată 2.87 secunde.
Marius Cucu a zis
Sa nu fie de la reclame 🙂
Anyway, nu am schimbat decat clasa de IP-uri, nu serverul.
vasile a zis
Bravo! Cam neclar, da bun si asa, acum ai zis ca nu ai rabdare, intelege toata lumea 😉
Marius Cucu a zis
Ce nu este clar? 🙂
Ah, am mai descoperit câte ceva: pe lângă swap pe stick mai face și alte minunății. Practic, până îmi vine card reader-ul nou… îl folosesc pe ăla ca intermediar. Dacă am scos stick-ul cu serverul… la câteva minute pică internetul. Verifică DNS-uri și o grămadă de chestii pe kernel. 😀 Probabil, în perioada următoare, o să îi pun un SSD ca stocare.
Ba nu. E ceva flood. 🙂
vasile a zis
Hai ca pana la urma m-am decis, o sa iau un AC86U de pe Gearbest… si 3 IP camera, apoi o sa incerc si eu experienta ta 😉
Marius Cucu a zis
Camere inca nu am pus.
Marius Cucu a zis
De fapt, nu era flood, ci bug. Update de firmware azi. Sunt deja ud cu Merlin 🙂 – FIXED: Potential buffer overrun in httpd
The Gadgetist a zis
Confirm ca aveai viața mai ușoară cu un NAS Synology. Dar și mintea era mai odihnită.
Marius Cucu a zis
Router oricum îmi trebuia. NAS ul mă ducea mult mai mult