{"id":28,"date":"2024-05-30T11:28:10","date_gmt":"2024-05-30T09:28:10","guid":{"rendered":"https:\/\/cienciaytecnology.com\/wordpress\/?p=28"},"modified":"2026-04-26T23:32:44","modified_gmt":"2026-04-26T21:32:44","slug":"manual-apache2","status":"publish","type":"post","link":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/","title":{"rendered":"Manual apache2"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Version<\/h2>\n\n\n\n<p>Para verificar la versi\u00f3n de&nbsp;<strong>Apache<\/strong>&nbsp;en&nbsp;<strong>Linux<\/strong>, puedes utilizar los siguientes comandos en la terminal, dependiendo de la distribuci\u00f3n que est\u00e9s utilizando:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>En distribuciones basadas en Debian\/Ubuntu<\/strong>&nbsp;(como Ubuntu, Debian y sus derivados):\n<ul class=\"wp-block-list\">\n<li>Para verificar la versi\u00f3n de&nbsp;<strong>Apache<\/strong>&nbsp;con el comando&nbsp;<code>apache2<\/code>:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>$ apache2 -v<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tambi\u00e9n puedes usar el comando&nbsp;<code>apachectl<\/code><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>$ sudo apachectl -v<\/code><\/pre>\n\n\n\n<p>Esto proporcionar\u00e1 la misma informaci\u00f3n sobre la versi\u00f3n de&nbsp;<strong>Apache<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si deseas ver qu\u00e9 m\u00f3dulos est\u00e1n compilados en&nbsp;<strong>Apache<\/strong>, ejecuta<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>$ apache2 -l\n<\/code><\/pre>\n\n\n\n<p>Para obtener detalles desde el administrador de paquetes (usando el comando&nbsp;<code>apt<\/code>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ apt info apache2<\/code><\/pre>\n\n\n\n<p>2. <strong>En distribuciones basadas en RHEL\/Fedora\/CentOS<\/strong>&nbsp;(como Fedora, CentOS, AlmaLinux y Rocky Linux):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ httpd -v<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Instalacion<\/h2>\n\n\n\n<p>Con Debian \/ Ubuntu, la instalaci\u00f3n de Apache es muy sencilla. Basta con ejecutar la orden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># apt-get install apache2<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Arranque y Parada<\/h2>\n\n\n\n<p>Apache se ejecuta como un servicio en segundo plano (daemon). Para arrancarlo basta con ejecutar una de las \u00f3rdenes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># service apache2 start o # systemctl start apache2<\/code><\/pre>\n\n\n\n<p>Y para detenerlo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># service apache2 stop o # systemctl stop apache2<\/code><\/pre>\n\n\n\n<p>Ech\u00e1ndole un vistazo al script (\/etc\/init.d\/apache2) ver\u00e1s que el comando que realmente arranca y detiene Apache es apache2ctl. Consultando la p\u00e1gina de manual (man apache2ctl) ver\u00e1s que tiene muchas m\u00e1s opciones que start y stop.<\/p>\n\n\n\n<p>Tambi\u00e9n podemos reiniciar el servicio si ya est\u00e1 en funcionamiento y deseamos que cargue nuevos m\u00f3dulos por ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># service apache2 restart o # systemctl restart apache2<\/code><\/pre>\n\n\n\n<p>Si hemos habilitado nuevos contenidos para que sean accesibles podemos recargarlos con:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># service apache2 reload o # systemctl reload apache2<\/code><\/pre>\n\n\n\n<p>Finalmente podemos ver si el servidor est\u00e1 en funcionamiento con:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># service apache2 status o # systemctl status apache2<\/code><\/pre>\n\n\n\n<p>Podemos validar si la sintaxis es correcta de los ficheros de configuraci\u00f3n con:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> # apachectl configtest<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Configuraci\u00f3n<\/h2>\n\n\n\n<p>La configuraci\u00f3n de Debian \/ Ubuntu, por defecto, incluye:<br>Los archivos de configuraci\u00f3n de Apache en \/etc\/apache2<br>El directorio ra\u00edz para los documentos en \/var\/www<\/p>\n\n\n\n<p>Los directorios&nbsp;<code>\/etc\/apache2\/sites-available<\/code>&nbsp;y&nbsp;<code>\/etc\/apache2\/sites-enabled<\/code>&nbsp;son parte de la configuraci\u00f3n del servidor web&nbsp;<strong>Apache<\/strong>&nbsp;y se utilizan para gestionar m\u00faltiples sitios o dominios en un solo servidor:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>\/etc\/apache2\/sites-available<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Este directorio contiene archivos de configuraci\u00f3n para&nbsp;<strong>sitios disponibles<\/strong>&nbsp;en tu servidor Apache.<\/li>\n\n\n\n<li>Cada archivo de configuraci\u00f3n dentro de esta carpeta representa un sitio web espec\u00edfico.<\/li>\n\n\n\n<li>Aqu\u00ed es donde creas y editas los archivos de configuraci\u00f3n para tus diferentes sitios.<\/li>\n\n\n\n<li>Por ejemplo, si tienes tres sitios web (sitio1, sitio2 y sitio3), tendr\u00edas tres archivos de configuraci\u00f3n en este directorio:&nbsp;<code>sitio1.conf<\/code>,&nbsp;<code>sitio2.conf<\/code>&nbsp;y&nbsp;<code>sitio3.conf<\/code>.<\/li>\n\n\n\n<li>Estos archivos contienen informaci\u00f3n como la ubicaci\u00f3n de los archivos del sitio, las directivas de seguridad, las reglas de redirecci\u00f3n, etc.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>\/etc\/apache2\/sites-enabled<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Este directorio contiene enlaces simb\u00f3licos a los archivos de configuraci\u00f3n de los sitios que est\u00e1n&nbsp;<strong>habilitados<\/strong>.<\/li>\n\n\n\n<li>Cuando habilitas un sitio (usando el comando&nbsp;<code>a2ensite<\/code>), se crea un enlace simb\u00f3lico desde aqu\u00ed al archivo correspondiente en&nbsp;<code>sites-available<\/code>.<\/li>\n\n\n\n<li>Los sitios habilitados son aquellos que Apache cargar\u00e1 y servir\u00e1 cuando el servidor se inicie o se reinicie.<\/li>\n\n\n\n<li>Por ejemplo, si habilitas&nbsp;<code>sitio1.conf<\/code>, se crear\u00e1 un enlace simb\u00f3lico en&nbsp;<code>sites-enabled<\/code>&nbsp;que apunta al archivo&nbsp;<code>sitio1.conf<\/code>&nbsp;en&nbsp;<code>sites-available<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Comandos relacionados<\/strong>:\n<ul class=\"wp-block-list\">\n<li><code><strong><em>a2ensite<\/em><\/strong><\/code>: Este comando se utiliza para&nbsp;<strong>habilitar<\/strong>&nbsp;un sitio. Por ejemplo, para habilitar&nbsp;<code>sitio1.conf<\/code>, ejecutar\u00edas:<code>sudo a2ensite sitio1<\/code><\/li>\n\n\n\n<li><code><strong><em>a2dissite<\/em><\/strong><\/code>: Este comando se utiliza para&nbsp;<strong>deshabilitar<\/strong>&nbsp;un sitio. Por ejemplo, para deshabilitar&nbsp;<code>sitio2.conf<\/code>, ejecutar\u00edas:<code>sudo a2dissite sitio2<\/code><\/li>\n\n\n\n<li>Despu\u00e9s de usar estos comandos, aseg\u00farate de recargar o reiniciar Apache para que los cambios surtan efecto:<code><strong><em>sudo systemctl reload apache2<\/em><\/strong><\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>En resumen, estos directorios te permiten organizar y administrar f\u00e1cilmente m\u00faltiples sitios web en un servidor Apache.&nbsp;<a href=\"https:\/\/docs.rockylinux.org\/es\/guides\/web\/apache-sites-enabled\/\" target=\"_blank\" rel=\"noreferrer noopener\">Puedes crear y editar archivos de configuraci\u00f3n en&nbsp;<code>sites-available<\/code>, habilitarlos con&nbsp;<code>a2ensite<\/code>&nbsp;y luego recargar Apache para aplicar los cambios<\/a><\/p>\n\n\n\n<p><strong>Servidor b\u00e1sico:<\/strong><\/p>\n\n\n\n<p>El fichero de configuraci\u00f3n de Apache que Debian \/ Ubuntu instala por defecto (\/etc\/apache2\/apache2.conf), aunque es muy bueno, es tambi\u00e9n muy complicado y no nos sirve para explicar los conceptos m\u00e1s elementales de Apache, adem\u00e1s en las \u00faltimas versiones algunos par\u00e1metros de la configuraci\u00f3n b\u00e1sica han pasado a establecerse en ficheros de configuraci\u00f3n, en la configuraci\u00f3n de los m\u00f3dulos que las aplican o en los ficheros de configuraci\u00f3n de las Web.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#Fichero de Configuraci\u00f3n SENCILLO (\/etc\/apache2\/apache2.conf)\n#Directorio con los ficheros de configuraci\u00f3n de Apache\nServerRoot \"\/etc\/apache2\"\n#Directorio ra\u00edz de los documentos publicados\nDocumentRoot \"\/var\/www\"\n#Fichero en el que se guarda el n\u00famero del proceso Apache\nPidFile \/var\/run\/apache2\/apache2.pid\n#Usuario y grupo con los que se ejecutar\u00e1 Apache\nUser www-data\nGroup www-data\n#Fichero de log para los errores\nErrorLog \/var\/log\/apache2\/error.log\n#Incluye los m\u00f3dulos habilitados en nuestro servidor\nIncludeOptional mods-enabled\/*.load\nIncludeOptional mods-enabled\/*.conf\nIncludeOptional conf-enabled\/*.conf\n#Incluye la config. de puertos en los que escucha el servidor\nInclude ports.conf\n#Incluye las Web habilitadas en nuestro servidor\nIncludeOptional sites-enabled\/*.conf\nArchivo \/etc\/apache2\/mods-enabled\/dir.conf:\n#Lista de ficheros que pueden servir como \u00edndices de directorio\nDirectoryIndex index.html index.htm\nmods-enabled\/mime.conf:\n#Fichero con la lista de tipos mime\nTypesConfig \/etc\/mime.types<\/code><\/pre>\n\n\n\n<p>Archivo \/etc\/apache2\/sites-available\/nombre_web.conf:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#Nombre con el que el Servidor se conoce a s\u00ed mismo\nServerName www.depinfo.iesjc\n#Directorio ra\u00edz de los documentos publicados en esta web\nDocumentRoot \/var\/www\/depinfo\nports.conf:\n#Puerto en el que escuchar\u00e1 Apache\nListen 80<\/code><\/pre>\n\n\n\n<p>En el contenido anterior:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Los ficheros de configuraci\u00f3n son de texto plano.<\/li>\n\n\n\n<li>Cada l\u00ednea contiene una directiva de configuraci\u00f3n.<\/li>\n\n\n\n<li>Las l\u00edneas que empiezan por # son comentarios.<\/li>\n<\/ul>\n\n\n\n<p><strong>Directivas B\u00e1sicas<\/strong><\/p>\n\n\n\n<p><strong><em>ServerName<\/em><\/strong><br>Establece el nombre con el que el servidor se conoce a s\u00ed mismo. Esta directiva se utiliza para las redirecciones. Es decir, cuando Apache le tiene que indicar al cliente (el navegador) otra direcci\u00f3n a la que tiene que ir.<br>Es importante que ese nombre se pueda resolver por DNS. De lo contrario el cliente no podr\u00e1 acceder a la p\u00e1gina redireccionada.<br><strong><em>ServerRoot<\/em><\/strong><br>Establece el directorio en el que se encuentran los ficheros de configuraci\u00f3n de Apache. Y si Apache no conoce el directorio de configuraci\u00f3n, \u00bfc\u00f3mo puede acceder a \u00e9ste fichero de configuraci\u00f3n? La respuesta a esta paradoja es que Apache puede arrancarse pas\u00e1ndole como par\u00e1metro un fichero de configuraci\u00f3n. Pero puede ocurrir que en el fichero de configuraci\u00f3n hagamos referencia a otros ficheros que deben incluirse.<br><strong><em>DocumentRoot<\/em><\/strong><br>Establece el directorio en el que se encuentran los ficheros que Apache servir\u00e1 a los clientes (p\u00e1ginas HTML, scripts PHP, CGIs, etc.). Cada servidor virtual tiene el su directorio definido con esta directiva.<br><strong><em>PidFile<\/em><\/strong><br>Establece el fichero en el que se guardar\u00e1 el n\u00famero del proceso de Apache. Este fichero es el que se lee cuando hay que parar\/matar el proceso.<br><strong><em>User<\/em><\/strong><br>Establece el usuario con el que se ejecutar\u00e1 Apache. Bueno, realmente el proceso Apache se ejecuta como root, porque normalmente tiene que abrir un socket de escucha para el puerto 80 y, en POSIX, s\u00f3lo root puede abrir puertos por debajo del 1000. Sin embargo, tras arrancar ese primer proceso como root, Apache crea varios procesos hijos que se ejecutan<br>con el usuario establecido en esta directiva (www-data en Debian). Estos procesos ser\u00e1n quienes realmente atender\u00e1n las peticiones de los usuarios.<br><strong><em>Group<\/em><\/strong><br>Establece el grupo con el que se ejecutar\u00e1 Apache (sus procesos de escucha).<br><strong><em>ErrorLog<\/em><\/strong><br>Establece el fichero de log de errores de Apache. En este fichero se registrar\u00e1n los fallos de acceso, intentos de acceso a recursos sin autorizaci\u00f3n, p\u00e1ginas no encontradas, etc.<br><strong><em>Listen<\/em><\/strong><br>Establece la direcci\u00f3n IP y el puerto en el que escuchar\u00e1 Apache. Por defecto, Apache escuchar\u00e1 en todas las direcciones IP habilitadas en la m\u00e1quina. Se define en el fichero ports.conf.<br><strong><em>DirectoryIndex<\/em><\/strong><br>Establece los nombres de ficheros que servir\u00e1n como \u00edndices al acceder a un directorio sin indicar ning\u00fan recurso concreto. As\u00ed, si un usuario solicita www.miweb.org\/dir1\/ Apache buscar\u00e1 en ese directorio ficheros con el nombre indicado en esta directiva para servirlos.<br><strong><em>TypesConfig<\/em><\/strong><br>Establece el fichero con la lista de tipos Mime. Los tipos Mime constituyen un est\u00e1ndar que relaciona tipos de ficheros con sus extensiones y le permiten a Apache informar al navegador del tipo de fichero que le est\u00e1 entregando. As\u00ed, el navegador decide c\u00f3mo presentarlo (mostrando una p\u00e1gina web, ejecutando un plugin, guard\u00e1ndolo en disco\u2026)<\/p>\n\n\n\n<p><strong>Activar espacio web para usuarios del sistema<\/strong><\/p>\n\n\n\n<p>Apache dispone de un m\u00f3dulo que permite a los usuarios del sistema tener su p\u00e1gina web en el servidor, pero con la ventaja que el espacio disponible para albergar esta p\u00e1gina se encuentra dentro del directorio personal de cada usuario, de forma que cada uno puede administrarse su propia p\u00e1gina sin tener que tener m\u00e1s privilegios. Para habilitar el m\u00f3dulo se tiene que ejecutar:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$sudo a2enmod userdir<\/code><\/pre>\n\n\n\n<p>Una vez el m\u00f3dulo est\u00e1 habilitado, cualquier usuario puede poner su p\u00e1gina web dentro del directorio public_html en su directorio personal (\/home\/nombre_usuario\/public_html).<br>Normalmente esta carpeta no estar\u00e1 creada, pero puede crearla el propio usuario, s\u00f3lo tiene que tener en cuenta el darle permisos para que sea accesible. Lo mejor ser\u00eda darle los permisos 755 para que el usuario pudiera hacer modificaciones y el resto s\u00f3lo pudiera acceder para ver los objetos almacenados.<br>Los objetos que hay dentro de esta carpeta y que formar\u00e1n la p\u00e1gina web (documentos html, im\u00e1genes, v\u00eddeos\u2026) deber\u00edan tener los permisos 644 porqu\u00e9, a diferencia del directorio que los contiene, no necesitan el permiso de ejecuci\u00f3n. Evidentemente si se tienen subdirectorios tambi\u00e9n necesitar\u00e1n este permiso x.<br>Como el resto de ubicaciones, Apache intentar\u00e1 mostrar la p\u00e1gina llamada index, as\u00ed que si esta pagina existe, para mostrarla, s\u00f3lo se tiene que poner en el navegador la URL:<\/p>\n\n\n\n<p>http:\/\/direccion_servidor\/~nombre_usuario<\/p>\n\n\n\n<p><strong>Servidor Configurado por Directorios<\/strong><\/p>\n\n\n\n<p>En el servidor sencillo que acabamos de ver, la configuraci\u00f3n es la misma para todos los documentos que estemos publicando. En algunos casos puede interesarnos tener configuraciones diferentes para distintos directorios e incluso para distintos ficheros. Para eso, podemos utilizar un fichero de configuraci\u00f3n como el siguiente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#Fichero de Configuraci\u00f3n POR BLOQUES\nServerName \"www.depinfo.iesjc\"\nServerRoot \"\/etc\/apache2\"\nDocumentRoot \"\/var\/www\"\nPidFile \/var\/run\/apache2\/apache2.pid\nUser www-data\nGroup www-data\nErrorLog \/var\/log\/apache2\/error.log\nListen 80\nTypesConfig \/etc\/mime.types\n#Establecemos la configuraci\u00f3n de cada directorio\n&lt;Directory \"\/var\/www\"&gt;\n   #No permitimos los \u00edndices autom\u00e1ticos en ning\u00fan                  sitio (salvo\n   #los que permitamos expl\u00edcitamente)\n   Options -Indexes\n&lt;\/Directory&gt;\n&lt;Directory \"\/var\/www\/descargas\"&gt;\n   #En este directorio, permitimos \u00edndices   autom\u00e1ticos, pero no\n   #permitimos enlaces simb\u00f3licos\n   Options +Indexes -FollowSymLinks\n   #No permitimos a nadie acceder a los ficheros   .htaccess de este\n   #directorio\n      &lt;Files .htaccess&gt;\n         order allow,deny\n         deny from all\n      &lt;\/Files&gt;\n&lt;\/Directory&gt;\n&lt;Location \/server-status&gt;\n   #En esta direcci\u00f3n, mostramos informaci\u00f3n sobre el estado del\n   #servidor\n   SetHandler server-status\n&lt;\/Location&gt;<\/code><\/pre>\n\n\n\n<p><strong>Directivas para la Configuraci\u00f3n por Bloques<\/strong><\/p>\n\n\n\n<p>Al aplicar configuraciones diferentes por directorio, por fichero o por localizaci\u00f3n, decimos que estamos aplicando \u201cConfiguraci\u00f3n por Bloques\u201d. Hemos utilizado las siguientes directivas:<\/p>\n\n\n\n<p><strong><em>&lt;Directory&gt;<\/em><\/strong><\/p>\n\n\n\n<p>Indica que el bloque de configuraci\u00f3n que abarca (entre y ) se aplica al directorio indicado y a sus subdirectorios. Tambi\u00e9n hay una directiva que permite utilizar expresiones regulares. As\u00ed, un mismo bloque de configuraci\u00f3n puede aplicarse a varios directorios.<\/p>\n\n\n\n<p><strong><em>Options<\/em><\/strong><\/p>\n\n\n\n<p>Modifica las opciones que se aplican a un directorio. Las opciones se a\u00f1aden (con +) o se quitan (con -) respecto a las que en ese momento se aplican sobre el directorio. Mediante esta directiva pueden a\u00f1adirse\/quitarse las siguientes opciones:<br>All, ExecCGI, FollowSymLinks, Includes, IncludesNOEXEC, Indexes, Multiviews y SymLinksIfOwnerMatch.<\/p>\n\n\n\n<p><strong><em>&lt;File&gt;<\/em><\/strong><\/p>\n\n\n\n<p>Indica que el bloque de configuraci\u00f3n que abarca (entre &lt;File&gt; y &lt;\/File&gt;) se aplicar\u00e1 a los ficheros cuyo nombre coincida con el indicado. Tambi\u00e9n hay una directiva &lt;FileMatch&gt; que permite utilizar expresiones regulares. As\u00ed, un mismo bloque de configuraci\u00f3n puede aplicarse a varios ficheros. <\/p>\n\n\n\n<p><strong><em>&lt;Location&gt;<\/em><\/strong><\/p>\n\n\n\n<p>Indica que el bloque de configuraci\u00f3n que abarca (entre &lt;Location&gt; y &lt;\/Location&gt; ) se aplicar\u00e1 a las localizaciones que coincidan con la indicada. La \u201clocalizaci\u00f3n\u201d es la direcci\u00f3n que solicita el cliente. F\u00edjate que no es lo mismo que el sistema de ficheros (sobre el que trabajan &lt;Directory&gt; y &lt;File&gt;). Utilizando redirecciones y alias es posible que un cliente solicite una determinada \u201clocalizaci\u00f3n\u201d y que la p\u00e1gina que se le entregue tenga un path completamente distinto al que \u00e9l especific\u00f3. Tambi\u00e9n hay una directiva &lt;LocationMatch&gt; que permite utilizar expresiones regulares. As\u00ed, un mismo bloque de configuraci\u00f3n puede aplicarse a varias localizaciones. <\/p>\n\n\n\n<p><strong><em>SetHandler<\/em><\/strong> <\/p>\n\n\n\n<p>Establece el manejador que se utilizar\u00e1 para atender las peticiones a un directorio, a un tipo de ficheros o a una localizaci\u00f3n. Un \u00abhandler\u00bb es una representaci\u00f3n interna de Apache de una acci\u00f3n que se va a ejecutar cuando hay una llamada a un fichero. Generalmente, los ficheros tienen handlers impl\u00edcitos, basados en el tipo de fichero de que se trata. Normalmente, todos los ficheros son simplemente servidos por el servidor, pero algunos tipos de ficheros se tratan de forma diferente. Los posibles handlers son: default-handler, send-as-is, cgi-script, imap-file, server-info, server-status y type-map.<\/p>\n\n\n\n<p><strong>Servidores Virtuales<\/strong><\/p>\n\n\n\n<p>Tener todo un servidor Apache para atender s\u00f3lo un sitio web es una p\u00e9rdida de recursos. Apache es capaz de atender, desde una sola m\u00e1quina a todo un conjunto de sitios web. Es decir, podemos servir al mismo tiempo peticiones para www.depinfo.iesjc , www.depadm.iesjc, profes.iesjc , alumnes.iesjc\u2026<br>Esto se hace utilizando \u201cServidores virtuales\u201d.<\/p>\n\n\n\n<p><strong>Servidores Virtuales por IP<\/strong><\/p>\n\n\n\n<p><br>Supongamos en primer lugar, que nuestro servidor atiende dos direcciones IP y que asignamos cada una de ellas a un sitio web. El fichero de configuraci\u00f3n ser\u00eda el siguiente y estar\u00eda ubicado en: \/etc\/apache2\/sitesavailable\/nombre_web.conf <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#Fichero de Configuraci\u00f3n para HOSTS VIRTUALES POR IP\nServerRoot \"\/etc\/apache2\"\nDocumentRoot \"\/var\/www\"\nPidFile \/var\/run\/apache2\/apache2.pid\nUser www-data\nGroup www-data\nErrorLog \/var\/log\/apache2\/error.log\nTypesConfig \/etc\/mime.types\n#Establecemos la configuraci\u00f3n para cada Host Virtual\n&lt;VirtualHost 192.168.2.166&gt;\n   #Cada uno tiene su nombre\n   ServerName www.depinfo.iesjc\n   DocumentRoot \/var\/www\/depinfo\n   #Dividimos los ficheros de log\n   ErrorLog \/tmp\/www1_ERROR.log\n   TransferLog \/tmp\/www1_ACCESS.log\n&lt;\/VirtualHost&gt;\n&lt;VirtualHost 192.168.2.200&gt;\n   ServerName www2.depinfo.iesjc\n   DocumentRoot \/var\/www\/depinfo2\n   ErrorLog \/tmp\/www2_ERROR.log\n   TransferLog \/tmp\/www2_ACCESS.log\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n\n\n\n<p><strong>Servidores Virtuales por Puerto<\/strong><\/p>\n\n\n\n<p><br>Hagamos lo mismo, pero en una de las direcciones IP, utilicemos dos puertos TCP\/IP distintos para atender dos sitios diferentes. En el fichero \/etc\/apache2\/ports.conf debemos a\u00f1adir: Listen 8080 para que el servidor tambi\u00e9n escuche en este nuevo puerto. El fichero de configuraci\u00f3n ser\u00eda el siguiente, con la misma ubicaci\u00f3n que en el caso anterior:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#Fichero de Configuraci\u00f3n para HOSTS VIRTUALES POR IP Y PUERTO\nServerRoot \"\/etc\/apache2\"\nDocumentRoot \"\/var\/www\"\nPidFile \/var\/run\/apache2\/apache2.pid\nUser www-data\nGroup www-data\nErrorLog \/var\/log\/apache2\/error.log\nTypesConfig \/etc\/mime.types\n#Indicamos el puerto de cada sitio web\n&lt;VirtualHost 192.168.2.166:80&gt;\n   ServerName www.depinfo.iesjc\n   DocumentRoot \/var\/www\/depinfo\n   ErrorLog \/tmp\/www1_ERROR.log\n   TransferLog \/tmp\/www1_ACCESS.log\n&lt;\/VirtualHost&gt;\n&lt;VirtualHost 192.168.2.166:8080&gt;\n   ServerName profes.depinfo.iesjc\n   DocumentRoot \/var\/www\/profes\n   ErrorLog \/tmp\/profes_ERROR.log\n   TransferLog \/tmp\/profes_ACCESS.log\n&lt;\/VirtualHost&gt;\n&lt;VirtualHost 192.168.2.200&gt;\n   ServerName www2.depinfo.iesjc\n   DocumentRoot \/var\/www\/depinfo2\n   ErrorLog \/tmp\/www2_ERROR.log\n   TransferLog \/tmp\/www2_ACCESS.log\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n\n\n\n<p><strong>Servidores Virtuales por Nombre<\/strong><br>Y ahora, configuremos el servidor utilizando los nombres de cada sitio web:<br>El fichero de configuraci\u00f3n ser\u00eda el siguiente, con la misma ubicaci\u00f3n que en el caso anterior:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#Fichero de Configuraci\u00f3n para HOSTS VIRTUALES POR NOMBRE \nServerRoot \"\/etc\/apache2\" \nDocumentRoot \"\/var\/www\" \nPidFile \/var\/run\/apache2\/apache2.pid \nUser www-data \nGroup www-data \nErrorLog \/var\/log\/apache2\/error.log \nTypesConfig \/etc\/mime.types \n#La configuraci\u00f3n de hosts virtuales por nombre se aplica a las \n#peticiones recibidas en esta IP \nNameVirtualHost 192.168.2.166 \n#Configuramos haciendo referencia a cada sitio por su nombre \n&lt;VirtualHost www.depinfo.iesjc&gt;\n   ServerName www.depinfo.iesjc\n   ServerName www.depinfo.iesjc\n   DocumentRoot\/var\/www\/depinfo\n   ErrorLog \/tmp\/www1_ERROR.log\n   TransferLog \/tmp\/www1_ACCESS.log\n&lt;\/VirtualHost&gt;\n&lt;VirtualHost www2.depinfo.iesjc&gt;\n   ServerName www2.depinfo.iesjc\n   DocumentRoot \/var\/www\/depinfo2\n   ErrorLog \/tmp\/www2_ERROR.log\n   TransferLog \/tmp\/www2_ACCESS.log\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n\n\n\n<p><strong>Servidores Virtuales por Nombre, IP y Puerto<\/strong><\/p>\n\n\n\n<p><br>Para completar el ejemplo, configuramos el servidor utilizando todas las opciones:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#Fichero de Configuraci\u00f3n para Hosts Virtuales\nServerRoot \"\/etc\/apache2\"\nDocumentRoot \"\/var\/www\"\nPidFile \/var\/run\/apache2\/apache2.pid\nUser www-data\nGroup www-data\nErrorLog \/var\/log\/apache2\/error.log\nTypesConfig \/etc\/mime.types\nNameVirtualHost 192.168.2.166\n\n&lt;VirtualHost www.depinfp.iesjc&gt;\n   ServerName www.depinfo.iesjc\n   DocumentRoot \/var\/www\/depinfo\n   ErrorLog \/tmp\/depinfo_ERROR.log\n   TransferLog \/tmp\/depinfo_ACCESS.log\n&lt;\/VirtualHost&gt;\n&lt;VirtualHost www2.depinfo.iesjc&gt;\n   ServerName www2.depinfo.iesjc\n   DocumentRoot \/var\/www\/depinfo2\n   ErrorLog \/tmp\/depinfo2_ERROR.log\n   TransferLog \/tmp\/depinfo2_ACCESS.log\n&lt;\/VirtualHost&gt;\n&lt;VirtualHost 192.168.2.200:80&gt;\n   ServerName www2.depinfo.iesjc\n   DocumentRoot \/var\/www\/depinfo2\n   ErrorLog \/tmp\/depinfo2_ERROR.log\n   TransferLog \/tmp\/depinfo2_ACCESS.log\n&lt;\/VirtualHost&gt;\n&lt;VirtualHost 192.168.2.200:8080&gt;\nServerName profes.depinfo.iesjc\nDocumentRoot \/var\/www\/profes\nErrorLog \/tmp\/profes_intranet_ERROR.log\nTransferLog \/tmp\/profes_intranet_ACCESS.log\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n\n\n\n<p><strong>Servidores Virtuales Din\u00e1micos<\/strong><br>Pero\u2026 \u00bfqu\u00e9 pasa si tenemos que configurar decenas, cientos o incluso miles de sitios web tal y como ocurre en un ISP? Para eso tenemos la opci\u00f3n de Hosts Virtuales Din\u00e1micos. Debemos cargar el m\u00f3dulo: # a2enmod vhost_alias<br>Veamos un ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#Fichero de Configuraci\u00f3n para Hosts Virtuales Din\u00e1micos\nServerName \"iesjc\"\nServerRoot \"\/etc\/apache2\"\nDocumentRoot \"\/var\/www\"\nPidFile \/var\/run\/apache2\/apache2.pid\nUser www-data\nGroup www-data\nErrorLog \/var\/log\/apache2\/error.log\nTypesConfig \/etc\/mime.types\nErrorLog \/tmp\/iesjc_ERROR.log\n#Le indicamos a Apache que utilice como nombre (ServerName) el de la petici\u00f3n recibida\nUseCanonicalName Off\n#Establecemos el DocumentRoot para cada sitio web que atendemos.\nVirtualDocumentRoot \/var\/www\/%1.0<\/code><\/pre>\n\n\n\n<p>Pero, si tenemos muchos sitios web, tambi\u00e9n puede ser \u00fatil que cada uno de ellos tenga su propio fichero de configuraci\u00f3n (ya le daremos permiso a sus administradores para que lo gestionen ellos mismos). Esto podemos conseguirlo cargando todos los ficheros de configuraci\u00f3n de los sitios virtuales desde un directorio.<br>Podr\u00edamos hacerlo utilizando la siguiente l\u00ednea en el fichero de configuraci\u00f3n de Apache:<br>Include \/etc\/apache2\/sites-enabled\/[^.#]*<br>Esta directiva incluye en el fichero de configuraci\u00f3n todos los ficheros que encuentre en el directorio indicado.<\/p>\n\n\n\n<p><strong>Directivas para la Configuraci\u00f3n de Servidores Virtuales <\/strong><\/p>\n\n\n\n<p>Veamos las directivas que hemos utilizado: <\/p>\n\n\n\n<p><strong><em>&lt;VirtualHost&gt;<\/em><\/strong><\/p>\n\n\n\n<p>Indica que el bloque de configuraci\u00f3n que abarca (entre y ) se aplica al sitio web indicado. Cada host virtual se puede identificar por IP, IP:Puerto o por nombre. <\/p>\n\n\n\n<p><strong><em>NameVirtualHost <\/em><\/strong><\/p>\n\n\n\n<p>Establece la direcci\u00f3n IP sobre la que se configurar\u00e1n hosts virtuales. <\/p>\n\n\n\n<p><strong><em>VirtualDocumentRoot <\/em><\/strong><\/p>\n\n\n\n<p>Establece din\u00e1micamente la ra\u00edz de los documentos (DocumentRoot) para los hosts virtuales. Para establecer el nombre del directorio usa % que hace referencia al nombre que estamos para acceder a nuestro servidor y el n\u00famero que va con el % indica que parte de este nombre se usa para identificar su directorio:<\/p>\n\n\n\n<p>%0 se usa todo el nombre, por tanto si nuestra web se identifica por www.depinfo.iesjc, el directorio ra\u00edz ser\u00e1 \/var\/www\/www.depinfo.iesjc\/ <\/p>\n\n\n\n<p>%1 toma la primera parte del nombre, www y el directorio ra\u00edz estar\u00eda en \/var\/www\/www <\/p>\n\n\n\n<p>%2 toma la segunda parte. <\/p>\n\n\n\n<p>La lista siguiente muestra el funcionamiento ya que se pueden realizar combinaciones: <\/p>\n\n\n\n<p>%% inserta un % <\/p>\n\n\n\n<p>%p inserta el n\u00famero de port del servidor virtual <\/p>\n\n\n\n<p>%N.M donde N indica la parte del nombre y M indica cuantos caracteres se toman de \u00e9l. <\/p>\n\n\n\n<p>El valor para N: <\/p>\n\n\n\n<p>0 el nombre completo \u2192 %0 <\/p>\n\n\n\n<p>1 la primera parte \u2192 %1 <\/p>\n\n\n\n<p>2 la segunda parte \u2192 %2 <\/p>\n\n\n\n<p>-1 la \u00faltima parte \u2192 %-1 <\/p>\n\n\n\n<p>-2 la pen\u00faltima parte \u2192 %-2 <\/p>\n\n\n\n<p>2+ la segunda y todas las partes subsecuentes \u2192 %2+ <\/p>\n\n\n\n<p>-2+ la pen\u00faltima y todas las partes precedentes \u2192 %-2+ <\/p>\n\n\n\n<p>1+ and -1+ lo mismo que cero 0 <\/p>\n\n\n\n<p><strong><em>UseCanonicalName<\/em><\/strong> <\/p>\n\n\n\n<p>Establece de qu\u00e9 forma conocer\u00e1 Apache su propio nombre (para las redirecciones). <\/p>\n\n\n\n<p><strong><em>TransferLog <\/em><\/strong><\/p>\n\n\n\n<p>Establece el fichero de log de acceso de Apache.En este fichero se registrar\u00e1n los accesos a las p\u00e1ginas servidas por Apache.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuraci\u00f3n de Apache2 con modulo UserDir<\/h2>\n\n\n\n<p><\/p>\n\n\n\n<p>Userdir es un modulo 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\u00e1ginas y archivos.<\/p>\n\n\n\n<p>La habilitaci\u00f3n es super sencilla.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Instalando el M\u00f3dulo<\/h3>\n\n\n\n<p>Asumiendo que tenemos Apache2 instalado ejecutamos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo a2enmod userdir<\/code><\/pre>\n\n\n\n<p>Si el servidor no reinicia autom\u00e1ticamente lo reiniciamos de manera manual.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo \/etc\/init.d\/apache2 restart<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Probando la configuraci\u00f3n.<\/h3>\n\n\n\n<p>Simplemente vamos al&nbsp;<a href=\"https:\/\/cristiantala.cl\/home\/\">HOME<\/a>&nbsp;de alg\u00fan usuario y creamos la carpeta public_html y seteamos los permisos.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir public_html\nchmod 0755 public_html<\/code><\/pre>\n\n\n\n<p>Para acceder vamos a la direcci\u00f3n ip del servido ( o el dominio ) y agregamos \/~USUARIO. Si tenemos un usuario llamado pepegrillo vamos a la direcci\u00f3n:<strong>http:\/\/MIDIRECCION\/~pepegrillo<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Creando la carpeta public_html de manera autom\u00e1tica.<\/h3>\n\n\n\n<p>Para la creaci\u00f3n autom\u00e1tica de la carpeta public_html al momento de crear el usuario, simplemente agregamos la nueva carpeta a la direcci\u00f3n \/etc\/skel. En mi caso adem\u00e1s quiero que est\u00e1s carpetas sean manejadas por el servidor de apache, por lo que le dar\u00e9 la propiedad de la carpeta.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir public_html\nchmod 0755 public_html \nchown www-data public_html<\/code><\/pre>\n\n\n\n<p>De esta forma cada vez que se cree un usuario este estar\u00e1 listo para utilizar su carpeta public_html.<\/p>\n\n\n\n<p><strong>OJO<\/strong>, si el servidor Apache2 tambi\u00e9n utiliza php, y la direcci\u00f3n del usuario no los ejecuta, es debido a que est\u00e1 deshabilitada esta opci\u00f3n en el archivo \/etc\/apache2\/mods-enabled\/php5.conf. Esta configuraci\u00f3n simplemente se comenta para que funcione.<\/p>\n\n\n\n<p>El archivo quedar\u00eda as\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    \n    SetHandler application\/x-httpd-php\n    \n    \n    SetHandler application\/x-httpd-php-source\n    \n    # To re-enable php in user directories comment the following lines\n    # (from  to .) Do NOT set it to On as it\n    # prevents .htaccess files from disabling it.\n    #\n    #    \n    #        php_admin_value engine Off\n    #    \n    #\n\n\n<\/code><\/pre>\n\n\n\n<p>Eso deber\u00eda ser todo.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Interfaz Gr\u00e1fica de Apache<\/h3>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">C\u00f3mo instalar la interfaz gr\u00e1fica de Apache en Ubuntu 18.04 LTS<\/h4>\n\n\n\n<p>Apache GUI es una herramienta gratuita y de c\u00f3digo abierto basada en Java que puede utilizarse para gestionar y configurar el servidor web Apache a trav\u00e9s del navegador web. Est\u00e1 especialmente dise\u00f1ada para quienes buscan una c\u00f3moda interfaz gr\u00e1fica (GUI) para configurar los servidores Apache.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Caracter\u00edsticas de la GUI de Apache<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Editar, buscar y validar tus configuraciones.<\/li>\n\n\n\n<li>Iniciar, detener y reiniciar el servicio de Apache.<\/li>\n\n\n\n<li>Ver, instalar y eliminar m\u00f3dulos de Apache.<\/li>\n\n\n\n<li>Editar tus documentos web a trav\u00e9s del navegador web utilizando el editor en l\u00ednea.<\/li>\n\n\n\n<li>Probar la configuraci\u00f3n del servidor en busca de errores.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Requisitos<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un servidor con Ubuntu 18.04.<\/li>\n\n\n\n<li>Un usuario no root con privilegios sudo.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Instalar Java<\/h4>\n\n\n\n<p>ApacheGUI est\u00e1 escrito en Java, por lo que tendr\u00e1s que instalarlo primero. Puedes instalar Java con el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install default-jre -y<\/code><\/pre>\n\n\n\n<p>Una vez instalado Java. Puedes verificar la versi\u00f3n de Java con el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>java -version<\/code><\/pre>\n\n\n\n<p>Salida:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openjdk version \"10.0.2\" 2018-07-17<br>OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2)<br>OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Instalar el servidor LAMP<\/h4>\n\n\n\n<p>A continuaci\u00f3n, instala el servidor web Apache y MariaDB con el siguiente comando<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install apache2 mariadb-server -y<\/code><\/pre>\n\n\n\n<p>Instala PHP con el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install php7.2 php7.2-mysql libapache2-mod-php7.2 -y<\/code><\/pre>\n\n\n\n<p>A continuaci\u00f3n, inicia el servicio de Apache y MariaDB y haz que se inicien al arrancar con el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl start apache2<br>sudo systemctl enable apache2<br>sudo systemctl start mysql<br>sudo systemctl enable mariadb<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Instalar ApacheGUI<\/h4>\n\n\n\n<p>En primer lugar, tendr\u00e1s que descargar la \u00faltima versi\u00f3n de ApacheGUI en tu sistema. Puedes descargarla con el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir \/usr\/local\/apachegui<br>sudo cd \/usr\/local\/apachegui<br>sudo wget https:\/\/excellmedia.dl.sourceforge.net\/project\/apachegui\/1.12-Linux-Solaris-Mac\/ApacheGUI-1.12.0.tar.gz<\/code><\/pre>\n\n\n\n<p>A continuaci\u00f3n, extrae el archivo descargado con el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tar -xvzf ApacheGUI-1.12.0.tar.gz<\/code><\/pre>\n\n\n\n<p>A continuaci\u00f3n, cambia el directorio al ApacheGUI e inicia el script de instalaci\u00f3n con el siguiente comando<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo cd ApacheGUI\/bin<br>sudo .\/run.sh<\/code><\/pre>\n\n\n\n<p>Tu ApacheGUI est\u00e1 ahora iniciando y escuchando en el puerto 9999.<\/p>\n\n\n\n<p>A continuaci\u00f3n, abre tu navegador web y escribe la URL http:\/\/your-server-ip:9999\/ApacheGUI. Ser\u00e1s redirigido a la siguiente p\u00e1gina:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/howtoforge.es\/media\/como-instalar-la-interfaz-grafica-de-apache-en-ubuntu-18-04-lts\/upload-1.jpg\" alt=\"Interfaz gr\u00e1fica de usuario de Apache\"\/><\/figure>\n<\/div>\n\n\n<p>Aqu\u00ed, selecciona el m\u00e9todo de instalaci\u00f3n del servidor web Apache, y luego haz clic en el bot\u00f3n Aceptar. Deber\u00edas ver la siguiente p\u00e1gina:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/howtoforge.es\/media\/como-instalar-la-interfaz-grafica-de-apache-en-ubuntu-18-04-lts\/upload-2.jpg\" alt=\"Par\u00e1metros de configuraci\u00f3n de Apache\"\/><\/figure>\n<\/div>\n\n\n<p>Aqu\u00ed, proporciona tus credenciales de usuario administrador y haz clic en el bot\u00f3n Enviar. Deber\u00edas ver el panel de control de ApacheGUI en la siguiente p\u00e1gina:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/howtoforge.es\/media\/como-instalar-la-interfaz-grafica-de-apache-en-ubuntu-18-04-lts\/upload-3.jpg\" alt=\"Establecer el usuario administrador para la GUI de Apache\"\/><\/figure>\n<\/div>\n\n\n<p>Para detener el servidor Apache GUI, ejecuta:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo .\/stop.sh<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Enlaces<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/www.apachegui.net\/\">http:\/\/www.apachegui.net\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Version Para verificar la versi\u00f3n de&nbsp;Apache&nbsp;en&nbsp;Linux, puedes utilizar los siguientes comandos en la terminal, dependiendo de la distribuci\u00f3n que est\u00e9s utilizando: Esto proporcionar\u00e1 la misma informaci\u00f3n sobre la versi\u00f3n de&nbsp;Apache. Para obtener detalles desde el administrador de paquetes (usando el comando&nbsp;apt): 2. En distribuciones basadas en RHEL\/Fedora\/CentOS&nbsp;(como Fedora, CentOS, AlmaLinux y Rocky Linux): Instalacion Con&#8230;<\/p>\n","protected":false},"author":1,"featured_media":769,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[62],"tags":[43,42,35,39,47,53,45,51,54,50,36,52,55,48,46,44,38,56,40,41,37,49,57],"class_list":["post-28","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-servidores","tag-a2dissite","tag-a2ensite","tag-apache","tag-apachectl","tag-directivas","tag-directory","tag-documentroot","tag-errorlog","tag-file","tag-group","tag-linux","tag-listen","tag-location","tag-pidfile","tag-servername","tag-serverroot","tag-service","tag-sethandler","tag-sites-availabe","tag-sites-enabled","tag-systemctl","tag-user","tag-virtualhost"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Manual apache2 - Ciencia y Tecnologia<\/title>\n<meta name=\"description\" content=\"Ustedahora lo mismo pero para apache2CopilotApache2 es un servidor web de c\u00f3digo abierto. Facilita la entrega de contenido web a trav\u00e9s de HTTP y HTTPS. Es altamente configurable, soporta una amplia variedad de m\u00f3dulos y permite la gesti\u00f3n de sitios web de manera eficiente. Ideal para alojar aplicaciones y servicios web.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Manual apache2 - Ciencia y Tecnologia\" \/>\n<meta property=\"og:description\" content=\"Ustedahora lo mismo pero para apache2CopilotApache2 es un servidor web de c\u00f3digo abierto. Facilita la entrega de contenido web a trav\u00e9s de HTTP y HTTPS. Es altamente configurable, soporta una amplia variedad de m\u00f3dulos y permite la gesti\u00f3n de sitios web de manera eficiente. Ideal para alojar aplicaciones y servicios web.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/\" \/>\n<meta property=\"og:site_name\" content=\"Ciencia y Tecnologia\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-30T09:28:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-26T21:32:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/howtoforge.es\/media\/como-instalar-la-interfaz-grafica-de-apache-en-ubuntu-18-04-lts\/upload-1.jpg\" \/>\n<meta name=\"author\" content=\"david\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"david\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/\"},\"author\":{\"name\":\"david\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/b76777e3c0d2d08ea263068461c90d4b\"},\"headline\":\"Manual apache2\",\"datePublished\":\"2024-05-30T09:28:10+00:00\",\"dateModified\":\"2026-04-26T21:32:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/\"},\"wordCount\":3194,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/b76777e3c0d2d08ea263068461c90d4b\"},\"image\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/post_28.jpg\",\"keywords\":[\"a2dissite\",\"a2ensite\",\"Apache\",\"apachectl\",\"Directivas\",\"Directory\",\"DocumentRoot\",\"ErrorLog\",\"File\",\"Group\",\"Linux\",\"Listen\",\"Location\",\"PidFile\",\"ServerName\",\"ServerRoot\",\"service\",\"SetHandler\",\"sites-availabe\",\"sites-enabled\",\"systemctl\",\"User\",\"VirtualHost\"],\"articleSection\":[\"Servidores\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/\",\"url\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/\",\"name\":\"Manual apache2 - Ciencia y Tecnologia\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/post_28.jpg\",\"datePublished\":\"2024-05-30T09:28:10+00:00\",\"dateModified\":\"2026-04-26T21:32:44+00:00\",\"description\":\"Ustedahora lo mismo pero para apache2CopilotApache2 es un servidor web de c\u00f3digo abierto. Facilita la entrega de contenido web a trav\u00e9s de HTTP y HTTPS. Es altamente configurable, soporta una amplia variedad de m\u00f3dulos y permite la gesti\u00f3n de sitios web de manera eficiente. Ideal para alojar aplicaciones y servicios web.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/post_28.jpg\",\"contentUrl\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/post_28.jpg\",\"width\":1280,\"height\":555},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/manual-apache2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Manual apache2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/\",\"name\":\"Ciencia y Tecnologia\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/b76777e3c0d2d08ea263068461c90d4b\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/b76777e3c0d2d08ea263068461c90d4b\",\"name\":\"david\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a9d8ccd92847e24d772422bc56934157f705784123e5b11a9724d44add16e6bb?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a9d8ccd92847e24d772422bc56934157f705784123e5b11a9724d44add16e6bb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a9d8ccd92847e24d772422bc56934157f705784123e5b11a9724d44add16e6bb?s=96&d=mm&r=g\",\"caption\":\"david\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a9d8ccd92847e24d772422bc56934157f705784123e5b11a9724d44add16e6bb?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Manual apache2 - Ciencia y Tecnologia","description":"Ustedahora lo mismo pero para apache2CopilotApache2 es un servidor web de c\u00f3digo abierto. Facilita la entrega de contenido web a trav\u00e9s de HTTP y HTTPS. Es altamente configurable, soporta una amplia variedad de m\u00f3dulos y permite la gesti\u00f3n de sitios web de manera eficiente. Ideal para alojar aplicaciones y servicios web.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/","og_locale":"es_ES","og_type":"article","og_title":"Manual apache2 - Ciencia y Tecnologia","og_description":"Ustedahora lo mismo pero para apache2CopilotApache2 es un servidor web de c\u00f3digo abierto. Facilita la entrega de contenido web a trav\u00e9s de HTTP y HTTPS. Es altamente configurable, soporta una amplia variedad de m\u00f3dulos y permite la gesti\u00f3n de sitios web de manera eficiente. Ideal para alojar aplicaciones y servicios web.","og_url":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/","og_site_name":"Ciencia y Tecnologia","article_published_time":"2024-05-30T09:28:10+00:00","article_modified_time":"2026-04-26T21:32:44+00:00","og_image":[{"url":"https:\/\/howtoforge.es\/media\/como-instalar-la-interfaz-grafica-de-apache-en-ubuntu-18-04-lts\/upload-1.jpg","type":"","width":"","height":""}],"author":"david","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"david","Tiempo de lectura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/#article","isPartOf":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/"},"author":{"name":"david","@id":"https:\/\/cienciaytecnology.com\/wordpress\/#\/schema\/person\/b76777e3c0d2d08ea263068461c90d4b"},"headline":"Manual apache2","datePublished":"2024-05-30T09:28:10+00:00","dateModified":"2026-04-26T21:32:44+00:00","mainEntityOfPage":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/"},"wordCount":3194,"commentCount":0,"publisher":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/#\/schema\/person\/b76777e3c0d2d08ea263068461c90d4b"},"image":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/#primaryimage"},"thumbnailUrl":"https:\/\/cienciaytecnology.com\/wordpress\/wp-content\/uploads\/2026\/04\/post_28.jpg","keywords":["a2dissite","a2ensite","Apache","apachectl","Directivas","Directory","DocumentRoot","ErrorLog","File","Group","Linux","Listen","Location","PidFile","ServerName","ServerRoot","service","SetHandler","sites-availabe","sites-enabled","systemctl","User","VirtualHost"],"articleSection":["Servidores"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/","url":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/","name":"Manual apache2 - Ciencia y Tecnologia","isPartOf":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/#primaryimage"},"image":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/#primaryimage"},"thumbnailUrl":"https:\/\/cienciaytecnology.com\/wordpress\/wp-content\/uploads\/2026\/04\/post_28.jpg","datePublished":"2024-05-30T09:28:10+00:00","dateModified":"2026-04-26T21:32:44+00:00","description":"Ustedahora lo mismo pero para apache2CopilotApache2 es un servidor web de c\u00f3digo abierto. Facilita la entrega de contenido web a trav\u00e9s de HTTP y HTTPS. Es altamente configurable, soporta una amplia variedad de m\u00f3dulos y permite la gesti\u00f3n de sitios web de manera eficiente. Ideal para alojar aplicaciones y servicios web.","breadcrumb":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/#primaryimage","url":"https:\/\/cienciaytecnology.com\/wordpress\/wp-content\/uploads\/2026\/04\/post_28.jpg","contentUrl":"https:\/\/cienciaytecnology.com\/wordpress\/wp-content\/uploads\/2026\/04\/post_28.jpg","width":1280,"height":555},{"@type":"BreadcrumbList","@id":"https:\/\/cienciaytecnology.com\/wordpress\/manual-apache2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/cienciaytecnology.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Manual apache2"}]},{"@type":"WebSite","@id":"https:\/\/cienciaytecnology.com\/wordpress\/#website","url":"https:\/\/cienciaytecnology.com\/wordpress\/","name":"Ciencia y Tecnologia","description":"","publisher":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/#\/schema\/person\/b76777e3c0d2d08ea263068461c90d4b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cienciaytecnology.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":["Person","Organization"],"@id":"https:\/\/cienciaytecnology.com\/wordpress\/#\/schema\/person\/b76777e3c0d2d08ea263068461c90d4b","name":"david","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/a9d8ccd92847e24d772422bc56934157f705784123e5b11a9724d44add16e6bb?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a9d8ccd92847e24d772422bc56934157f705784123e5b11a9724d44add16e6bb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a9d8ccd92847e24d772422bc56934157f705784123e5b11a9724d44add16e6bb?s=96&d=mm&r=g","caption":"david"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/a9d8ccd92847e24d772422bc56934157f705784123e5b11a9724d44add16e6bb?s=96&d=mm&r=g"},"sameAs":["https:\/\/cienciaytecnology.com\/wordpress"]}]}},"_links":{"self":[{"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/posts\/28","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/comments?post=28"}],"version-history":[{"count":9,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/posts\/28\/revisions"}],"predecessor-version":[{"id":236,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/posts\/28\/revisions\/236"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/media\/769"}],"wp:attachment":[{"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/media?parent=28"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/categories?post=28"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/tags?post=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}