En esta guía configuraremos Apache para que aloje en el servidor 2 sitios web de diferentes dominios o en su defecto, 2 sitios diferentes en 2 subdominios. Para hacer esto posible es necesario usar los virtualhosts que independizaran los detalles de configuración para cada sitio y alojar más de un dominio desde un único servidor.
Recuerda que puedes solicitar la configuración de estos y otros servicios al contratar un Servidor Cloud con Hostinglabs o elegir un servidor con una plantilla existente en nuestro catálogo.
o Más de un dominio o 2 subdominios apuntando a la IP pública del servidor.
o Apache instalado en el servidor (Puede usar la guía de instalación desde aquí).
o Usuario root o usuario regular con privilegios sudo.
NOTA: Para esta guía usaremos 2 dominios como ejemplos: sitioweb1.com y sitioweb2.com.
Puede establecer el directorio raíz donde desee, pero en está guía usaremos la misma ruta usada por Apache, por lo general usa la siguiente ruta:
|
1 |
|
Donde crearemos 2 carpetas con el nombre de los dominios a usar, además de una carpeta con el nombre de ‘public_html’ usando el siguiente comando:
|
1 2 |
|
El parámetro ‘-p’ realiza la creación de todo el árbol de directorios indicado.
|
1 2 3 4 5 |
|
En cada carpeta ‘public_html’ con el siguiente contenido:
|
|
|
Cambiando solamente el contenido de la etiqueta <title> y <h1> con el nombre del dominio correspondiente para diferenciarlos al finalizar las configuraciones.
Nos ubicamos en las rutas correspondientes para cada dominio:
|
1 2 |
|
Creamos los archivos con su contenido respectivo:
|
1 |
|
|
1 |
|
|
1 2 |
· 0 = --- = sin acceso · 1 = --x = ejecución · 2 = -w- = escritura · 3 = -wx = escritura y ejecución · 4 = r-- = lectura · 5 = r-x = lectura y ejecución · 6 = rw- = lectura y escritura · 7 = rwx = lectura, escritura y ejecución
|
Ejecutar los mismos comandos cambiando la ruta del segundo dominio ‘/var/www/sitioweb2.com’.
En lugar de modificar directamente el archivo de configuración por defecto situado en /etc/apache2/sites-available/000-default.conf, vamos a crear dos nuevos archivos en /etc/apache2/sites-available/ para cada dominio:
|
1 2 |
|
E ingresamos el siguiente contenido en cada archivo de configuración:
<VirtualHost *:80>
ServerName dsgestion.com.ar
ServerAdmin webmaster@localhost
DocumentRoot /var/www/dsgestion.com.ar/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
|
|
|
Recuerda que tienes que cambiar el nombre de dominio y las rutas creadas por ti.
|
1 2 |
|
Deshabilitamos el archivo de configuración por defecto del Apache:
|
1 |
|
Probamos que los nuevos archivos de configuración tengan la sintaxis correcta:
|
1 |
|
Reiniciamos servicio Apache:
|
1 |
|
http://sitioweb1.com/
http://sitioweb2.com/
Donde podemos confirmar que se visualizan ambos sitios.
Recuerda que no podrás acceder a los sitios ya que solo han sido usados como ejemplo para esta guía.
¡Felicidades! Ahora tienes 2 sitios web configurados en Apache funcionando correctamente en tu servidor. Recuerda que siempre puedes ponerte en contacto con nosotros si necesitas asistencia técnica en la operación de tu servicio.
Si es un Sitio .net core 3.1 6.0 y 7.0 hacer esto:
1 Publicar el sitio de visual studio
Esto es para cuando se instala con las librerías de .net x
sudo apt-get update
sudo a2enmod proxy
sudo apt-get install apt-transport-https
sudo apt-get update
a2enmod proxy proxy_http proxy_html
sudo apt-get install libapache2-mod-proxy-html libxml2-dev
sudo a2enmod proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html
sudo service apache2 restart
sudo nano /etc/systemd/system/[nombre dll].service
[Unit]
Description=ASP .NET Web Application
[Service]
WorkingDirectory=/var/www/[directorio pagina]/public_html
ExecStart=/opt/dotnet/dotnet /var/www/dagsisphp.ddns.net/public_html/CrugNet7.dll --urls "http://0.0.0.0:500X"
Restart=always
RestartSec=10
SyslogIdentifier=netcore-demo
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=default.target
3 "Restart service daemon"
------------------------
sudo systemctl daemon-reload
sudo systemctl enable web.api.service
sudo systemctl start web.api
sudo systemctl status web.api
4 Firewall Settings
-----------------
sudo ufw allow 5000/tcp
sudo ufw enable
sudo ufw status
5 Now we need to make a conf file to set up our proxy on Apache. Create the following file:
sudo nano /etc/apache2/conf-enabled/[nombre sitio].conf
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://localhost:500X/
ProxyPassReverse / http://localhost:500X/
ServerName dagsisphp.ddns.net
ServerAlias www.dagsisphp.ddns.net
ServerAdmin webmaster@dagsisphp.ddns.net
DocumentRoot /var/www/dagsisphp.ddns.net/public_html
<Directory /var/www/dagsisphp.ddns.net/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/dagsisphp.ddns.net-error.log
CustomLog ${APACHE_LOG_DIR}/dagsisphp.ddns.net-access.log combined
</VirtualHost>
5 Reiniciar Apache2
sudo service apache2 restart
Atencion no habilitar los certificados si la aplicación no es core. Para no renegar después porque vamos a tener que modificar a mano los archivos que están en la carpeta sites-enabled y sites-available
Muy Importante:
Para que el usuario www-data tenga permisos de lectura escritura debe agregarce en el archico
nano /etc/sudoers
www-data ALL=(ALL) NOPASSWD: ALL
Labore dolor amet ipsum ea, erat sit ipsum duo eos. Volup amet ea dolor et magna dolor, elitr rebum duo est sed diam elitr. Stet elitr stet diam duo eos rebum ipsum diam ipsum elitr.
123 Street, New York, USA
info@example.com
+012 345 67890
©
Your Site Name.
All Rights Reserved.
Designed by
HTML Codex
Distributed By:
ThemeWagon