How to install Drupal on Ubuntu 18.04 19.04 Linux LoaclHost
Innehållsförteckning:
- förutsättningar
- Innan du börjar
- 1. Skapa en MySQL-databas
- 2. Installera PHP
- 3. Installera kompositör
- 4. Installera Drupal
- 5. Konfigurera Nginx
- 6. Testa installationen
- 7. Installera Drupal-moduler och teman
- 8. Uppdatera Drupal-kärnan
- Slutsats
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:
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örSå här installerar du Drupal med WAMP på Windows
Du kan installera Drupal med WAMP på Windows. Denna handledning visar hur du installerar Drupal på localhost på Windows 10 / 8.1 / 7.
Hur du installerar, installerar hp officejet 6500a plus allt-i-ett-skrivare
Lär dig hur du installerar och installerar HP Officejet 6500A Plus allt-i-ett-skrivare.
Hur man installerar drupal på centos 7
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.