Ostrzeżenie Nie sugerujemy, że ktokolwiek próbuje uruchomić publiczną stronę internetową na Raspberry Pi, lub rzeczywiście na każdym domu / biuro oparte serwer. Nie podjęliśmy żadnych prób uczynienia serwera WWW bezpiecznym, ponieważ nie było to problemem dla naszego projektu. Dalsze badania byłyby wymagane do utwardzenia stosu LAMP przed serwer może być narażone w Internecie.
Instalacja systemu Linux
- Instalacja systemu operacyjnego Raspbian (opartego na Debian Linux)
- Użyj interfejsu użytkownika, aby ustawić hasło logowania i wyłączyć automatyczne logowanie
- Użyj interfejsu użytkownika, aby ustawić stały adres IP i niestandardową nazwę hosta
- Reboot i zaloguj się za pomocą nowego hasła
- Uaktualnij za pomocą sudo apt-get update i sudo apt-get dist-upgrade (dobry czas, aby przejść i zrobić filiżankę herbaty, jak to trwa chwilę)
- Jeden ostatni restart jako jeden lub więcej z aktualizacji jest zobowiązany do wymagać
Instalacja Apache
sudo apt-get install apache2 -y
Testuj lokalnie przez otwierając przeglądarkę internetową Pi i odwiedzając http://localhost/ i opcjonalnie testując również za pośrednictwem komputera sieciowego, odwiedzając http://your-pi’s-ip-address
Pliki będą przechowywane w katalogu /var/www/html/ – aby ułatwić życie, dałem wszystkim użytkownikom dostęp do tego folderu w trybie zapisu:
sudo chmod -R 777 /var/www/html
Dowiemy się, czy to zadziałało, gdy przetestujemy PHP w następnym kroku.
Instalacja PHP
sudo apt-get install php libapache2-mod-php -y
Możesz przetestować PHP poprzez zastąpienie domyślnego pliku index.html plikiem index.php (sugeruję aby zawierał phpinfo();) w /var/www/html – jeśli okaże się, że nie możesz usuwać, tworzyć lub modyfikować plików w tym katalogu, sprawdź dwukrotnie czy ustawiłeś uprawnienia w kroku powyżej
TIP Jak dotąd proces ten był niezawodny, ale odkryłem, że prawidłowe skonfigurowanie MySQL i jego użytkowników jest procesem prób i błędów. Zajęło to kilka prób, aby wymyślić poniższy system – który może nie być odpowiedni dla Ciebie lub nadal poprawny w czasie, gdy to czytasz. To może być dobry moment na zrobienie obrazu karty SD Pi, aby można było eksperymentować i szybko wrócić do tego kroku w razie potrzeby.
Instalacja serwera MySQL
sudo apt-get install mysql-server php-mysql -y
Instalacja nie pyta już o hasło dla roota, zamiast tego należy uruchomić
sudo mysql_secure_installation
i odpowiedzieć na kilka pytań. Pamiętaj, że mamy tu do czynienia z użytkownikiem root MySQL, a nie z użytkownikiem root Linuksa, więc możesz używać różnych haseł, jeśli chcesz – po prostu dobrze je zapisuj.
Restart Apache:
sudo service apache2 restart
Teraz spróbuj zalogować się do MySQL jako nowy użytkownik root, wpisując hasło, które właśnie ustawiłeś, gdy zostaniesz o to poproszony:
mysql -u root -p
Jeśli dostęp zostanie odmówiony, będziesz musiał wykonać następujące dodatkowe kroki.
Najpierw użyj sudo aby zalogować się do MySQL:
sudo mysql -u root
Dostęp do tabeli MySQL:
USE mysql;
A teraz magiczna część:
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
tutaj
FLUSH PRIVILEGES;
teraz
quit
i
service mysql restart
później spróbuj zalogować się ponownie jak wyżej – tj. bez użycia sudo. Jeśli nie możesz się zalogować, zacznij szukać w Googlach – nie idź dalej, dopóki nie złamiesz tego kroku.
Instalacja PHPMyAdmin (opcjonalnie)
Możesz tego nie wymagać, ale dla mojego projektu zdecydowałem się zainstalować interfejs administracyjny MySQL, z którym jestem najbardziej zaznajomiony – PHPMyAdmin.
sudo apt-get install phpmyadmin
(potwierdź, że chcesz kontynuować, wybierz serwer apache2, kliknij yes dla konfiguracji pakietu, PROVIDE A PASSWORD i zapisz je. Jeśli pozostawisz hasło puste, utworzy ono dla ciebie losowe hasło, ale, o ile widzę, nigdy nie powie ci, jakie ono jest!
Edytuj plik /etc/apache2/apache2.conf dodając linię
include /etc/phpmyadmin/apache.conf
na końcu pliku.
Restartuj Apache:
sudo /etc/init.d/apache2 restart
Sprawdź, odwiedzając http://localhost/phpmyadmin i logując się z nazwą użytkownika phpmyadmin i hasłem, które podałeś podczas konfiguracji.
Instalacja Filezilla FTP Client (opcjonalnie)
Jest wiele sposobów na obsługę FTP, ale ja zdecydowałem się trzymać tego co znam i zainstalować Filezillę:
sudo apt-get install filezilla
Najważniejszy krok!
Jak już będziesz zadowolony, że wszystko działa, upewnij się, że obrazujesz kartę SD, abyś mógł szybko odzyskać ją po jakichkolwiek problemach. Karty SD nie są bardzo wytrzymałe lub długo żyć, więc spodziewać się, że to nie powiedzie się i zaplanować odpowiednio. Podziękujesz sobie za to!
Wnioski
Z wyjątkiem instalacji MySQL proces jest niewiarygodnie szybki i łatwy. Powstały serwer jest niezawodny i więcej niż zdolny do uruchomienia WordPress oparte narzędzie administratora chcieliśmy przynieść w domu. Serwer WWW oparty na Pi siedzi teraz obok naszego dysku NAS opartego na Pi i zastanawiamy się, co możemy zbudować następnego!
.