Android

Sådan installeres drupal på centos 7

Run the Installer

Run the Installer

Indholdsfortegnelse:

Anonim

Drupal er en af ​​de førende open source CMS platforme verden over. Det er fleksibelt, skalerbart og kan bruges til at opbygge forskellige typer websteder lige fra små personlige blogs til store forretnings-, politiske og regeringssider.

I denne tutorial vil vi forklare, hvordan du installerer Drupal 8.6 på CentOS 7.

Der er flere måder at installere Drupal på. Denne vejledning dækker de nødvendige trin til installation af Drupal ved hjælp af en komponistskabelon til Drupal-projekter kaldet drupal-project.

Vi bruger Nginx som en webserver, den nyeste PHP 7.2 og MySQL / MariaDB som en databaseserver.

Forudsætninger

Før du starter installationen, skal du sikre dig, at du har opfyldt følgende forudsætninger:

  • Har et domænenavn, der peger på din offentlige server-IP. Vi bruger example.com Har Nginx installeret. Har et SSL-certifikat installeret til dit domæne. Du kan installere et gratis Let's Encrypt SSL-certifikat ved at følge disse instruktioner. Logget ind som en bruger med sudo-privilegier.

Opret en MySQL-database

Det første trin er at oprette en ny database og en brugerkonto og give passende tilladelser til brugeren.

Hvis MySQL eller MariaDB allerede er installeret på din server, kan du springe dette trin over, hvis ikke kan du installere MariaDB 5.5-serverpakken fra CentOS's standardlager ved at skrive:

sudo yum install mariadb-server Ved friske MariaDB / MySQL-installationer anbefales det at køre kommandoen mysql_secure_installation at forbedre sikkerheden på din databaseserver.

Log ind på MySQL shell ved at skrive følgende kommando og indtast adgangskoden, når du bliver bedt om det:

mysql -u root -p

For at oprette en database med navnet drupal drupaluser brugeren drupaluser og tildeler de nødvendige tilladelser til brugeren følgende kommandoer:

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';

Installer PHP

CentOS 7 sendes med PHP version 5.4, som er forældet og ikke længere understøttes. Den anbefalede PHP-version til Drupal er PHP 7.2.

For først at installere PHP 7.2 på CentOS 7 er vi nødt til at aktivere EPEL- og Remi-oplagrene:

sudo yum install epel-release yum-utils sudo yum install sudo yum-config-manager --enable remi-php72

Når depoterne er aktiveret til at installere PHP 7.2 og alle nødvendige PHP-udvidelser kører følgende kommandoer:

sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git

Vi installerede PHP FPM, fordi vi vil bruge Nginx som en webserver.

Som standard kører PHP FPM som bruger- apache på port 9000. Vi ændrer brugeren til nginx og skifter fra TCP-socket til Unix-socket. Åbn det for at åbne filen /etc/php-fpm.d/www.conf og redigere de linjer, der er fremhævet med gult:

/etc/php-fpm.d/www.conf

… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx

Sørg for, at biblioteket /var/lib/php har det rigtige ejerskab ved hjælp af følgende chown-kommando:

sudo chown -R root:nginx /var/lib/php

Endelig skal du aktivere og starte PHP FPM-tjenesten:

sudo systemctl enable php-fpm sudo systemctl start php-fpm

Installer Composer

Komponist er en afhængighedsadministrator for PHP. Vi vil downloade Drupal-skabelonen og installere alle nødvendige Drupal-komponenter med komponisten.

Følgende kommando installerer komponisten globalt ved at downloade Composer-installationsprogrammet med krøller og flytte filen til biblioteket /usr/local/bin :

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

Bekræft installationen ved at køre følgende kommando, der udskriver komponistversionen:

composer --version

Outputet skal se sådan ud:

Composer version 1.8.4 2019-02-11 10:52:10

Installer Drupal

Nu hvor komponisten er installeret, skal du oprette et nyt Drupal-projekt ved hjælp af Drupal-skabelonen i /var/www/my_drupal biblioteket:

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

