How to install Drupal on Ubuntu 18.04 19.04 Linux LoaclHost
Spisu treści:
- Wymagania wstępne
- Zanim zaczniesz
- 1. Utwórz bazę danych MySQL
- 2. Zainstaluj PHP
- 3. Zainstaluj Composer
- 4. Zainstaluj Drupal
- 5. Skonfiguruj Nginx
- 6. Przetestuj instalację
- 7. Zainstaluj moduły i motywy Drupal
- 8. Zaktualizuj rdzeń Drupala
- Wniosek
Drupal jest jedną z najpopularniejszych platform CMS typu open source na świecie. Jest napisany w PHP i może być używany 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 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 programu Drupal 8.6 przy użyciu szablonu kompozytora dla projektów Drupal o nazwie 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 kontynuowaniem tego samouczka upewnij się, że zostały spełnione następujące wymagania wstępne:
- Masz nazwę domeny wskazującą adres IP twojego publicznego serwera. Będziemy korzystać z
example.com. Masz zainstalowanego Nginx, postępując zgodnie z tymi instrukcjami. Masz zainstalowany certyfikat SSL dla swojej domeny. Możesz zainstalować bezpłatny certyfikat Let's Encrypt SSL postępując zgodnie z tymi instrukcjami.
Zanim zaczniesz
Zaktualizuj indeks pakietu i pakiety systemowe do najnowszych wersji:
sudo apt update && sudo apt upgrade
1. Utwórz bazę danych MySQL
sudo apt install mysql-server
W przypadku świeżych instalacji MySQL zaleca się uruchomienie komendy
mysql_secure_installation
celu poprawy bezpieczeństwa serwera MySQL.
Teraz musimy zalogować się do powłoki MySQL i utworzyć nową bazę danych i konto użytkownika oraz nadać użytkownikowi odpowiednie uprawnienia do przyznawania.
Aby zalogować się do powłoki MySQL, wpisz następującą komendę i po wyświetleniu monitu wprowadź hasło:
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';
2. Zainstaluj PHP
PHP 7.2, która jest domyślną wersją PHP w Ubuntu 18.04, jest w pełni obsługiwana i zalecana dla Drupal 8.6. Ponieważ będziemy używać Nginx jako serwera WWW, zainstalujemy również PHP-FPM.
Aby zainstalować wszystkie wymagane moduły PHP, uruchom następujące polecenie:
sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
Usługa PHP-FPM uruchomi się automatycznie po zakończeniu procesu instalacji, możesz to sprawdzić, drukując status usługi:
systemctl status php7.2-fpm
Dane wyjściowe powinny wskazywać, że usługa fpm jest aktywna i uruchomiona.
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-05-19 19:54:13 UTC; 9h ago Docs: man:php-fpm7.2(8) Main PID: 17781 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 507) CGroup: /system.slice/php7.2-fpm.service ├─17781 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─17796 php-fpm: pool www └─17797 php-fpm: pool www
3. Zainstaluj Composer
Kompozytor jest menedżerem zależności dla PHP i użyjemy go do pobrania szablonu Drupal i zainstalowania wszystkich niezbędnych składników Drupal.
Aby zainstalować kompozytora globalnie, pobierz instalator Complera za pomocą curl i przenieś plik do katalogu
/usr/local/bin
:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Sprawdź instalację, drukując wersję kompozytora:
composer --version
Dane wyjściowe powinny wyglądać mniej więcej tak:
Composer version 1.6.5 2018-05-04 11:44:59
4. Zainstaluj Drupal
Teraz, gdy mamy już zainstalowanego kompozytora, możemy kontynuować i utworzyć nowy projekt Drupal przy użyciu szablonu kompozytora w katalogu
/var/www/my_drupal
:
sudo 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, aby przygotować nasz projekt do instalacji. Proces może potrwać kilka minut, a jeśli się powiedzie, koniec wydruku powinien 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 utworzone w kroku 1:
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. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9
Wreszcie musimy ustawić odpowiednie uprawnienia, aby serwer sieciowy miał pełny dostęp do plików i katalogów witryny. Zarówno Nginx, jak i PHP działają jako użytkownik i grupa
www-data
, dlatego musimy wydać następujące polecenie:
sudo chown -R www-data: /var/www/my_drupal
5. 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/sites-available/example.com
/etc/nginx/sites-available/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' /.*)$; include fastcgi_params; # Block httpoxy attacks. See https://httpoxy.org/. fastcgi_param HTTP_PROXY ""; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param QUERY_STRING $query_string; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.2-fpm.sock; # 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.
Włącz blok serwera, tworząc symboliczne łącze do katalogu z
sites-enabled
:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Przed ponownym uruchomieniem usługi Nginx wykonaj test, aby upewnić się, że nie występują błędy składniowe:
sudo nginx -t
Jeśli nie ma błędów, wynik powinien wyglądać następująco:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Na koniec zrestartuj usługę Nginx, wpisując:
6. 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.
7. 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 www-data composer require drupal/pathauto
Przygotowując
sudo -u www-data
uruchamiamy polecenie jako użytkownik
www-data
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.
8. 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 www-data 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. Powinieneś także odwiedzić projekt szablonu Drupal Composer na Github.
ubuntu drupal mysql mariadb cms nginx kompozytorJak zainstalować najnowszy Firefox 3.6.6 w systemie Ubuntu Linux
Firefox 3.6.6 obsługuje zapobieganie awariom przeglądarki. Oto jak łatwo zainstalować go w systemie Ubuntu Linux.
Jak zainstalować i uruchomić Linux Ubuntu na Windowsie z łatwością
Wubi pozwoli ci zainstalować i uruchomić Linux Ubuntu z podwójnym bootowaniem z Microsoft Windows 7 z łatwością. Przeczytaj samouczek i pobierz Wubi za darmo.
Jak zainstalować Drupal na Centos 7
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.







