GNU/Linux >> Belajar Linux >  >> Debian

Cara Instal Joomla dengan Nginx dan Mari Enkripsi SSL di Debian 11

Joomla! adalah salah satu Sistem Manajemen Konten (CMS) paling populer di samping WordPress. Dengan Joomla, Anda dapat membuat blog, forum diskusi, dan situs web lainnya.

Ini gratis, sumber terbuka, dan berfungsi baik dengan hampir semua layanan hosting web, menjadikannya salah satu yang termudah untuk dipasang dan digunakan.

Jika Anda belum memiliki hosting web, sebaiknya instal Joomla di sistem Debian atau VPS lokal Anda.

Di sini, kita akan melihat cara menginstal Joomla dengan Nginx di Debian 11.

Prasyarat

Instal LEMP Stack

Ikuti tautan di bawah ini untuk menginstal LEMP stack pada sistem Debian Anda untuk instalasi Joomla.

Instal EMP (Nginx, MariaDB, dan PHP) di Debian 11

Instal Ekstensi PHP

Gunakan perintah apt untuk menginstal ekstensi PHP yang diperlukan untuk Joomla.

sudo apt update

sudo apt install -y php-gd php-xmlrpc php-curl php-intl php-imagick php-mysql php-zip php-xml php-mbstring php-bcmath

Konfigurasi Pengaturan PHP untuk Joomla

Joomla memerlukan beberapa konfigurasi PHP seperti direktori sementara PHP, ukuran maksimum yang diizinkan untuk file yang diunggah agar berfungsi dengan benar. Jadi, edit php.ini berkas.

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

Kemudian, perbarui nilai di bawah ini sesuai kebutuhan Anda.

output_buffering = off # Required for Joomla

upload_tmp_dir = "/tmp"

upload_max_filesize = 64M

post_max_size = 64M

Setup Nginx Virtual Host untuk Joomla

Kita akan mulai dengan membuat virtual host untuk instalasi Joomla. Anda dapat menemukan semua file konfigurasi virtual host Nginx di bawah /etc/nginx/conf.d direktori.

Biasanya file host virtual berisi nama domain, nomor port, root dokumen, lokasi log, CGI cepat, dll.

Untuk artikel ini, saya berasumsi sebagai berikut:

Nama domain:itzgeek.net, www.itzgeek.net
No Port:80
Akar dokumen:/usr/share/nginx/www.itzgeek.net/html
Log:/usr/share/nginx/www.itzgeek.net/logs

Pertama, buat konfigurasi host virtual.

sudo nano /etc/nginx/conf.d/www.itzgeek.net.conf

Kemudian, tempatkan konten berikut ke dalam file konfigurasi di atas. Anda perlu mengubah server_name sesuai kebutuhan Anda.

server {
	server_name itzgeek.net www.itzgeek.net;
	root /usr/share/nginx/www.itzgeek.net/html;

	index index.php index.html;

	access_log /usr/share/nginx/www.itzgeek.net/logs/access.log;
	error_log /usr/share/nginx/www.itzgeek.net/logs/error.log;

	# Prevent access to certain file extensions
	location ~\.(ini|log|conf)$ {
		deny all;
	}

	location ~ \.php$ {
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        include fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}

}

Buat root dokumen dan direktori log.

sudo mkdir -p /usr/share/nginx/www.itzgeek.net/html/

sudo mkdir -p /usr/share/nginx/www.itzgeek.net/logs/

Verifikasi file konfigurasi Nginx dengan perintah di bawah ini.

sudo nginx -t

Jika Anda mendapatkan yang berikut, itu berarti konfigurasi virtual host sudah benar.

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

Mulai ulang layanan Nginx dan PHP-FPM.

sudo systemctl reload nginx php7.4-fpm

Instal Let's Encrypt SSL Certificate

Buat Data DNS

Buka pencatat domain Anda dan buat catatan DNS [A dan CNAME (opsional jika Anda tidak ingin menggunakan subdomain www)] untuk domain Anda.

  1. Nama Domain Non-www (Misalnya itzgeek.net)>> A rekam titik ke IP server Anda
  2. www Nama Domain (Mis. www.itzgeek.net)>> CNAME catat titik ke itzgeek.net

Untuk demo ini, saya membuat dua record agar website Joomla saya bisa diakses di www.itzgeek.net.

Instal klien Certbot

Klien Certbot, yang membantu kami membuat dan menginstal sertifikat SSL Let's Encrypt, sekarang tersedia sebagai paket snap untuk sistem operasi Debian. Jadi, pertama, instal snapd di sistem Anda.

sudo apt update

sudo apt install -y snapd

Kemudian, perbarui snapd ke versi terbaru.

sudo snap install core && sudo snap refresh core

Terakhir, instal klien Certbot menggunakan perintah snap.

sudo snap install --classic certbot

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Instal Sertifikat SSL

Gunakan certbot perintah untuk membuat dan menginstal sertifikat SSL Let's Encrypt untuk server web Nginx.

