Skonfiguruj Drupal CMS z Apache2, MariaDB, PHP 7.1 i Varnish Proxy na serwerach Ubuntu 16.04 LTS

  • Noah Scott
  • 0
  • 2393
  • 774

Uruchomienie Drupala na Nginx z obsługą Varnish może naprawdę poprawić wydajność Twojej witryny… Jeśli szukasz szybkiego i łatwego sposobu na przyspieszenie swoich witryn Drupal, poniższe kroki są dobrym miejscem do rozpoczęcia…

W przypadku witryn lub blogów Drupal o dużym ruchu możesz chcieć zaimplementować jakiś mechanizm buforowania, aby przyspieszyć działanie witryn… Jednym z popularnych serwerów proxy, który jest również serwerem buforującym, jest Varnish… Jeśli chcesz zbudować szybkie witryny Drupal z dużą ilością ruchu internetowego, skonfigurowanie Varnish jako serwera proxy do buforowania będzie bardzo wymagające.

Ten krótki samouczek pokaże studentom i nowym użytkownikom, jak skonfigurować Drupala w systemie Ubuntu 16.04 LTS z obsługą serwerów proxy Apache2, MariaDB, PHP 7.1 i Varnish, aby przyspieszyć działanie Drupala… Po tej konfiguracji wydajność witryny Drupal powinna nieco się poprawić.

Kiedy będziesz gotowy, aby to zadziałało, wykonaj poniższe czynności:

Krok 1: Zainstaluj serwer HTTP Apache2

Aby zainstalować Apache2, uruchom poniższe polecenia

sudo apt update sudo apt install apache2

po zainstalowaniu Apache2 uruchom poniższe polecenia, aby wyłączyć wyświetlanie katalogów.

sudo sed -i "s / Options Indeksy FollowSymLinks / Options FollowSymLinks /" /etc/apache2/apache2.conf

Następnie uruchom poniższe polecenia, aby zatrzymać, uruchomić i włączyć usługę 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 

KROK 2: ZAINSTALUJ LAKIER

Po zainstalowaniu Apache2 uruchom poniższe polecenia, aby zainstalować Varnish

sudo apt-get install lakier

Po zainstalowaniu programu Varnish poniższe polecenia mogą służyć do uruchamiania, zatrzymywania i włączania programu Varnish, aby zawsze uruchamiał się po uruchomieniu serwera

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

KROK 3: PRZEŁĄCZ DOMYŚLNY PORT APACHE2 NA 8080

Ponieważ chcemy, aby Varnish nasłuchiwał całego ruchu przychodzącego do portu 80, który jest domyślnym portem Apache2, skonfigurujmy Apache2 tak, aby używał innego numeru portu. Możesz otworzyć domyślny plik konfiguracyjny portu Apache2 pod adresem /etc/apache2/ports.conf i zmień wartość Listen na 8080.

Aby szybko zmienić port, uruchom poniższe polecenia, aby otworzyć domyślny plik konfiguracyjny portu Apache2.

sudo nano /etc/apache2/ports.conf

Następnie upewnij się, że plik zawiera te wiersze. Zapisz po zakończeniu.

# Jeśli zmienisz tylko port lub dodasz tutaj więcej portów, prawdopodobnie będziesz musiał również # zmienić instrukcję VirtualHost w # /etc/apache2/sites-enabled/000-default.conf Listen 127.0.0.1:8080 

Następnie otwórz domyślny plik konfiguracyjny virtualhost Apache2.

sudo nano /etc/apache2/sites-available/000-default.conf

Następnie wprowadź wyróżnioną zmianę poniżej.

Zapisz, a następnie plik i zakończ.

Następnie uruchom poniższe polecenia, aby wyłączyć domyślną witrynę Apahce2.

sudo a2dissite 000-default.conf

Następnie uruchom ponownie Apache2

sudo systemctl zrestartuj apache2.service

Teraz domyślna witryna Apache2 jest wyłączona…

