How to Install Drupal 8 on CentOs 7 / Redhat (RHEL) 7
Spisu treści:
- Wymagania wstępne
- Utwórz bazę danych MySQL
- Zainstaluj PHP
- Zainstaluj Composer
- Zainstaluj Drupal
- Skonfiguruj Nginx
- Przetestuj instalację
- Zainstaluj moduły i motywy Drupal
- Zaktualizuj rdzeń Drupala
- Wniosek
Drupal jest jedną z wiodących platform CMS typu open source na świecie. Jest elastyczny, skalowalny i może być wykorzystywany do tworzenia różnego rodzaju stron internetowych, od małych blogów osobistych po duże witryny korporacyjne, polityczne i rządowe.
W tym samouczku wyjaśnimy, jak zainstalować Drupal 8.6 na CentOS 7.
Istnieje wiele sposobów instalacji Drupala. Ten przewodnik opisuje kroki niezbędne do zainstalowania Drupala przy użyciu szablonu kompozytora dla projektów Drupal zwanego drupal-project.
Będziemy używać Nginx jako serwera WWW, najnowszego PHP 7.2 i MySQL / MariaDB jako serwera bazy danych.
Wymagania wstępne
Przed rozpoczęciem instalacji upewnij się, że zostały spełnione następujące wymagania wstępne:
- Niech nazwa domeny wskazuje adres IP twojego publicznego serwera. Skorzystamy z
example.comZainstalowano Nginx. Zainstalowano certyfikat SSL dla Twojej domeny. Możesz zainstalować bezpłatny certyfikat Let's Encrypt SSL, postępując zgodnie z tymi instrukcjami. Zalogowany jako użytkownik z uprawnieniami sudo.
Utwórz bazę danych MySQL
Pierwszym krokiem jest utworzenie nowej bazy danych i konta użytkownika oraz przyznanie użytkownikowi odpowiednich uprawnień.
Jeśli MySQL lub MariaDB jest już zainstalowany na twoim serwerze, możesz pominąć ten krok, jeśli nie, możesz zainstalować pakiet serwera MariaDB 5.5 z domyślnych repozytoriów CentOS, wpisując:
sudo yum install mariadb-server
W przypadku świeżych instalacji MariaDB / MySQL zaleca się uruchomienie komendy
mysql_secure_installation
celu poprawy bezpieczeństwa serwera bazy danych.
Zaloguj się do powłoki MySQL, wpisując następujące polecenie i wprowadź hasło po wyświetleniu monitu:
mysql -u root -p
Aby utworzyć bazę danych o nazwie
drupal
, użytkownik o nazwie
drupaluser
i nadać użytkownikowi niezbędne uprawnienia, uruchom następujące polecenia:
CREATE DATABASE drupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal.* TO 'drupaluser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Zainstaluj PHP
CentOS 7 jest dostarczany z wersją PHP 5.4, która jest nieaktualna i nie jest już obsługiwana. Zalecana wersja PHP dla Drupal to PHP 7.2.
Aby zainstalować PHP 7.2 na CentOS 7 najpierw musimy włączyć repozytoria EPEL i Remi:
sudo yum install epel-release yum-utils
sudo yum install
sudo yum-config-manager --enable remi-php72
Po włączeniu repozytoriów do zainstalowania PHP 7.2 i wszystkich wymaganych rozszerzeń PHP uruchom następujące polecenia:
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git
Zainstalowaliśmy PHP FPM, ponieważ będziemy używać Nginx jako serwera WWW.
Domyślnie PHP FPM będzie działać jako
apache
użytkownika na porcie 9000. Zmienimy użytkownika na
nginx
i zmienimy gniazdo TCP na gniazdo Unix. Aby to zrobić,
/etc/php-fpm.d/www.conf
plik
/etc/php-fpm.d/www.conf
i edytuj linie podświetlone na żółto:
… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx
Upewnij się, że katalog
/var/lib/php
ma poprawne prawo własności za pomocą następującego polecenia chown:
sudo chown -R root:nginx /var/lib/php
Na koniec włącz i uruchom usługę PHP FPM:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Zainstaluj Composer
Kompozytor jest menedżerem zależności dla PHP. Pobieramy szablon Drupal i zainstalujemy wszystkie niezbędne komponenty Drupal razem z kompozytorem.
Następujące polecenie zainstaluje kompozytora globalnie, pobierając instalator Complera za pomocą curl i przenosząc plik do katalogu
/usr/local/bin
:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Sprawdź instalację, uruchamiając następujące polecenie, które wydrukuje wersję kompozytora:
composer --version
Dane wyjściowe powinny wyglądać mniej więcej tak:
Composer version 1.8.4 2019-02-11 10:52:10
Zainstaluj Drupal
Teraz, gdy kompozytor został zainstalowany, utwórz nowy projekt Drupal przy użyciu szablonu Drupal w katalogu
/var/www/my_drupal
:
sudo /usr/local/bin/composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction
Powyższe polecenie pobierze szablon, pobierze wszystkie wymagane pakiety php i uruchomi skrypty niezbędne do przygotowania projektu do instalacji. Proces może potrwać kilka minut, a jeśli się powiedzie, koniec danych wyjściowych będzie wyglądał następująco:
Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777
Następnym krokiem jest instalacja Drupala za pomocą Drusha. W poniższym poleceniu przekazujemy bazę danych MySQL i informacje o użytkowniku, które utworzyliśmy w pierwszej sekcji:
cd /var/www/my_drupal
sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal
Instalator wyświetli następujący komunikat, wystarczy nacisnąć Enter, aby kontynuować.
You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):
Po zakończeniu instalacji skrypt wydrukuje administracyjną nazwę użytkownika i hasło. Dane wyjściowe powinny wyglądać mniej więcej tak:
Starting Drupal installation. This takes a while. Installation complete. User name: admin User password: frxka2Db5v
Na koniec ustaw odpowiednie uprawnienia, aby serwer WWW miał pełny dostęp do plików i katalogów witryny:
sudo chown -R nginx: /var/www/my_drupal
Skonfiguruj Nginx
Do tej pory powinieneś już mieć Nginx z certyfikatem SSL zainstalowanym w systemie, jeśli nie, sprawdź wymagania wstępne tego samouczka.
Aby stworzyć nowy blok serwera dla naszego nowego projektu Drupal, użyjemy przepisu Nginx z oficjalnej strony Nginx.
Otwórz edytor tekstu i utwórz następujący plik:
sudo nano /etc/nginx/conf.d/example.com
/etc/nginx/conf.d/example.com
# Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /var/www/my_drupal/web; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ \..*/.*\.php$ { return 403; } location ~ ^/sites/.*/private/ { return 403; } # Block access to scripts in site files directory location ~ ^/sites/+/files/.*\.php$ { deny all; } # Block access to "hidden" files and directories whose names begin with a # period. This includes directories used by version control systems such # as Subversion or Git to store control files. location ~ (^|/)\. { return 403; } location / { try_files $uri /index.php?$query_string; } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } # Don't allow direct access to PHP files in the vendor directory. location ~ /vendor/.*\.php$ { deny all; return 404; } location ~ '\.php$|^/update.php' fastcgi_split_path_info ^(.+?\.php)(# Fighting with Styles? This little gem is amazing. # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6 location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7 try_files $uri @rewrite; } # Handle private files through Drupal. Private file's path can come # with a language prefix. location ~ ^(/+)?/system/files/ { # For Drupal >= 7 try_files $uri /index.php?$query_string; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { try_files $uri @rewrite; expires max; log_not_found off; } }
Nie zapomnij zastąpić example.com domeną Drupal i ustawić prawidłową ścieżkę do plików certyfikatów SSL. Wszystkie żądania HTTP zostaną przekierowane do HTTPS. Fragmenty użyte w tej konfiguracji są tworzone w tym przewodniku.
Przed ponownym uruchomieniem usługi Nginx wykonaj test, aby upewnić się, że nie występują błędy składniowe:
sudo nginx -t
Uruchom ponownie usługę Nginx, aby zmiany zostały wprowadzone, pisząc:
Przetestuj instalację
Otwórz przeglądarkę, wpisz domenę i zakładając, że instalacja zakończy się powodzeniem, pojawi się ekran podobny do następującego:
Możesz zalogować się jako administrator i rozpocząć dostosowywanie nowej instalacji Drupal.
Zainstaluj moduły i motywy Drupal
Teraz, gdy masz już zainstalowany projekt Drupal, będziesz chciał zainstalować niektóre moduły i motywy. Moduły i motywy Drupal są przechowywane w niestandardowym repozytorium kompozytora, które projekt drupal konfiguruje dla nas od razu po wyjęciu z pudełka.
Aby zainstalować moduł lub motyw, wystarczy wykonać
cd
do katalogu projektu i wpisać
composer require drupal/module_or_theme_name
. Na przykład, jeśli chcemy zainstalować moduł Pathauto, musimy uruchomić następującą komendę:
cd /var/www/my_drupal
sudo -u nginx /usr/local/bin/composer require drupal/pathauto
Dodając
sudo -u nginx
, uruchamiamy polecenie jako użytkownik
nginx
Using version ^1.3 for drupal/pathauto./composer.json has been updated > DrupalProject\composer\ScriptHandler::checkComposerVersion Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 3 installs, 0 updates, 0 removals - Installing drupal/token (1.5.0): Downloading (100%) - Installing drupal/ctools (3.2.0): Downloading (100%) - Installing drupal/pathauto (1.3.0): Downloading (100%) Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating autoload files > DrupalProject\composer\ScriptHandler::createRequiredFiles
Jak widać z powyższego wyniku, kompozytor instaluje również dla nas wszystkie zależności pakietów.
Zaktualizuj rdzeń Drupala
Przed aktualizacją zawsze warto wykonać kopię zapasową plików i bazy danych. Możesz użyć modułu Kopia zapasowa i migracja lub ręcznie wykonać kopię zapasową bazy danych i plików.
Aby wykonać kopię zapasową plików instalacyjnych, możesz użyć następującego polecenia rsync, oczywiście musisz użyć poprawnej ścieżki do katalogu instalacyjnego:
sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)
Aby wykonać kopię zapasową bazy danych, możemy użyć standardowej komendy
mysqldump
:
mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql
lub
drush sql-dump
:
cd /var/www/my_drupal
vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql
Po utworzeniu kopii zapasowej możemy kontynuować i zaktualizować wszystkie podstawowe pliki Drupala, uruchamiając następującą komendę:
sudo -u nginx /usr/local/bin/composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies
Wniosek
Gratulacje, pomyślnie zainstalowałeś Drupal 8 za pomocą kompozytora i nauczyłeś się instalować moduły i motywy. Możesz teraz rozpocząć dostosowywanie swojej witryny. Podręcznik użytkownika Drupal 8 to dobre miejsce, w którym można dowiedzieć się więcej na temat zarządzania instalacją Drupal. Nie zapomnij również odwiedzić projektu szablonu Drupal Composer na Github.
centos drupal mysql mariadb cms nginx kompozytorJak zainstalować i skonfigurować serwer NFS na Centos 8
W tym samouczku wykonasz kroki niezbędne do skonfigurowania serwera NFSv4 na CentOS 8. Pokażemy także, jak zamontować system plików NFS na kliencie.
Jak zainstalować i skonfigurować Redis na Centos 7
Redis to otwarta struktura danych w pamięci. Może być używany jako baza danych, pamięć podręczna i broker komunikatów i obsługuje różne struktury danych, takie jak ciągi, skróty, listy, zestawy itp.
Jak zainstalować Drupal na Ubuntu 18.04
W tym samouczku pokażemy, jak zainstalować Drupal 8.6 na komputerze z systemem Ubuntu 18.04. Istnieje wiele sposobów instalacji Drupala, ten samouczek obejmuje kroki niezbędne do zainstalowania Drupala 8.6 za pomocą Composer.