Kommandoen ovenfor vil downloade skabelonen, hente alle nødvendige php-pakker og køre de nødvendige scripts for at forberede projektet til installation. Processen kan tage et par minutter, og hvis det lykkes, vil slutningen af ​​output se sådan ud:

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

Næste trin er at installere Drupal ved hjælp af Drush. I kommandoen nedenfor overfører vi MySQL-databasen og brugerinformationen, vi oprettede i det første afsnit:

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

Installationsprogrammet beder dig om følgende meddelelse, bare tryk på enter for at fortsætte.

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

Når installationen er afsluttet udskriver scriptet det administrative brugernavn og adgangskode. Outputet skal se sådan ud som følgende:

Starting Drupal installation. This takes a while. Installation complete. User name: admin User password: frxka2Db5v

Endelig skal du indstille de korrekte tilladelser, så webserveren kan have fuld adgang til webstedets filer og mapper:

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

Konfigurer Nginx

I øjeblikket skulle du allerede have Nginx med SSL-certifikat installeret på dit system, hvis ikke kontrollere forudsætningerne for denne tutorial.

For at oprette en ny serverblok til vores nye Drupal-projekt vil vi bruge Nginx-opskriften fra det officielle Nginx-sted.

Åbn din teksteditor og opret følgende 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; } } Glem ikke at erstatte eksempel.com med dit Drupal-domæne og indstille den rigtige sti til SSL-certifikatfiler. Alle HTTP-anmodninger vil blive omdirigeret til HTTPS. De kodestykker, der bruges i denne konfiguration, oprettes i denne vejledning.

Inden du genstarter Nginx-tjenesten, skal du foretage en test for at være sikker på, at der ikke er nogen syntaksfejl:

sudo nginx -t

Genstart Nginx-tjenesten for at ændringerne får virkning ved at skrive:

sudo systemctl restart nginx

Test installationen

Åbn din browser, skriv dit domæne og antager, at installationen er vellykket, vises en skærm, der ligner følgende:

Du kan logge ind som administrator og begynde at tilpasse din nye Drupal-installation.

Installer Drupal-moduler og temaer

Nu hvor du har dit Drupal-projekt installeret, skal du installere nogle moduler og temaer. Drupal-moduler og temaer hostes i et brugerdefineret komponistlager, som drupal-projekt konfigurerer for os ud af boksen.

For at installere et modul eller et tema, er alt hvad du skal gøre, at cd til projektbiblioteket og typen composer require drupal/module_or_theme_name . Hvis vi f.eks. Vil installere Pathauto-modulet, skal vi køre følgende kommando:

cd /var/www/my_drupal sudo -u nginx /usr/local/bin/composer require drupal/pathauto Ved at forberede sudo -u nginx kører vi kommandoen 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 fra output ovenfor installerer komponisten også alle pakkeafhængigheder for os.

Opdater Drupal Core

Før opgradering er det altid en god ide at tage en sikkerhedskopi af dine filer og database. Du kan enten bruge Backup and Migrate-modulet eller manuelt tage backup af din database og filer.

For at sikkerhedskopiere installationsfilerne kan du bruge følgende rsync-kommando, selvfølgelig skal du bruge den rigtige sti til installationsmappen:

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

For at sikkerhedskopiere databasen kan vi enten bruge standard mysqldump kommandoen:

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, hvor vi oprettede en sikkerhedskopi, kan vi fortsætte og opdatere alle Drupal-kernefiler ved at køre følgende kommando:

sudo -u nginx /usr/local/bin/composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

Konklusion

Tillykke, du har installeret Drupal 8 ved hjælp af komponist og lært, hvordan man installerer moduler og temaer. Du kan nu begynde at tilpasse dit websted. Drupal 8 Brugervejledning er et godt udgangspunkt for at lære mere om, hvordan du administrerer din Drupal-installation. Glem heller ikke at besøge Drupal Composer-skabelonprojektet på Github.

centos drupal mysql mariadb cms nginx komponist