Krok 4: Zainstaluj serwer bazy danych MariaDB

Aby zainstalować MariaDB, uruchom poniższe polecenia

sudo apt-get install 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 mysql.service sudo systemctl start mysql.service sudo systemctl włącz mysql.service 

Następnie uruchom poniższe polecenia, aby zabezpieczyć serwer MariaDB, tworząc hasło roota i blokując zdalny dostęp do roota.

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

Zrestartuj serwer MariaDB

sudo systemctl zrestartuj mysql.service

Krok 5: Zainstaluj PHP 7.1 i powiązane moduły

Drupal wymaga również PHP. Jednak PHP 7.1 nie jest dostępne w domyślnych repozytoriach Ubuntu… aby go zainstalować, będziesz musiał go pobrać z repozytoriów innych firm.

Uruchom poniższe polecenia, aby dodać poniższe repozytorium stron trzecich w celu aktualizacji do PHP 7.1

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.1

sudo apt update

Uruchom poniższe polecenia, aby zainstalować PHP 7.1 i powiązane moduły.

sudo apt zainstaluj php7.1 libapache2-mod-php7.1 php7.1-common php7.1-mbstring php7.1-xmlrpc php7.1-mydło php7.1-gd php7.1-xml php7.1-intl php7. 1-mysql php7.1-cli php7.1-mcrypt php7.1-zip php7.1-curl

Po zainstalowaniu PHP 7.1 uruchom poniższe polecenia, aby otworzyć domyślny plik PHP Apache2.

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

Następnie wprowadź zmiany w poniższych wierszach w pliku i zapisz. Poniższe wartości to świetne ustawienia do zastosowania w Twoich środowiskach.

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

Krok 6: Utwórz bazę danych Drupal

Po zainstalowaniu wszystkich pakietów uruchom poniższe polecenia, aby utworzyć pustą bazę danych Drupal.

Zaloguj się do serwera bazy danych MariaDB

sudo mysql -u root -p

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

UTWÓRZ BAZĘ DANYCH drupal;

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

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

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

GRANT ALL ON drupal. * TO 'drupaluser' @ 'localhost' IDENTIFIED BY 'user_password_here' Z OPCJĄ GRANT;

Na koniec zapisz zmiany i wyjdź.

PRZYWILEJE SPŁUKIWANIA; WYJŚCIE; 

Krok 7: Pobierz najnowszą wersję Drupala

Następnie odwiedź witrynę Drupal i pobierz najnowszy pakiet…. lub uruchom poniższe polecenia, aby pobrać i wyodrębnić zawartość Drupala.

Po pobraniu uruchom poniższe polecenia, aby wyodrębnić pobrany plik i przenieść go do nowego katalogu głównego Drupala.

cd / tmp && cd / tmp && wget https://ftp.drupal.org/files/projects/drupal-8.4.2.tar.gz tar -zxvf drupal * .gz sudo mv drupal-8.4.2 / var / www / html / drupal 

Następnie uruchom poniższe polecenia, aby ustawić odpowiednie uprawnienia, aby Drupal działał poprawnie.

sudo chown -R www-data: www-data / var / www / html / drupal / sudo chmod -R 755 / var / www / html / drupal / 

Krok 8: Skonfiguruj witrynę Apache2 Drupal

Na koniec skonfiguruj plik konfiguracyjny Apache2 dla Drupala. Ten plik będzie kontrolował sposób, w jaki użytkownicy uzyskują dostęp do zawartości Drupala. Uruchom poniższe polecenia, aby utworzyć nowy plik konfiguracyjny o nazwie drupal.conf

sudo nano /etc/apache2/sites-available/drupal.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.

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

Zapisz plik i zakończ.

Krok 9: Włącz witrynę Drupal

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

sudo a2ensite drupal.conf sudo a2enmod przepisać sudo a2enmod env sudo a2enmod dir sudo a2enmod mime 

Krok 10: Uruchom ponownie Apache2

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

sudo systemctl zrestartuj apache2.service

