Kemarin kita sudah membahas tentang cara pembuatan sertifikat SSL di Localhost. Nah, agar sertifikat tersebut berguna maka kita perlu menerapkannya di server.
Kita terapkan di Apache dulu ya, mengapa? Saya pikir karena Apache ini yang paling banyak dipake buat server.
Kemudian kenapa pakai php-fpm? Karena php-fpm punya sistem managemen untuk user jadi nanti kita tidak perlu repot set permission ketika project php kita berada di /home
Oke langsung saja kita mulai. Sebelum memulai penting untuk diketahui bahwa tulisan ini gak banyak penjalasan ya, kita langsung ke bagian teknis saja.
Pemasangan
$ sudo apt update && \
sudo apt install -y \
apache2 php-fpm mariadb-server \
php-gd php-xml php-mbstring php-mysql \
php-zip php-curl libapache2-mod-fcgid
Pengaturan
Jika sudah dipasang langsung kita atur dulu php-fpmnya. Sebelum di atur pastikan kamu sudah mematikannya.
Pengaturan php-fpm
$ sudo systemctl stop php7.4-fpm.service
Kemudian kamu ke direktori /etc/php/7.4/fpm/pool.d/
lihat isi di sana, jika ada www.conf
kalian sunting saja berkas itu.
$ cd /etc/php/7.4/fpm/pool.d/
$ ls
Kalian sunting berkas www.conf
$ sudoedit /etc/php/7.4/fpm/pool.d/www.conf
Cari user
lalu ubah dengan user kalian. Dan pastikan kalian mengaktifkan unix socketnya ya.
Contohnya konfigurasinya kaya gini. Nama user dan group ali
jadi tinggal ganti saja dari www
menjadi ali
:
[www]
user = ali
group = ali
listen = /run/php/php7.4-fpm.sock
Buat Sertifikat
Contoh di sini lokasi sertifikat project kamu ada di /home/ali/mysite
kita tinggal buat sertifikatnya dengan mkcert pada lokasi tersebut.
$ cd ~/
$ mkdir -p mysite/{ssl,public}
$ cd mysite/ssl
$ mkcert mysite.local
Pengaturan apache
Untuk apache kita tinggal aktifkan saja module-modulenya
$ sudo a2enmod actions fcgid alias proxy_fcgi headers ssl
Lalu buat virtualhostnya contohnya mysite.conf
. Cara buatnya
$ sudo touch /etc/apache2/sites-available/mysite.conf
$ sudoedit /etc/apache2/sites-available/mysite.conf
Dan isi virtual sitenya dengan config seperti berikut:
|
|
Pengaturan Mariadb
Ini sih opsional saja, tapi kalau kamu pingin agar akun root dari mariadb gak dipake kamu bisa buatkan akun superuser lainnya.
Caranya, pertama masuk dulu ke mariab-cli
$ sudo systemctl start mariadb
$ sudo mysql -u root
Lalu kita buat usernya.
> create user ali@localhost identified by 'Password';
> grant all privileges on *.* to ali@localhost;
> flush privileges;
Nah jadi kalau kamu mau bikin aplikasi berdatabase mysql / mariadb tinggal pakai user di atas aja ya.
Aktifkan situsmu
Sekarang tinggal kita aktifkan situs yang kita buat tadi bernama mysite
cara aktifinnya gampang tinggal lakukan perintah berikut:
$ sudo a2ensite mysite.conf
Dan pastikan konfigurasimu benar, cek dengan perintah berikut:
$ sudo apachectl configtest
Finish
Selesai deh pemasangan dan pengaturan servermu, langsung selanjutnya tinggal kamu restart servicenya jadi jalankan di system-bootmu.
$ sudo systemctl restart apache2 php7.4-fpm mariadb
$ sudo systemctl enable apache2 php7.4-fpm mariadb
Komentar