Android

Sådan installeres drupal på ubuntu 18.04

How Install Siberian CMS

How Install Siberian CMS

Indholdsfortegnelse:

Anonim

Drupal er en af ​​de mest populære open source CMS-platforme verden over. Det er skrevet i PHP 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 vise dig, hvordan du installerer Drupal 8.6 på en Ubuntu 18.04-maskine. Der er flere måder at installere Drupal på. Denne tutorial dækker de nødvendige trin til installation af Drupal 8.6 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

Sørg for, at du har opfyldt følgende forudsætninger, før du fortsætter med denne tutorial:

  • Du har et domænenavn, der peger på din offentlige server-IP. Vi bruger example.com Du har Nginx installeret ved at følge disse instruktioner. Du 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.

Før du begynder

Opdater pakkeindekset og systempakkerne til de nyeste versioner:

sudo apt update && sudo apt upgrade

1. Opret en MySQL-database

sudo apt install mysql-server Ved friske MySQL-installationer anbefales det at køre kommandoen mysql_secure_installation at forbedre sikkerheden på din MySQL-server.

Nu er vi nødt til at logge ind på MySQL-shell og for at oprette en ny database og brugerkonto og for at give brugeren de passende bevillingsrettigheder.

For at logge ind på MySQL-shell skriver du følgende kommando og indtaster 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';

2. Installer PHP

PHP 7.2, som er standard PHP-version i Ubuntu 18.04, understøttes fuldt ud og anbefales til Drupal 8.6. Da vi vil bruge Nginx som en webserver, installerer vi også PHP-FPM.

For at installere alle nødvendige PHP-moduler køres følgende kommando:

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

PHP-FPM-tjenesten starter automatisk, når installationen er afsluttet, du kan bekræfte den ved at udskrive servicestatus:

systemctl status php7.2-fpm

Outputet skal indikere, at fpm-tjenesten er aktiv og kører.

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

Komponist er en afhængighedsadministrator for PHP, og vi bruger den til at downloade Drupal-skabelonen og installere alle nødvendige Drupal-komponenter.

Hvis du vil installere komponist globalt, skal du 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 udskrive komponistversionen:

composer --version

Outputet skal se sådan ud:

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

4. Installer Drupal

Nu hvor vi har installeret en komponist, kan vi fortsætte og oprette et nyt Drupal-projekt ved hjælp af komponistskabelonen i /var/www/my_drupal bibliotek:

sudo 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 nogle scripts for at forberede vores projekt til installation. Processen kan tage et par minutter, og hvis det lykkes, skal slutningen af ​​output se ud som følgende:

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 brugeroplysninger oprettet i trin 1:

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. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9

Endelig er vi nødt til at indstille de rigtige tilladelser, så webserveren kan have fuld adgang til webstedets filer og mapper. Både Nginx og PHP kører som www-data bruger og www-data gruppe, så vi er nødt til at udstede følgende kommando:

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

5. 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/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; } } 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.

Aktivér serverblokken ved at oprette et symbolsk link til det sites-enabled bibliotek:

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

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

Hvis der ikke er nogen fejl, skal output se sådan ud:

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

Endelig genstart Nginx-tjenesten ved at skrive:

sudo systemctl restart nginx

6. 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.

7. 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 www-data composer require drupal/pathauto Ved at forberede sudo -u www-data kører vi kommandoen som bruger- 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

Som du kan se fra output ovenfor installerer komponisten også alle pakkeafhængigheder for os.

8. Opdater Drupal-kerne

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 www-data 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. Du skal også besøge Drupal Composer-skabelonprojektet på Github.

ubuntu drupal mysql mariadb cms nginx komponist