How to Install Drupal 8 on CentOs 7 / Redhat (RHEL) 7
Inhoudsopgave:
- voorwaarden
- Maak een MySQL-database
- Installeer PHP
- Composer installeren
- Installeer Drupal
- Configureer Nginx
- Test de installatie
- Installeer Drupal-modules en -thema's
- Update Drupal Core
- Conclusie
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 zelfstudie leggen we uit hoe u Drupal 8.6 op CentOS 7 installeert.
Er zijn meerdere manieren om Drupal te installeren. Deze gids behandelt de stappen die nodig zijn voor het installeren van Drupal met behulp van een compositiesjabloon voor Drupal-projecten genaamd drupal-project.
We gebruiken Nginx als webserver, de nieuwste PHP 7.2 en MySQL / MariaDB als databaseserver.
voorwaarden
Controleer voordat u met de installatie begint of aan de volgende voorwaarden is voldaan:
- Zorg dat een domeinnaam verwijst naar het IP-adres van uw openbare server. We gebruiken
example.com
Heb Nginx geïnstalleerd. Heb een SSL-certificaat geïnstalleerd voor uw domein. U kunt een gratis Let's Encrypt SSL-certificaat installeren door deze instructies te volgen. Aangemeld als een gebruiker met sudo-rechten.
Maak een MySQL-database
De eerste stap is het maken van een nieuwe database en gebruikersaccount en het verlenen van de juiste machtigingen aan de gebruiker.
Als MySQL of MariaDB al op uw server is geïnstalleerd, kunt u deze stap overslaan. Als dit niet het geval is, kunt u het MariaDB 5.5-serverpakket installeren vanuit de standaardrepository's van CentOS door het volgende te typen:
sudo yum install mariadb-server
Voor nieuwe MariaDB / MySQL-installaties wordt het aanbevolen om de opdracht
mysql_secure_installation
voeren om de beveiliging van uw databaseserver te verbeteren.
Log in op de MySQL-shell door de volgende opdracht te typen en voer 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';
Installeer PHP
CentOS 7 wordt geleverd met PHP versie 5.4, die verouderd is en niet langer wordt ondersteund. De aanbevolen PHP-versie voor Drupal is PHP 7.2.
Om PHP 7.2 eerst op CentOS 7 te installeren, moeten we de EPEL- en Remi-repositories inschakelen:
sudo yum install epel-release yum-utils
sudo yum install
sudo yum-config-manager --enable remi-php72
Zodra de repositories zijn ingeschakeld om PHP 7.2 te installeren en alle vereiste PHP-extensies de volgende opdrachten uitvoeren:
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git
We hebben PHP FPM geïnstalleerd omdat we Nginx als webserver gaan gebruiken.
Standaard wordt PHP FPM uitgevoerd als gebruikersapache op poort 9000. We zullen de gebruiker wijzigen in
nginx
en overschakelen van TCP-socket naar Unix-socket. Open hiervoor het bestand
/etc/php-fpm.d/www.conf
en bewerk de geel gemarkeerde regels:
… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx
Zorg ervoor dat de map
/var/lib/php
de juiste eigendom heeft met de volgende opdracht chown:
sudo chown -R root:nginx /var/lib/php
Schakel ten slotte de PHP FPM-service in en start:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Composer installeren
Composer is een afhankelijkheidsmanager voor PHP. We zullen de Drupal-sjabloon downloaden en alle benodigde Drupal-componenten met de componist installeren.
Met de volgende opdracht wordt Composer wereldwijd geïnstalleerd door het Composer-installatieprogramma met curl te downloaden en het bestand naar de map
/usr/local/bin
verplaatsen:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Controleer de installatie door de volgende opdracht uit te voeren waarmee de versie van de componist wordt afgedrukt:
composer --version
De output zou er ongeveer zo uit moeten zien:
Composer version 1.8.4 2019-02-11 10:52:10
Installeer Drupal
Nu de componist is geïnstalleerd, maakt u een nieuw Drupal-project met behulp van de Drupal-sjabloon in de map
/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
De bovenstaande opdracht downloadt de sjabloon, haalt alle vereiste php-pakketten op en voert de benodigde scripts uit om het 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 we in de eerste sectie hebben 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. Installation complete. User name: admin User password: frxka2Db5v
Stel ten slotte de juiste machtigingen in zodat de webserver volledige toegang heeft tot de bestanden en mappen van de site:
sudo chown -R nginx: /var/www/my_drupal
Configureer Nginx
U zou nu al Nginx met SSL-certificaat op uw systeem moeten hebben geïnstalleerd, 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/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; } }
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.
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
Start de Nginx-service opnieuw om de wijzigingen door te voeren door te typen:
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.
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 nginx /usr/local/bin/composer require drupal/pathauto
Door
sudo -u nginx
we de opdracht uit als gebruiker
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
Zoals u kunt zien in de bovenstaande output, installeert componist ook alle pakketafhankelijkheden voor ons.
Update Drupal Core
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 nginx /usr/local/bin/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. Vergeet ook niet om het Drupal Composer-sjabloonproject op Github te bezoeken.
centos 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 Centos 8 te installeren en configureren
In deze zelfstudie doorloopt u de benodigde stappen om een NFSv4-server op CentOS 8 in te stellen. We laten u ook zien hoe u een NFS-bestandssysteem op de client kunt mounten.
Hoe drupal op ubuntu 18.04 te installeren
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 Composer.