Cara Install WordPress dengan Apache di FreeBSD
Tutorial FreeBSD server kali ini, kita akan belajar bagaimana cara install WordPress dengan menggunakan Apache web server disertai SSL dari Let’s Encrypt untuk protokol HTTPS.
Perangkat yang digunakan
Perangkat yang digunakan di tutorial ini:
- VPS FreeBSD 12.1 di Vultr
- Domain musaamin.my.id
- IP 207.148.123.152
- Apache
- PHP 7.4
- MariaDB 10.5
- Let’s Encrypt
- WordPress
Install Apache
Install Apache web server.
1 | pkg install apache24 |
Aktifkan service apache24.
1 | sysrc apache24_enable="YES" |
Jalankan service apache24.
1 | service apache24 start |
Browse http://serverIP untuk menguji apakah Apache web server sudah berjalan dengan baik.
Konfigurasi VirtualHost
Selanjutnya mengkonfigurasi virtualhost untuk domain musaamin.my.id.
Membuat folder untuk document root.
1 2 | mkdir -p /var/www/musaamin.my.id echo "hello world" > /var/www/musaamin.my.id/index.html |
Membuat folder untuk menyimpan file konfigurasi virtual host.
1 | mkdir /usr/local/etc/apache24/vhosts |
Membuat folder untuk log Apache.
1 | mkdir /var/log/apache |
Membuat file konfigurasi virtual host.
1 | nano /usr/local/etc/apache24/vhosts/musaamin.my.id.conf |
Isi file konfigurasi virtual hosts.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <VirtualHost *:80> DocumentRoot /var/www/musaamin.my.id ServerName musaamin.my.id ServerAlias www.musaamin.my.id ErrorLog /var/log/apache/musaamin.my.id_error.log CustomLog /var/log/apache/musaamin.my.id_access.log common <Directory /var/www/musaamin.my.id> Order allow,deny Allow from all Require all granted AllowOverride All </Directory> </VirtualHost> |
Buka file konfigurasi Apache.
1 | nano /usr/local/etc/apache24/httpd.conf |
Aktifkan opsi ServerName dan masukkan server IP address.
1 | ServerName 207.148.123.152 |
Tambahkan di baris paling bawah.
1 | Include etc/apache24/vhosts/*.conf |
Cek apakah ada kesalahan konfigurasi.
1 | apachectl -t |
Jika tidak ada kesalahan.
1 | Syntax OK |
Restart service Apache.
1 | service apache24 restart |
Browse http://musaamin.my.id.
Install PHP
Install PHP 7.4 dan extensionnya.
1 | pkg install php74 mod_php74 php74-mysqli php74-mbstring php74-pecl-mcrypt php74-zlib php74-curl php74-opcache php74-xml php74-xmlrpc php74-gd php74-json php74-zip |
Buat file konfigurasi untuk menghubungkan Apache dengan PHP.
1 | nano /usr/local/etc/apache24/Includes/php.conf |
Isi file php.conf.
1 2 3 4 5 6 7 8 9 | <IfModule dir_module> DirectoryIndex index.php index.html <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> </IfModule> |
https://www.youtube.com/watch?v=qZkNDpylDoE
Buat file php.ini
1 2 | cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.default ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini |
Restart service Apache.
1 | service apache24 restart |
Buat file info.php.
1 | echo "<?php phpinfo(); ?>" > /var/www/musaamin.my.id/info.php |
Browse http://musaamin.my.id/info.php
Install SSL Let’s Encrypt
Buka file konfigurasi Apache.
1 | nano /usr/local/etc/apache24/httpd.conf |
Aktifkan modul SSL dan rewrite.
1 2 | LoadModule ssl_module libexec/apache24/mod_ssl.so LoadModule rewrite_module libexec/apache24/mod_rewrite.so |
Restart service Apache.
1 | service apache24 restart |
Install certbot Let’s Encrypt.
1 | pkg install py37-certbot-apache |
Request SSL untuk domain musaamin.my.id.
1 | certbot --apache -d musaamin.my.id -d www.musaamin.my.id |
Jika berhasil, certbot mengubah file konfigurasi virtual host musaamin.my.id.conf.
1 | nano /usr/local/etc/apache24/vhosts/musaamin.my.id.conf |
Isinya.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <VirtualHost *:80> DocumentRoot /var/www/musaamin.my.id ServerName musaamin.my.id ServerAlias www.musaamin.my.id ErrorLog /var/log/apache/musaamin.my.id_error.log CustomLog /var/log/apache/musaamin.my.id_access.log common <Directory /var/www/musaamin.my.id> Order allow,deny Allow from all Require all granted AllowOverride All </Directory> RewriteEngine on RewriteCond %{SERVER_NAME} =musaamin.my.id [OR] RewriteCond %{SERVER_NAME} =www.musaamin.my.id RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] </VirtualHost> |
Certbot juga membuat file baru.
1 | nano /usr/local/etc/apache24/vhosts/musaamin.my.id-le-ssl.conf |
Isinya.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <IfModule mod_ssl.c> <VirtualHost *:443> DocumentRoot /var/www/musaamin.my.id ServerName musaamin.my.id ServerAlias www.musaamin.my.id ErrorLog /var/log/apache/musaamin.my.id_error.log CustomLog /var/log/apache/musaamin.my.id_access.log common <Directory /var/www/musaamin.my.id> Order allow,deny Allow from all Require all granted AllowOverride All </Directory> Include /usr/local/etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /usr/local/etc/letsencrypt/live/musaamin.my.id/fullchain.pem SSLCertificateKeyFile /usr/local/etc/letsencrypt/live/musaamin.my.id/privkey.pem </VirtualHost> </IfModule> |
Browse https://musaamin.my.id.
Install MariaDB
Install MariaDB database.
1 | pkg install mariadb105-server mariadb105-client |
Aktifkan dan jalankan service MariaDB.
1 2 | sysrc mysql_enable="YES" service mysql-server start |
Amankan instalasi MariaDB.
1 | mysql_secure_installation |
Jawab pertanyaannya.
1 2 3 4 5 6 7 | Enter current password for root (enter for none): ENTER Switch to unix_socket authentication [Y/n] y Change the root password? [Y/n] y 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 |
Login MariaDB
1 | mysql |
Buat database untuk WordPress.
1 2 3 4 5 | CREATE DATABASE musaamin; CREATE USER 'musaamin'@localhost IDENTIFIED BY 'rahasia'; GRANT ALL PRIVILEGES ON musaamin.* TO 'musaamin'@'localhost'; FLUSH PRIVILEGES; exit |
Install WordPress
Download WordPress terbaru.
1 | wget https://wordpress.org/latest.tar.gz -O wordpress.tar.gz |
Ekstrak wordpress.tar.gz
1 | tar xzvf wordpress.tar.gz |
Copy isi folder wordpress ke document root.
1 | cp -Rfv wordpress/* /var/www/musaamin.my.id |
Ubah ownership.
1 | chown -R www:www /var/www/musaamin.my.id |
Hapus file index.html dan info.php yang dibuat sebelumnya.
1 2 | rm -f /var/www/musaamin.my.id/info.php rm -f /var/www/musaamin.my.id/index.html |
Browse https://musaamin.my.id untuk install WordPress.
- Continue
- Let’s go!
- Masukkan nama database, username, dan password yang telah dibuat di MariaDB. Untuk Database Host = 127.0.0.1. Submit
- Run the installation
- Masukkan site title, username, password, dan email. Install WordPress.
WordPress telah selesai diinstall.
Cek https://musaamin.my.id dan login ke dashboard.
Gratis saldo $100 untuk pendaftaran akun baru di Vultr. Daftar sekarang
Selamat mencoba 🙂