Android

Bagaimana untuk memasang drupal pada 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

Isi kandungan:

Anonim

Drupal adalah salah satu platform CMS sumber terbuka yang paling popular di seluruh dunia. Ia ditulis dalam PHP dan boleh digunakan untuk membina pelbagai jenis laman web yang terdiri daripada blog peribadi kecil ke laman korporat, politik, dan kerajaan yang besar.

Dalam tutorial ini, kami akan menunjukkan kepada anda cara memasang Drupal 8.6 pada mesin Ubuntu 18.04. Terdapat banyak cara untuk memasang Drupal. Tutorial ini merangkumi langkah-langkah yang diperlukan untuk memasang Drupal 8.6 menggunakan template komposer untuk projek Drupal yang dipanggil drupal-project.

Kami akan menggunakan Nginx sebagai pelayan web, PHP terbaru 7.2 dan MySQL / MariaDB sebagai pelayan pangkalan data.

Prasyarat

Pastikan anda telah memenuhi prasyarat berikut sebelum meneruskan dengan tutorial ini:

  • Anda mempunyai nama domain yang menunjuk ke IP pelayan awam anda. Kami akan menggunakan example.com . Anda mempunyai Nginx dipasang dengan mengikuti arahan ini.Anda mempunyai sijil SSL yang dipasang untuk domain anda. Anda boleh memasang percuma Sijil SSL Encrypt dengan mengikuti arahan ini.

Sebelum awak bermula

Kemas kini indeks pakej dan pakej sistem kepada versi terkini:

sudo apt update && sudo apt upgrade

1. Buat pangkalan data MySQL

sudo apt install mysql-server Untuk pemasangan MySQL segar, disyorkan untuk menjalankan arahan mysql_secure_installation untuk meningkatkan keselamatan pelayan MySQL anda.

Sekarang kita perlu log masuk ke shell MySQL dan untuk membuat pangkalan data dan akaun pengguna baru dan memberi pengguna hak akses yang sesuai.

Untuk log masuk ke jenis shell MySQL arahan berikut dan masukkan kata laluan apabila diminta:

mysql -u root -p

Untuk membuat pangkalan data bernama drupal , pengguna bernama drupaluser dan untuk memberikan kebenaran yang diperlukan kepada pengguna, jalankan arahan berikut:

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. Pasang PHP

PHP 7.2 yang merupakan versi PHP lalai di Ubuntu 18.04 disokong sepenuhnya dan disyorkan untuk Drupal 8.6. Oleh kerana kami akan menggunakan Nginx sebagai pelayan web, kami akan memasang PHP-FPM juga.

Untuk memasang semua modul PHP yang diperlukan, jalankan arahan berikut:

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

Perkhidmatan PHP-FPM akan dimulakan secara automatik selepas proses pemasangan selesai, anda boleh mengesahkannya dengan mencetak status perkhidmatan:

systemctl status php7.2-fpm

Output harus menunjukkan bahawa perkhidmatan fpm aktif dan berjalan.

● 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. Pasang Komposer

Komposer adalah pengurus pergantungan untuk PHP dan kami akan menggunakannya untuk memuat turun template Drupal dan memasang semua komponen Drupal yang diperlukan.

Untuk memasang komposer di seluruh dunia muat turun Pemasang Komposer dengan curl dan pindahkan fail ke direktori /usr/local/bin :

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

Sahkan pemasangan dengan mencetak versi komposer:

composer --version

Keluaran seharusnya kelihatan seperti ini:

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

4. Pasang Drupal

Sekarang kita mempunyai komposer yang dipasang, kita dapat meneruskan dan membuat projek Drupal baru menggunakan template komposer di dalam direktori /var/www/my_drupal :

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

Perintah di atas akan memuat turun template, mengambil semua pakej php yang diperlukan dan jalankan beberapa skrip untuk menyediakan projek kami untuk pemasangan. Proses ini mungkin mengambil masa beberapa minit dan jika berjaya, akhir output seharusnya kelihatan seperti berikut:

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

Langkah seterusnya ialah memasang Drupal menggunakan Drush. Dalam arahan di bawah ini kita lulus pangkalan data MySQL dan maklumat pengguna yang dibuat dalam langkah 1:

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

Pemasang akan meminta anda dengan mesej berikut, hanya tekan enter untuk meneruskan.

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

