Joomla adalah sistem manajemen konten sumber terbuka yang digunakan untuk menerbitkan aplikasi online dan situs web. Itu ditulis dalam PHP dan menggunakan MySQL/MariaDB sebagai database back-end. Ini adalah sederhana, mudah digunakan dan dibangun di atas kerangka kerja aplikasi web model-view-controller yang siap-seluler. Joomla hadir dengan banyak fitur dan desain yang menjadikannya pilihan yang baik untuk membangun situs profesional.
Dalam tutorial ini, kami akan menunjukkan cara menginstal Joomla CMS dengan Apache dan mengamankan dengan Let's Encrypt SSL di Ubuntu 20.04.
Prasyarat
- Server yang menjalankan Ubuntu 20.04 dengan RAM 2 GB.
- Nama domain yang valid ditunjukkan dengan server Anda.
- Kata sandi root dikonfigurasi di server Anda.
Instal Server LAMP
Pertama, Anda perlu menginstal server web Apache, MariaDB, PHP, dan ekstensi PHP lainnya di sistem Anda. Anda dapat menginstalnya menggunakan perintah berikut:
apt-get install apache2 mariadb-server php7.4 libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-json php7.4-opcache php7.4-mbstring php7.4-intl php7.4-xml php7.4-gd php7.4-zip php7.4-curl php7.4-xmlrpc unzip -y
Setelah semua paket terinstal, edit file php.ini dan ubah beberapa pengaturan.
nano /etc/php/7.4/apache2/php.ini
Ubah nilai berikut:
memory_limit = 512M upload_max_filesize = 256M post_max_size = 256M output_buffering = Off max_execution_time = 300 date.timezone = Asia/Kolkata
Simpan dan tutup file setelah Anda selesai.
Buat Basis Data
Pertama, amankan instalasi MariaDB dan atur kata sandi root MariaDB dengan perintah berikut:
mysql_secure_installation
Jawab semua pertanyaan seperti yang ditunjukkan di bawah ini:
Enter current password for root (enter for none): Set root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Selanjutnya, masuk ke shell MariaDB dengan perintah berikut:
mysql -u root -p
Berikan kata sandi root MariaDB Anda saat diminta kemudian buat database dan pengguna untuk Joomla dengan perintah berikut:
MariaDB [(none)]> CREATE DATABASE joomladb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MariaDB [(none)]> GRANT ALL ON joomladb.* TO 'joomla'@'localhost' IDENTIFIED BY 'password';
Selanjutnya, flush hak istimewa dan keluar dari shell MariaDB dengan perintah berikut:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Unduh dan Instal Joomla
Pertama, unduh versi terbaru Joomla dari situs resminya dengan perintah berikut:
wget https://downloads.joomla.org/cms/joomla3/3-9-18/Joomla_3-9-18-Stable-Full_Package.zip
Setelah unduhan selesai, unzip file yang diunduh ke direktori root web Apache dengan perintah berikut:
unzip Joomla_3-9-18-Stable-Full_Package.zip -d /var/www/html/joomla
Selanjutnya, ubah kepemilikan direktori joomla menjadi www-data dengan perintah berikut:
chown -R www-data:www-data /var/www/html/joomla
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Apache untuk Joomla
Selanjutnya, buat file konfigurasi virtual host Apache baru untuk melayani Joomla.
nano /etc/apache2/sites-available/joomla.conf
Tambahkan konten berikut:
<VirtualHost *:80> ServerName joomla.linuxbuz.com DirectoryIndex index.html index.php DocumentRoot /var/www/html/joomla ErrorLog ${APACHE_LOG_DIR}/joomla-error.log CustomLog ${APACHE_LOG_DIR}/joomla-access.log combined <Directory /var/www/html/joomla> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
Simpan dan tutup file kemudian aktifkan Apache virtual host dan restart layanan Apache menggunakan perintah berikut:
a2ensite joomla
systemctl restart apache2
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Amankan Joomla dengan Let's Encrypt SSL
Pertama, Anda perlu menginstal klien Certbot untuk menginstal dan mengelola Let's Encrypt SSL. Anda dapat menginstalnya dengan perintah berikut:
apt-get install certbot python3-certbot-apache -y
Setelah Certbot terinstal, jalankan perintah berikut untuk mengunduh dan menginstal Let's Encrypt SSL untuk situs web Anda:
certbot --apache -d joomla.linuxbuz.com
Anda akan diminta untuk memberikan alamat email Anda dan menerima persyaratan layanan seperti yang ditunjukkan di bawah ini:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for joomla.linuxbuz.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/joomla-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/joomla-le-ssl.conf Enabling available site: /etc/apache2/sites-available/joomla-le-ssl.conf
Selanjutnya, pilih apakah akan mengarahkan lalu lintas HTTP ke HTTPS seperti yang ditunjukkan di bawah ini:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Ketik 2 dan tekan Enter untuk menyelesaikan instalasi seperti yang ditunjukkan di bawah ini.
Redirecting vhost in /etc/apache2/sites-enabled/joomla.conf to ssl vhost in /etc/apache2/sites-available/joomla-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://joomla.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=joomla.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/joomla.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/joomla.linuxbuz.com/privkey.pem Your cert will expire on 2020-08-19. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le - We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org.
Pada titik ini, situs web Joomla Anda diamankan dengan Let's Encrypt SSL. Sekarang Anda dapat melanjutkan ke langkah berikutnya.
Mengakses CMS Joomla
Sekarang, buka browser web Anda dan ketik URL https://joomla.linuxbuz.com. Anda akan diarahkan ke wizard penginstalan berbasis web Joomla:
Berikan nama situs, email admin, sandi, dan klik Berikutnya tombol. Anda akan melihat wizard konfigurasi database:
Berikan nama database Joomla Anda, nama pengguna database, kata sandi dan klik tombol Berikutnya tombol. Anda akan melihat halaman finalisasi Joomla:
Pilih opsi yang Anda inginkan dan klik Instal tombol. Anda akan melihat halaman berikut:
Tinjau semua konfigurasi dan klik tombol Instal. Setelah Joomla diinstal, Anda akan melihat layar berikut:
Sekarang, hapus direktori instalasi dan klik Administrator tombol. Anda akan melihat halaman login Joomla:
Berikan nama pengguna Joomla Anda, kata sandi dan klik Log di tombol. Anda akan melihat dasbor Joomla di halaman berikut:
Anda juga dapat mengakses situs web Joomla Anda dengan mengunjungi URL https://joomla.linuxbuz.com. Anda akan melihat situs web Joomla Anda di halaman berikut:
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengamankan Joomla dengan Let's Encrypt di Ubuntu 20.04. Anda sekarang dapat dengan mudah membangun toko eCommerce, situs web pribadi, situs sosial, atau blog Anda. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.