GNU/Linux >> Belajar Linux >  >> Ubuntu

Instal Beberapa Instance Drupal dengan Nginx di Ubuntu 20.04

Drupal adalah platform gratis, skalabel, dan terbuka yang digunakan untuk membuat dan mengelola konten situs web. Ini memiliki komunitas besar dan digunakan oleh jutaan orang dan organisasi di seluruh dunia. Drupal menyediakan antarmuka web yang sederhana dan ramah pengguna yang membantu Anda membuat berbagai situs web mulai dari situs web pribadi hingga situs web besar berbasis komunitas.

Dalam panduan ini, kami akan menunjukkan cara menerapkan beberapa instance Drupal dengan Nginx di Ubuntu 20.04.

Prasyarat

  • Server yang menjalankan Ubuntu 20.04.
  • Dua nama domain valid yang ditunjukkan dengan IP server Anda.
  • Kata sandi root dikonfigurasi di server.

Langkah 1:Instal Dependensi yang Diperlukan

Pertama, Anda perlu memperbarui paket sistem Anda ke versi yang diperbarui dan menginstal dependensi yang diperlukan ke sistem Anda. Anda dapat melakukannya dengan perintah berikut:

apt-get update -y
apt-get install gnupg2 software-properties-common unzip git wget -y

Setelah semua dependensi terinstal, Anda dapat melanjutkan ke langkah berikutnya.

Langkah 2:Instal Nginx dan MariaDB

Di sini, kami akan menghosting Drupal dengan Nginx. Jadi Nginx harus diinstal di server Anda. Jika belum terinstal, Anda dapat menginstalnya dengan perintah berikut:

apt-get install nginx -y

Setelah menginstal Nginx, Anda perlu menginstal versi terbaru MariaDB ke server Anda. Secara default, versi terbaru MariaDB tidak disertakan dalam repositori default Ubuntu 20.04. Jadi, Anda perlu menambahkan repositori MariaDB ke APT.

Pertama, tambahkan kunci GPG dengan perintah berikut:

apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

Selanjutnya, tambahkan repositori MariaDB dengan perintah berikut:

add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"

Setelah repositori ditambahkan, perbarui repositori dan instal versi terbaru MariaDB dengan perintah berikut:

apt-get update -y
apt-get install mariadb-server -y

Setelah server MariaDB terinstal, Anda dapat melanjutkan ke langkah berikutnya.

Langkah 3:Instal PHP 7.4

Drupal tidak mendukung PHP 8.0. Jadi, Anda perlu menginstal PHP 7.4 di sistem Anda. Anda dapat menginstal PHP versi 7.4 dengan ekstensi lain yang diperlukan dengan perintah berikut:

apt-get install php7.4 php7.4-fpm php7.4-gd php7.4-common php7.4-mysql php7.4-apcu php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip -y

Setelah semua paket terinstal, edit file php.ini dan ubah beberapa perubahan:

nano /etc/php/7.4/fpm/php.ini

Ubah baris berikut:

date.timezone = Asia/Kolkata
memory_limit = 256M
upload_max_filesize = 64M
max_execution_time = 600
cgi.fix_pathinfo = 0

Simpan dan tutup file kemudian restart PHP-FPM untuk menerapkan perubahan:

systemctl restart php7.4-fpm

Langkah 4:Buat Basis Data Drupal

Selanjutnya, Anda perlu membuat database dan pengguna untuk kedua instance Drupal.

Pertama, sambungkan ke MySQL dengan perintah berikut:

mysql

Setelah terhubung, buat database untuk kedua instance Drupal dengan perintah berikut:

MariaDB [(none)]> create database drupal1db;
MariaDB [(none)]> create database drupal2db;

Selanjutnya, buat pengguna database untuk kedua instance Drupal dengan perintah berikut:

MariaDB [(none)]> create user [email protected] identified by 'password';
MariaDB [(none)]> create user [email protected] identified by 'password';

Selanjutnya, berikan semua hak istimewa ke kedua database Drupal dengan perintah berikut:

MariaDB [(none)]> grant all privileges on drupal1db.* to [email protected] identified by 'password';
MariaDB [(none)]> grant all privileges on drupal2db.* to [email protected] identified by 'password';

Selanjutnya, flush hak istimewa dan keluar dari MySQL dengan perintah berikut:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Langkah 5:Unduh Drupal

Selanjutnya, Anda perlu mengunduh Drupal versi terbaru dari situs resminya.

Pertama, ubah direktori ke root web Nginx dengan perintah berikut:

cd /var/www/html

Selanjutnya, unduh versi terbaru Drupal dengan perintah berikut:

wget -q https://www.drupal.org/download-latest/tar.gz -O drupal-latest.tar.gz

Selanjutnya, ekstrak file yang diunduh dengan perintah berikut:

tar -xf drupal-latest.tar.gz

Selanjutnya, salin direktori yang diekstrak ke drupal1 dan drupal2:

