Jak zainstalować stos NGINX, MARIADB i PHP (FEMP) na FreeBSD

Jak zainstalować stos NGINX, MARIADB i PHP (FEMP) na FreeBSD

Ten samouczek poprowadzi Cię, jak zainstalować i skonfigurować FBEMP w FreeBSD 11.X Najnowsze wydanie. FBEMP to akronim opisujący następującą kolekcję oprogramowania:

FreeBSD 11.1 Dystrybucja podobna do Unixa, Nginx Web Server, MARIADB Relational Batabase Management System (widelec Community MySQL) i PHP Dynamic Programming Language, który działa po stronie serwera.

Wymagania

  1. Instalacja FreeBSD 11.X
  2. 10 rzeczy do zrobienia po instalacji FreeBSD

Krok 1: Zainstaluj serwer WWW Nginx na FreeBSD

1. Pierwsza usługa, którą zainstalujemy dla naszego FBEMP Ułóż w FreeBSD jest serwerem WWW, reprezentowanym przez Nginx oprogramowanie.

Nginx Serwer WWW ma bardziej dostępne pakiety gotowe FreeBSD 11.x porty. Aby uzyskać listę Nginx binaria z Porty Repozytoria, wydaj następujące polecenia w terminalu serwerowym.

# ls/usr/porty/www/| GREP Nginx # PKG Wyszukaj -O nginx 
Znajdź pakiety Nginx

2. W tej konkretnej konfiguracji zainstalujemy główną wersję pakietu Nginx Wydając poniższe polecenie. PKG Zarządzanie pakietami zapyta Cię, czy chcesz kontynuować instalację pakietu Nginx. Odpowiedz na tak (y w wierszu poleceń) w celu rozpoczęcia procesu instalacji.

# PKG zainstaluj nginx 
Zainstaluj Nginx na FreeBSD

3. Po zainstalowaniu pakietu Nginx Web Server w twoim systemie wykonaj następujące polecenia, aby włączyć system Demon w całym systemie i uruchom usługę w systemie.

# sysrc nginx_enable = "tak" # service nginx start 
Rozpocznij i włącz Nginx na FreeBSD

4. Następnie za pomocą Sockstat polecenie, zweryfikuj gniazda sieci serwisowych Nginx, jeśli są one wiążące 80/TCP port, wydając poniższe polecenie. Wyjście polecenia sockstat będzie przekładane przez użyteczność GREP w celu zmniejszenia zwróconych wyników tylko do ciągu nginx.

# sockstat -4 | GREP Nginx 

5. Na koniec otwórz przeglądarkę na komputerze stacjonarnym w sieci i odwiedź domyślną stronę internetową Nginx za pośrednictwem protokołu HTTP. Napisz Fqdn twojego komputera lub nazwy domeny lub adresu IP twojego serwera w adresie URL przeglądarki złożonym w celu żądania Nginx Web Server Domyślna strona internetowa. Wiadomość "Witamy w Nginx!”Powinny być wyświetlane w przeglądarce, jak pokazano na poniższym zrzucie ekranu.

http: // twojadomina.com http: // your_server_ip http: // your_machine_fqdn 
Sprawdź nginx na freebsd

6. Domyślny katalog Weboot dla treści sieci Nginx /usr/local/www/nginx/ Absolutna ścieżka systemowa. W tej lokalizacji należy tworzyć, skopiować lub zainstalować pliki treści internetowych, takie jak .html Lub .php pliki dla Twojej witryny.

Aby zmienić tę lokalizację, edytuj główny plik konfiguracyjny Nginx i zmień dyrektywę główną, aby odzwierciedlić nową ścieżkę Webroot.

# nano/usr/local/etc/nginx/nginx.conf 

Tutaj wyszukaj i zaktualizuj następujący wiersz, aby odzwierciedlić nową ścieżkę Webroot:

root/ścieżka/do/new/webroot; 

Krok 2: Zainstaluj PHP na FreeBSD

7. w odróżnieniu Apache http serwer, Nginx nie ma możliwości natywnego przetwarzania kodu PHP. W zamian Nginx Web Server przekazuje żądania PHP do interpretera PHP, takich jak PHP-FPM FastCGI Demon, który sprawdza i wykonuje kod. Wynikowy kod jest następnie zwracany z powrotem do Nginx, który ponownie umożliwia kod z powrotem do żądanego formatu HTML i wysyła kod dalej do przeglądarki internetowej odwiedzających.

FreeBSD 11.X Repozytoria Ports oferuje wiele wersji binarnych dla języka programowania PHP, takie jak PHP 5.6, PHP 7.0 I PHP 7.1 wydania. Aby wyświetlić wszystkie dostępne wstępnie skompilowane wersje PHP w FreeBSD 11.X, Uruchom poniższe polecenia .

# PKG Wyszukaj -O PHP # ls/usr/porty/lang/| GREP PHP 

8. Możesz zainstalować dowolną wersję PHP, którą można znaleźć najlepiej dla aplikacji internetowej uruchomionej w swoim systemie. Jednak w tym przewodniku zainstalujemy najnowszą wersję PHP.

