Jak zainstalować WordPress z Apache2 i Let's Encrypt SSL / TLS Certificates na Ubuntu 16.04 | 18.04

  • Cornelius Paul
  • 0
  • 1137
  • 41

Kilka dni temu pokazaliśmy, jak skonfigurować WordPress z Nginx i Let's Encrypt bezpłatne certyfikaty SSL / TLS… Dla tych, którzy chcą zamiast tego uruchomić Let's Encrypt with Apache2, poniższe kroki powinny im pomóc…

Ten krótki samouczek pokaże studentom i nowemu użytkownikowi krok po kroku, jak skonfigurować witryny WordPress z Apache2 i korzystać z darmowych certyfikatów SSL / TLS i funkcji Let's Encrypt, aby poprawić wydajność ich witryn i chronić je przed złośliwymi podmiotami…

Ta konfiguracja może trochę potrwać, a poniższy proces powinien działać również w innych witrynach internetowych… To nie musi być WordPress… Ta konfiguracja powinna działać na innych systemach CMS i zwykłych witrynach HTML po wyjęciu z pudełka… Kiedy będziesz gotowy aby skonfigurować WordPress i Let's Encrypt, wykonaj poniższe czynności:

Krok 0: Uzyskaj nazwę domeny

Let's Encrypt współpracuje z prawidłową domeną i działającym serwerem, na który wskazuje domena… Ta konfiguracja zakłada, że ​​nazwa Twojej domeny nosi nazwę example.com i wskazuje na Twój serwer o adresie IP 192.168.1.2

Nie zapomnij też się upewnić www CNAME wskazuje na nazwę domeny…. Powinien wyglądać jak coś poniżej:

example.com A ==========> 192.168.1.2 www CNAME ==========> example.com 

Krok 1: Zainstaluj i skonfiguruj WordPress

Po skonfigurowaniu domeny tak, aby wskazywała na Twój serwer, przejdź poniżej do konfigurowania WordPress i Let's Encrypt…

Najpierw zainstaluj serwer Apache2 HTTP, ponieważ używamy Apache2 w tym poście… Aby zainstalować serwer Apache2, uruchom poniższe polecenia:

sudo apt update sudo apt install apache2

Po zainstalowaniu Apache2 poniższe polecenia mogą być używane do zatrzymywania, uruchamiania i włączania usługi Apache2, aby zawsze uruchamiała się wraz z uruchomieniem serwera…

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

Teraz, gdy Apache2 jest zainstalowany…. aby sprawdzić, czy serwer WWW działa, otwórz przeglądarkę i przejdź do adresu URL poniżej…

https: // localhost

Jeśli widzisz powyższą stronę, oznacza to, że Apache2 został pomyślnie zainstalowany…

Krok 2: Zainstaluj serwer bazy danych MariaDB

WordPress wymaga również serwera bazy danych do przechowywania zawartości… Jeśli szukasz prawdziwie otwartego serwera bazy danych, MariaDB to świetne miejsce na rozpoczęcie… Aby zainstalować MariaDB, wykonaj poniższe polecenia:

sudo apt-get install mariadb-server mariadb-client

Po zainstalowaniu MariaDB poniższe polecenia mogą służyć do zatrzymywania, uruchamiania i włączania usługi MariaDB, aby zawsze była uruchamiana po uruchomieniu serwera…

Uruchom je na Ubuntu 16.04 LTS

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

Uruchom je na Ubuntu 19.04 i 18.04 LTS

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 bazy danych hasłem root, jeśli nie został wyświetlony monit o zrobienie tego podczas instalacji…

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: wprowadź 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

Teraz, gdy MariaDB jest już zainstalowana, aby sprawdzić, czy serwer bazy danych został pomyślnie zainstalowany, uruchom poniższe polecenia…

sudo mysql -u root -p

wpisz hasło roota po wyświetleniu monitu…

Jeśli zobaczysz podobny ekran, jak pokazano powyżej, serwer został pomyślnie zainstalowany…

Krok 3: Zainstaluj PHP 7.2 i powiązane moduły

WordPress CMS jest systemem CMS opartym na PHP i PHP jest wymagane… Jednak PHP 7.2 może nie być dostępne w domyślnych repozytoriach Ubuntu… Aby uruchomić PHP 7.2 w systemie Ubuntu 16.04 i starszym, może być konieczne wykonanie poniższych poleceń:

