Por defecto Apache sirve sus paginas web en la carpeta /var/www/html y esto funciona bien con un dominio, pero si quieres tener multiples paginas web en un servidor Apache similar como lo hacen los proveedores de Hosting debes configurar Apache para que funcione con multiples unidades llamadas Virtual Hosts, es decir que tenemos el sitio wordpress1.local y el sitio wordpress2.local, los dos con diferente contenido y apuntado a carpetas diferentes pero en el mismo servidor.
Manos a la obra!, lo primero es instalar Apache con los siguientes comandos.
Luego de completar la instalacion continuamos creando los directorios de nuestros sitios web, para este caso voy a tomar los que mencione arriba (wordpress1 y wordpress2) y utilizare los siguientes comandos para crearlos.
Estos directorios es donde debes colocar el contenido, es decir si estas instalando WordPress en cada uno de esos sitios el archivo comprimido para wordpress1 lo debes descomprimir justo en /var/www/wordpress1.local/public_html.
El nombre de la carpeta wordpress1/local sustitúyela según sea tu caso.
Ahora hay que otorgar permisos en dicha carpetas, en este momento solo el usuario root tiene acceso, si queremos que los usuarios regulares puedan acceder usamos los siguientes comandos.
Listo, con esto hemos logrado que el usuario regular tenga los permisos adecuados para lograr el acceso a los sitios web.
Ahora vamos a crear los archivos de configuración correspondientes para cada dominio o sitio web, para esto vamos a tomar como base el archivo por defecto que Apache trae para su virtual host principal llamado 000-default.conf
.
Lo vamos a copiar usando los siguientes comandos.
Ambos archivos los vamos a editar con nuestro editor favorito, sea este vi o nano y deben quedar parecidos a lo siguiente, claro sustituyendo wordpress1.local según sea tu dominio.
<VirtualHost *:80>
ServerAdmin admin@wordpress1.local
ServerName wordpress1.local
ServerAlias www.wordpress1.local
DocumentRoot /var/www/wordpress1.local/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@wordpress2.local
ServerName wordpress2.local
ServerAlias www.wordpress2.local
DocumentRoot /var/www/wordpress2.local/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Ahora procedemos a publicar los sitios con los siguientes comandos.
Y deshabilitamos el sitio por defecto que tiene Apache.
Por ultimo reiniciamos Apache.
Para este ejemplo estoy usando 2 dominios locales, para que me funcione, es decir poder verlos desde un explorador web debo modificar el archivo hosts de mi sistema operativo agregando la linea compuesta por mi IP local o privada y mi dominio web inventado o local.
Si en tu caso tienes x dominio que lo estas apuntando a la IP publica de tu servidor VPS o Dedicado pues no hay mas que hacer.