Usando Pihole sobre Nginx

A continuación vamos a hacer que Pihole use Nginx en vez de Lighttpd, para ello debemos empezar instalando Nginx y Php7.3-fpm:

apt-get install nginx
apt-get install php7.3-fpm

Creamos el fichero de configuración de Pihole en /etc/nginx/sites-available con la siguiente información:

# Pihole server configuration
server {
	#Ports 
	listen 80;
	listen [::]:80;
	root /var/www/html/;
	index index.html index.php;
	server_name pihole.net;
	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to displaying a 404.
		try_files $uri $uri/ =404;
	}
	# pass PHP scripts to FastCGI server
	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
		# With php-fpm (or other unix sockets):
		fastcgi_pass unix:/run/php/php7.3-fpm.sock;
	}
}

Creamos un enlace simbolico del fichero recientemente creado a /etc/nginx/sites-enabled

ln -s /etc/nginx/sites-available/pihole.net /etc/nginx/sites-enabled/pihole.net

Editamos el fichero de configuración /etc/nginx/nginx.conf y establecemos el valor default_type a text/html:

 # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;
        default_type text/html;

A continuación editamos el fichero /etc/php/7.3/fpm/php.ini y establecemos el valor cgi.fix_pathinfo a 0:

; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=0

; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside
; of the web tree and people will not be able to circumvent .htaccess security.

En el fichero de configuración del site que hemos creado, hemos definido que los ficheros de index son: index.php e index.html, pues crearemos el fichero index.html en la ruta /var/www/html/ con el siguiente contenido:

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="refresh" content="0.3; url=admin/index.php">
<style>
body, html {
  height: 100%;
  margin: 0;
}

.bg {
  /* The image used */
  background-image: url("piholelogo.png");

  /* Full height */
  height: 100%;

  /* Center and scale the image nicely */
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
</style>
</head>
<body>
<div class="bg"></div>
</body>
</html>


Este fichero nos servirá para redirigir todas las peticiones que hagamos al FQDN, en mi caso pihole.net, a admin/index.php.

Recordad que para que esto funcione, Pihole debe tener registrado el dominio Pihole.net como 127.0.0.1 o con la IP privada de la misma, de esta forma cuando los hosts de la red consulten el dominio pihole.net, vuestra Pihole los llevará hasta su propia web.

Una vez hayamos terminado de configurar todos los ficheros anteriormente comentados, debemos detener el servicio de lighttpd y arrancar Nginx, además debemos asegurarnos que no se arranca lighttpd con el sistema la próxima vez que se reinicie la Raspberry y por supuesto asegurarnos de que es Nginx el servicio que arranca por defecto con el sistema, para ello ejecutamos:

systemctl disable --now lighttpd
systemctl enable --now nginx

¡Y eso sería todo! con esto ya tendríais vuestra Pihole usando Nginx. Por que sí, por que Nginx mola!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s