Ten post będzie o tym, co zrobić w przypadku, gdy nasze Raspberry pi leży i się kurzy, a przydałby się jakiś sprytny hosting plików lub też kiedy myślimy o małym hostingu plików w domu, który ma mały pobór prądu. Post również będzie o tym, jak stworzyć swoją chmurę na prywatnym serwerze np. jeśli już na nim kopiemy kryptowaluty. Również jeśli masz wątpliwości co do polityki Dropboxa, i szukasz nowych możliwości.

Do wyboru mamy 2 drogi. Pierwsza – skorzystanie z naszego serwera lub wykupienie go i skonfigurowanie. Pierwsze 8 punktów z poprzedniego postu pokazuje nam jak zakupić i skonfigurować serwer. Następne kroki będę opisywał tutaj 🙂 Pierwsza opcja polecana szczególnie tym, którzy potrzebują na prawdę czegoś szybkiego i nie chcą się martwić o ewentualne spadki prędkości w przypadku chmury w domu, która może generować obciążenia sieci w przypadku, gdy pobieramy z innej sieci niż domowa np. z pracy.

Druga opcja, to nasze Raspberry pi Tutaj wystarczy zainstalować Debiana(Raspbian), o instalacji systemu pisałem tutaj. Ta opcja jest polecana, gdy będziemy korzystać z chmury bardzo sporadycznie lub do celów czysto domowych. Pobór mocy malinki to tylko 2,5W. Jednak jeśli będziemy chcieli podłączyć dysk zewnętrzny, to będzie potrzebne lepsze zasilanie poprzez hub usb np. D-Link DUB-H7. Pamięć flash ma zapotrzebowanie na mniejszą moc. Na pewno wypadałoby podkręcić trochę naszą maszynę. Należy połączyć się poprzez SSH i przejść do konfiguracji:

sudo raspi-config

Zrzut ekranu 2014-03-03 o 19.05.54
Następnie wybieramy opcje numer 7 Overclock. Jeśli mamy jakieś chłodzenie dla malinki to można poszaleć, jednak bez chłodzenia, maksymalnie overclock Medium. Pamiętaj, że podkręcasz sprzęt na własną odpowiedzialność, jak również o tym, że podkręcanie = większe zapotrzebowanie na moc.
Gdy już zainstalowaliśmy nasz system i odpaliliśmy naszą malinkę lub też nasz droplet został stworzony, powinniśmy otrzymać nasze hasło oraz IP na maila, jeśli już to wszystko mamy możemy skorzystać z terminalu na stronie albo zainstalować program do obsługi SSH. Na Macu i Linuxie jest to bardzo proste wystarczy terminal. Pod Windows polecam PuTTY.

Oki, jeśli już siedzimy wygodnie,  to możemy zaczynać 🙂

1. łączymy się na terminalu poprzez SSH login@IP lub poprzez PuTTY.

2. Upgrade

sudo apt-get
dist-upgrade

3. Instalacja Apache

sudo apt-get install apache2 php5 libapache2-mod-php5 php5-curl php5-mcrypt php5-gd -y

4. Szybka konfiguracja

sudo nano /etc/apache2/sites-enabled/000-default

Teraz należy poszukać

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

I zamienić na (zamieniamy tylko „None” na „ALL”)

AllowOverride ALL

Zrzut ekranu 2014-03-03 o 16.27.53

Zapisujemy ctrl + x, potwierdzamy y następnie enter(mac)

5. Szybki restart apache

sudo service apache2 restart

6. Teraz możemy sprawdzić pod adresem IP naszego Raspberry pi lub też naszego serwera, czy działa apache. Powinniśmy zobaczyć „It works!”. Teraz nasz serwer jest w stanie obsługiwać stronki, ale my potrzebujemy jeszcze paru rzeczy.

7. Uprawienia naszego dla naszego katalogu ze stronami

sudo chown -R www-data:www-data /var/www

8. Przyda się szyfrowanie SSL. Przeglądarki będą bojkotować nasze SSL, które sobie sami wygenerujemy, ale połączenie będzie bezpieczniejsze.