sudo apt-get install właściwości-oprogramowania-common sudo add-apt-repository ppa: ondrej / php

Następnie zaktualizuj i zaktualizuj do PHP 7.2

sudo apt update

Następnie uruchom poniższe polecenia, aby zainstalować PHP 7.2 i powiązane moduły.

sudo apt zainstaluj php7.2 libapache2-mod-php7.2 php7.2-common php7.2-mysql php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7. 2-gd php7.2-xml php7.2-cli php7.2-zip

Po zainstalowaniu PHP 7.2 uruchom poniższe polecenia, aby otworzyć domyślny plik konfiguracyjny PHP dla Apache2…

sudo nano /etc/php/7.2/apache2/php.ini 

Poniższe wiersze to dobre ustawienia dla większości systemów CMS opartych na PHP… Zaktualizuj plik konfiguracyjny za pomocą tych i zapisz… .

file_uploads = On allow_url_fopen = On short_open_tag = On memory_limit = 256 mln upload_max_filesize = 100 mln max_execution_time = 360 date.timezone = America / Chicago

Za każdym razem, gdy wprowadzasz zmiany w pliku konfiguracyjnym PHP, powinieneś także zrestartować serwer WWW Apache2… Aby to zrobić, uruchom poniższe polecenia:

sudo systemctl zrestartuj apache2.service

Teraz, gdy PHP jest zainstalowane, aby sprawdzić, czy działa, utwórz plik testowy o nazwie phpinfo.php w domyślnym katalogu głównym Apache2…. ( / var / www / html /)

sudo nano /var/www/html/phpinfo.php

Następnie wpisz zawartość poniżej i zapisz plik.

Następnie otwórz przeglądarkę i przejdź do nazwy hosta serwera lub adresu IP, a następnie phpinfo.php

http: //localhost/phpinfo.php

Powinieneś zobaczyć domyślną stronę testową PHP…

Krok 4: Utwórz bazę danych WordPress

Po zainstalowaniu wszystkich pakietów wymaganych do działania WordPressa, kontynuuj poniżej, aby rozpocząć konfigurację serwerów. Najpierw uruchom poniższe polecenia, aby utworzyć pustą bazę danych WordPress.

Aby zalogować się do serwera bazy danych MariaDB, uruchom poniższe polecenia.

sudo mysql -u root -p

Następnie utwórz bazę danych o nazwie wpdatabase

UTWÓRZ BAZĘ DANYCH wpdatabase;

Utwórz użytkownika bazy danych o nazwie wpuser z nowym hasłem

UTWÓRZ UŻYTKOWNIKA 'wpuser' @ 'localhost' IDENTIFIED BY 'new_password_here';

Następnie przyznaj użytkownikowi pełny dostęp do bazy danych.

PRZYZNANIE WSZYSTKIEGO NA wpdatabase. * DO „wpuser” @ „localhost” IDENTYFIKOWANE PRZEZ „hasło_użytkownika_tutaj” Z OPCJĄ GRANT;

Na koniec zapisz zmiany i wyjdź.

PRZYWILEJE SPŁUKIWANIA; WYJŚCIE;

Krok 5: Pobierz najnowszą wersję WordPressa

Aby pobrać najnowszą wersję WordPressa, musisz przejść na jego oficjalną stronę pobierania i pobrać ją stamtąd… Poniższy link to miejsce, w którym można znaleźć najnowsze wersje archiwalne WordPress…

Pobieranie
cd / tmp wget https://wordpress.org/latest.tar.gz tar -xvzf latest.tar.gz sudo mv wordpress /var/www/html/example.com

Następnie uruchom poniższe polecenia, aby ustawić odpowiednie uprawnienia do katalogu głównego WordPress i dać kontrolę Apache2… .

sudo chown -R www-data: www-data /var/www/html/example.com/ sudo chmod -R 755 /var/www/html/example.com/ 

Krok 6: Skonfiguruj Apache2

Następnie skonfiguruj plik konfiguracyjny witryny Apache2 dla WordPress… Ten plik będzie kontrolował sposób, w jaki użytkownicy uzyskują dostęp do treści WordPress. Uruchom poniższe polecenia, aby utworzyć nowy plik konfiguracyjny o nazwie example.com.conf

