Szukałem ostatnio jakiegoś sposobu na zintegrowanie terminalu pod DSM, trochę się nakombinowałem ale całość działa dość sprawnie. Opis będzie dotyczył programu Shell In A Box: http://code.google.com/p/shellinabox/. Opis instalacji znalazłem na forum anglojęzycznym http://forum.synology.com/enu/viewtopic.php?f=27&t=42093. Przytoczę tutaj procedurę, żeby wszystko było w jednym miejscu.
Potrzebujemy bootstrap do instalacji pakietów ipkg. Instalujemy paczki potrzebne do skompilowania programu ze źródeł.
- Kod: Zaznacz cały
ipkg install textutils
ipkg install openssl
ipkg install gawk
ipkg install gcc
ipkg install make
Przechodzimy do katalogu /tmp, do którego ściągamy i rozpakowujemy źródła programu:
- Kod: Zaznacz cały
cd /tmp
wget http://shellinabox.googlecode.com/files/shellinabox-2.10.tar.gz
tar xvzf shellinabox-2.10.tar.gz
Następnie przechodzimy do katalogu z rozpakowanymi źródłami:
- Kod: Zaznacz cały
cd /tmp/shellinabox-2.10
Wykonujemy kolejno polecenia:
- Kod: Zaznacz cały
./configure
make
make install
Program został zainstalowany. Teraz czas na integrację programu z DSM.
Ściągamy moją paczkę:
- shellinabox_dsm-0.2.spk http://www.multiupload.com/3ZN14AV2EW
Instalujemy przez Centrum Pakietów i voila!
Opiszę pokrótce co robi moja paczka. ShellInABox udostępnia swoją usługę poprzez autonomiczny serwer www na porcie 4200. Serwer dostępny jest tylko przez SSL z certyfikatem głównym naszego synka. Potrzebny jest do tego plik certificate.pem, który to tworzony jest przez połączenie plików server.crt i server.key.
- Kod: Zaznacz cały
cat /usr/syno/etc/ssl/ssl.crt/server.crt /usr/syno/etc/ssl/ssl.key/server.key > /var/packages/ShellInABox_DSM/certificate.pem
Procedura generowania pliku certificate.pem jest wykonywana automatycznie podczas instalacji paczki spk. W przypadku zmiany certyfikatów naszego nasa, trzeba wykonać powyższe polecenie albo zainstalować paczkę jeszcze raz. Serwer nie jest uruchomiony na stałe, włączany jest tylko w razie potrzeby. Klikając ikonę terminalu w panelu DSM uruchamiany jest skrypt shellinabox.cgi, który sprawdza czy jesteśmy zalogowani jako admin, po czym uruchamia serwer tylko dla tej sesji. Zamykając połączenie czy to wpisując exit czy crtl+c, serwer automatycznie jest wyłączny. W przypadku zamknięcia okna z terminalem krzyżykiem w przeglądarce, serwer cały czas działa ale nie można się do niego podłączyć wpisując https://diskstation:4200 dlatego ponowne kliknięcie ikony powoduje zamknięcie sesji widmo i uruchomienie nowej.
Programista ze mnie żaden więc zajęło mi trochę czasu rozgryźć co i jak, w każdym razie wydaje się, że wszystko działa i może też się komuś przyda.
Uwaga: można uruchomić serwer na stałe, bez potrzeby logowania się do DSM, po informacje jak to zrobić odsyłam do strony projektu. Jeżeli będzie zapotrzebowanie społeczne na taką opcję, mogę spróbować zrobić taką paczkę.
pozdrawiam







Nowości