sudo a2ensite default-ssl
sudo a2enmod ssl

Gdyby terminal wam marudził o apatche, wystarczy go zrestartować

sudo service apache2 restart

Następnie

sudo make-ssl-cert generate-default-snakeoil –force-overwrite

Oraz reset apache

sudo service apache2 restart

9. Jeszcze tylko rewrite

sudo a2enmod rewrite

znów restart apache

sudo service apache2 restart

10. Instalacja MySQL

sudo apt-get install mysql-server mysql-client php5-mysql libapache2-mod-auth-mysql -y

Przy instalacji powinniśmy ujrzeć taki o to obraz:Zrzut ekranu 2014-03-03 o 16.31.03

Wprowadzamy nasze nowe hasło do konta głównego MySQL czyli dla root

11. Została nam jeszcze instalacja phpMyAdmin, bez tego idzie zginąć 🙂

sudo apt-get install phpmyadmin -y

I pojawi nam się zapytanie o rodzaj serwera. Wybieramy apache

Zrzut ekranu 2014-03-03 o 16.32.22

Następnie pozostaje nam konfiguracja automatycznaZrzut ekranu 2014-03-03 o 16.32.40

Później zostaniemy poproszeni o hasła, które wcześniej ustaliliśmy dla root

12. Możemy sprawdzić czy działa wpisując IP naszego serwera lub Raspberry pi a po IP /phpmyadmin czyli https://IP/phpmyadmin/ Pamiętamy również o SSL – przeglądarka może być marudna i będziecie musieli dodać certyfikat, do zaufanych.

Tutaj może wam się pojawić problem: Error 404.

Dlatego przenosimy nasze phpMyAdmin

sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

Sprawdzamy ponownie, jak wszystko działa to możemy ruszać dalej

13. Pobierzmy pliki ownClouda na nasz serwer

sudo wget –no-check-certificate https://download.owncloud.com/download/community/setup-owncloud.php -O /var/www/setup-owncloud.php

14. Przechodzimy teraz na serwer na https://naszeIP/setup-owncloud.php – klikany next

15. Wybieramy katalog, pod którym będzie dostępna nasza chmura, może być dostępna bezpośrednio pod IP wtedy zostawiamy pole puste lub w folderze, który określimy sami np. owncloud

Zrzut ekranu 2014-03-03 o 16.41.11

16. Tworzymy konto administratora i przechodzimy do phpMyAdmin, aby skonfigurować nową bazę danych pod naszą stronę

Zrzut ekranu 2014-03-03 o 16.42.17

17. Otwieramy https://naszeIP/phpmyadmin/ login to root a hasło jest dokładnie takie jak ustaliliśmy przy instalacji phpMyAdmin.

Zrzut ekranu 2014-03-03 o 16.42.53

18. Przechodzimy do bazy danych

Zrzut ekranu 2014-03-03 o 16.43.10

19. Tworzymy nową bazę danych np. owncloud i domyślne kodowanie kodowanie utf8_polish_ci. Po potwierdzeniu powinna pojawić się informacja o poprawnie stworzonej bazie danych

Zrzut ekranu 2014-03-03 o 16.43.43

20. Wracamy do naszej konfiguracji i wprowadzamy dane login do bazy danych root (lub inny jaki stworzyliśmy w phpMyAdmin) oraz hasło, baza danych dokładnie taka jak stworzyliśmy wcześniej.Zrzut ekranu 2014-03-03 o 16.44.31

21. Zrobione, wystarczy się teraz zalogować i korzystać. Warto pobrać apki na telefon oraz na kompa i jeszcze szybciej synchronizować swoje dane.

Zrzut ekranu 2014-03-03 o 16.46.26

Mamy teraz (own) ownCloud, mamy również serwer z obsługą apache, PHP, MySQL. Jeśli chcemy zrobić upload naszych plików wystarczy połączyć się z naszym serwerem np. poprzez Cyberduck, WinSCP, czy inny tego typu program i zrzucić pliki do /var/www/.

Na koniec życzę dużo słońca, bo o chmurach dziś dużo było 😉