KROK 11: SKONFIGURUJ LAKIER, ABY UŻYWAĆ PORTU 80

Teraz, gdy port 80 jest wolny, skonfigurujmy Varnish, aby zamiast tego używał tego postu. Aby przypisać port 80 do Varnish, uruchom poniższe polecenia.

Domyślny plik konfiguracyjny lakieru to lokalizacja w / etc / default / varnish

Otwórz go, uruchamiając poniższe polecenia:

sudo nano / etc / default / varnish

Następnie poszukaj bloku konfiguracyjnego w Alternative 2 i wprowadź podświetlone zmiany, jak pokazano poniżej.

## Alternatywa 2, Konfiguracja z VCL # # Nasłuchuj na porcie 6081, administracja na hoście lokalnym: 6082 i przekaż na # jeden serwer zawartości wybrany przez plik vcl, na podstawie żądania. # DAEMON_OPTS = "- a: 80 \ -T localhost: 6082 \ -f /etc/varnish/default.vcl \ -S / etc / varnish / secret \ -s malloc, 256m" 

Zapisz plik, gdy skończysz.

Następnie uruchom poniższe polecenia, aby otworzyć plik default.vcl

sudo nano /etc/varnish/default.vcl

Następnie dodaj podświetlone linie pokazane poniżej poniżej sub vcl_recv i sub vcl_backend_response

# Domyślna definicja zaplecza. Ustaw to tak, aby wskazywało na Twój serwer treści. domyślne zaplecze .host = "127.0.0.1"; .port = "8080";  sub vcl_recv if (req.url ~ "^ / status \ .php $" || req.url ~ "^ / update \ .php" || req.url ~ "^ / install \ .php" || req .url ~ "^ / apc \ .php $" || req.url ~ "^ / admin" || req.url ~ "^ / admin /.*$" || req.url ~ "^ / user" | | req.url ~ "^ / user /.*$" || req.url ~ "^ / users /.*$" || req.url ~ "^ / info /.*$" || req.url ~ "^ / flag /.*$" || req.url ~ "^. * / ajax /.*$" || req.url ~ "^. * / ahah /.*$" || req.url ~ " ^ / system / files /.*$ ") return (pass);  if (req.url ~ "(? i) \. (pdf | asc | dat | txt | doc | xls | ppt | tgz | csv | png | gif | jpeg | jpg | ico | swf | css | js) ( \?. *)? $ ") unset req.http.Cookie;  if (req.http.Cookie) set req.http.Cookie = ";" + req.http.Cookie; set req.http.Cookie = regsuball (req.http.Cookie, "; +", ";"); set req.http.Cookie = regsuball (req.http.Cookie, "; (SESS [a-z0-9] + | SSESS [a-z0-9] + | NO_CACHE) =", "; \ 1 =") ; ustaw req.http.Cookie = regsuball (req.http.Cookie, "; [^] [^;] *", ""); ustaw req.http.Cookie = regsuball (req.http.Cookie, "^ [;] + | [;] + $", ""); if (req.http.Cookie == "") unset req.http.Cookie;  else return (pass);  sub vcl_backend_response if (bereq.url ~ "(? i) \. (css | js | jpg | jpeg | gif | png | ico) (\?. *)? $") unset beresp.http.set -ciastko;  

Zapisz plik i zamknij.

Kiedy skończysz, uruchom ponownie Varnish i Apache2

sudo systemctl start apache2.service sudo systemctl start varnish.service

Następnie uruchom poniższe polecenia, aby uruchomić Varnish, jeśli się nie uruchomi.

sudo / usr / sbin / varnishd -a: 80 -b localhost: 8080

Następnie otwórz przeglądarkę i przejdź do nazwy domeny, aby uruchomić kreatora konfiguracji WordPress.

http://example.com

Powinieneś zobaczyć kreatora konfiguracji WordPress

Postępuj zgodnie z instrukcjami kreatora, aż pomyślnie skonfigurujesz WordPress…

Otóż ​​to!




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