sudo nano /etc/apache2/sites-available/example.com.conf

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.

 ServerName example.com ServerAlias ​​www.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/example.com  Opcje FollowSymlinks AllowOverride All Wymagaj wszystkich przyznanych  ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log łącznie  RewriteEngine w RewriteBase / RewriteCond% REQUEST_FILENAME! -F RewriteRule ^ (. *) Index.php [PT, L]   

Zapisz plik i zakończ.

Teraz plik example.com plik konfiguracyjny zostanie utworzony, uruchom poniższe polecenia, aby go włączyć…

sudo a2ensite example.com.conf

W tym momencie Apache2 powinien być skonfigurowany i gotowy do odpowiedzi przez HTTP… Nie obsługuje jeszcze HTTPS.

Krok 7: Zainstaluj i skonfiguruj Let's Encrypt

Teraz, gdy nasza witryna Apache2 jest włączona i gotowa do użycia, uruchom poniższe polecenia, aby zainstalować i skonfigurować Let's Encrypt, aby zabezpieczyć witrynę Apache2…

Pierwsza instalacja Certbot… Certbot to w pełni funkcjonalne i łatwe w użyciu narzędzie, które może zautomatyzować zadania związane z uzyskiwaniem i odnawianiem certyfikatów SSL Let's Encrypt…

Aby go zainstalować, uruchom poniższe polecenia:

sudo apt install certbot

Po zainstalowaniu Certbota utwórz plik dla Let's Encrypt do wtyczki Webroot, aby zweryfikować naszą domenę w $ webroot-path /. well-known / acme-challenge informator… .

Aby to zrobić, utwórz katalog i daj do niego dostęp Apache2…

sudo mkdir -p /var/lib/letsencrypt/.well-known sudo chgrp www-data / var / lib / letsencrypt sudo chmod g + s / var / lib / letsencrypt

Następnie utwórz dobrze znany plik wyzwania z poniższymi konfiguracjami…

sudo nano /etc/apache2/conf-available/well-known.conf

Następnie skopiuj i wklej poniższą zawartość do pliku i zapisz…

Alias ​​/.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"  AllowOverride Brak Opcje MultiViews Indeksy SymLinksIfOwnerMatch IncludesNoExec Metoda wymagania GET POST OPTIONS 

Zapisz plik i zakończ

Krok 8: Uzyskaj bezpłatny certyfikat

W tym momencie Twoja domena powinna wskazywać adres IP Twojego serwera… Serwer HTTP Apache2 został zainstalowany i skonfigurowany, a Certbot jest gotowy do uzyskania certyfikatu…

Przed zażądaniem bezpłatnego certyfikatu otwórz witrynę example.com i włącz konfiguracje i moduły Apache2, uruchamiając poniższe polecenia…

Poniższe polecenia włączają protokół Apache2 SSL, nagłówki, HTTPS / 2 i dobrze znany plik konfiguracyjny, który utworzyliśmy powyżej…

sudo a2enmod ssl sudo a2enmod nagłówki sudo a2enmod http2 sudo a2enconf dobrze znane

Po włączeniu modułów i pliku konfiguracyjnego powyżej, zrestartuj serwer Apache2… Aby to zrobić, uruchom poniższe polecenia

sudo systemctl zrestartuj apache2

W tym momencie wszystko jest ustawione i jesteś gotowy do uzyskania certyfikatu… Aby to zrobić, uruchom poniższe polecenia:

sudo certbot certonly --agree-tos --email [email protected] --webroot -w / var / lib / letsencrypt / -d example.com -d www.example.com

Let's Encrypt powinno się połączyć, zweryfikować domenę i serwer, a następnie zainstalować certyfikat domeny… Jeśli wszystko się powiedzie, powinien pojawić się podobny komunikat jak poniżej:

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-08-18. Aby w przyszłości uzyskać nową lub ulepszoną wersję tego certyfikatu, po prostu ponownie uruchom certbot. 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 

W tym momencie masz certyfikat, teraz przejdź i dodaj go do konfiguracji Apache2 dla domeny example.com…