Żeby zainstalować PHP 7.1 Wydanie i niektóre ważne moduły PHP wymagane dla różnych aplikacji internetowych, uruchom następujące polecenie.

# PKG instalacja php71 php71-mysqli php71-McRypt php71-Zlib php71-gd php71-json mod_php71 php71-mbstring php71-curl 

9. Po zainstalowaniu pakietów PHP w systemie otwórz PHP-FPM plik konfiguracyjny dla Nginx i dostosuj wartości użytkownika i grupy, aby dopasować wartość dla użytkownika runtu nginx, czyli www. Najpierw wykonaj kopię zapasową pliku za pomocą poniższego polecenia.

# cp/usr/local/etc/php-fpm.D/www.conf ,.kopia zapasowa 

Następnie otwórz plik i zaktualizuj następujące wiersze, jak przedstawiono w poniższej próbce.

użytkownik = grupa www = www 
Skonfiguruj PHP-FPM na FreeBSD

10. Utwórz także plik konfiguracyjny PHP używany do produkcji, wydając poniższe polecenie. W tym pliku możesz wprowadzić niestandardowe zmiany, które zostaną zastosowane do interpretera PHP w czasie wykonywania.

# cp/usr/local/etc/php.ini-produkcja/usr/local/etc/php.ini 

Na przykład zmień data.strefa czasowa ustawienie dla interpretera PHP w celu zaktualizowania fizycznej lokalizacji komputera, jak pokazano w poniższym przykładzie. Lista strefy czasowej PHP można znaleźć tutaj: http: // php.Net/Manual/en/Timereny.php.

# vi/usr/local/etc/php.ini 

Dodaj następującą strefę czasową (ustawiaj stref czasowy zgodnie z twoim krajem).

data.strefa czasowa = Europa/Londyn 

Możesz także dostosować inne zmienne PHP, takie jak maksymalny rozmiar pliku przesłanego pliku, który można zwiększyć, modyfikując poniższe wartości:

upload_max_filesize = 10m post_max_size = 10m 

11. Po wykonaniu niestandardowych ustawień PHP, włącz i start PHP-FPM Demon w celu zastosowania nowych konfiguracji poprzez wydanie poniższych poleceń.

# sysrc php_fpm_enable = tak # serwis php-fpm start 
Rozpocznij i włącz php-fpm na freebsd

12. Domyślnie, PHP-FPM Demon w FreeBSD wiąże się na lokalnym gniazdku sieciowym na porcie 9000/TCP. Do wyświetlenia PHP-FPM Gniazda sieciowe Wykonaj następujące polecenie.

# sockstat -4 -6 | GREP PHP-FPM 

13. Aby serwer WWW Nginx przeszedł skrypty PHP do Fastcgi Serwer Gateway, który słucha 127.0.0.1: 9000 Gniazdo, otwórz główny plik konfiguracyjny Nginx i dodaj następujący blok kodu, jak pokazano w poniższej próbce.

# vi/usr/local/etc/nginx/nginx.conf 

Blok kodu FastCGI dla Nginx:

 Lokalizacja ~ \.php $ root/usr/local/www/nginx; fastcgi_pass 127.0.0.1: 9000; indeks fastcgi_index.php; fastcgi_param script_filename $ request_fileName; Dołącz fastcgi_params;  
Skonfiguruj FastCGI dla Nginx na FreeBSD

14. Aby wyświetlić aktualne informacje PHP dla twojego serwera, utwórz informacje.php plik w ścieżce nginx weboot, wydając następujące polecenie.

# echo "" | tee/usr/lokal/www/nginx/info.php 

15. Następnie przetestuj i ponownie uruchom demon nginx, aby zastosować PHP Fastcgi Ustawienia i odwiedź informacje.php strona w przeglądarce.

# nginx -t # test NGINX plik konfiguracyjny dla błędów składniowych # Service nginx restart 

Wymień odpowiednio adres IP lub nazwę domeny w poniższych linkach. Strona informacyjna PHP powinna wyświetlać informacje, jak pokazano na poniższym zrzucie ekranu.

http: // twojadomina.com/info.php http: // server_ip-or-fqdn/info.php 
Sprawdź informacje PHP w FreeBSD

Krok 3: Zainstaluj Mariadb na FreeBSD

16. Ostatni brak komponentu w twoim Femp Ustaw w bazie danych. MARIADB/MYSQL jest jednym z najbardziej powiązanych oprogramowania RDBMS open source z serwerem WWW Nginx używanym do wdrażania dynamicznych stron internetowych.

Faktycznie, MARIADB/MYSQL jest jedną z najczęściej używanych relacyjnych baz danych na świecie. Poszukiwanie Porty FreeBSD, Możesz znaleźć wiele wydań MARIADB/MYSQL.

W tym przewodniku zainstalujemy Mariadb baza danych, która jest widelcem społecznościowym Mysql Baza danych. Aby wyszukać dostępne wersje Mariadb, Wydaj następujące polecenia w terminalu.

# ls -al/usr/porty/bazy danych/| Grep Mariadb # PKG Wyszukaj Mariadb 
Znajdź pakiety Mariadb

