Zainstaluj Ubuntu 17.04 | 17.10, Nginx, MariaDB, PHP z Let's Encrypt (LEMP + Let's Encrypt)

  • Andrew Politic
  • 0
  • 4274
  • 832

Linux, Nginx, MariaDB, PHP-FPM (LEMP) to alternatywa dla LAMP. LEMP to akronim oznaczający Linux, Nginx, MySQL / MariaDB i PHP. Jest to zestaw aplikacji, który obsługuje niektóre z najpopularniejszych obecnie witryn internetowych i aplikacji.

LEMP z darmowymi certyfikatami Let's Encrypt SSL / TLS staje się dziś standardową implementacją dla stron internetowych i blogów.

Ten krótki samouczek pokazuje studentom i nowym użytkownikom, jak zainstalować LEMP na Ubuntu 17.04 | 17.10 z darmowymi certyfikatami SSL / TLS Let's Encrypt. Ten blog korzysta z bezpłatnych certyfikatów SSL / TLS LEMP + Let's Encrypt. Jeśli potrzebujesz uruchomić stronę internetową opartą na PHP, taką jak WordPress, Drupal lub Joomla, powinieneś rozważyć certyfikaty LEMP lub LAMP + Let's Encrypt SSL / TLS.

Aby zainstalować LEMP na Ubuntu 17.04 | 17.10 z Let's Encrypt, wykonaj poniższe czynności:

Krok 1: Zaktualizuj serwer Ubuntu

Aby rozpocząć, zaktualizuj najpierw Ubuntu, uruchamiając poniższe polecenia. Zakłada się, że masz uprawnienia administratora (root) do systemów i możesz instalować pakiety z wiersza poleceń. Aby zaktualizować serwer Ubuntu, uruchom poniższe polecenia:

sudo apt update && sudo apt dist-upgrade && sudo apt autoremove

Krok 2: Zainstaluj serwer HTTP Nginx

Po zaktualizowaniu Ubuntu uruchom poniższe polecenia, aby zainstalować serwer HTTP Nginx.

sudo apt install nginx

Po zainstalowaniu Nginx poniższe polecenia mogą być używane do zatrzymywania, uruchamiania, wyłączania i włączania usługi Nginx

sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl wyłącz nginx.service sudo systemctl włącz nginx.service 

Krok 3: Zainstaluj serwer bazy danych MariaDB

MariaDB jest bezpośrednim zamiennikiem MySQL i domyślnym serwerem bazy danych opensource. Aby zainstalować MariaDB, uruchom poniższe polecenia

sudo apt zainstaluj mariadb-server mariadb-client

Po zainstalowaniu poniższych poleceń można używać do zatrzymywania, uruchamiania i włączania usługi MariaDB, aby zawsze uruchamiała się po uruchomieniu serwera.

sudo systemctl stop mariadb.service sudo systemctl start mariadb.service sudo systemctl włącz mariadb.service 

Następnie uruchom poniższe polecenia, aby zabezpieczyć serwer MariaDB.

sudo mysql_secure_installation

Po wyświetleniu monitu odpowiedz na poniższe pytania, postępując zgodnie z instrukcjami.

  • Wprowadź aktualne hasło roota (wpisz żadnego): Po prostu naciśnij Enter
  • Ustawić hasło roota? [T / n]: Y
  • Nowe hasło: utwórz hasło
  • Ponownie wprowadź nowe hasło: powtórz hasło
  • Usunąć anonimowych użytkowników? [T / n]: Y
  • Nie zezwalać na zdalne logowanie przez roota? [T / n]: Y
  • Usunąć testową bazę danych i uzyskać do niej dostęp? [T / n]: Y
  • Załadować teraz ponownie tabele uprawnień? [T / n]: Y

Kontynuuj poniżej, aby zainstalować PHP-FPM i powiązane moduły PHP.

Krok 4: Instalacja PHP-FPM na Ubuntu

Ostatnim krokiem jest instalacja PHP-FPM i innych modułów PHP w Ubuntu, aby uzyskać kompletny stos LEMP.

Aby zainstalować PHP-FPM, uruchom poniższe polecenia:

