Instalacja Wordpress na Raspberry Pi
Jak pisałem tutaj, na Raspberry Pi nie zbudujemy sensownego serwera WWW (po prostu wydajność obliczeniowa jest za niska). Nie przeszkadza to oczywiście próbować, co częściowo opisałem w tym wpisie.
Dzisiaj idziemy krok dalej i na serwerze WWW, zbudowanym w oparciu o Raspberry Pi i system operacyjny Raspbian Weezy, zainstalujemy i uruchomimy popularną platformę blogową Wordpress.
Instalacja serwera WWW
Jeśli na naszej Malince jest już zainstalowany Apache i PHP, ten krok możemy opuścić. Jeśli nie, wykonujemy następujące kroki:
- aktualizujemy repozytoria
sudo apt-get update - instalujemy Apache i PHP
sudo apt-get install apache2 php5 libapache2-mod-php5 - instalujemy MySQL
sudo apt-get install mysql-server mysql-client php5-mysql - aby umożliwić PHP pracę z obrazami, dorzucamy bibliotekę GD
sudo apt-get install php5-gd - restartujemy apache
sudo service apache2 restart
W tym momencie, nasze RPi powinno być już dostępne w sieci na porcie 80 i pracować jako serwer WWW z MySQL i PHP.
Instalacja Wordpress
Gdy serwer jest już skonfigurowany, możemy przystąpić do instalacji samej platformy blogowej.
- pobieramy wordpressa wget
http://wordpress.org/latest.tar.gz - rozpakowujemy archiwum
tar -xvzf latest.tar.gz - tworzymy katalog docelowy
sudo mkdir /var/www/wordpress - kopiujemy pliki
sudo cp -r wordpress/* /var/www/wordpress - nadajemy pełne prawa (tak, wiem, lekki overkill ale nikt z tego strzelać nie będzie)
sudo chmod -R 777 /var/www/wordpress/
W tym momencie WP jest wgrany, jednak jeszcze nie możemy przystąpić do instalacji, należy przygotować użytkownika i bazę danych MySQL:
- logujemy się do bazy danych jako root z hasłem ustawionym w czasie instalacji
mysql -u root -p - tworzymy użytkownika
CREATE USER wordpress; - tworzymy bazę danych
CREATE DATABASE wordpress; - ustawiamy hasło dla użytkownika
SET PASSWORD FOR wordpress = PASSWORD("superpassword"); - nadajemy użytkownikowi wordpress z hasłem superpassword dostęp do bazy danych wordpress
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY "superpassword"; - przeładowujemy uprawnienia
FLUSH TABLES; - wychodzimy
exit;
I to tyle. Wordpress jest gotowy do uruchomienia. Odpalamy przeglądarkę, wpisujemy [IP Malinki]/wordpress/ i postępujemy zgodnie z poleceniami instalatora.
Marudzenie
A teraz trochę dziegciu to tej beczki miodu. Pisałem już, że będzie to działać bardzo wolno? Pisałem, a teraz dowody.
Po pierwsze, po adresem http://pi.spychalski.info jest dostępny właśnie utrzymywany przeze mnie Wordpress na Raspberry Pi. Wydaje się chodzić dość sprawnie? To tylko pozory. Takie tempo jest możliwe wyłącznie przy włączonym agresywnym cache (W3 Total Cache na Memcached), APC i hostowaniu treści statycznych z CDN Amazon CloudFront. Bez tego wszystkiego czas wygenerowania strony głównej bloga dochodził do 9 sekund. Tylko strony głównej, czystego HTML.
Teraz jest trochę lepiej. Niewiele, ale lepiej. Najlepiej odda to chyba wykres z Apache JMeter przedstawiający czas odpowiedzi bloga dla 5 żądań w czasie 20 sekund (żądanie co 4 sekund). Dość szybko serwer się zapchał.
To może 10 żądań w 10 sekund? Proszę bardzo:
Tutaj serwer zapchał się jeszcze szybciej i jeszcze skuteczniej.
Niestety, nie dysponuję pomiarami z JMeter czystej instalacji Wordpress według instalacji przedstawionej powyżej. Brak mi jednej karty SD na eksperymenty. Jeśli ktoś ma ochotę stosowne testy wykonać i podzielić się wynikami, to zapraszam serdecznie.



