Wiele pytań użytkowników dotyczy zwykle sposobu udostępnienia plików w sieci. Mając swój własny router czasami mamy ochotę udostępnić pliki znajomym lub samemu mieć dostęp do nich z dowolnego miejsca. Istnieje kilka projektów realizujących takie rzeczy, a jednym z nich jest
ownClound.
Projekt zawiera moduły udostępnienia plików, moduł muzyczny (odtwarzacz mp3 przez www), kalendarz, kontakty, przeglądarkę zdjęć i dokumentów, notatnik oraz kilka innych aplikacji. Dostępne są także aplikacje na urządzenia mobilne. Dane można udostępniać przez www lub WebDav. Cały czas jest rozwijany i dodawane są nowe funkcjonalności. Sam projekt napisany jest w php, więc jest łatwy w przeróbkach. Jeżeli ktoś chce zaznajomić się z projektem - dostępna jest wersja demo pod adresem
http://demo.owncloud.org/Uwaga: poniższy poradnik został zaktualizowany i opisuje instalacje w OpenWrt Attitude Adjustment (12.09).
Instalacja w OpenWrtNiestety nie obędzie się bez
extroota, bo całość (serwer www, php, projekt) zabierze ok 100MB. Niezbędna jest instalacja serwera http (wykorzystany zostanie lighttpd) oraz php z paroma modułami. Do przechowywania danych wewnętrznych zostanie wykorzystana baza sqlite. Sam projekt i dane będą umieszczone zostaną w katalogu /www a serwer będzie nasłuchiwał na porcie 80 - jeżeli mamy gui zarządzające routerem należy odpowiednio zmodyfikować konfigurację serwera.
1. Zaczynamy od instalacji serwera www i php
opkg update
opkg install lighttpd lighttpd-mod-fastcgi
opkg install php5-fastcgi php5-mod-sqlite3 php5-mod-session php5-mod-hash php5-mod-pdo-sqlite
opkg install php5-mod-mbstring php5-mod-ctype php5-mod-simplexml php5-mod-dom
opkg install php5-mod-json php5-mod-xml php5-mod-zip php5-mod-gd php5-mod-iconv zoneinfo-core
2. Konfigurację php5 można na chwilę zostawić domyślną*, choć później należy ją dostroić (np ustawiając ilość dostępnej pamięci RAM). Natomiast do serwera www należy dodać obsługę fastcgi i php. Kompletny plik konfiguracyjny (/etc/lighttpd/lighttpd.conf) może wyglądać następująco:
server.modules = (
"mod_fastcgi"
)
server.network-backend = "write"
server.document-root = "/www/"
index-file.names = ( "index.php", "index.html" )
mimetype.assign = (
".gif" => "image/gif",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".png" => "image/png",
".svg" => "image/svg+xml",
".css" => "text/css",
".html" => "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".txt" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml"
)
server.port = 80
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
server.pid-file = "/var/run/lighttpd.pid"
server.upload-dirs = ( "/tmp" )
fastcgi.server = (
".php" => ((
"host" => "127.0.0.1",
"port" => 1026,
))
)
Jeszcze raz - należy pamiętać o zmianie portu na inny, jeżeli mamy środowisko graficzne do zarządzania routerem.
3. Uruchamiamy całość
/etc/init.d/php5-fastcgi start
/etc/init.d/lighttpd start
4. Czas na test sprawdzający czy serwer i php działa. Tworzymy plik /www/test.php
echo "<?php phpinfo(); ?>" > /www/test.php
Teraz należy odwołać się do serwera np.
http://192.168.1.1/test.php. Jeżeli wyświetli się strona informacyjna php - do tej pory wszystko jest ok.
5. Instalujemy projekt, tworzymy katalogi w których przechowywane są dane:
rm /www/test.php
cd /www
wget http://download.owncloud.org/community/owncloud-5.0.15.tar.bz2
bzcat owncloud-5.0.15.tar.bz2 | tar xvf -
rm owncloud-5.0.15.tar.bz2
6. Znów należy wczytać adres routera w przeglądarce:
http://192.168.1.1/owncloud. Powinien pojawić się monit o utworzenie hasła i loginu administratora. Wprowadzamy, potwierdzamy i gotowe*.
Szczegółowe informacje o planach rozwojowych i możliwościach pakietu:
http://owncloud.org/features/*) powyższy opis nie uwzględnia szczegółowych zmian w php dla systemu OpenWrt. M.in. należy ustawić odpowiednie limity wykorzystania pamięci, zmienić opcję debug itd. Niektóre z tych informacji zawarte są także na stronie projektu:
http://doc.owncloud.org/server/5.0/admi ... linux.html