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.
- Nama Domain Non-www (Misalnya itzgeek.net)>> A rekam titik ke IP server Anda
- 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 --nginx1. 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-websiteKesimpulan
Itu saja. Saya harap Anda telah mempelajari cara menginstal Joomla dengan Nginx di Debian 11.