Kontynuujemy rozbudowę naszego rynku. Niedawno powiedzieliśmy Ci, jak to zrobić stworzył obraz Gitlab, a w tym tygodniu na naszym rynku pojawił się Drupal.
Opowiadamy dlaczego go wybraliśmy i jak powstał jego wizerunek.
Drupal — wygodna i wydajna platforma do tworzenia dowolnego rodzaju stron internetowych: od mikrostron i blogów po duże projekty społecznościowe, wykorzystywana również jako baza dla aplikacji internetowych, napisana w PHP i wykorzystująca relacyjne bazy danych jako magazyn danych.
Drupal 9 zawiera wszystkie funkcje wprowadzone w wersji 8.9. Kluczowa różnica między wersją 9 a wersją 8 polega na tym, że platforma będzie nadal otrzymywać aktualizacje i poprawki zabezpieczeń po listopadzie 2021 r. Wersja 9 upraszcza także proces aktualizacji, czyniąc proces aktualizacji z wersji 8 jeszcze łatwiejszym.
Wymagania serwera
Aby korzystać z Drupala, zaleca się użycie 2 GB RAM i 2 rdzeni procesora.
Główne pliki Drupala zajmują około 100 MB, dodatkowo będziesz potrzebować miejsca na przechowywanie obrazów, bazy danych, motywów, dodatkowych modułów i kopii zapasowych, co będzie zależeć od wielkości Twojej witryny.
Drupal 9 wymaga PHP 7.4 lub nowszego z minimalnymi ograniczeniami (memory_limit) dla pamięci 64 MB, w przypadku stosowania dodatkowych modułów zaleca się montaż 128 MB.
Drupal może używać Apache lub Nginx jako serwera WWW oraz MySQL, PostgreSQL lub SQLite jako bazy danych.
Będziemy instalować Drupala przy użyciu Nginx i MySQL.
Instalacja
Zaktualizujmy zainstalowane pakiety do najnowszej wersji:
sudo dnf update -y
Dodajmy stałe pozwolenie na ruch przychodzący do portów http/80 i https/443:
Ponieważ główne repozytorium Centos używa obecnie PHP 7.2, dodajmy repozytorium REMI z PHP 7.4 (minimalna wersja dla Drupala 9).
W tym celu należy dodać repozytorium EPEL (wymagane przez repozytorium REMI):
Ponieważ tworzymy szablon dla VDS i mogą one być powolne, dodamy opóźnienie uruchomienia mysqld wynoszące 30 sekund, w przeciwnym razie mogą wystąpić problemy z uruchomieniem serwera podczas początkowego rozruchu systemu:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service
Zmieńmy grupę i użytkownika, pod którymi będzie działać nginx, wprowadzając zmiany w /etc/php-fpm.d/www.conf:
sudo sed -i --follow-symlinks 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sudo sed -i --follow-symlinks 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf
Zmieńmy odpowiednio właściciela katalogu sesji PHP na nginx:
sudo chown -R nginx. /var/lib/php/session
Usuńmy linie z komentarzami z pliku konfiguracyjnego /etc/nginx/nginx.conf (aby nie było podwójnych wyzwalaczy dla sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.conf
Dodaj ustawienia kompresji gzip do /etc/nginx/nginx.conf
Dodajmy ustawienia pliku indeksu indeks.php do /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.conf
Dodajmy ustawienia dla serwera domyślnego: przetwarzanie PHP przez gniazdo php-fpm, wyłącz logi dla plików statycznych, zwiększ czas wygaśnięcia, wyłącz logi dostępu i błędów dla favicon.ico i robots.txt oraz odmów dostępu do .ht pliki dla wszystkich:
Po uruchomieniu VDS z migawki dokonamy wstępnej konfiguracji serwera MySQL uruchamiając skrypt:
mysql_secure_installation
Włączmy weryfikator hasła:
Would you like to setup VALIDATE PASSWORD component? : y
Ustawmy hasło dla użytkownika root MySQL:
New password:
Re-enter new password:
Usuńmy anonimowych użytkowników:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Uniemożliwiamy rootowi zdalne łączenie się:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Usuńmy testową bazę danych:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Załadujmy ponownie tabele uprawnień:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Następnie, aby zakończyć instalację, możemy przejść do adres_ip_vps
Pod tym adresem zobaczymy stronę instalacyjną Drupala.
Wybierzmy język, którego będziemy używać. Na przykład: rosyjski. Kliknij „Zapisz i kontynuuj”
Wybierzmy profil instalacyjny (demo służy wyłącznie do zapoznania się z systemem). W naszym przypadku niech będzie „standardowo”.
Na następnej stronie nadamy bazie danych nazwę, np. „drupal”. Wskażmy nazwę użytkownika bazy danych root i hasło nadane mu podczas uruchamiania mysql_secure_installation. Kliknij „Zapisz i kontynuuj”.
Poczekajmy na zakończenie instalacji i aktualizacji tłumaczeń (proces może zająć kilka minut).
Wskażemy nazwę witryny, ustalimy adres e-mail witryny (w imieniu którego będą wysyłane powiadomienia z witryny), login, hasło i adres e-mail konta administratora Drupala. Ustawimy także kraj i strefę czasową w ustawieniach regionalnych. I zakończ instalację, klikając „Zapisz i kontynuuj”.
Następnie możesz przejść do panelu sterowania z utworzonym loginem i hasłem administratora Drupala.
Konfigurowanie protokołu HTTPS (opcjonalnie)
Aby skonfigurować HTTPS, VDS musi mieć prawidłową nazwę DNS, określ w
/etc/nginx/nginx.conf
w sekcji serwera nazwa serwera (na przykład):
server_name domainname.ru;
Uruchommy ponownie Nginx:
service nginx restart
Uruchommy certbota:
sudo /usr/local/bin/certbot-auto --nginx
Podaj swój adres e-mail, zaakceptuj regulamin (A), Zapisz się do newslettera (opcjonalnie) (N), wybierz nazwy domen, dla których chcesz wystawić certyfikat (Wpisz dla wszystkich).
Jeżeli wszystko przebiegło bez błędów, pojawi się komunikat o pomyślnym wydaniu certyfikatów i konfiguracji serwera:
Congratulations! You have successfully enabled ...
Następnie połączenia z portem 80 zostaną przekierowane na port 443 (https).
Dodaj do /etc/crontab, aby automatycznie aktualizować certyfikaty:
To ustawienie ma na celu rozwiązanie problemu związanego z dynamicznym określaniem base_url i ma na celu zapobieganie atakom na nagłówek HTTP HOST (kiedy Twoja witryna myśli, że to ktoś inny).
Aby to zrobić, musisz określić zaufane nazwy domen dla witryny w pliku ustawień.
W pliku
/usr/share/nginx/html/sites/default/settings.php Odkomentujmy lub dodajmy ustawienie ze wzorami rzeczywistych nazw witryn, na przykład:
Drupal obsługuje APCu - alternatywną pamięć podręczną użytkownika PHP, wersje 8 i 9 w większym stopniu wykorzystują APCu jako krótkoterminową lokalną pamięć podręczną niż poprzednie wersje. Domyślny rozmiar pamięci podręcznej (32 MB) jest odpowiedni dla większości witryn i nie może przekraczać 512 MB.
Aby aktywować, zainstaluj moduł PHP APCu:
dnf -y install php-pecl-apcu
Uruchom ponownie Nginx i php-fpm:
service nginx restart
service php-fpm restart
Jeśli używasz języka rosyjskiego i APCu z zalecaną wielkością pamięci podręcznej, w panelu sterowania może pojawić się ostrzeżenie, że wielkość przydzielonej pamięci podręcznej różni się od zalecanej, ale w rzeczywistości wszystko działa poprawnie, a błędne ostrzeżenie zostanie najprawdopodobniej poprawione w kolejnych aktualizacjach.
Przypominamy, że możesz wykonać dla nas również wizerunek
Istnieją trzy możliwości wzięcia udziału.
Przygotuj obraz samodzielnie i zdobądź 3000 rubli na swoje saldo
Jeśli jesteś gotowy, aby natychmiast ruszyć do bitwy i stworzyć wizerunek, którego Ci brakuje, zasilimy Twoje wewnętrzne saldo 3000 rubli, które będziesz mógł wydać na serwery.
Poinformuj wsparcie, że zamierzasz utworzyć i przetestować obrazy
Przekażemy Ci 3000 rubli i umożliwimy tworzenie migawek
Zamów serwer wirtualny z czystym systemem operacyjnym
Zainstaluj oprogramowanie na tym VPS i skonfiguruj je
Napisz instrukcje lub skrypt dotyczący wdrożenia oprogramowania
Utwórz migawkę dla skonfigurowanego serwera
Zamów nowy serwer wirtualny, wybierając wcześniej utworzoną migawkę z listy rozwijanej „Szablon serwera”.
Jeśli serwer zostanie utworzony pomyślnie, przekaż otrzymane na etapie 6 materiały do wsparcia technicznego
Jeśli wystąpi błąd, możesz sprawdzić przyczynę, kontaktując się z pomocą techniczną, i powtórzyć konfigurację
Dla właścicieli firm: zaoferuj swoje oprogramowanie
Jeśli jesteś programistą wdrażanym i używanym na VPS, możemy włączyć Cię na rynek. W ten sposób możemy pomóc Ci pozyskać nowych klientów, ruch i świadomość. Napisz do nas
Powiedz nam w komentarzach, jakiego obrazu Ci brakuje?