Najpierw wygenerujmy certyfikat wymiany kluczy Diffiego-Hellmana (DH), aby bezpiecznie wymieniać klucze kryptograficzne… Aby to zrobić, uruchom poniższe polecenia, aby wygenerować certyfikat z 2048 bitami…

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Następnie otwórz plik konfiguracyjny example.com i spraw, aby wyglądał podobnie do poniższego:

sudo nano /etc/apache2/sites-available/example.com.conf

Skonfiguruj plik tak, aby wyglądał podobnie do poniższego

 NazwaSerwera example.com Aliasy serwera www.example.com Przekierowanie stałe / https://example.com/   ServerName example.com ServerAlias ​​www.example.com DocumentRoot /var/www/html/example.com Protokoły h2 http: /1.1  Przekierowanie stałe / https://example.com/  ErrorLog $ APACHE_LOG_DIR /example.com-error.log CustomLog $ APACHE_LOG_DIR /example.com-access.log połączone SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile / etc / letsencrypt live / example.com / privkey.pem SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem" SSLCipherSuite EECDH + AESGCM: EDH + AESGCM: AES256 + EECDH: AES256 + EDH SSLProt All -SSv1Lv2 -SSLv2 -SSLv2 -SSLv2. 1 SSLCompression wyłączone SSLUseStapling włączone  Opcje FollowSymlinks AllowOverride All Wymagaj wszystkich przyznanych   RewriteEngine w RewriteBase / RewriteCond% REQUEST_FILENAME! -F RewriteRule ^ (. *) Index.php [PT, L]  

Następnie musisz skonfigurować pamięć podręczną serwera dla informacji o stanie protokołu OCSP. Najlepszym miejscem do tego byłby plik konfiguracyjny Apache SSL.

sudo nano /etc/apache2/mods-available/ssl.conf

Ten plik zawiera wszystkie opcje używane przez Apache dla SSL. Dodatkową opcję SSLStaplingCache należy dodać do tego pliku, jak poniżej.

# Ustaw lokalizację pamięci podręcznej zszywania protokołu SSL OCSP SSLStaplingCache shmcb: / tmp / stapling_cache (128000) 

Dyrektywa SSLStaplingCache definiuje lokalizację pamięci podręcznej i wartość rozmiaru pamięci podręcznej OCSP.

Zapisz powyższe zmiany i uruchom ponownie Apache2, aby powyższe ustawienia zaczęły obowiązywać…

sudo systemctl zrestartuj apache2

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

Krok 9: Dokończ instalację WordPress

Na koniec otwórz przeglądarkę i przejdź do nazwy domeny serwera. Powinieneś zobaczyć kreatora konfiguracji WordPress, aby zakończyć. Postępuj zgodnie z instrukcjami kreatora.

https://example.com/

Następnie postępuj zgodnie z instrukcjami wyświetlanymi na ekranie… Wybierz język instalacji, a następnie kliknij Kontynuuj

Przed kontynuowaniem musisz znać następujące elementy…. Użyj informacji o połączeniu z bazą danych, które utworzyłeś powyżej… .

  • Nazwa bazy danych
  • Nazwa użytkownika bazy danych
  • Hasło do bazy danych
  • Host bazy danych
  • Prefiks tabeli (jeśli chcesz uruchomić więcej niż jeden WordPress w jednej bazie danych)

Kreator użyje informacji z bazy danych do utworzenia pliku wp-config.php plik w folderze głównym WordPress… .

Jeśli z jakiegoś powodu to automatyczne tworzenie pliku nie działa, nie martw się… Wszystko to polega na wprowadzeniu informacji z bazy danych do pliku konfiguracyjnego. Możesz też po prostu otworzyć wp-config-sample.php w edytorze tekstu, wprowadź informacje i zapisz je jako wp-config.php.

Następnie wpisz informacje o połączeniu z bazą danych i kliknij Prześlij

Następnie kliknij Uruchom instalację przycisk, aby WordPress zakończył konfigurację…

Następnie utwórz nazwę witryny WordPress i konto administratora zaplecza…. następnie kliknij Zainstaluj WordPress

Kiedy skończysz, WordPress powinien być zainstalowany i gotowy do użycia…

Gratulacje! Pomyślnie zainstalowałeś WordPress z Let's Encrypt na Ubuntu 16.04 | 18.04… .




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