How to install Drupal on CentOS 7
Innehållsförteckning:
- förutsättningar
- Skapa en MySQL-databas
- Installera PHP
- Installera kompositör
- Installera Drupal
- Konfigurera Nginx
- Testa installationen
- Installera Drupal-moduler och teman
- Uppdatera Drupal Core
- Slutsats
Drupal är en av de ledande open source-CMS-plattformarna världen över. Det är flexibelt, skalbart och kan användas för att bygga olika typer av webbplatser, allt från små personliga bloggar till stora företag, politiska och statliga webbplatser.
I denna handledning förklarar vi hur du installerar Drupal 8.6 på CentOS 7.
Det finns flera sätt att installera Drupal. Den här guiden behandlar de steg som krävs för att installera Drupal med hjälp av en kompositmall för Drupal-projekt som kallas drupal-project.
Vi kommer att använda Nginx som en webbserver, den senaste PHP 7.2 och MySQL / MariaDB som en databaseserver.
förutsättningar
Innan du startar installationen, se till att du uppfyllt följande förutsättningar:
- Har ett domännamn som pekar på din offentliga server-IP. Vi använder exempel.com. Har Nginx installerat. Har ett SSL-certifikat installerat för din domän. Du kan installera ett gratis Let's Encrypt SSL-certifikat genom att följa dessa instruktioner. Logga in som användare med sudo-behörigheter.
Skapa en MySQL-databas
Det första steget är att skapa en ny databas och ett användarkonto och ge behöriga behörigheter.
Om MySQL eller MariaDB redan är installerat på din server kan du hoppa över det här steget, om inte kan du installera MariaDB 5.5-serverpaketet från CentOSs standardförråd genom att skriva:
sudo yum install mariadb-server
För färska MariaDB / MySQL-installationer rekommenderas att köra kommandot
mysql_secure_installation
att förbättra säkerheten för din databaseserver.
Logga in på MySQL-skalet genom att skriva följande kommando och ange lösenordet när du uppmanas:
mysql -u root -p
För att skapa en databas med namnet
drupal
, användaren heter
drupaluser
och för att ge nödvändiga behörigheter till användaren kör följande kommandon:
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';
Installera PHP
CentOS 7 levereras med PHP version 5.4, som är föråldrad och inte längre stöds. Den rekommenderade PHP-versionen för Drupal är PHP 7.2.
För att installera PHP 7.2 på CentOS 7 först måste vi aktivera EPEL- och Remi-lagren:
sudo yum install epel-release yum-utils
sudo yum install
sudo yum-config-manager --enable remi-php72
När förvaren har aktiverat att installera PHP 7.2 och alla nödvändiga PHP-tillägg kör följande kommandon:
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git
Vi installerade PHP FPM eftersom vi kommer att använda Nginx som en webbserver.
Som standard kommer PHP FPM att köras som användarapache på port 9000. Vi kommer att ändra användaren till
nginx
och byta från TCP-sockel till Unix-uttag För att göra det öppnar
/etc/php-fpm.d/www.conf
filen
/etc/php-fpm.d/www.conf
och redigerar raderna markerade med gult:
… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx
Se till att katalogen
/var/lib/php
har rätt äganderätt med följande chown-kommando:
sudo chown -R root:nginx /var/lib/php
Slutligen, aktivera och starta PHP FPM-tjänsten:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Installera kompositör
Kompositör är en beroendehanterare för PHP. Vi kommer att ladda ner Drupal-mallen och installera alla nödvändiga Drupal-komponenter med kompositören.
Följande kommando installerar kompositören globalt genom att ladda ner Composer-installationsprogrammet med curl och flytta filen till
/usr/local/bin
:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Verifiera installationen genom att köra följande kommando som kommer att skriva ut kompositversionen:
composer --version
Utgången ska se ut så här:
Composer version 1.8.4 2019-02-11 10:52:10
Installera Drupal
Nu när kompositören har installerats skapar du ett nytt Drupal-projekt med hjälp av Drupal-mallen i katalogen
/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
Kommandot ovan kommer att ladda ner mallen, hämta alla nödvändiga php-paket och köra de skript som krävs för att förbereda projektet för installation. Processen kan ta några minuter och om den är framgångsrik kommer slutet på utgången att se ut så här:
Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777
Nästa steg är att installera Drupal med Drush. I kommandot nedan skickar vi MySQL-databasen och användarinformationen vi skapade i det första avsnittet:
cd /var/www/my_drupal
sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal
Installatören ber dig med följande meddelande, tryck bara på enter för att fortsätta.
You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):
När installationen är klar kommer skriptet att skriva ut det administrativa användarnamnet och lösenordet. Utgången ska se ut som följande:
Starting Drupal installation. This takes a while. Installation complete. User name: admin User password: frxka2Db5v
Slutligen anger du rätt behörigheter så att webbservern kan ha full åtkomst till webbplatsens filer och kataloger:
sudo chown -R nginx: /var/www/my_drupal
Konfigurera Nginx
Nu bör du redan ha Nginx med SSL-certifikat installerat på ditt system, om inte kontrollera förutsättningarna för denna handledning.
För att skapa ett nytt serverblock för vårt nya Drupal-projekt kommer vi att använda Nginx-receptet från den officiella Nginx-webbplatsen.
Öppna din textredigerare och skapa följande fil:
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; } }
Glöm inte att ersätta exempel.com med din Drupal-domän och ange rätt sökväg till SSL-certifikatfilerna. Alla HTTP-förfrågningar kommer att omdirigeras till HTTPS. De utdrag som används i den här konfigurationen skapas i den här guiden.
Innan du startar om Nginx-tjänsten gör du ett test för att vara säker på att det inte finns några syntaxfel:
sudo nginx -t
Starta om Nginx-tjänsten för att ändringar ska träda i kraft genom att skriva:
Testa installationen
Öppna din webbläsare, skriv din domän och förutsatt att installationen lyckas visas en skärm som liknar följande:
Du kan logga in som admin och börja anpassa din nya Drupal-installation.
Installera Drupal-moduler och teman
Nu när du har installerat ditt Drupal-projekt vill du installera några moduler och teman. Drupal-moduler och teman är värd i ett anpassat kompositörlager, som drupal-projektet konfigurerar för oss ur rutan.
För att installera en modul eller ett tema, allt du behöver göra är att
cd
till projektkatalogen och skriva
composer require drupal/module_or_theme_name
. Om vi till exempel vill installera Pathauto-modulen måste vi köra följande kommando:
cd /var/www/my_drupal
sudo -u nginx /usr/local/bin/composer require drupal/pathauto
Genom att förbereda
sudo -u nginx
vi kommandot som user
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
Som du kan se från utgången ovan installerar kompositören också alla paketberoenden för oss.
Uppdatera Drupal Core
Innan du uppgraderar är det alltid en bra idé att ta en säkerhetskopia av dina filer och databaser. Du kan antingen använda säkerhetskopierings- och migreringsmodulen eller manuellt säkerhetskopiera din databas och filer.
För att säkerhetskopiera installationsfilerna kan du använda följande rsync-kommando, naturligtvis måste du använda rätt sökväg till installationskatalogen:
sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)
För att säkerhetskopiera databasen kan vi antingen använda kommandot
mysqldump
:
mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql
eller
drush sql-dump
:
cd /var/www/my_drupal
vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql
Nu när vi skapade en säkerhetskopia kan vi fortsätta och uppdatera alla Drupal-kärnfiler genom att köra följande kommando:
sudo -u nginx /usr/local/bin/composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies
Slutsats
Grattis, du har installerat Drupal 8 med kompositör och lärt dig hur du installerar moduler och teman. Du kan nu börja anpassa din webbplats. Drupal 8 Användarhandbok är en bra utgångspunkt för att lära dig mer om hur du hanterar din Drupal-installation. Glöm inte att besöka mallprojektet Drupal Composer på Github.
centos drupal mysql mariadb cms nginx kompositörLedamöter av Europaparlamentet kommer att avgöra om en rad frågor, bland annat hur man reglerar telekomföretag i EU, hur man straffar företag som snedvrider konkurrensen, hur man delar radiofrekvenser som släpps av TV: s migrering till digital sändning och hur man skyddar medborgarnas data i den digitala tiden.
Men de är delade om huruvida IP-adresser ska ses som personuppgifter. "Vi kommer att be kommissionen att formellt lägga fram en rapport om detta", säger Malcolm Harbour, en brittisk konservativ parlamentsledamot som spelar en central roll för att hylla den så kallade telekomrevisionen genom parlamentet.
Hur man installerar och konfigurerar en nfs-server på centos 8
I den här handledningen går du igenom stegen som krävs för att konfigurera en NFSv4-server på CentOS 8. Vi visar också hur du monterar ett NFS-filsystem på klienten.
Hur du installerar drupal på ubuntu 18.04
I den här tutorialen visar vi dig hur du installerar Drupal 8.6 på en Ubuntu 18.04-maskin. Det finns flera sätt att installera Drupal, denna handledning täcker de steg som krävs för att installera Drupal 8.6 med Composer.