17. Aby zainstalować najnowszą wersję serwera bazy danych Mariadb, wykonaj następujące polecenie. Powinieneś również zainstalować moduł sterownika relacyjnego PHP używany przez scenariusze PHP do łączenia się z MySQL.

# PKG zainstaluj mariaDB102-Server PHP71-MYSQLI 

18. Po zainstalowaniu bazy danych włącz Demon MySQL i uruchom usługę bazy danych, uruchamiając następujące polecenia.

# sysrc mysql_enable = "tak" # serwis mysql-server start 

19. Upewnij się również, że ponowne uruchomienie PHP-FPM Demon w celu załadowania rozszerzenia sterownika MySQL.

# Service PHP-FPM restart
20. W następnym kroku, zabezpieczyć Mariadb Baza danych poprzez uruchomienie Mysql_Secure_Instalation scenariusz. Użyj poniższej próbki skryptu instalacyjnego, aby odpowiedzieć na pytania. Zasadniczo powiedz tak (y) W przypadku wszystkich zadanych pytań, aby zabezpieczyć bazę danych i wpisać mocne hasło dla użytkownika mysql.
#/usr/local/bin/mysql_secure_instalation 
MySQL Secure instalacja wyjście skryptu
Uwaga: Uruchomienie wszystkich części tego skryptu jest zalecane dla wszystkich serwerów MariaDB w użyciu produkcji! Przeczytaj uważnie każdy krok! Aby zalogować się do Mariadb, aby go zabezpieczyć, potrzebujemy bieżącego hasła dla użytkownika root. Jeśli właśnie zainstalowałeś Mariadb i nie ustawiłeś jeszcze hasła rocznego, hasło będzie puste, więc powinieneś po prostu naciśnij Enter tutaj. Wprowadź bieżące hasło dla root (wprowadź dla brak): ok, pomyślnie używane hasło, poruszanie się… Ustawienie hasła roota zapewnia, że ​​nikt nie może zalogować się do użytkownika root Mariadb bez odpowiedniego autoryzacji. Ustaw hasło roota? [T/N] y Nowe hasło: Ponownie wprowadź nowe hasło: hasło pomyślnie zaktualizowane! Tabele przywilejów przeładowywania… sukces! Domyślnie instalacja MariaDB ma anonimowego użytkownika, umożliwiając każdemu zalogowanie się do MariaDB bez konieczności tworzenia dla nich konta użytkownika. Jest to przeznaczone tylko do testowania i sprawienie, aby instalacja stała się nieco gładsza. Powinieneś je usunąć przed przejściem do środowiska produkcyjnego. Usuń anonimowych użytkowników? [T/N] y… Powodzenie! Zwykle root powinien mieć możliwość łączenia się tylko z „localhost”. Zapewnia to, że ktoś nie może odgadnąć hasła głównego z sieci. Zdalnie odrzucaj logowanie root? [T/N] y… Powodzenie! Domyślnie Mariadb jest wyposażony w bazę danych o nazwie „Test”, do którego każdy może uzyskać dostęp. Jest to również przeznaczone tylko do testowania i należy je usunąć przed przejściem do środowiska produkcyjnego. Usuń testową bazę danych i dostęp do niej? [T/N] y - Zrzucanie testu bazy danych… sukces! - Usuwanie uprawnień w testowej bazie danych… sukces! Ponowne załadowanie tabel uprzywilejowanych zapewni, że wszystkie wprowadzone do tej pory zmiany pojawią się natychmiast. Załaduj teraz tabele uprawnień? [T/N] y… Powodzenie! Sprzątanie… wszystko gotowe! Jeśli ukończyłeś wszystkie powyższe kroki, instalacja Mariadb powinna być teraz bezpieczna. Dzięki za użycie mariadb! 

21. Aby przetestować połączenie bazy danych MariaDB z konsoli, wykonaj poniższe polecenie.

# mysql -u root -p -e „Pokaż status podobny do„ połączeń ”” 

22. W celu dalszego zabezpieczenia MariaDB, który domyślnie słucha przychodzących połączeń sieciowych 0.0.0.0: 3306/TCP gniazdo, wydaj poniższe polecenie, aby zmusić usługę do wiązania się Pętla interfejs i całkowicie odrzucaj dostęp do zdalnego. Następnie ponownie uruchom usługę MySQL, aby zastosować nową konfigurację.

# sysrc mysql_args = "-Bind-Address = 127.0.0.1 " # Service Mysql-Server restart 
Wiązać Mariadb z adresem pętli

Sprawdź, czy Lokalny Gospodarz Wiązanie zostało pomyślnie zastosowane przez uruchomienie polecenia NetStat, jak pokazano w poniższym przykładzie.

# netstat -an -p tcp 

To wszystko! Z powodzeniem zainstalowałeś serwer WWW Nginx, relacyjną bazę danych Mariadb i język programowania serwera PHP w FreeBSD. Możesz teraz zacząć budować dynamiczne strony internetowe, aby obsługiwać treści internetowe swoim odwiedzającym.