Android

Hoe drupal op ubuntu 18.04 te installeren

How to install Drupal on Ubuntu 18.04 19.04 Linux LoaclHost

How to install Drupal on Ubuntu 18.04 19.04 Linux LoaclHost

Inhoudsopgave:

Anonim

Drupal is een van de populairste open source CMS-platforms ter wereld. Het is geschreven in PHP en kan worden gebruikt om verschillende soorten websites te bouwen, variërend van kleine persoonlijke blogs tot grote zakelijke, politieke en overheidssites.

In deze zelfstudie laten we u zien hoe u Drupal 8.6 op een Ubuntu 18.04-machine installeert. Er zijn meerdere manieren om Drupal te installeren. Deze tutorial behandelt de stappen die nodig zijn voor het installeren van Drupal 8.6 met behulp van een composer-sjabloon voor Drupal-projecten genaamd drupal-project.

We gebruiken Nginx als webserver, de nieuwste PHP 7.2 en MySQL / MariaDB als databaseserver.

voorwaarden

Zorg ervoor dat u aan de volgende voorwaarden hebt voldaan voordat u doorgaat met deze zelfstudie:

  • U hebt een domeinnaam die verwijst naar het IP-adres van uw openbare server. We zullen example.com . U heeft Nginx geïnstalleerd door deze instructies te volgen. U hebt een SSL-certificaat geïnstalleerd voor uw domein. U kunt een gratis Let's Encrypt SSL-certificaat installeren door deze instructies te volgen.

Voordat je begint

Werk de pakketindex en systeempakketten bij naar de nieuwste versies:

sudo apt update && sudo apt upgrade

1. Maak een MySQL-database

sudo apt install mysql-server Voor nieuwe MySQL-installaties wordt het aanbevolen om de opdracht mysql_secure_installation voeren om de beveiliging van uw MySQL-server te verbeteren.

Nu moeten we inloggen op de MySQL-shell en een nieuwe database en een gebruikersaccount maken en de gebruiker de juiste machtigingen verlenen.

Om in te loggen op de MySQL-shell typt u de volgende opdracht en voert u het wachtwoord in wanneer daarom wordt gevraagd:

mysql -u root -p

Voer de volgende opdrachten uit om een ​​database met de naam drupal , de gebruiker drupaluser en de benodigde machtigingen aan de gebruiker te verlenen:

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. Installeer PHP

PHP 7.2, de standaard PHP-versie in Ubuntu 18.04, wordt volledig ondersteund en aanbevolen voor Drupal 8.6. Omdat we Nginx als webserver gaan gebruiken, installeren we ook PHP-FPM.

Voer de volgende opdracht uit om alle vereiste PHP-modules te installeren:

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

De PHP-FPM-service wordt automatisch gestart nadat het installatieproces is voltooid. U kunt dit verifiëren door de servicestatus af te drukken:

systemctl status php7.2-fpm

De uitvoer moet aangeven dat de fpm-service actief en actief is.

● 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. Installeer Composer

Composer is een afhankelijkheidsmanager voor PHP en we zullen het gebruiken om de Drupal-sjabloon te downloaden en alle benodigde Drupal-componenten te installeren.

Om Composer wereldwijd te installeren, downloadt u het Composer-installatieprogramma met curl en verplaatst u het bestand naar de map /usr/local/bin :

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Controleer de installatie door de versie van de componist af te drukken:

composer --version

De output zou er ongeveer zo uit moeten zien:

Composer version 1.6.5 2018-05-04 11:44:59

4. Installeer Drupal

Nu we de componist hebben geïnstalleerd, kunnen we doorgaan en een nieuw Drupal-project maken met behulp van de composer-sjabloon in de map /var/www/my_drupal :

sudo composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction

De bovenstaande opdracht downloadt de sjabloon, haalt alle vereiste php-pakketten op en voert enkele scripts uit om ons project voor te bereiden op installatie. Het proces kan enkele minuten duren en als het succesvol is, ziet het einde van de uitvoer er als volgt uit:

Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777

De volgende stap is het installeren van Drupal met Drush. In de onderstaande opdracht geven we de MySQL-database en gebruikersinformatie door die in stap 1 zijn gemaakt:

cd /var/www/my_drupal sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal

