Crear un sitio en linux Ubuntu

dagsis

Ubuntu

0

Image

 

Configurar múltiples sitios web en Apache con Ubuntu 20.04

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.

Pre requisitos:

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.

Paso 1 – Crear la estructura del directorio.

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

/var/www/

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

sudo mkdir -p /var/www/sitioweb1.com/public_html

sudo mkdir -p /var/www/sitioweb2.com/public_html

El parámetro ‘-p’ realiza la creación de todo el árbol de directorios indicado.

1

2

3

4

5

/var/www/

     ├── sitioweb1.com

         └── public_html

     ├── sitioweb2.com

         └── public_html

Paso 2 – Crearemos un archivo ‘index.html’.

En cada carpeta ‘public_html’ con el siguiente contenido:

 

 

 

 

 

 

 

 

<!DOCTYPE html>

<html lang="en" dir="ltr">

   <head>

       <meta charset="utf-8">

       <title>Bienvenido a sitioweb1.com</title>

  </head>

  <body>

      <h1>Hola Mundo sitioweb1.com</h1>

  </body>

</html>

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

/var/www/sitioweb1.com/

/var/www/sitioweb2.com/

Creamos los archivos con su contenido respectivo:

1

sudo nano index.html

Paso 3 – Asignamos la propiedad y los respectivos permisos tanto para carpetas y archivos:

1

sudo chown -R www-data: /var/www/sitioweb1.com

1

2

sudo find /var/www/sitioweb1.com -type d | sudo xargs chmod -v 0777

sudo find /var/www/sitioweb1.com -type f | sudo xargs chmod -v 0777

 Significados de los numeros

·         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’.

Paso 4 – Creamos los virtual host para cada dominio.

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

sudo nano /etc/apache2/sites-available/sitioweb1.com.conf

nano /etc/apache2/sites-available/sitioweb2.com.conf

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.

Paso 5 – Habilitamos los archivos de configuración creados y reiniciamos el servicio:

1

2

sudo a2ensite sitioweb1.com.conf

sudo a2ensite sitioweb2.com.conf

Deshabilitamos el archivo de configuración por defecto del Apache:

1

sudo a2dissite 000-default.conf

Probamos que los nuevos archivos de configuración tengan la sintaxis correcta:

1

sudo apache2ctl configtest

Reiniciamos servicio Apache:

1

sudo systemctl reload apache2

Paso 6 – Ahora ingresamos a los siguientes enlaces para acceder a los sitios configurados:

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. 

Conclusión


¡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

 

 

 

0 Comments

Leave a comment

KidKinder

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.

Get In Touch

Address

123 Street, New York, USA

Email

info@example.com

Phone

+012 345 67890

Newsletter

© Your Site Name. All Rights Reserved. Designed by HTML Codex
Distributed By: ThemeWagon