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.