Het installatieprogramma vraagt ​​u om het volgende bericht. Druk op Enter om door te gaan.

You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):

Nadat de installatie is voltooid, drukt het script de beheerdersgebruikersnaam en het wachtwoord af. De uitvoer moet er ongeveer zo uitzien:

Starting Drupal installation. This takes a while. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9

Ten slotte moeten we de juiste machtigingen instellen zodat de webserver volledige toegang heeft tot de bestanden en mappen van de site. Zowel Nginx als PHP worden uitgevoerd als www-data gebruiker en www-data groep, dus we moeten de volgende opdracht geven:

sudo chown -R www-data: /var/www/my_drupal

5. Configureer Nginx

Inmiddels zou Nginx met SSL-certificaat al op uw systeem geïnstalleerd moeten zijn, zo niet, controleer dan de vereisten voor deze zelfstudie.

Om een ​​nieuw serverblok voor ons nieuwe Drupal-project te maken, gebruiken we het Nginx-recept van de officiële Nginx-site.

Open uw teksteditor en maak het volgende bestand:

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; } } Vergeet niet om example.com te vervangen door uw Drupal-domein en het juiste pad naar de SSL-certificaatbestanden in te stellen. Alle HTTP-aanvragen worden doorgestuurd naar HTTPS. De fragmenten die in deze configuratie worden gebruikt, worden in deze handleiding gemaakt.

Schakel het serverblok in door een symbolische koppeling te maken naar de directory met sites-enabled :

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Voordat u de Nginx-service opnieuw start, moet u een test uitvoeren om er zeker van te zijn dat er geen syntaxisfouten zijn:

sudo nginx -t

Als er geen fouten zijn, ziet de uitvoer er als volgt uit:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Start ten slotte de Nginx-service opnieuw op door te typen:

sudo systemctl restart nginx

6. Test de installatie

Open uw browser, typ uw domein en ervan uitgaande dat de installatie is geslaagd, verschijnt een scherm zoals het volgende:

U kunt inloggen als een beheerder en beginnen met het aanpassen van uw nieuwe Drupal-installatie.

7. Installeer Drupal-modules en -thema's

Nu uw Drupal-project is geïnstalleerd, wilt u enkele modules en thema's installeren. Drupal-modules en -thema's worden gehost op een aangepaste compositorrepository, die drupal-project voor ons kant-en-klaar configureert.

Om een ​​module of een thema te installeren, hoeft u alleen maar naar de projectmap te cd en composer require drupal/module_or_theme_name typen composer require drupal/module_or_theme_name . Als we bijvoorbeeld de Pathauto-module willen installeren, moeten we de volgende opdracht uitvoeren:

cd /var/www/my_drupal sudo -u www-data composer require drupal/pathauto Door sudo -u www-data we de opdracht uit als gebruiker 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

Zoals u kunt zien in de bovenstaande output, installeert componist ook alle pakketafhankelijkheden voor ons.

8. Update Drupal kern

Voordat u een upgrade uitvoert, is het altijd een goed idee om een ​​back-up van uw bestanden en database te maken. U kunt de module Back-up en migratie gebruiken of handmatig een back-up van uw database en bestanden maken.

Om een ​​back-up van de installatiebestanden te maken, kunt u de volgende rsync-opdracht gebruiken, natuurlijk moet u het juiste pad naar de installatiemap gebruiken:

sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)

Om een ​​back-up van de database te maken, kunnen we ofwel de standaardopdracht mysqldump gebruiken:

mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql

of drush sql-dump :

cd /var/www/my_drupal vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql

Nu we een back-up hebben gemaakt, kunnen we doorgaan en alle Drupal-kernbestanden bijwerken door de volgende opdracht uit te voeren:

sudo -u www-data composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

Conclusie

Gefeliciteerd, je hebt met succes Drupal 8 geïnstalleerd met behulp van componist en geleerd hoe je modules en thema's kunt installeren. U kunt nu beginnen met het aanpassen van uw site. De Drupal 8 gebruikershandleiding is een goed startpunt voor meer informatie over het beheren van uw Drupal-installatie. Je moet ook het Drupal Composer-sjabloonproject op Github bezoeken.

ubuntu drupal mysql mariadb cms nginx componist