GNU/Linux >> Belajar Linux >  >> Debian

Cara Instal Lighttpd dengan PHP, MariaDB dan Lets Encrypt SSL di Debian 10

Lighttpd adalah server web gratis, sumber terbuka, dan berkecepatan tinggi yang dirancang khusus untuk lingkungan yang kritis terhadap kecepatan. Ini membutuhkan jejak memori yang rendah dibandingkan dengan server web lain, seperti Apache dan Nginx dan terutama cepat untuk menjalankan aplikasi AJAX. Lighttpd juga memungkinkan kita untuk meng-host aplikasi web yang ditulis dalam bahasa pemrograman lain menggunakan antarmuka FastCGI, SCGI dan CGI. Lighttpd adalah pilihan terbaik untuk Anda jika server Anda mengalami masalah pemuatan.

Dalam tutorial ini, kita akan mempelajari cara menginstal Lighttpd di Debian 10 dengan dukungan PHP-FPM dan MariaDB dan kita akan mengamankan server web dengan sertifikat SSL Let's Encrypt.

Persyaratan

  • Server yang menjalankan Debian 10.
  • Kata sandi root disiapkan untuk server Anda.

Saya akan menggunakan nama domain example.com dalam tutorial ini. Ganti example.com di semua nama file dan pengaturan konfigurasi dengan nama domain Anda sendiri di bawah ini.

Memulai

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

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

Setelah server Anda diperbarui, mulai ulang server Anda untuk menerapkan perubahan.

Instal Lighttpd

Secara default, Lighttpd tersedia di repositori default Debian 10. Anda dapat menginstalnya hanya dengan 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

Anda juga dapat memeriksa 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 Server MariaDB

Anda dapat menginstal server MariaDB dengan menjalankan perintah berikut:

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

Setelah terinstal, Anda perlu 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 hanya dengan menjalankan perintah berikut:

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

Setelah semua paket terinstal, Anda perlu mengedit file php.ini dan menyetel 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 Anda selesai.

Secara default, PHP menunjuk ke soket UNIX /var/run/php/php7.3-fpm.sock. Jadi, Anda perlu mengonfigurasi kumpulan PHP-FPM untuk mengatur PHP mendengarkan ke soket TCP.

Anda dapat melakukannya 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

Dan ganti dengan baris berikut:

listen = 127.0.0.1:9000

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

systemctl restart php7.3-fpm

Selanjutnya, Anda 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 ganti dengan yang berikut ini:

"host" => "127.0.0.1",
"port" => "9000",

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

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

Terakhir, restart layanan Lighttpd untuk menerapkan perubahan:

systemctl restart lighttpd

Buat Host Virtual Lighttpd

Selanjutnya, Anda perlu membuat file host virtual 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 Anda selesai. Kemudian, aktifkan Virtual host dengan perintah berikut:

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

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

nano /var/www/html/index.php

Tambahkan baris berikut:

<?php phpinfo(); ?>

Simpan dan tutup file. Kemudian, ubah kepemilikan direktori root dokumen Lighttpd menjadi 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 Free SSL

Pertama, Anda perlu menginstal alat Certbot untuk mengamankan server web Anda 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 Anda dan menerima persyaratan 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): [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

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 perlu menggabungkan sertifikat dan kunci pribadi 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 host virtual Lighttpd dan menentukan jalur sertifikat SSL Let's Encrypt.

Anda dapat melakukannya dengan perintah berikut:

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

Ubah file seperti gambar 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

Mengakses Antarmuka Web Lighttpd

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

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

Halaman di atas menunjukkan bahwa PHP bekerja dengan baik dengan FastCGI.

Kesimpulan

Selamat! Anda telah berhasil menginstal dan mengkonfigurasi server web Lighttpd dengan dukungan PHP-FPM dan FastCGI di Debian 10. Sekarang Anda dapat meng-host server web Anda sendiri dengan mudah. Untuk informasi lebih lanjut, kunjungi halaman dokumentasi resmi Lighttpd di Lighttpd Doc.


Debian
  1. Instal Automad CMS dengan Nginx dan Mari Enkripsi SSL di Debian 10

  2. Cara Menginstal Tiki Wiki dengan Apache dan Mengenkripsi SSL di Debian 10

  3. Cara Install Automad CMS dengan Apache dan Lets Encrypt di Debian 10

  1. Cara Menginstal Forum ElkArte dengan Apache dan Mengenkripsi di Debian 10

  2. Cara Instal OpenCart dengan Nginx dan Lets Encrypt di Debian 10

  3. Cara Menginstal Drupal 9 dengan Nginx dan Mengenkripsi SSL di Debian 10

  1. Cara Menginstal Forum ElkArte dengan Apache dan Mengenkripsi SSL di CentOS 8

  2. Cara Menginstal Joomla dengan Apache dan Mengenkripsi SSL di Debian 10

  3. Cara Menginstal Drupal dengan Apache dan Mengenkripsi SSL di Debian 11