Android

Hur du installerar drupal på ubuntu 18.04

How to install Drupal on Ubuntu 18.04 19.04 Linux LoaclHost

How to install Drupal on Ubuntu 18.04 19.04 Linux LoaclHost

Innehållsförteckning:

Anonim

Drupal är en av de mest populära CMS-plattformarna över hela världen. Det är skrivet i PHP 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 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 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

Se till att du har uppfyllt följande förutsättningar innan du fortsätter med denna handledning:

  • Du har ett domännamn som pekar på din offentliga server-IP. Vi kommer att använda example.com Du har Nginx installerat genom att följa dessa instruktioner. Du 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.

Innan du börjar

Uppdatera paketindex och systempaket till de senaste versionerna:

sudo apt update && sudo apt upgrade

1. Skapa en MySQL-databas

sudo apt install mysql-server För färska MySQL-installationer rekommenderas att köra kommandot mysql_secure_installation att förbättra säkerheten för din MySQL-server.

Nu måste vi logga in på MySQL-skalet och skapa en ny databas och ett användarkonto och ge användaren lämpliga beviljningsbehörigheter.

För att logga in på MySQL-skalet skriver du följande kommando och anger 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';

2. Installera PHP

PHP 7.2 som är standard PHP-version i Ubuntu 18.04 stöds fullt ut och rekommenderas för Drupal 8.6. Eftersom vi kommer att använda Nginx som en webbserver installerar vi PHP-FPM också.

För att installera alla nödvändiga PHP-moduler kör följande 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-tjänsten startar automatiskt när installationen är klar, du kan verifiera den genom att skriva ut servicestatus:

systemctl status php7.2-fpm

Utgången ska indikera att fpm-tjänsten är aktiv och kör.

● 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. Installera kompositör

Composer är en beroendehanterare för PHP och vi kommer att använda den för att ladda ner Drupal-mallen och installera alla nödvändiga Drupal-komponenter.

För att installera kompositör globalt ladda ner Composer-installationsprogrammet med lock 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 skriva ut kompositversionen:

composer --version

Utgången ska se ut så här:

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

4. Installera Drupal

Nu när vi har installerat kompositör kan vi fortsätta och skapa ett nytt Drupal-projekt med kompositmallen inuti /var/www/my_drupal katalogen:

sudo 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 några skript för att förbereda vårt projekt för installation. Processen kan ta några minuter och om den är framgångsrik bör slutet på utgången se ut enligt följande:

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ändarinformation som skapats i steg 1:

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 skrivs skriptet ut det administrativa användarnamnet och lösenordet. Utgången ska se ut som följande:

Starting Drupal installation. This takes a while. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9

Slutligen måste vi ställa in rätt behörigheter så att webbservern kan ha full åtkomst till webbplatsens filer och kataloger. Både Nginx och PHP körs som www-data datanvändare och www-data datagrupp, så vi måste utfärda följande kommando:

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

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

Aktivera serverblocket genom att skapa en symbolisk länk till den sites-enabled katalogen:

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

Innan du startar om Nginx-tjänsten, gör ett test för att vara säker på att det inte finns några syntaxfel:

sudo nginx -t

Om det inte finns några fel, bör utgången se ut så här:

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

Slutligen, starta om Nginx-tjänsten genom att skriva:

sudo systemctl restart nginx

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

7. 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 www-data composer require drupal/pathauto Genom att förbereda sudo -u www-data kör vi kommandot som användar- 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 från utgången ovan installerar kompositören också alla paketberoenden för oss.

8. Uppdatera Drupal-kärnan

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 www-data 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. Du bör också besöka mallprojektet Drupal Composer på Github.

ubuntu drupal mysql mariadb cms nginx kompositör