Generalidades
Hay varios pasos que debes seguir para agregar tu sitio web a DreamCompute. Asegúrate de seguir los pasos a continuación en orden.
Todos los pasos asumen que está ejecutando comandos bajo el usuario predeterminado de tu instancia.
Paso 1 — Crea una instancia
Primero debes lanzar una nueva instancia. Puedes hacer esto en el panel de DreamCompute o mediante la CLI de OpenStack. Ve los siguientes artículos para obtener instrucciones:
Paso 2 — Apunta tu DNS a la nueva instancia
Ahora debes iniciar sesión en tu panel DreamHost. Allí puede ajustar el DNS de tu dominio para que apunte a tu instancia de DreamCompute.
Paso 3 — Instala Apache o LAMP en la instancia
Inicia sesión en tu instancia utilizando la Llave de Emparejamiento y el usuario por defecto asignado. Instala Apache según la imagen desde la que eliges crear la instancia. A continuación se muestra cómo hacer esto en Ubuntu.
De lo contrario, si sabes que necesitarás una base de datos y PHP, puede ser una mejor idea instalar LAMP en su lugar:
Paso 4 — Crear un nuevo usuario
Crea un nuevo usuario para el sitio web. Asegúrate de asignar privilegios de sudo al usuario, luego inicia sesión como el nuevo usuario.
Los comandos restantes de este artículo asumen que ha iniciado sesión como el nuevo usuario que acabas de crear.
Paso 5 — Agregar acceso SSH
Dependiendo de los permisos que tu usuario pueda necesitar, es posible que desees habilitar SSH para el usuario. Esto permite al usuario iniciar sesión en la instancia a través de SSH, a diferencia de las claves de seguridad.
Paso 6 — Agrega tu dominio
En los siguientes ejemplos, username sería tu usuario Shell y example.com a tu sitio web.
Crea una carpeta para el sitio web con tu nuevo nombre de usuario.
[user@instance]$ sudo mkdir /home/username/example.com
Configura VirtualHosts para que tu instancia sepa cómo manejar el dominio. Para hacer esto, necesitas crear un archivo .conf.
[user@instance]$ sudo touch /etc/apache2/sites-available/example.com.conf
Se recomienda que asignes al archivo el nombre de tu dominio, para que siempre puedas saber qué archivo .conf es para qué dominio.
Edita el archivo:
[user@instance]$ sudo vim /etc/apache2/sites-available/example.com.conf
Luego coloca lo siguiente dentro. Asegúrate de cambiar cualquier URL de example.com a tu sitio real y DocumentRoot a la ubicación del sitio web con tu nombre de usuario.
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com ServerAdmin admin@example.com DocumentRoot /home/username/example.com <Directory /home/username/example.com> AllowOverride all Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined </VirtualHost>
Una vez que se agrega VirtualHost, el sitio deberá habilitarse con un comando llamado a2ensite.
[user@instance]$ sudo a2ensite example.com Enabling site example.com. To activate the new configuration, you need to run: service apache2 reload
Finalmente recarga tu servicio Apache para que lea los cambios.
[user@instance]$ sudo service apache2 reload
Paso 7 — Habilitar userdir
Corre lo siguiente con tu usuario predeterminado:
[user@instance]$ sudo a2enmod userdir [user@instance]$ sudo service apache2 restart
Esto habilita el módulo userdir. Ahora puedes verlo en el siguiente directorio:
[user@instance]$ ls -la /etc/apache2/mods-enabled
Edita el siguiente archivo:
[user@instance]$ sudo vim /etc/apache2/mods-enabled/userdir.conf
En ese archivo, verás estas líneas:
UserDir public_html <Directory /home/*/public_html>
Elimina la parte public_html para que se vea así para cada uno:
UserDir /home/*/ <Directory /home/*/>
Guarda el archivo y reinicia Apache.
[user@instance]$ sudo service apache2 reload
Si ves tu sitio ahora, verás que se resuelve en la instancia de DreamCompute.
Paso 8 — Agregar un certificado Let's Encrypt
Revisa el siguiente artículo para ver instrucciones sobre cómo usar Certbot para instalar un certificado de Let's Encrypt:
Una vez instalado, visita tu sitio, deberías ver cómo se resuelve desde el directorio /home de tu usuario.
Editar archivos del sitio con un cliente FTP
Cuando los permisos del sitio se establecen en usuario: usuario, tu cliente FTP puede actualizar los archivos normalmente. Sin embargo, dependiendo de la funcionalidad de tu sitio web, es posible que debas comunicarte directamente con Apache. Por ejemplo, si tienes un sitio CMS como WordPress, debes mantener los permisos de archivo configurados como usuario: www-data para permitir que WordPress se comunique con la instancia.