Cara Install dan Konfigurasi Lighttpd Web Server di Debian 10

Lighttpd adalah web server free, open-source, serta berkecepatan tinggi yang dirancang khusus untuk lingkungan yang kritis akan kecepatan. Lighttpd membutuhkan jejak memori yang lebih rendah dibandingkan dengan web server lain, seperti Apache dan Nginx, Lighttpd terkenal akan kecepatannya untuk menjalankan aplikasi AJAX.

Lighttpd juga memungkinkan kita untuk meng-host aplikasi web yang ditulis dalam bahasa pemrograman lain menggunakan interface FastCGI, SCGI dan CGI. Lighttpd adalah pilihan terbaik untuk pengguna yang lebih mementingkan kecepatan daripada performa. Terutama untuk web server yang minim akan sumber daya atau hanya menangani sedikit pemrosesan.

Dalam tutorial ini, kita akan belajar cara menginstal Lighttpd pada Debian 10 dengan dukungan PHP-FPM dan MariaDB. Untuk mengamankan lalu lintas ke web server, kita juga akan mengkonfigurasi sertifikat SSL Let’s Encrypt.

*Persyaratan*

· Server yang menjalankan Debian 10. · Kata sandi root diatur ke server Anda.

Dalam tutorial ini, kita akan nama domain example.com. Ganti */example.com/* di semua nama file dan pengaturan konfigurasi dengan nama domain Anda sendiri.

*Langkah Awal*

Sebelum memulai, Anda perlu memperbarui sistem dengan versi terbaru. Anda dapat melakukan ini dengan menjalankan perintah berikut:

apt-get update && apt-get upgrade -y

Setelah server diperbarui, restart server untuk menerapkan perubahan dan meminimalisir kesalahan.

*Instal Lighttpd*

Secara default, Lighttpd tersedia di repositori default Debian 10. Anda dapat menginstalnya dengan hanya menjalankan perintah berikut:

apt-get install lighttpd -y

Setelah instalasi selesai, mulai layanan Lighttpd dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:

systemctl start lighttpd systemctl enable lighttpd

Periksa status Lighttpd dengan perintah berikut:

systemctl status lighttpd

Anda akan mendapatkan output berikut:

? lighttpd.service – Lighttpd Daemon Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2019-09-06 02:09:35 EDT; 29s ago Main PID: 4445 (lighttpd) Tasks: 1 (limit: 1138) Memory: 1.4M CGroup: /system.slice/lighttpd.service ??4445 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf

Sep 06 02:09:35 debian systemd[1]: Starting Lighttpd Daemon… Sep 06 02:09:35 debian systemd[1]: Started Lighttpd Daemon. Sep 06 02:09:36 debian systemd[1]: /lib/systemd/system/lighttpd.service:6: PIDFile= references path below legacy directory /var/run/, updating lines 1-12/12 (END)

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

*Instal MariaDB” Server*

Anda dapat menginstal server MariaDB dengan menjalankan perintah berikut:

apt-get install mariadb-server mariadb-client -y

Setelah diinstal, Anda harus mengamankan instalasi MariaDB. Anda dapat mengamankannya dengan menjalankan skrip berikut:

mysql_secure_installation

Answer all the questions as shown below: Change the root password? [Y/n] n 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

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

*Instal PHP dan PHP-FPM*

Selanjutnya, Anda perlu menginstal PHP, PHP-FPM, dan FastCGI ke sistem Anda. Secara default, Debian 10 dikirimkan dengan PHP versi 7.3. Anda dapat menginstalnya dengan hanya menjalankan perintah berikut:

apt-get install php php-cgi php-fpm php-mysql -y

Setelah semua paket diinstal, Anda perlu mengedit file php.ini dan mengatur cgi.fix_pathinfo ke 1. Anda dapat melakukannya dengan perintah berikut:

nano /etc/php/7.3/fpm/php.ini

Ubah baris berikut:

cgi.fix_pathinfo=1

Simpan dan tutup file setelah selesai.

Secara default, PHP menunjuk ke UNIX soket”  /var/run/php/php7.3-fpm.sock. Jadi, Anda perlu mengkonfigurasi PHP-FPM pool untuk mengatur PHP untuk listens pada TCP socket.

Anda dapat melakukan ini dengan mengedit file /etc/php/7.3/fpm/pool.d/www.conf:

nano /etc/php/7.3/fpm/pool.d/www.conf

Temukan baris berikut:

listen = /run/php/php7.3-fpm.sock

Ganti baris berikut

listen = 127.0.0.1:9000

Simpan dan tutup file setelah selesai. Kemudian, restart layanan PHP-FPM untuk menerapkan perubahan konfigurasi:

systemctl restart php7.3-fpm

Selanjutnya, kita perlu memodifikasi file 15-fastcgi-php.conf:

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf

Temukan baris berikut:

“bin-path” => “/usr/bin/php-cgi”, “socket” => “/var/run/lighttpd/php.socket”,

Dan gantilah dengan yang berikut ini:

“host” => “127.0.0.1”, “port” => “9000”,

Simpan dan tutup file setelah selesai. Kemudian, aktifkan modul FastCGI dan FastCGI-PHP dengan perintah berikut:

lighty-enable-mod fastcgi lighty-enable-mod fastcgi-php

Terakhir, restart layanan Lighttpd untuk menerapkan perubahan:

systemctl restart lighttpd

*Buat Lighttpd Virtual Host*

Selanjutnya, Anda perlu membuat file virtual” host baru untuk menguji PHP dengan Lighttpd. Anda dapat membuatnya dengan perintah berikut:

nano /etc/lighttpd/conf-available/example.com.conf

Tambahkan baris berikut:

$HTTP[“host”] == “www.example.com” { server.document-root = “/var/www/html/” server.errorlog = “/var/log/lighttpd/example.com-error.log” }

Simpan dan tutup file setelah selesai. Kemudian, aktifkan Virtual host dengan perintah berikut:

ln -s /etc/lighttpd/conf-available/example.com.conf /etc/lighttpd/conf-enabled/

Selanjutnya, buat file sample index.php di direktori root dokumen Lighttpd dengan perintah berikut:

nano /var/www/html/index.php

Tambahkan baris berikut:

Simpan dan tutup file. Kemudian, ubah kepemilikan direktori root dokumen Lighttpd ke www-data dengan perintah berikut:

chown -R www-data:www-data /var/www/html/

Terakhir, restart layanan Lighttpd untuk menerapkan semua perubahan konfigurasi:

systemctl restart lighttpd

*Amankan Lighttpd dengan Let’s Encrypt*

Pertama, instal Certbot tool untuk mengamankan web server dengan Let”€™s Encrypt. Secara default, versi terbaru Certbot tidak tersedia di repositori default Debian 10.

Anda dapat menambahkan repositori Certbot dengan perintah berikut:

apt-get install software-properties-common add-apt-repository ppa:certbot/certbot

Selanjutnya, perbarui repositori dan instal Certbot dengan perintah berikut:

apt-get update -y apt-get install certbot -y

Selanjutnya, buat sertifikat Let”€™s Encrypt dengan perintah berikut:

certbot certonly –webroot -w /var/www/html/ -d www.example.com

Anda akan diminta untuk memberikan alamat email dan menerima ketentuan lisensi seperti yang ditunjukkan di bawah ini:

Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator webroot, Installer None Enter email address (used for urgent renewal and security notices) (Enter ‘c’ to cancel): admin@example.com

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – 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

Setelah sertifikat berhasil diunduh, Anda akan melihat output berikut:

IMPORTANT NOTES: – Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2019-12-06. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run “certbot renew” – 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

Selanjutnya, Anda harus menggabungkan sertifikat dan private key dalam satu file. Anda dapat melakukannya dengan perintah berikut:

cat /etc/letsencrypt/live/example.com/cert.pem /etc/letsencrypt/live/example.com/privkey.pem > /etc/letsencrypt/live/example.com/web.pem

Selanjutnya, Anda perlu mengedit file virtual host Lighttpd dan menentukan jalur Let’s Encrypt.

Anda dapat melakukannya dengan perintah berikut:

nano /etc/lighttpd/conf-enabled/example.com.conf

Ubah file seperti yang ditunjukkan di bawah ini:

$HTTP[“host”] == “www.example.com” { server.document-root = “/var/www/html/” }

$SERVER[“socket”] == “:443” { ssl.engine = “enable” ssl.pemfile = “/etc/letsencrypt/live/example.com/web.pem” # Combined Certificate ssl.ca-file = “/etc/letsencrypt/live/example.com/chain.pem” # Root CA server.name = “www.example.com” # Domain Name OR Virtual Host Name server.document-root = “/var/www/html/” # Document Root server.errorlog = “/var/log/lighttpd/example.com_error.log” accesslog.filename = “/var/log/lighttpd/example.com_access.log” }

$HTTP[“scheme”] == “http” { $HTTP[“host”] == “www.example.com” { # HTTP URL url.redirect = (“/.*” => “https://www.example.com$0”) # Redirection HTTPS URL } }

Simpan dan tutup file. Kemudian restart layanan Lighttpd untuk menerapkan perubahan konfigurasi:

systemctl restart lighttpd

*Akses Web Interface Lighttpd*

Lighttpd telah diinstal dan dikonfigurasi dengan dukungan PHP dan PHP-FPM. Sekarang, saatnya untuk mengujinya.

Buka web browser dan ketik URL https://www.example.com. Anda akan diarahkan ke halaman berikut:

Halaman di atas menunjukkan bahwa PHP dan FastCGI telah berfungsi dengan baik.

*Kesimpulan*

Pada poin ini, instal dan konfigurasi server web Lighttpd dengan dukungan PHP-FPM dan FastCGI di Debian 10 telah berhasil. Sekarang Anda dapat meng-host aplikasi web server dengan mudah. Untuk informasi lebih lanjut, kunjungi halaman dokumentasi resmi Lighttpd di Lighttpd Doc.

Leave a Reply

Your email address will not be published.