Destroyed Nginx Configuration (asciidoc)

Dan Schaper 2019-01-15 10:17:05 -08:00
parent 536a56db94
commit d701373972

@ -1,68 +0,0 @@
NOTE: If you're using php5, change all instances of `php7.0-fpm` to `php5-fpm` and change `/run/php/php7.0-fpm.sock` to `/var/run/php5-fpm.sock`
. `service lighttpd stop` #stop default lighttpd
. `apt-get -y install nginx php7.0-fpm php7.0-zip apache2-utils` #install necessary packages
. `systemctl disable lighttpd` #disable lighttpd at startup
. `systemctl enable php7.0-fpm` #enable php7.0-fpm at startup
. `systemctl enable nginx` #enable nginx at startup
. edit `/etc/nginx/sites-available/default` to:
```
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name _;
autoindex off;
index pihole/index.php index.php index.html index.htm;
location / {
expires max;
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
auth_basic "Restricted"; #For Basic Auth
auth_basic_user_file /etc/nginx/.htpasswd; #For Basic Auth
}
location /*.js {
index pihole/index.js;
auth_basic "Restricted"; #For Basic Auth
auth_basic_user_file /etc/nginx/.htpasswd; #For Basic Auth
}
location /admin {
root /var/www/html;
index index.php index.html index.htm;
auth_basic "Restricted"; #For Basic Auth
auth_basic_user_file /etc/nginx/.htpasswd; #For Basic Auth
}
location ~ /\.ht {
deny all;
}
}
```
. `htpasswd -c /etc/nginx/.htpasswd exampleuser` #create username for authentication for the admin - we don't want other people in our network change our black and whitelist ;)
. `chown -R www-data:www-data /var/www/html` #change ownership of html directory to nginx user
. `chmod -R 755 /var/www/html` #make sure html directory is writable
. `service php7.0-fpm start` #start php7.0-fpm daemon
. `service nginx start` #start nginx webserver
. If you want to use your custom domain to access admin page (e.g.: `http://mydomain.internal/admin/settings.php` instead of `http://pi.hole/admin/settings.php`), make sure `mydomain.internal` is assigned to `server_name` in `/etc/nginx/sites-available/default`. E.g.: `server_name mydomain.internal;`
. If you want to use block page for any blocked domain subpage (aka Nginx 404), add this to Pihole server block in your Nginx configuration file:
```
error_page 404 /pihole/index.php
```
. When using nginx to front pihole, Let's Encrypt can be used to directly configure nginx. Make sure to use your hostname instead of _ in `server_name _;` line above.
```
add-apt-repository ppa:certbot/certbot
apt-get install certbot python-certbot-nginx
certbot --nginx -m "$email" -d "$domain" -n --agree-tos --no-eff-email
```