# Pi-hole

# Instalar Pi-hole

#### Guía oficial

[Pi-hole documentation](https://docs.pi-hole.net/main/prerequisites/)

## Dependencias

```bash
sudo apt install git apache2 libapache2-mod-php php php-common php-cli php-opcache php-readline php-fpm php-sqlite3 php-xml php-intl curl
sudo a2enconf php8.1-fpm
```

## Instalación

Para instalar Pi-hole ejecutar:

<p class="callout warning">Instalar sin el servidor web/interfaz web.</p>

```bash
curl -sSL https://install.pi-hole.net | bash
```

### Panel Web

<div id="bkmrk-clonamos-el-reposito">Clonamos el repositorio del panel web.  
</div>```bash
sudo git clone --depth 20 https://github.com/pi-hole/adminlte /var/www/pihole
```

#### Configurar apache

Configuramos apache para que nos permita acceder a la interfaz web de pi-hole.

Creamos el archivo `/etc/apache2/sites-available/pihole.conf` y escribimos la [configuración](https://wiki.pablomp.es/books/pi-hole/page/piholeconf "pihole.conf").

Activamos la configuración con `sudo a2ensite pihole.conf`.

Damos permisos a la carpeta del servidor

```
sudo usermod -aG pihole www-data
sudo chmod -R 775 /var/www/pihole
sudo chown -R www-data:pihole /var/www/pihole
```

Recargamos la configuración de apache con `sudo systemctl reload apache2.service`.

Ahora mismo si accedemos al panel de pi-hole no nos pedirá contraseña, podemos cambiar eso ejecutando `pihole -a -p contraseña`, así nos pedirá una contraseña antes de entrar al panel.

Añadir al fichero sudoers

`www-data ALL=(ALL) NOPASSWD: /usr/local/bin/pihole`

# pihole.conf

```bash
<VirtualHost *:80>
    ServerName pihole.local

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/pihole

    <Directory /var/www/pihole>
        AllowOverride All
        
        # Comentar la siguiente línea si se desea permitir el acceso externo a la página.
        Require all granted 
        
        # Descomentar las siguientes líneas si se desea permitir el acceso solo localmente.
        #Require ip 192.168.1.0/24
        #Require ip 127.0.0.1
        
        Options Indexes FollowSymLinks
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/Pihole_error.log
    CustomLog ${APACHE_LOG_DIR}/Pihole_access.log combined

</VirtualHost>

```