sudo certbot --nginx
1. Masukkan alamat email untuk menerima pemberitahuan tentang pembaruan mendesak dan pemberitahuan keamanan
2. Ketik Y dan tekan Enter untuk mendaftar ke server ACME
3. Ketik Y atau T untuk menerima email tentang berita, kampanye, buletin EFF.
4. Certbot akan secara otomatis mendeteksi domain Joomla dan meminta izin Anda untuk mengaktifkan HTTPS untuk situs web Joomla Anda. Ketik 1 atau angka yang sesuai dipisahkan dengan koma jika Anda memiliki beberapa situs web.
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1. itzgeek.net
2: www.itzgeek.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2

Tunggu hingga instalasi SSL selesai. Sekarang Anda dapat mengakses situs web dengan HTTPS.

Catatan: Jika Anda mengakses situs web sekarang, Anda akan mendapatkan 403 kesalahan terlarang karena Anda belum menempatkan file penginstal Joomla.

Arahkan permintaan HTTP non-www ke www HTTPS dengan Nginx

Anda mungkin ingin mengonfigurasi server Nginx untuk mengalihkan lalu lintas dari situs HTTP non-www ke situs HTTPS WWW, yaitu http://itzgeek.net>> https://www.itzgeek.net. Anda dapat melewati ini jika Anda tidak menggunakan www di domain Anda.

Perpanjang Otomatis Sertifikat SSL

Klien Certbot sekarang menyertakan pembaruan otomatis sertifikat SSL melalui systemd. Jadi, Anda tidak perlu memperbarui sertifikat secara manual.

Instal Joomla dengan Nginx

Buat Database untuk Instalasi Joomla

Pertama, login ke server database MariaDB/MySQL.

sudo mysql -u root -p

Kemudian buat database untuk instalasi Joomla beserta user database dan passwordnya.

CREATE DATABASE joomladb;

CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON joomladb.* TO 'joomlauser'@'localhost';

EXIT

Unduh Paket Joomla

Unduh versi terbaru paket Joomla menggunakan perintah berikut di terminal.

mkdir /tmp/joomla && cd /tmp/joomla

wget https://downloads.joomla.org/cms/joomla4/4-0-3/Joomla_4-0-3-Stable-Full_Package.tar.gz?format=gz -O Joomla_4-0-3-Stable-Full_Package.tar.gz

Kemudian, ekstrak file yang diunduh.

tar -zxvf Joomla_4-0-3-Stable-Full_Package.tar.gz

Kemudian, pindahkan file ke direktori root dokumen situs web Anda.

sudo mv * /usr/share/nginx/www.itzgeek.net/html/

Perbarui kepemilikan dan grup direktori situs Joomla.

sudo chown -R www-data:www-data /usr/share/nginx/www.itzgeek.net/

Instal CMS Joomla

Buka browser Anda dan kunjungi domain situs web Joomla Anda untuk melakukan instalasi Joomla.

https://situs-joomla-Anda

1. Pilih Bahasa untuk penginstal dan ketik Nama Situs untuk situs web Joomla Anda, lalu klik Setup Data Login

2. Masukkan Nama Administrator Joomla, nama pengguna, kata sandi, dan alamat email , lalu klik Siapkan Koneksi Data 

3. Pilih jenis database sebagai MySQL (PDO) lalu masukkan detail database Joomla [Tinggalkan awalan tabel dan Enkripsi Koneksi apa adanya] lalu klik Install Joomla

4. Sekarang Anda akan mendapatkan Selamat! Situs Joomla Anda sudah siap. Anda dapat mengakses situs web dengan mengeklik Situs Lengkap &Buka atau back-end Joomla dengan mengklik Complete &Open Admin. Jika mau, Anda juga dapat menambahkan bahasa tambahan untuk front-end dan back-end situs web Anda dengan mengeklik Instal Bahasa Tambahan.

5. Anda dapat mengakses back-end Joomla kapan saja dengan membuka https://your-joomla-website/administrator

Akses Situs Web Joomla

Sekarang, Anda akan dapat mengakses situs dengan nama domain Anda.

https://your-joomla-website

Kesimpulan

Itu saja. Saya harap Anda telah mempelajari cara menginstal Joomla dengan Nginx di Debian 11.


Debian
  1. Instal Lets Encrypt dan Secure Nginx dengan SSL/TLS di Debian 9

  2. Instal Automad CMS dengan Nginx dan Mari Enkripsi SSL di Debian 10

  3. Cara Menginstal Let's Encrypt SSL di Ubuntu 18.04 dengan Nginx

  1. Cara Instal OpenCart dengan Nginx dan Lets Encrypt di Debian 10

  2. Cara Menginstal Drupal 9 dengan Nginx dan Mengenkripsi SSL di Debian 10

  3. Cara Menginstal Joomla dengan Apache dan Mengenkripsi SSL di Debian 10

  1. Cara Menginstal Drupal dengan Apache dan Mengenkripsi SSL di Debian 11

  2. Cara Menginstal AbanteCart dengan Nginx dan SSL di Debian 11

  3. Cara Memasang Forum Wacana dengan Nginx dan Lets Encrypt SSL Gratis di Debian 11