sudo apt zainstaluj php-fpm

Aby większość aplikacji PHP działała poprawnie, należy także zainstalować powiązane moduły PHP. Uruchom poniższe polecenia, aby zainstalować jak najwięcej.

sudo apt zainstaluj php-mbstring php-xmlrpc php-mydło php-gd php-xml php-intl php-mysql php-cli php-mcrypt php-ldap php-zip php-curl

Gratulacje! Pomyślnie zainstalowałeś LEMP!

Krok 5: Utwórz witrynę Nginx dla Example.com

Teraz, gdy LEMP jest zainstalowany, przejdź i skonfiguruj witrynę internetową do używania z LEMP + Let's Encrypt. Uruchom poniższe polecenia, aby utworzyć nowy plik konfiguracyjny o nazwie przykład

sudo nano / etc / nginx / sites-available / example

Następnie skopiuj i wklej poniższą zawartość do pliku i zapisz go. Zastąp podświetlony wiersz własną nazwą domeny i katalogiem głównym.

serwer nasłuchuj 80; słuchaj [::]: 80; root /var/www/html/example.com; index index.php index.html index.htm; nazwa_serwera example.com www.example.com; lokalizacja / try_files $ uri $ uri / /index.php?$args;  lokalizacja ~ \ .php $ fastcgi_split_path_info ^ (. + \. php) (/.+) $; fastcgi_index index.php; fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; #Ubuntu 17.10 # fastcgi_pass unix: /var/run/php/php7.0-fpm.sock; #Ubuntu 17.04 include fastcgi_params; fastcgi_param PATH_INFO $ fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;  

Zapisz plik i zakończ.

Krok 6: Włącz witrynę WordPress

Po skonfigurowaniu VirtualHost powyżej, włącz go, uruchamiając poniższe polecenia

sudo ln -s / etc / nginx / sites-available / example / etc / nginx / sites-enabled /

Krok 7: Uruchom ponownie Nginx

Aby załadować wszystkie powyższe ustawienia, uruchom ponownie Nginx, uruchamiając poniższe polecenia.

sudo systemctl zrestartuj nginx.service

Krok 8: Uzyskaj i skonfiguruj Let's Encrypt SSL Certificates

Teraz, gdy LEMP jest już zainstalowany, kontynuuj poniżej, aby zainstalować i skonfigurować Let's Encrypt. Let's Encrypt zapewnia teraz klienta Nginx do automatyzacji tego procesu. Aby zainstalować klienta w systemie Ubuntu, uruchom poniższe polecenia

sudo add-apt-repository ppa: certbot / certbot sudo apt-get aktualizacja sudo apt-get install python-certbot-nginx

Następnie uruchom poniższe polecenia, aby uzyskać bezpłatny certyfikat Let's Encrypt SSL / TLS dla domeny example.com

sudo certbot --nginx -d example.com -d www.example.com

Po uruchomieniu powyższych poleceń powinien zostać wyświetlony monit o wprowadzenie adresu e-mail i zaakceptowanie warunków licencji. Jeśli wszystko jest zaznaczone, klient powinien automatycznie zainstalować bezpłatny certyfikat SSL / TLS i skonfigurować witrynę Nginx do korzystania z certyfikatów.

Przeczytaj Warunki korzystania z usługi na stronie https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Musisz wyrazić zgodę, aby zarejestrować się na serwerze ACME pod adresem https://acme-v01.api.letsencrypt.org/directory ----------------------- -------------------------------------------------- ------ (A) gree / (C) ancel: A 

Wybierz Tak (Y), aby udostępnić swój adres e-mail

Czy chciałbyś udostępnić swój adres e-mail Electronic Frontier Foundation, partnerowi założycielowi projektu Let's Encrypt i organizacji non-profit, która rozwija Certbot? Chcielibyśmy wysłać Ci wiadomość e-mail o EFF i naszej pracy nad szyfrowaniem sieci, ochroną jej użytkowników i ochroną praw cyfrowych. -------------------------------------------------- ----------------------------- (Y) es / (N) o: Y 

Oto, jak łatwo jest uzyskać bezpłatny certyfikat SSL / TLS dla swojej witryny opartej na Nginx.

