{"id":773,"date":"2021-06-27T14:46:58","date_gmt":"2021-06-27T14:46:58","guid":{"rendered":"https:\/\/asgardius.company\/?p=773"},"modified":"2021-06-27T14:46:58","modified_gmt":"2021-06-27T14:46:58","slug":"configuraciones-basicas-del-servidor-web-apache","status":"publish","type":"post","link":"https:\/\/asgardius.company\/?p=773","title":{"rendered":"Configuraciones b\u00e1sicas del servidor web Apache"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/asgardius.company\/wp-content\/uploads\/2021\/06\/server-567944_960_720.png\" alt=\"\" class=\"wp-image-776\"\/><\/figure>\n\n\n\n<p>Despu\u00e9s de publicar tutoriales de instalaci\u00f3n de <a href=\"https:\/\/asgardius.company\/2021\/03\/10\/instalar-lamp-linux-apache-mysql-php-en-ubuntu-20-04\/\">Apache<\/a> y de <a href=\"https:\/\/asgardius.company\/2021\/06\/25\/instalar-lemp-linux-nginx-mysql-php-en-ubuntu-20-04\/\">NGINX<\/a> mostrar\u00e9 c\u00f3mo configurar nuestro servidor web para diferentes prop\u00f3sitos comenzando por Apache (el pr\u00f3ximo art\u00edculo ser\u00e1 sobre NGINX)<\/p>\n\n\n\n<p>Configuraci\u00f3n de host virtual<\/p>\n\n\n\n<p>En caso de haber configurado Apache con let&#8217;s encrypt siguiendo el tutorial antes mencionado tendremos un archivo de configuraci\u00f3n en &#8220;\/etc\/apache2\/sites-enabled&#8221; y otro con el mismo nombre m\u00e1s el sufijo &#8220;le-ssl&#8221;. En mi caso son<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/apache2\/sites-enabled\/frank.asgardius.company.conf\n\/etc\/apache2\/sites-enabled\/frank.asgardius.company-le-ssl.conf<\/code><\/pre>\n\n\n\n<p>En mi caso el primer archivo de configuraci\u00f3n tiene el siguiente contenido<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;VirtualHost *:80&gt;\nDocumentRoot \/var\/www\/html\nServerName frank.asgardius.company\n&lt;Directory \/var\/www\/html&gt;\nOptions -Indexes +FollowSymLinks\nAllowOverride All\n&lt;\/Directory&gt;\nRewriteEngine on\nRewriteCond %{SERVER_NAME} =frank.asgardius.company\nRewriteRule ^ https:\/\/%{SERVER_NAME}%{REQUEST_URI} &#91;END,NE,R=permanent]\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n\n\n\n<p>La primera l\u00ednea indica que el sitio web estar\u00e1 disponible desde todas las interfaces de red del servidor a trav\u00e9s del puerto 80. DocumentRoot indica el directorio ra\u00edz de nuestro sitio web, ServerName indica el nombre de host correspondiente a nuestro sitio web. La secci\u00f3n Directory indica una serie de pol\u00edticas para el directorio indicado. AllowOverride indica si el archivo .htaccess puede omitir los ajustes globales del servidor para este sitio espec\u00edfico. La secci\u00f3n Rewrite sirve para redirigir las peticiones de una URL a otra (en este caso se redirigen las peticiones HTTP a la versi\u00f3n HTTPS del sitio) Requiere mod_rewrite para funcionar. Let&#8217;s encrypt agregar\u00e1 esta parte al archivo de configuraci\u00f3n y habilitar\u00e1 el m\u00f3dulo requerido al solicitar un certificado en caso de que deseemos redirigir el tr\u00e1fico http a https.<\/p>\n\n\n\n<p>El mi caso segundo archivo contiene lo siguiente<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;IfModule mod_ssl.c&gt;\n&lt;VirtualHost *:443&gt;\nDocumentRoot \/var\/www\/html\nServerName frank.asgardius.company\n&lt;Directory \/var\/www\/html&gt;\nOptions -Indexes +FollowSymLinks\nAllowOverride All\n&lt;\/Directory&gt;\n\nSSLCertificateFile \/etc\/letsencrypt\/live\/frank.asgardius.company\/fullchain.pem\nSSLCertificateKeyFile \/etc\/letsencrypt\/live\/frank.asgardius.company\/privkey.pem\nInclude \/etc\/letsencrypt\/options-ssl-apache.conf\n&lt;\/VirtualHost&gt;\n&lt;\/IfModule&gt;<\/code><\/pre>\n\n\n\n<p>La primera l\u00ednea indica que el sitio web requiere el m\u00f3dulo mod_ssl para funcionar. En caso de no estar presente el resto del archivo de configuraci\u00f3n se ignorar\u00e1. La segunda l\u00ednea indica que el sito web estar\u00e1 disponible desde todas las interfaces de red en el puerto 443. SSLCertificateFile indica la ruta absoluta del certificado de seguridad de este sitio web. SSLCertificateKeyFile indica la ruta del archivo llave requerido para hacer funcionar el certificado. La l\u00ednea Include indica la ruta de un archivo de configuraci\u00f3n con par\u00e1metros adicionales<\/p>\n\n\n\n<p>Proxy inverso<\/p>\n\n\n\n<p>La funci\u00f3n de proxy inverso permite redirigir el tr\u00e1fico de un servidor web a trav\u00e9s de otro (Cloudflare se basa en ese principio)<\/p>\n\n\n\n<p>Necesitamos los m\u00f3dulos mod_proxy y proxy_wstunnel, los cuales podemos habilitar de la siguiente forma<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo a2enmod proxy proxy_http proxy_wstunnel\nsudo systemctl restart apache2<\/code><\/pre>\n\n\n\n<p>Para redirigir el tr\u00e1fico de una instancia de Icecast instalado en nuestro servidor web podemos agregar lo siguiente<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ProxyPass \"\/\" \"http:\/\/127.0.0.1:8000\/\"\nProxyPassReverse \"\/\" \"http:\/\/127.0.0.1:8000\/\"<\/code><\/pre>\n\n\n\n<p>Podemos redirigir el tr\u00e1fico de un directorio espec\u00edfico en su lugar<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ProxyPass \"\/r3\" \"http:\/\/127.0.0.1:8000\/r3\"\nProxyPassReverse \"\/r3\" \"http:\/\/127.0.0.1:8000\/r3\"<\/code><\/pre>\n\n\n\n<p>Tambi\u00e9n podemos bloquear la redirecci\u00f3n hacia una ruta espec\u00edfica<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ProxyPass \"\/admin\" \"!\"\nProxyPass \"\/\" \"http:\/\/127.0.0.1:8000\/\"\nProxyPassReverse \"\/\" \"http:\/\/127.0.0.1:8000\/\"<\/code><\/pre>\n\n\n\n<p>En caso de que el sitio a redirigir utilice websocket debemos especificarlo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ProxyPass \"\/socket\" \"ws:\/\/127.0.0.1:8096\/socket\"\nProxyPassReverse \"\/socket\" \"ws:\/\/127.0.0.1:8096\/socket\"<\/code><\/pre>\n\n\n\n<p>En caso de que el sitio a redirigir utilice SSL debemos agregar el par\u00e1metro &#8220;SSLProxyEngine On&#8221; de la siguiente forma<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SSLProxyEngine On\nProxyPass \"\/\" \"https:\/\/example.com\/\"\nProxyPassReverse \"\/\" \"https:\/\/example.com\/\"<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Despu\u00e9s de publicar tutoriales de instalaci\u00f3n de Apache y de NGINX mostrar\u00e9 c\u00f3mo configurar nuestro servidor web para diferentes prop\u00f3sitos comenzando por Apache (el pr\u00f3ximo art\u00edculo ser\u00e1 sobre NGINX) Configuraci\u00f3n de host virtual En caso de haber configurado Apache con let&#8217;s encrypt siguiendo el tutorial antes mencionado tendremos un archivo de configuraci\u00f3n en &#8220;\/etc\/apache2\/sites-enabled&#8221; y&hellip; <a class=\"more-link\" href=\"https:\/\/asgardius.company\/?p=773\">Seguir leyendo <span class=\"screen-reader-text\">Configuraciones b\u00e1sicas del servidor web Apache<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-773","post","type-post","status-publish","format-standard","hentry","category-uncategorized","entry"],"_links":{"self":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts\/773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=773"}],"version-history":[{"count":0,"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts\/773\/revisions"}],"wp:attachment":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}