How to install Drupal on Ubuntu 18.04 19.04 Linux LoaclHost
Inhoudsopgave:
- voorwaarden
- Voordat je begint
- 1. Maak een MySQL-database
- 2. Installeer PHP
- 3. Installeer Composer
- 4. Installeer Drupal
- 5. Configureer Nginx
- 6. Test de installatie
- 7. Installeer Drupal-modules en -thema's
- 8. Update Drupal kern
- Conclusie
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:
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 componistDrupal installeren met WAMP onder Windows
U kunt Drupal installeren met WAMP onder Windows. Deze tutorial laat je zien hoe je Drupal op localhost op Windows 10 / 8.1 / 7 installeert.
Hoe een nfs-server op ubuntu 18.04 te installeren en configureren
Network File System (NFS) is een gedistribueerd bestandssysteemprotocol waarmee u externe mappen via een netwerk kunt delen. In deze zelfstudie bespreken we hoe u een NFSv4-server instelt op Ubuntu 18.04.
Hoe drupal op centos 7 te installeren
Drupal is een van de toonaangevende open source CMS-platforms wereldwijd. Het is flexibel, schaalbaar en kan worden gebruikt om verschillende soorten websites te bouwen, variërend van kleine persoonlijke blogs tot grote zakelijke, politieke en overheidssites. In deze tutorial zullen we uitleggen hoe Drupal 8.6 op CentOS 7 te installeren.