El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo.
Su nombre se debe a que alguien quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y «civilizasen» el paisaje que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. En inglés, a patchy server (un servidor «parcheado») suena igual que Apache Server.
Instala el servidor web Apache2 en una máquina.
El primer paso es instalar el servidor «Apache2» apt install apache2
Modifica la página index.html que viene por defecto y accede a ella desde un navegador.
Vamos a modificar el fichero «index.html» en el cual aparece la página por defecto que tendremos en nuestro servidor apache, dicho fichero se encuentra en «/var/www/html»:
root@apache:/home/vagrant# cd /var/www/html/ root@apache:/var/www/html# nano index.html
Eliminamos su contenido y lo modificamos para que quede así:
Vemos cual es la ip de nuestra maquina para ello ejecutamos un ip a
y la insertamos en el navegador:
Configura la resolución estática en los clientes
Al querer poner dos paginas distintas pero con la misma dirección IP tendremos que crear dos ficheros «.conf», que están alojados en «/etc/apache2/sites-available» y el fichero «apache2.conf» que será donde configuremos los directory.
Primero editamos el fichero «apache2.conf», para que quede asi:
root@apache:/home/vagrant# nano /etc/apache2/apache2.conf <Directory /srv/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
A continuación crearemos dos copias del fichero «000-default.conf» y lo renombramos con el nombre que queramos.
root@apache:/etc/apache2/sites-available# cp 000-default.conf iesgn.conf root@apache:/etc/apache2/sites-available# cp 000-default.conf departamentos.conf
Después procederemos a editarlos, para modificar el «DocumentRoot» y el «ServerName»
iesgn.conf
root@apache:/etc/apache2/sites-available# nano iesgn.conf ServerName www.iesgn.org ServerAdmin webmaster@localhost DocumentRoot /srv/www/iesgn <Directory /srv/www/iesgn> Require all granted </Directory>
departamentos.conf
root@apache:/etc/apache2/sites-available# nano departamentos.conf ServerName departamentos.iesgn.org ServerAdmin webmaster@localhost DocumentRoot /srv/www/departamentos <Directory /srv/www/departamentos> Require all granted </Directory>
Y por último creamos las carpeta donde se va a alojar los «index.html»:
root@apache:/etc/apache2/sites-available# mkdir /srv/www/
root@apache:/etc/apache2/sites-available# mkdir /srv/www/departamentos root@apache:/etc/apache2/sites-available# mkdir /srv/www/iesgn
Y creamos los index.html
iesgn.conf
departamentos.conf
No es suficiente crear los ficheros de configuración de cada sitio web, es necesario crear un enlace simbólico a estos ficheros dentro del directorio /etc/apache2/sites-enabled, para ello:
root@apache:/etc/apache2/sites-available# a2ensite iesgn Enabling site iesgn. To activate the new configuration, you need to run: service apache2 reload root@apache:/etc/apache2/sites-available# a2ensite departamentos Enabling site departamentos. To activate the new configuration, you need to run: service apache2 reload
Reiniciamos el servicio para que se guarden todos los cambios.
root@apache:/etc/apache2/sites-available# /etc/init.d/apache2 restart [ ok ] Restarting apache2 (via systemctl): apache2.service.
Y por último para comprobar su funcionamiento añadimos al fichero «/etc/hosts», la ip de nuestra maquina para resolver nombres.
127.0.0.1 localhost 127.0.1.1 Juanlu-PC [IP_HOST] www.iesgn.org [IP_HOST] departamentos.iesgn.org
Cuando se entre a la dirección www.iesgn.org se redireccionará automaticamente a www.iesgn.org/principal, donde se mostrará el mensaje de bienvenida.
En nuestro /etc/apache2/sities-available/iesgn.conf
tiene que quedar asi:
ServerName www.iesgn.org ServerAdmin webmaster@localhost DocumentRoot /srv/www/iesgn RedirectMatch permanent ^/$ "/principal/" <Directory /srv/www/iesgn/principal> Options -Indexes -FollowSymLinks -MultiViews </Directory>
Una vez configurado el fichero «iesgn.conf», al introducir la direccion «www.iesgn.org» vamos a acceder directamente a «/principal/»
Si accedes a la página www.iesgn.org/principal/documentos se visualizarán los documentos que hay en /srv/doc.
Accedemos al fichero /etc/apache2/sities-available/iesgn.conf
y añadiremos la siguientes líneas, para poder acceder al listado de ficheros de la carpeta «/srv/doc»:
Alias "/principal/documentos" "/srv/doc" <Directory /srv/doc/> Options +Indexes </Directory>
Y comprobamos que al introducir «/documentos» en el navegador accedemos al contenido de la carpeta.
Ahora procederemos a crear los enlaces simbólicos a la carpeta documentos de nuestra máquina, donde tendremos dos carpetas una tiene permisos del usuario de apache y otra no tiene permisos.
root@apache:/home/vagrant/Documentos# mkdir link_acceso root@apache:/home/vagrant/Documentos# mkdir link_sinacceso
Creamos los enlaces simbólicos:
root@apache:/home/vagrant/Documentos# ln -svf /home/vagrant/Documentos/link_/ /srv/doc/link_acceso link_acceso/ link_sinacceso/ root@apache:/home/vagrant/Documentos# ln -svf /home/vagrant/Documentos/link_sinacceso/ /srv/doc/link_sinacceso ‘/srv/doc/link_sinacceso’ >> ‘/home/vagrant/Documentos/link_sinacceso/’
Y ya tenemos el enlace simbolico creado:
root@apache:/srv/doc# ls -la total 8 drwxr-xr-x 2 www-data www-data 4096 Oct 20 07:55 . drwxr-xr-x 4 www-data www-data 4096 Oct 19 18:39 .. lrwxrwxrwx 1 www-data www-data 37 Oct 20 07:53 link_acceso >> /home/vagrant/Documentos/link_acceso/ lrwxrwxrwx 1 www-data www-data 40 Oct 20 07:55 link_sinacceso >> /home/vagrant/Documentos/link_sinacceso/ -rw-r--r-- 1 www-data www-data 0 Oct 20 07:10 prueba1.txt -rw-r--r-- 1 www-data www-data 0 Oct 19 18:39 prueba.txt
Desde la pagina «www.iesgn.org/principal/documentos», observamos que tenemos solo la carpeta creada con acceso(link_acceso) y la otra no aparece.
En todo el host virtual se debe redefinir los mensajes de error de objeto no encontrado y no permitido.
Para poder personalizar la salida del mensaje de error vamos a editar el siguiente fichero:
root@apache:/etc/apache2/conf-available# nano localized-error-pages.conf
Para controlar la salida del error 403 y 404, los cuales vamos a redirigirlos a un «.html» el cual vamos a personalizar a continuación.
Alias /errores/404 /srv/www/errores/404.html ErrorDocument 404 /errores/404 Alias /errores/403 /srv/www/errores/403.html ErrorDocument 403 /errores/403 <Location /errores/> SetHandler none </Location>
Y reiniciamos el servicio apache
root@apache:/etc/apache2/conf-available# /etc/init.d/apache2 restart [ ok ] Restarting apache2 (via systemctl): apache2.service.
Y a continuación procederemos a modificar los ficheros «.html»
404.html
<h1>Error 404</h1> <p>Documento no encontrado vuelva a la pagina principal:</p> <A HREF="www.iesgn.org/" TARGET="_BLANK"><p>pagina principal</p>
403.html
<h1>Error 403</h1> <p>Error de permisos cambie los permisos</p> <A HREF="www.iesgn.org/" TARGET="_BLANK"><p>Pagina principal</p>
Si entramos en una pagina que no existe no saltara un error 404:
Y para el error «403» vamos a cambiar el permiso a un fichero que vamos a crear ahora mismo:
root@apache:/srv/doc# touch prueba2.txt root@apache:/srv/doc# ls -l total 0 lrwxrwxrwx 1 www-data www-data 37 Oct 20 07:53 link_acceso >> /home/vagrant/Documentos/link_acceso/ lrwxrwxrwx 1 www-data www-data 40 Oct 20 07:55 link_sinacceso >> /home/vagrant/Documentos/link_sinacceso/ -rw-r--r-- 1 www-data www-data 0 Oct 20 07:10 prueba1.txt -rw-r--r-- 1 root root 0 Oct 27 08:19 prueba2.txt -rw-r--r-- 1 www-data www-data 0 Oct 19 18:39 prueba.txt root@apache:/srv/doc# chmod 600 prueba2.txt root@apache:/srv/doc# ls -la total 8 drwxr-xr-x 2 www-data www-data 4096 Oct 27 08:19 . drwxr-xr-x 4 www-data www-data 4096 Oct 19 18:39 .. lrwxrwxrwx 1 www-data www-data 37 Oct 20 07:53 link_acceso >> /home/vagrant/Documentos/link_acceso/ lrwxrwxrwx 1 www-data www-data 40 Oct 20 07:55 link_sinacceso >> /home/vagrant/Documentos/link_sinacceso/ -rw-r--r-- 1 www-data www-data 0 Oct 20 07:10 prueba1.txt -rw------- 1 root root 0 Oct 27 08:19 prueba2.txt -rw-r--r-- 1 www-data www-data 0 Oct 19 18:39 prueba.txt
Y ya tenemos que el fichero creado nada mas puede acceder desde el usuario root
En la URL www.iesgn.org/principal/internacional, debe existir dos mensajes de bienvenida: en inglés y en español, por lo tanto se debe permitir la negociación de contenidos.
Para que nuestro navegador resuelva si acceder a ingles a español vamos a cambiar el idioma de navegación, para que al tener el idioma en español podemos ver la pagina en español y si la tenemos en ingles nos muestre la pagina en ingles.
El siguiente paso es crear en nuestro fichero «/etc/apache2/sites-available/iesgn.conf», al cual vamos a añadir lo siguiente:
<Directory /srv/www/iesgn/principal/internacional> Options -Indexes +MultiViews -FollowSymLinks </Directory>
Y por último dentro de «/srv/www/iesgn/principal/», creamos un nuevo directorio al cual le damos todos los permisos correspondientes (www-data:www-data) y creamos dos index.html
root@apache:/srv/www/iesgn/principal/internacional# ls -l total 8 -rw-r--r-- 1 www-data www-data 81 Oct 27 06:55 index.html.en -rw-r--r-- 1 www-data www-data 85 Oct 27 06:54 index.html.es
Uno acabado en «es» para España y otro en «en» para Inglaterra.
Idioma Ingles
Idioma Español
Realiza la instalación de webalizer
Webalizer es un pequeño programa hecho en C el cual nos permite generar reportes de alguna página web. Gracias a esos reportes, podemos observar el número de personas que han entrado en la web donde se vaya a instalar(o ejecutar) el webalizer y muchas otras cosas que más adelante les detallaré. Este programa no sólo nos da los reportes cuantitativos, si no que también nos da repostes gráficos, lo que hace mas elegante y sencillo de observar las estadísticas de nuestra página web. Entre otras cosas webalizer es sumamente útil para saber que archivos son los que poseen más número de descargas en nuestra página web.
Primero instalamos webalizer apt install webalizer
A continuación procedemos a modificar el fichero de configuración de webalizer /etc/webalizer/webalizer.conf
Borramos todo las lineas de su interior e insertamos estas:
LogFile /var/log/apache2/access.log OutputDir /srv/www/webalizer/estadistica Incremental yes ReportTitle Estadísticas de uso de Prueba HostName personal IgnoreSite localhost HideURL *.gif HideURL *.GIF HideURL *.jpg HideURL *.JPG HideURL *.ra MangleAgents 4
Despues vamos a crear el fichero estadistica.conf, para añadir el nuevo «DocumentRoot» y el nuevo server name:
ServerName www.masterlan.com ServerAdmin webmaster@localhost DocumentRoot /srv/www/webalizer/ RedirectMatch permanent ^/$ "/estadistica/" <Directory /srv/www/webalizer/estadistica> Options -Indexes -FollowSymLinks -MultiViews AllowOverride All </Directory>
Habilitamos el fichero creado recientemente:
root@apache:/etc/apache2/sites-available# a2ensite estadistica Enabling site estadistica. To activate the new configuration, you need to run: service apache2 reload root@apache:/etc/apache2/sites-available# apache2ctl restart
Comprobamos que funciona la aplicación configurada ejecutando el comando webalizer
:
root@apache:/srv/www# webalizer Webalizer V2.23-08 (Linux 3.16.0-4-amd64 x86_64) locale: personal Using logfile /var/log/apache2/access.log (clf) Creating output in /srv/www/iesgn/principal/webalizer Hostname for reports is 'personal' History file not found... Previous run data not found... Saving current run data... [10/27/2016 07:32:19] Generating report for October 2016 Saving history information... Generating summary report 320 records in 1 seconds, 320/sec
Podemos automatizar este proceso con una tarea de «crontab»
Accedemos al fichero de configuración con el siguiente comando crontab -e
y utilizamos el editor que mas nos interese, por defecto viene seleccionado «nano»
vagrant@apache:~$ crontab -e no crontab for vagrant - using an empty one Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/vim.tiny Choose 1-2 [1]: 1 crontab: installing new crontab
Una vez dentro del fichero de configuración agregamos la siguiente línea al final del fichero:
# m h dom mon dow user command
donde:
m corresponde al minuto en que se va a ejecutar el script, el valor va de 0 a 59
h la hora exacta, se maneja el formato de 24 horas, los valores van de 0 a 23, siendo 0 las 12:00 de la medianoche.
dom hace referencia al día del mes, por ejemplo se puede especificar 15 si se quiere ejecutar cada dia 15
dow significa el día de la semana, puede ser numérico (0 a 7, donde 0 y 7 son domingo) o las 3 primeras letras del día en inglés: mon, tue, wed, thu, fri, sat, sun.
user define el usuario que va a ejecutar el comando, puede ser root, u otro usuario diferente siempre y cuando tenga permisos de ejecución del script.
command refiere al comando o a la ruta absoluta del script a ejecutar, ejemplo: /home/usuario/scripts/actualizar.sh, si acaso llama a un script este debe ser ejecutable
* * * * * /home/vagrant/webalizer.sh
Si como en el ejemplo dejamos todas la variables en «*» se va a ejecutar cada minuto, cada hora durante todos los días del mes.
Después el script es un simple script en bash que lo que hace es ejecutar el comando anterior webalizer
Así pues ya tendremos automatizado el funcionamiento de webalizer.
Por último vamos a restringir el acceso a webalizer desde un hosts para que solo se pueda acceder desde el servidor.
Activamos el módulo de autenticación «digest» y reiniciamos el servicio:
root@apache:/etc/apache2/sites-available# a2enmod auth_digest Considering dependency authn_core for auth_digest: Module authn_core already enabled Enabling module auth_digest. To activate the new configuration, you need to run: service apache2 restart root@apache:/etc/apache2/sites-available# apache2ctl restart
Nos dirigimos a la carpeta donde se encuentra el contenido de la pagina de estadisticas, creamos un fichero «.htaccess» y añadimos lo siguiente:
AuthType Digest AuthName "alumno" AuthUserFile /etc/apache2/.htdigestusers Require valid-user Require ip 192.168.100
El parámetro AuthName o realm es una descripción del equipo al que se quiere acceder mediante esta clase de autenticación. Esta información se usa para calcular las hash de las claves enviadas y que será mostrada al usuario cuando se conecte al servidor.
Y por último creamos una localización adecuada, según lo dicho para la autenticación básica, un fichero .htdigestusers
con touch y las passwords de los usuarios. Esto puede hacerse, para un usuario llamado «juanlu», con el siguiente comando: htdigest –c .htdigestusers realm juanlu
:
root@apache:/srv/www/webalizer/estadistica# htdigest -c .htdigestusers alumno juanlu Adding password for juanlu in realm alumno. New password: Re-type new password:
Y copiamos el fichero en «/etc/apache2/»:
root@apache:/srv/www/webalizer/estadistica# mv .htdigestusers /etc/apache2/
A la URL www.masterlan.com/intranet sólo se debe tener acceso desde el cliente de la red local, y no se pueda acceder desde la anfitriona por la red pública.
Lo primero, configurar el fichero creado anteriormente «estadistica.conf»:
<Directory /srv/www/webalizer/internet/> Options -Indexes -FollowSymLinks -MultiViews <RequireAll> Require not ip 192.168 Require all granted </RequireAll> </Directory>
En el cliente añadimos la siguiente línea a «/etc/hosts»:
192.168.100.1 www.masterlan.com
Si desde el cliente entramos en la red interna:
root@cliente:/home/vagrant# w3m www.masterlan.com/intranet
Comprobamos que podemos acceder
Si desde el servidor entramos en la red interna:
root@apache:/home/vagrant# w3m www.masterlan.com/intranet
Comprobamos que no podemos acceder
A la URL www.masterlan.com/internet, sin embargo, sólo se debe tener acceso desde la anfitriona por la red pública, y no desde la red local. Muestra los resultados al profesor.
En el servidor añadimos la siguiente línea a «/etc/hosts»:
172.22.9.129 www.masterlan.com
root@apache:/home/vagrant# w3m www.masterlan.com/internet
Comprobamos que podemos acceder
Si desde el cliente entramos en la red externa:
root@cliente:/home/vagrant# w3m www.masterlan.com/internet
Comprobamos que no podemos acceder
Autentificación básica. Limita el acceso a la URL www.masterlan.com/secreto.
Esta autenticación guarda los usuarios y sus contraseña encriptadas en un archivo. Los usuarios y contraseñas se tienen que ir metiendo uno a uno. Este módulo de apache viene activado por defecto. Para utilizarlo en nuestra pagina añadiremos las siguientes líneas al fichero .htaccess.
Vamos a crear la pagina «www.masterlan.com/secreto» para que no se pueda acceder sin contraseña:
root@apache:/srv/www/webalizer# mkdir secreto root@apache:/srv/www/webalizer# nano index.html root@apache:/srv/www/webalizer# mv index.html secreto/ root@apache:/srv/www/webalizer# nano .htaccess
Y modificamos el fichero «.htaccess»:
AuthType basic AuthName “Identifiquese” AuthUserFile /etc/apache2/.htbasic Require valid-user
Estas opciones quieren decir:
1. Le especificamos que es autenticación básica.
2. Este sera el mensaje que nos aparecerá al pedir la contraseña.
3. Esta es la ubicación del fichero con los usuarios y sus contraseñas.
4. Le indicamos uno o varios usuarios poniendo por ejemplo “Require user NOMBRE_USUARIO”.También podemos agregar cualquier un usuario válido.
Y por último creamos el fichero de credenciales en «/etc/apache/auth_basic», para ello utilizaremos el comando «htpasswd:
root@apache:/etc/apache2/mods-available# htpasswd -c /etc/apache2/.htbasic secreto New password: Re-type new password: Adding password for user secreto
Info! Es importante ser consciente, sin embargo, de que la autenticación Básica envía la contraseña desde el cliente hasta el navegador sin encriptar. Por lo tanto, este método no debería ser usado para información altamente sensible.
Autenticación digest.
La autenticación tipo digest soluciona el problema de la transferencia de contraseñas en claro sin necesidad de usar SSL. El procedimiento, como veréis, es muy similar al tipo básico pero cambiando algunas de las directivas y usando la utilidad “htdigest” en lugar de “htpassword” para crear el fichero de contraseñas. El módulo de autenticación necesario suele venir con Apache pero no habilitado por defecto. Para habilitarlo:
root@apache:/home/vagrant# a2enmod auth_digest Considering dependency authn_core for auth_digest: Module authn_core already enabled Module auth_digest already enabled
El cual ya podemos observar que se encuentra activo del ejercicio anterior.
A continuación modificamos el fichero «.htaccess» de la carpeta secreto y añadimos lo siguiente:
AuthType Digest AuthName "directivos" AuthUserFile /etc/apache2/.htdigestusers Require valid-user
Añadimos los nuevos usuarios del grupo directivos
htdigest /etc/apache2/.htdigestusers directivos juanlu htdigest /etc/apache2/.htdigestusers directivos admin
Ahora procedemos a hacer las comprobaciones observamos que si introducimos un usuario del grupo alumnos, no vamos a poder acceder, pero si intentamos acceder desde el usuario «juanlu» o «admin» tendremos acceso:
Combinar control acceso, autenticación tipo digest
Modificaremos el fichero «.htaccess» de tal forma que desde la red privada «192.168.100» podamos acceder sin necesidad de autentificación, pero desde la red pública si la necesitemos.
Añadimos la siguiente línea a fichero «.htaccess» creado anteriormente:
Require ip 192.168.100
Accedemos desde local
Accedemos desde red pública
Configuración del fichero «.htaccess» en un hosting
AllowOverride controla qué directivas se pueden situar el los ficheros .htaccess.
Los valores de AllowOverride pueden ser «All», «None», o una combinación de:
- AuthConfig: Permitir el uso de directivas de autorización (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, etc.).
- FileInfo Permitir el uso de directivas de control de tipo de documentos (DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, etc).
- Indexes Permitir el uso de directivas que controlan los índices de directorios (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, etc.).
- Limit Permitir el uso de directivas de acceso de hosts (Allow, Deny y Order).
- Options Permitir el uso los valores de la directiva Options.
Habilita el listado de ficheros en la URL http://host.dominio/nas.
Para habilitar, que se muestre un listado de ficheros cuando entres en «hosting/nas» vamos a crear un fichero «.htaccess» y lo vamos a añadir la siguiente línea:
Options +Indexes
Si queremos verlo de una forma más amigable podemos añadir aparte la siguiente línea:
Crea una redirección permanente: cuando entremos en http://host.dominio/google salte a www.google.es.
Para redireccionar a «www.google.es» añadimos las siguientes lineas en el fichero «.htaccess»:
Options -Indexes -FollowSymLinks -MultiViews redirectMatch 301 / http://www.google.es
Pedir autenticación para entrar en la URL http://host.dominio/prohibido
Primero en el servidor apache creamos el usuario para la autenticación básica:
root@apache:/srv/www/webalizer/secreto# htpasswd -c .htbasic juanlu New password: Re-type new password: Adding password for user juanlu
Y modificamos el fichero «.htaccess»:
AuthType Basic AuthName "Identifiquese" AuthUserFile .htbasic Require valid-user
Subimos la carpeta al hosting y comprobamos su funcionamiento:
Activa y configura el módulo userdir
Permite que cada usuario del sistema tenga la posibilidad de tener un directorio (por defecto se llama public_html) donde alojar su página web.
Userdir es un módulo de apache que hace posible que todos los usuarios con acceso a un servidor tengan una carpeta llamada «public_html» en la cual puedan alojar sus páginas y archivos.
Vamos a habilitar el modulo «userdir»:
root@apache:/etc/apache2/mods-available# a2enmod userdir Enabling module userdir. To activate the new configuration, you need to run: service apache2 restart
Y reiniciamos el servicio:
root@apache:/etc/apache2/mods-available# /etc/init.d/apache2 restart [ ok ] Restarting apache2 (via systemctl): apache2.service.
Creamos en la carpeta del usuario vagrant un directorio «public_html», le damos permisos:
vagrant@apache:~$ pwd /home/vagrant vagrant@apache:~$ mkdir public_html vagrant@apache:~$ chmod 755 public_html/
Creamos un fichero index.html para la comprobación y accedemos con la siguiente direccion(ip/~[usuario]):
http://192.168.1.51/~vagrant/
[…] Vamos a instalar en nuestra red local un servidor DNS (lo puedes instalar en el mismo equipo que tiene el servidor web). […]
[…] Instalación Servidor WEB (Apache) […]
[…] certificadora. Ahora desde una segunda maquina (una debian en mi caso) que hara la funciones de Servidor Web que va a solicitar un certificado openssl req -new -key prueba.pem -sha256 -nodes -subj […]
[…] vez tenemos configurado nuestro servidor ftp, vamos a instalar un Servidor Web una vez instalados vamos a crear un VirtualHosts que vamos a llamar […]
[…] ver como instalar y configurar un servidor mas detalladamente en Servidor Web, así que simplemente instalamos el paquete apt install apache2 libapache2-mod-php5, creamos un […]
[…] ello en una de las maquinas vamos a instalar un Servidor WEB y agregamos la siguiente regla en el cortafuegos para permitir el acceso desde el […]
[…] Vamos a realizar la implantaciond el protocolo HTTP/2 en una maquina debian strech, sobre un servidor apache. […]
[…] realizar una prueba vamos a parar en la maquina linux el Servidor Web y paramos el servicio systemctl stop […]