Advertisement
Jakeukalane

apache1

Jun 20th, 2022
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.42 KB | None | 0 0
  1. Nombre del demonio/servicio: apache2
  2. Ficheros de configuración: /etc/apache2/apache2.conf y todos los archivos *.conf que se añaden a la configuración a través de Include
  3. Ficheros de log: /var/log/apache2/access.log que registra todos los accesos que realizan los clientes a los recursos del servidor: páginas, imágenes, etc. /var/log/apache2/error.log y journalctl -f para errores.
  4. Puertos utilizados: 80 y 443 (TCP) . El puerto 443 solo se utiliza al configurar comunicaciones cifradas mediante SSL/TLS (https).
  5. Comandos relacionados:
  6. # apache2ctl -v Obtiene la versión del servidor Apache
  7.  
  8. # apache2ctl -M Lista los módulos o plugins que utiliza Apache
  9.  
  10. # apache2ctl -k start|restart|graceful|graceful-stop|stop Las opciones graceful permiten reiniciar o parar el servicio sin cortar(esperando a que terminen) las conexiones que puedan existir con los clientes, esto es útil en aplicaciones críticas(p.ej. aplicaciones de cobro) instaladas en sitios con mucho tráfico.
  11.  
  12. # htpasswd Gestiona usuarios de Apache para realizar autenticación al acceder a determinados contenidos.
  13.  
  14. # service apache2 reload Hace que apache lea sus archivos de configuración sin reiniciar el servicio. Puede ser de utilidad en servidores con muchas conexiones cuando se realizan cambios de configuración que no requieren reinicio del servicio.
  15.  
  16. # curl -v http://<ip_nombre_servidor> curl es una utilidad cliente que permite visualizar el protocolo htttp/https entre cliente y servidor.
  17.  
  18.  
  19.  
  20. #####
  21. ServerTokens ProductOnly
  22. ServerSignature Off
  23.  
  24. ###
  25. LogLevel info (p.ej info registra más errores que warn)
  26.  
  27.  
  28. <VirtualHost *:80>
  29. ServerName www.ejemplo.com
  30. ServerAlias www.otronombre.com #Otro DNS para este servidor al que le aplicaría esta configuración VirtualHost
  31. DocumentRoot ...
  32. ...
  33. </VirtualHost>
  34. <VirtualHost *:443>
  35. ServerName www.ejemplo.com
  36. DocumentRoot ...
  37. ...
  38. </VirtualHost>
  39.  
  40. <VirtualHost *:80 *:443>
  41. # Este VirtualHost debe ser el último de todos los VirtualHost configurados, lo añadiremos cuando queramos evitar que se acceda al servidor web por IP o por cualquier nombre no especificado en algún VirtualHost anterior a éste
  42. ServerName 185.119.248.109
  43. ServerAlias *
  44. <Location />
  45. Order deny,allow
  46. Deny from all
  47. </Location>
  48. </VirtualHost>
  49.  
  50. # Alternativa 1: a través de <Directory path>
  51. <Directory path>
  52. Options -Indexes +FollowSymLinks
  53. Order ...
  54. Allow ...
  55. Deny ...
  56. AuthType ...
  57. ...
  58. </Directory>
  59.  
  60. # Alternativa 2: a través de un archivo .htaccess Debemos activar la opción AllowOverride All mediante <Directory path> y luego crear el archivo .htaccess dentro de path
  61. <Directory path>
  62. AllowOverride All
  63. </Directory>
  64.  
  65. El contenido de .htaccess sería lo mismo que utilizamos en la altenativa 1:
  66. Options -Indexes +FollowSymLinks
  67. Order ...
  68. Allow ...
  69. Deny ...
  70. AuthType ...
  71. ...
  72.  
  73. Acceder a contenidos que "no cuelgan" de DocumentRoot
  74.  
  75. En el siguiente ejemplo DocumentRoot es /var/www/html y pretendemos que la URL www.ejemplo.com/fotos acceda a /usr/imagenesen vez de a /var/www/html/fotos
  76.  
  77. # Alternativa 1: utilizando la directiva Alias
  78. <VirtualHost *:80>
  79. ServerName www.ejemplo.com
  80. DocumentRoot /var/www/html
  81. Alias /fotos /usr/imagenes #/usr/imagenes y su contenido deben tener permiso de lectura para apache
  82. ...
  83. </VirtualHost>
  84.  
  85. # Alternativa 2: creando un enlace simbólico con el comando de Linux #ln -s /usr/imagenes /var/www/html/fotos
  86. y la opción FollowSymlinks para el directorio donde se encuentra el link simbólico.
  87. Para borrar un link simbólico se usa el comando unlink
  88. <VirtualHost *:80>
  89. ServerName www.ejemplo.com
  90. DocumentRoot /var/www/html
  91. <Directory /var/www/html>
  92. Options +FollowSymlinks
  93. </Directory>
  94. ...
  95. </VirtualHost>
  96. Configurar acceso a directorio mediante usuario/contraseña:
  97.  
  98. #Utilizamos el comando htpasswd [-c] fichero_pass usu para crear usuarios y contraseñas
  99. <Directory /var/www/privado>
  100. AuthType Basic
  101. AuthName "Area privada" #Título del formulario de acceso que muestra el navegador
  102. AuthUserFile ruta_del_fichero_pass
  103. Require user usu1 usu2 ó Require valid-user #Esta última da acceso a cualquier usuario autenticado
  104. </Directory>
  105.  
  106. Crear VirtualHost que redirige cualquier URL http (puerto 80 sin cifrar) a https (puerto 443 cifrado)
  107.  
  108. <VirtualHost *:80>
  109. ServerName www.ejemplo.com
  110. #Para poder reescribir URLs hay que activar en Apache el módulo (plugin) rewrite mediante el comando #a2enmod rewrite
  111. RewriteEngine On
  112. RewriteCond %{SERVER_PORT} 80
  113. RewriteRule ^(.*)$ https://www.ejemplo.com$1 [R,L]
  114. </VirtualHost>
  115. <VirtualHost *:443>
  116. ServerName www.alumno2asirlc.tk
  117. SSLEngine on
  118. SSLCertificateFile /etc/ssl/www.alumno2asirlc.tk/fullchain.pem
  119. SSLCertificateKeyFile /etc/ssl/www.alumno2asirlc.tk/privkey.pem
  120. DocumentRoot /var/www/html/www.alumno2asirlc.tk
  121. #Crear en la ruta de DocumentRoot un index.html con contenido de prueba
  122. </VirtualHost>
  123.  
  124. Crear VirtualHost que permita monitorizar el estado del servidor (sólo se permite acceso desde el servidor)
  125.  
  126. ExtendedStatus On
  127. <VirtualHost *:80>
  128. ServerName localhost
  129. <Location /server-status>
  130. SetHandler server-status
  131. Order deny,allow
  132. Deny from all
  133. Allow from localhost
  134. </Location>
  135. </VirtualHost>
  136.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement