PiHole dengan nginx sebagai pengganti lighttpd

Hai teman-teman, jangan lupa subscribe Channel Youtube saya.
Subscribe tidak dipungut bayaran, mari dukung saya dengan klik tombol subscribe.

Terakhir diupdate pada 16/02/2020 oleh Wira Loksado

Tutorial ini saya tulis untuk teman-teman yang sudah terlanjur fanatik terhadap nginx. Saya juga tidak bisa memastikan karena tidak pernah membuat perbandingan secara detail tentang kecepatan dan kestabilan nginx dibandingkan lighttpd, namun menurut banyak pengguna, nginx lebih cepat dan ringan daripada lighttpd.
Masalahnya, developer PiHole justru menggunakan lighttpd sebagai WebServer, maka pada tutorial kali ini saya akan berbagi tutorial singkat bagaimana cara menggunakan nginx sebagai pengganti lighttpd untuk PiHole.
Sebelum meneruskan, pastikan dulu PiHole sudah berjalan dengan baik. Untuk Tutorial Install PiHole silahkan dibaca pada artikel saya tentang Cara Install Pi-hole di Armbian Linux.

[irp posts=”2986″ name=”Instal Pi-hole di Armbian Linux”]

Sebagai referensi, silahkan mengunjungi artikel Configuring NGINX for Pi-hole. Hanya saja tutorial tersebut menerapkan authentication sehingga setiap kali membuka halaman Web Interface PiHole kita akan diminta mengisi username dan password nginx. Username dan password tersebut adalah username dan password yang berbeda, bukan username dan password untuk login ke PiHole, jadi akan sedikit lebih ribet dan mengganggu sehingga saya buat menjadi lebih singkat.

Berikut langkah-langkahnya:

1) Matikan lighttpd
root@loksado:~# service lighttpd stop
2) Install paket-paket yang diperlukan

root@loksado:~# apt -y install nginx php7.3-fpm php7.3-zip apache2-utils

3) Disable lighttpd agar tidak berjalan setiap startup

root@loksado:~# systemctl disable lighttpd

4) Enable php7.3-fpm

root@loksado:~# systemctl enable php7.3-fpm

5) Enable nginx

root@loksado:~# systemctl enable nginx

6) Edit file /etc/nginx/sites-available/default menjadi seperti berikut:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index pihole/index.php index.php index.html index.htm;
    server_name _;
        autoindex off;
    location / {
        expires max;
        try_files $uri $uri/ =404;
    }
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.3-fpm.sock;
                fastcgi_param FQDN true;
                auth_basic "Restricted"; #For Basic Auth
        }
        location /*.js {
                index pihole/index.js;
        }
        location /admin {
                root /var/www/html;
                index index.php index.html index.htm;
        }

}

7) Ubah kepemilikan direktori html

root@loksado:~# chown -R www-data:www-data /var/www/html

8) Buat permission pada direktori html agar bisa ditulis


root@loksado:~# chmod -R 755 /var/www/html

9) Jalankan php7.3-fpm

root@loksado:~# service php7.3-fpm start

10) Jalankan WebServer nginx

root@loksado:~# service nginx start

Sampai disini proses instalasi dan setup seharusnya sudah selesai, namun ketika saya mencoba membuka Web Interface PiHole, malah diminta mendownload file index.php.

Jika mengalami seperti gambar di atas, coba clear cache Browser atau buka menggunakan Private Window/Incognito.

Selamat mencoba!

 

*) Log proses install bisa dilihat di bawah ini:

____  ___   ___  ____
/ ___|/ _ \ / _ \| ___|
\___ \ (_) | | | |___ \
___) \__, | |_| |___) |
|____/  /_/ \___/|____/

Welcome to Debian Buster with Armbian Linux 5.1.15-aml-s905
System load:   0.08 0.04 0.06   Up time:       4:24 hours
Memory usage:  55 % of 801MB    Zram usage:    19 % of 400Mb    IP:            192.168.1.150
CPU temp:      48°C
Usage of /:    27% of 6.4G

[ General system configuration (beta): armbian-config ]

Last login: Thu Sep 19 13:08:17 2019 from 192.168.1.139

root@loksado:~# service lighttpd stop
root@loksado:~# apt-get -y install nginx php7.3-fpm php7.3-zip apache2-utils
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  fontconfig-config fonts-dejavu-core libapr1 libaprutil1 libfontconfig1
  libfreetype6 libgd3 libjbig0 libjpeg62-turbo libnginx-mod-http-auth-pam
  libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip
  libnginx-mod-http-image-filter libnginx-mod-http-subs-filter
  libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter
  libnginx-mod-mail libnginx-mod-stream libtiff5 libwebp6 libx11-6 libx11-data
  libxau6 libxcb1 libxdmcp6 libxpm4 libxslt1.1 libzip4 nginx-common nginx-full
Suggested packages:
  libgd-tools fcgiwrap nginx-doc ssl-cert php-pear
The following NEW packages will be installed:
  apache2-utils fontconfig-config fonts-dejavu-core libapr1 libaprutil1
  libfontconfig1 libfreetype6 libgd3 libjbig0 libjpeg62-turbo
  libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo
  libnginx-mod-http-geoip libnginx-mod-http-image-filter
  libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair
  libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream libtiff5
  libwebp6 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxpm4 libxslt1.1
  libzip4 nginx nginx-common nginx-full php7.3-fpm php7.3-zip
0 upgraded, 35 newly installed, 0 to remove and 0 not upgraded.
Need to get 7771 kB of archives.
After this operation, 19.9 MB of additional disk space will be used.
Get:1 http://cdn-fastly.deb.debian.org/debian buster/main arm64 libapr1 arm64 1.6.5-1+b1 [95.4 kB]
....
....
....
Get:35 http://cdn-fastly.deb.debian.org/debian buster/main arm64 php7.3-zip arm64 7.3.4-2 [20.4 kB]
Fetched 7771 kB in 33s (233 kB/s)
Extracting templates from packages: 100%
Preconfiguring packages ...
Selecting previously unselected package libapr1:arm64.
(Reading database ... 34589 files and directories currently installed.)
Preparing to unpack .../00-libapr1_1.6.5-1+b1_arm64.deb ...
Unpacking libapr1:arm64 (1.6.5-1+b1) ...
Selecting previously unselected package libaprutil1:arm64.
...
...
...
Preparing to unpack .../33-php7.3-fpm_7.3.4-2_arm64.deb ...
Unpacking php7.3-fpm (7.3.4-2) ...
Selecting previously unselected package php7.3-zip.
Preparing to unpack .../34-php7.3-zip_7.3.4-2_arm64.deb ...
Unpacking php7.3-zip (7.3.4-2) ...
Setting up libxau6:arm64 (1:1.0.8-1+b2) ...
Setting up libxdmcp6:arm64 (1:1.1.2-3) ...
Setting up libxcb1:arm64 (1.13.1-2) ...
Setting up php7.3-fpm (7.3.4-2) ...

Creating config file /etc/php/7.3/fpm/php.ini with new version
Created symlink /etc/systemd/system/multi-user.target.wants/php7.3-fpm.service -> /lib/systemd/system/php7.3-fpm.service.
Setting up libzip4:arm64 (1.5.1-4) ...
Setting up libapr1:arm64 (1.6.5-1+b1) ...
Setting up nginx-common (1.14.2-2+deb10u1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service -> /lib/systemd/system/nginx.service.
Setting up libjbig0:arm64 (2.1-3.1+b2) ...
...
...
...
Setting up nginx-full (1.14.2-2+deb10u1) ...
Setting up nginx (1.14.2-2+deb10u1) ...
Processing triggers for systemd (241-7~deb10u1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for libc-bin (2.28-10) ...
Processing triggers for php7.3-fpm (7.3.4-2) ...
root@loksado:~# systemctl disable lighttpd
Synchronizing state of lighttpd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable lighttpd
Removed /etc/systemd/system/multi-user.target.wants/lighttpd.service.
root@loksado:~# systemctl enable php7.3-fpm
Synchronizing state of php7.3-fpm.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable php7.3-fpm
root@loksado:~# systemctl enable nginx
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx
root@loksado:~# chown -R www-data:www-data /var/www/html
root@loksado:~# chmod -R 755 /var/www/html
root@loksado:~# service php7.3-fpm start
root@loksado:~# service nginx start
root@loksado:~# service nginx restart
root@loksado:~#

DMCA.com Protection Status
Artikel ini dilidungi oleh DMCA Takedown Services & Website Content Protection. Dilarang Copy-Paste.
Yang mau ngajakin ngopi silahkan klik

Hai teman-teman, jangan lupa subscribe Channel Youtube saya.
Subscribe tidak dipungut bayaran, mari dukung saya dengan klik tombol subscribe.



Like Facebook Wira Loksado dengan menekan tombol "Suka" di bawah ini agar tetap update informasi terbaru:

Mari Berdiskusi

Cara Mengetahui Web Server Mana Yang Aktif - Blog Orang Loksado

Cara Mengetahui Web Server Mana Yang Aktif - Blog Orang Loksado

[…] Misalnya begini, ketika kita menginstall Pi-Hole dengan cara seperti saya tulis pada artikel Cara Install Pi-hole di Armbian Linux, maka secara default Web Interface atau tampilan Pi-Hole menggunakan lighttpd sebagai Web Server. Kemudian, karena sesuatu dan lain hal kita mengganti lighttpd tersebut dengan daemon lain, misal saja nginx seperti di artikel PiHole dengan nginx sebagai pengganti lighttpd. […]