Wybierz, czy przekierowywać ruch HTTP do HTTPS, usuwając dostęp HTTP. -------------------------------------------------- ----------------------------- 1: bez przekierowania - nie wprowadzaj dalszych zmian w konfiguracji serwera WWW. 2: Przekierowanie - przekierowuj wszystkie żądania do bezpiecznego dostępu HTTPS. Wybierz tę opcję dla nowych witryn lub jeśli masz pewność, że Twoja witryna działa w protokole HTTPS. Możesz cofnąć tę zmianę, edytując konfigurację serwera WWW. -------------------------------------------------- ----------------------------- Wybierz odpowiedni numer [1-2], a następnie [enter] (naciśnij „c”, aby anulować) : 2 

Wybierz opcję 2, aby przekierować cały ruch przez HTTPS. To jest ważne!

Następnie klient SSL powinien zainstalować certyfikat i skonfigurować witrynę tak, aby przekierowywała cały ruch przez HTTPS.

Gratulacje! Pomyślnie włączyłeś https://example.com i https://www.example.com Powinieneś przetestować swoją konfigurację pod adresem: https://www.ssllabs.com/ssltest/analyze.html?d=example.com https : //www.ssllabs.com/ssltest/analyze.html? d = www.example.com ---------------------------- -------------------------------------------------- - WAŻNE UWAGI: - Gratulacje! Twój certyfikat i łańcuch zostały zapisane pod adresem: /etc/letsencrypt/live/example.com/fullchain.pem Twój plik klucza został zapisany pod adresem: /etc/letsencrypt/live/example.com/privkey.pem Twój certyfikat wygaśnie w dniu 2018-02-24. Aby w przyszłości uzyskać nową lub ulepszoną wersję tego certyfikatu, po prostu uruchom ponownie certbot z opcją „certonly”. Aby w sposób nieinteraktywny odnowić * wszystkie * swoje certyfikaty, uruchom „certbot renew” - Jeśli podoba Ci się Certbot, rozważ wsparcie naszej pracy poprzez: Darowizna dla ISRG / Let's Encrypt: https://letsencrypt.org/donate Darowizna dla EFF: https://eff.org/donate-le

Podświetlony blok kodu powinien zostać automatycznie dodany do pliku konfiguracyjnego Nginx przez Let's Encrypt certbot. Twoja witryna jest gotowa do użytku przez HTTPS.

serwer nasłuchuj 80; słuchaj [::]: 80; root /var/www/html/example.com; index index.php index.html index.htm; nazwa_serwera example.com www.example.com; lokalizacja / try_files $ uri $ uri / /index.php?$args;  lokalizacja ~ \ .php $ fastcgi_split_path_info ^ (. + \. php) (/.+) $; fastcgi_index index.php; fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; #Ubuntu 17.10 # fastcgi_pass unix: /var/run/php/php7.0-fpm.sock; #Ubuntu 17.04 include fastcgi_params; fastcgi_param PATH_INFO $ fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;  Listen 443 ssl; # zarządzany przez Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # zarządzany przez Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # zarządzany przez Certbot to /etc/letsencrypt/options-ssl-nginx.conf; # zarządzany przez Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # zarządzany przez Certbot if ($ scheme! = "https") return 301 https: // $ host $ request_uri;  # zarządzany przez Certbot # Przekierowywanie ruchu innego niż https do https # if (schemat $! = "https") # return 301 https: // $ host $ request_uri; # # zarządzany przez Certbot

Następnie przejdź do nazwy swojej domeny, a witryna powinna odpowiedzieć przez HTTPS.

Gratulacje! Pomyślnie zainstalowałeś witrynę LEMP z darmowymi certyfikatami Let's Encrypt SSL / TLS.

Aby skonfigurować proces automatycznego odnawiania certyfikatów, dodaj zadanie cron, aby wykonać proces odnawiania.

sudo crontab -e

Następnie dodaj poniższą linię i zapisz.

0 1 * * * / usr / bin / certbot odnowienie &> / dev / null

Zadanie cron podejmie próbę odnowienia 30 dni przed wygaśnięciem




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux