Agregar un sitio web a DreamCompute

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.

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?