Build a Raspberry Pi LAMP Stack Web Server With PHPMyAdmin and Filezilla

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!

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.