Para realizar esto, necesitamos algunas cosas antes de empezar:
1. Un dominio, si no tienes uno, no hace falta que pagues, existe http://freenom.com que te ofrece dominios gratuitos durante 1 año, sin necesidad de tarjeta ni nada, tan solo tu correo electrónico.
2. Una cuenta de CloudFlare, gracias a esta empresa y su cuenta gratuita, podremos tener un certificado https a nivel de DNS, es decir, no hará falta instalar nada en nuestro servidor.
3. Home Assistant instalado, no es compatible con Hass.io ya que éste no tiene Apache instalado.
4. Una IP fija/estática. Como muchos de vosotros (por no decir todos) no teneis IP estática, os recomiendo usar mi script de python https://github.com/angelsocias/CloudFla ... hanger-Bot que, gracias a nuestro dominio gratuito y CloudFlare mantendremos nuestro dominio apuntando siempre a nuestra IP pública. De lo contrario, habrá que cambiar la IP manualmente cada vez que cambie.
Una vez tenemos todo, nuestro dominio apuntando a nuestra IP desde CloudFlare, procedemos a configurar nuestro servidor.
1. Primero de todo necesitamos tener Apache instalado, para ello, ejecutamos el siguiente comando:
Código: Seleccionar todo
sudo apt-get install apache2
Código: Seleccionar todo
sudo a2enmod proxy
Código: Seleccionar todo
sudo a2enmod proxy_http
Código: Seleccionar todo
sudo a2enmod proxy_balancer
Código: Seleccionar todo
sudo a2enmod lbmethod_byrequests
Y reiniciamos el servicio para que se apliquen los cambios.
Código: Seleccionar todo
sudo service apache2 reload
3. Una vez tenemos instalado apache y activados los mods necesarios, vamos a configurar el VirtualHost, digamos que esto es lo que va a hacer que cuando entremos por nuestro dominio, redirija internamente a nuestra instalación de HomeAssistant.
Para ello, vamos a crear primero el archivo, con el siguiente comando:
Código: Seleccionar todo
sudo nano /etc/apache2/sites-available/homeassistant.conf
Código: Seleccionar todo
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName dominio.com
ProxyPass "/" "http://localhost:8123/"
ProxyPassReverse "/" "http://localhost:8123/"
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://localhost:8123%{REQUEST_URI} [P]
</VirtualHost>
Una vez pegado y cambiado el dominio, presionamos teclas Ctrl+O, Enter para guardar el archivo y luego Ctrl+X para cerrarlo.
Ahora debemos activar el VirtualHost, se hace con el siguiente comando:
Código: Seleccionar todo
sudo a2ensite homeassistant.conf
Y reiniciamos apache2 para que haga efecto el cambio:
Código: Seleccionar todo
sudo service apache2 restart
Espero que os sirva de ayuda, el tutorial también está en mi GitHub https://github.com/angelsocias/HomeAssi ... ith-Apache.
Cualquier duda, podeis comentar por aquí y os iré leyendo, si necesitais que amplie el tutorial en como hacer algun paso en específico, o como coger un dominio en freenom o como apuntarlo a los DNS de CloudFlare, tan solo pedírmelo y os ayudaré.
Me podéis encontrar por el grupo de Telegram también.