Sebaik sahaja pemasangan selesai, skrip akan mencetak nama pengguna dan kata laluan pentadbiran. Output seharusnya kelihatan seperti berikut:

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

Akhirnya, kita perlu menetapkan kebenaran yang betul supaya pelayan web dapat mempunyai akses penuh ke fail dan direktori tapak. Kedua-dua Nginx dan PHP dijalankan sebagai kumpulan pengguna www-data dan www-data dan www-data , jadi kita perlu mengeluarkan arahan berikut:

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

5. Konfigurasikan Nginx

Sekarang, anda seharusnya sudah mempunyai Nginx dengan sijil SSL yang dipasang pada sistem anda, jika tidak memeriksa prasyarat untuk tutorial ini.

Untuk membuat blok pelayan baru untuk projek Drupal baru kami, kami akan menggunakan resipi Nginx dari laman rasmi Nginx.

Buka editor teks anda dan buat fail berikut:

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; } } Jangan lupa untuk mengganti example.com dengan domain Drupal anda dan tetapkan laluan yang betul ke fail sijil SSL. Semua permintaan HTTP akan diarahkan ke HTTPS. Coretan yang digunakan dalam konfigurasi ini dicipta dalam panduan ini.

Dayakan blok pelayan dengan membuat pautan simbolik ke direktori sites-enabled :

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

Sebelum memulakan semula perkhidmatan Nginx membuat ujian untuk memastikan tiada ralat sintaks:

sudo nginx -t

Sekiranya tiada ralat, output seharusnya kelihatan seperti ini:

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

Akhir sekali, mulakan semula perkhidmatan Nginx dengan menaip:

sudo systemctl restart nginx

6. Uji Pemasangan

Buka penyemak imbas anda, ketik domain anda dan dengan asumsi pemasangan berjaya, skrin yang serupa dengan yang berikut akan muncul:

Anda boleh log masuk sebagai pentadbir dan mula menyesuaikan pemasangan Drupal baru anda.

7. Pasang modul dan tema Drupal

Sekarang anda telah memasang projek Drupal anda, anda perlu memasang beberapa modul dan tema. Modul dan tema Drupal dihoskan pada repositori penggubah adat, yang projek drupal mengkonfigurasi untuk kami keluar dari kotak.

Untuk memasang modul atau tema, semua yang perlu anda lakukan ialah cd ke direktori projek dan taipkan composer require drupal/module_or_theme_name . Sebagai contoh, jika kita mahu memasang modul Pathauto, kita perlu menjalankan arahan berikut:

cd /var/www/my_drupal sudo -u www-data composer require drupal/pathauto cd /var/www/my_drupal sudo -u www-data composer require drupal/pathauto Dengan menyediakan sudo -u www-data kita menjalankan perintah sebagai pengguna 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

Seperti yang anda dapat lihat dari output di atas komposer juga memasang semua kebergantungan pakej untuk kami.

8. Kemaskini teras Drupal

Sebelum menaik taraf, ia sentiasa merupakan idea yang baik untuk mengambil sandaran fail dan pangkalan data anda. Anda boleh menggunakan modul Cadangan dan Migrasi atau membuat sandaran pangkalan data dan fail anda secara manual.

Untuk membuat sandaran fail pemasangan, anda boleh menggunakan arahan rsync berikut, sudah tentu, anda perlu menggunakan laluan yang betul ke direktori pemasangan:

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

Untuk membuat sandaran pangkalan data kami boleh menggunakan arahan mysqldump standard:

mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql

atau drush sql-dump :

cd /var/www/my_drupal vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql

Sekarang kita buat sandaran yang kita boleh teruskan dan kemas kini semua fail teras Drupal dengan menjalankan perintah berikut:

sudo -u www-data composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

Kesimpulannya

Tahniah, anda telah berjaya memasang Drupal 8 menggunakan komposer dan belajar cara memasang modul dan tema. Anda kini boleh mula menyesuaikan laman web anda. Panduan Pengguna Drupal 8 adalah tempat permulaan yang baik untuk mengetahui lebih lanjut mengenai cara menguruskan pemasangan Drupal anda. Anda juga harus melawat projek templat Drupal Composer di Github.

ubuntu drupal mysql mariadb cms nginx komposer