cp -r drupal-9.1.5 drupal1
cp -r drupal-9.1.5 drupal2

Selanjutnya, atur kepemilikan yang tepat dengan perintah berikut:

chown -R www-data:www-data /var/www/html/drupal*

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Langkah 6:Konfigurasi Nginx

Selanjutnya, Anda perlu membuat dua file konfigurasi virtual host Nginx untuk setiap instance Drupal.

Pertama, buat file konfigurasi virtual host Nginx untuk instance Drupal pertama:

nano /etc/nginx/conf.d/drupal1.conf

Tambahkan baris berikut:

server {
    listen 80;
    root /var/www/html/drupal1;
    index  index.php index.html index.htm;
    server_name drupal1.example.com;

    location / {
    try_files $uri /index.php?$query_string;
    }

    location @rewrite {
               rewrite ^/(.*)$ /index.php?q=$1;
        }

    location ~ [^/]\.php(/|$) {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
    }

    location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7
               try_files $uri @rewrite;
        }

    location ~ ^(/[a-z\-]+)?/system/files/ { # For Drupal >= 7
        try_files $uri /index.php?$query_string;
        }
}

Simpan dan tutup file setelah Anda selesai.

Selanjutnya, buat file konfigurasi virtual host Nginx untuk instance Drupal kedua:

nano /etc/nginx/conf.d/drupal2.conf

Tambahkan baris berikut:

server {
    listen 80;
    root /var/www/html/drupal2;
    index  index.php index.html index.htm;
    server_name drupal2.example.com;

    location / {
    try_files $uri /index.php?$query_string;
    }

    location @rewrite {
               rewrite ^/(.*)$ /index.php?q=$1;
        }

    location ~ [^/]\.php(/|$) {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
    }

    location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7
               try_files $uri @rewrite;
        }

    location ~ ^(/[a-z\-]+)?/system/files/ { # For Drupal >= 7
        try_files $uri /index.php?$query_string;
        }
}

Simpan dan tutup file setelah Anda selesai kemudian verifikasi Nginx untuk kesalahan sintaks dengan perintah berikut:

nginx -t

Anda akan melihat output berikut:

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

Selanjutnya, restart layanan Nginx untuk menerapkan perubahan:

systemctl restart nginx

Anda juga dapat memeriksa status Nginx dengan perintah berikut:

systemctl status nginx

Anda akan mendapatkan output berikut:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-03-23 08:50:47 UTC; 6s ago
       Docs: man:nginx(8)
    Process: 19946 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 19959 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 19964 (nginx)
      Tasks: 2 (limit: 2353)
     Memory: 2.7M
     CGroup: /system.slice/nginx.service
             ??19964 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??19965 nginx: worker process

Mar 23 08:50:47 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Mar 23 08:50:47 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.

Langkah 7:Akses Drupal

Sekarang, buka browser web Anda dan ketik URL http://drupal1.example.com atau http://drupal2.example.com . Anda akan diarahkan ke wizard instalasi web Drupal seperti yang ditunjukkan di bawah ini:

Pilih bahasa Anda dan klik Simpan dan lanjutkan tombol. Anda akan melihat halaman berikut:

Pilih jenis instalasi standar dan klik Simpan dan lanjutkan tombol. Anda akan melihat halaman berikut:

Berikan detail basis data Anda dan klik Simpan dan lanjutkan tombol. Anda akan melihat halaman berikut:

Berikan informasi situs Anda dan klik tombol Simpan dan lanjutkan tombol. Anda akan melihat dasbor Drupal di halaman berikut:

Kesimpulan

Dalam posting di atas, Anda telah mempelajari cara menerapkan beberapa instance Drupal dengan Nginx di server Ubuntu 20.04. Anda sekarang dapat menerapkan sejumlah instance Drupal di server Anda. Anda hanya perlu menentukan nama domain dan jalur penginstalan Drupal untuk setiap instans Drupal baru. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Ubuntu
  1. Cara Menginstal Nextcloud dengan Nginx di Ubuntu 18.04 LTS

  2. Cara Menginstal Seafile dengan Nginx di Ubuntu 20.04 LTS

  3. Instal Nextcloud dengan Nginx di Ubuntu 20.04 LTS - Panduan langkah demi langkah?

  1. Cara Menginstal SuiteCRM dengan Nginx di Ubuntu 16.04

  2. Cara Menginstal Magento 2 dengan Nginx dan Letsencrypt di Ubuntu 18.04

  3. Cara Menginstal Drupal 8 dengan Nginx, PHP-FPM dan SSL di Ubuntu 15.10

  1. Cara Menginstal Magento dengan Nginx di Ubuntu 16.04

  2. Cara Menginstal OroCRM dengan Nginx di Ubuntu 16.04 LTS

  3. Cara Menginstal Laravel 5.6 PHP Framework dengan Nginx di Ubuntu 18.04