meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
Última revisiónAmbos lados, revisión siguiente
linux:apache2 [2013/04/09 23:29] – File build by odt2dw plugin from fileapache2.odt lclinux:apache2 [2014/01/08 17:12] – editor externo 127.0.0.1
Línea 1: Línea 1:
-====== apache2 ====== 
-<sub>{{apache2.odt|Original file}}</sub> 
- 
 ====== Apache 2 ====== ====== Apache 2 ======
  
-Para instalar el Apache2 apt-get install apache2+  * Para instalar el Apache2 <code>apt-get install apache2</code> 
 +  * Para arrancar el apache <code>/etc/init.d/apache2 start</code> 
 +  * Para recargar la configuración del apache <code>/etc/init.d/apache2 reload</code> 
 +  * Para ver el estado del servidor apache <code>apache2ctl status</code>
  
-Para arrancar el apache /etc/init.d/apache2 start +<note>Los archivos de configuración se encuentran en /etc/apache2/</note>
- +
-Para recargar la configuración del apache /etc/init.d/apache2 reload +
- +
-Para ver el estado del servidor apache apache2ctl status +
- +
-Los archivos de configuración se encuentran en /etc/apache2/+
  
 ===== Restricción de acceso  ===== ===== Restricción de acceso  =====
Línea 18: Línea 12:
 Podremos restringir el acceso de dos maneras: Por usuario y por IP  Podremos restringir el acceso de dos maneras: Por usuario y por IP 
  
-Para restringir por usuario, añadimos lo siguiente a la configuración del apache (probado en un apache 2.0.53)  +Para restringir por usuario, añadimos lo siguiente a la configuración del apache  
 +<file>
 <Location /url> <Location /url>
- 
 AuthType Basic AuthType Basic
- 
 AuthName "Paco" AuthName "Paco"
- 
 AuthUserFile /ruta/fichero.pass AuthUserFile /ruta/fichero.pass
- 
 Require valid-user Require valid-user
- 
 </Location> </Location>
 +</file>
 De esa manera cerramos el acceso a [[http://ip/url|http://IP/url]] y todo lo que haya por debajo. El /ruta/fichero.pass es un fichero donde estarán los usuarios válidos. Lo podemos crear manual o con una pequeña herramienta que trae apache, el htpasswd.  De esa manera cerramos el acceso a [[http://ip/url|http://IP/url]] y todo lo que haya por debajo. El /ruta/fichero.pass es un fichero donde estarán los usuarios válidos. Lo podemos crear manual o con una pequeña herramienta que trae apache, el htpasswd. 
  
Línea 39: Línea 28:
  
 Para restringir por IPs, usaremos 3 directivas: Order, Deny y Allow. Por ejemplo, para cerrar el acceso a todos y que sólo entren los de la subred 10.1.2.0/24, añadiríamos  Para restringir por IPs, usaremos 3 directivas: Order, Deny y Allow. Por ejemplo, para cerrar el acceso a todos y que sólo entren los de la subred 10.1.2.0/24, añadiríamos 
 +<file>
 Order Allow,Deny Order Allow,Deny
- 
 Allow from 10.1.2.0/24 Allow from 10.1.2.0/24
- 
 Deny from all Deny from all
 +</file>
 Tanto las restricciones por IP como las de usuarios tienen que ir dentro de un <Location>, <Directory> o en un fichero .htaccess Tanto las restricciones por IP como las de usuarios tienen que ir dentro de un <Location>, <Directory> o en un fichero .htaccess
  
Línea 51: Línea 38:
  
   * Habilitamos el módulo ssl:   * Habilitamos el módulo ssl:
-a2enmod ssl+<code>a2enmod ssl</code>
  
   * Ejecutamos un script para crear nuestro certificado de seguridad para el servidor (estará autofirmado).   * Ejecutamos un script para crear nuestro certificado de seguridad para el servidor (estará autofirmado).
-apache2-ssl-certificate+<code>apache2-ssl-certificate</code>
  
 Nos hará una serie de preguntas… Nos hará una serie de preguntas…
 +<code>apache2-ssl-certificate</code>
  
-# apache2-ssl-certificate +<file>
 creating selfsigned certificate creating selfsigned certificate
- 
 replace it with one signed by a certification authority (CA) replace it with one signed by a certification authority (CA)
- 
 enter your ServerName at the Common Name prompt enter your ServerName at the Common Name prompt
- 
 If you want your certificate to expire after x days call this programm If you want your certificate to expire after x days call this programm
- 
 with -days x with -days x
  
 Generating a 1024 bit RSA private key Generating a 1024 bit RSA private key
- 
 ........++++++ ........++++++
- 
 ....................++++++ ....................++++++
  
 writing new private key to '/etc/apache2/ssl/apache.pem' writing new private key to '/etc/apache2/ssl/apache.pem'
- 
 ----- -----
- 
 You are about to be asked to enter information that will be incorporated You are about to be asked to enter information that will be incorporated
- 
 into your certificate request. into your certificate request.
- 
 What you are about to enter is what is called a Distinguished Name or a DN. What you are about to enter is what is called a Distinguished Name or a DN.
- 
 There are quite a few fields but you can leave some blank There are quite a few fields but you can leave some blank
- 
 For some fields there will be a default value, For some fields there will be a default value,
- 
 If you enter '.', the field will be left blank. If you enter '.', the field will be left blank.
- 
 ----- -----
  
 Country Name (2 letter code) [GB]:ES Country Name (2 letter code) [GB]:ES
- 
 State or Province Name (full name) [Some-State]:Canarias State or Province Name (full name) [Some-State]:Canarias
- 
 Locality Name (eg, city) []:Las Palmas de Gran Canaria Locality Name (eg, city) []:Las Palmas de Gran Canaria
- +Organization Name (eg, company; recommended) []:mi empresa 
-Organization Name (eg, company; recommended) []:Gestión recaudatoria de Canarias +Organizational Unit Name (eg, section) []:mi empresa 
- +server name (eg. ssl.domain.tld; required!!!) []:apache.miempresa.com 
-Organizational Unit Name (eg, section) []:Grecasa +Email Address []:micorreo@miempresa.com 
- +</file>
-server name (eg. ssl.domain.tld; required!!!) []:tomcat.grecasa.net +
- +
-Email Address []:informatica@grecasa.org +
   * Dependiendo de nuestra configuración podemos hacer que la comunicación de nuestro sitio sea por defecto bajo SSL o crear otro sitio    * Dependiendo de nuestra configuración podemos hacer que la comunicación de nuestro sitio sea por defecto bajo SSL o crear otro sitio 
 **Si lo queremos por defecto la configuración sería de la siguiente forma:** **Si lo queremos por defecto la configuración sería de la siguiente forma:**
Línea 116: Línea 83:
     - Dejamos la linea de VirtualHost como <VirtualHost *:443>      - Dejamos la linea de VirtualHost como <VirtualHost *:443> 
     - Añadimos las siguientes líneas, por ejemplo debajo de Serversignature on     - Añadimos las siguientes líneas, por ejemplo debajo de Serversignature on
-SSLEngine On+<file>SSLEngine On
  
-SSLCertificateFile /etc/apache2/ssl/apache.pem+SSLCertificateFile /etc/apache2/ssl/apache.pem</file>
  
 **Si no lo queremos por defecto, crearemos la configuración de “el sitio” para el servidor seguro basándonos en la que lleva por defecto:** **Si no lo queremos por defecto, crearemos la configuración de “el sitio” para el servidor seguro basándonos en la que lleva por defecto:**
  
-cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl +<code>cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl</code> 
- +<code>ln -s /etc/apache2/sites-available/ssl /etc/apache2/sites-enabled/ssl</code>
-ln -s /etc/apache2/sites-available/ssl /etc/apache2/sites-enabled/ssl+
  
 /etc/apache2/sites-enabled/ssl tiene que empezar de la siguiente manera: /etc/apache2/sites-enabled/ssl tiene que empezar de la siguiente manera:
 +<file>
 NameVirtualHost *:443 NameVirtualHost *:443
  
Línea 134: Línea 100:
 ServerAdmin webmaster@localhost ServerAdmin webmaster@localhost
  
-DocumentRoot /var/www/ssl.jhernandez.gpltarragona.org/htdocs+DocumentRoot /var/www/ssl.miempresa.net/htdocs
  
 <Directory /> <Directory />
Línea 144: Línea 110:
 </Directory> </Directory>
  
-<Directory /var/www/ssl.jhernandez.gpltarragona.org/htdocs> +<Directory /var/www/ssl.miempresa.net/htdocs> 
- +</file>
-#[...aquí sigue...] +
- +
-Tendreis que cambiar lo de directory según el directorio que queráis…\\ \\ Ahora, /etc/apache2/sites-enabled/default también hay que configurarlo de la misma forma:+
  
 +En  /etc/apache2/sites-enabled/default también hay que configurarlo de la misma forma:
 +<file>
 NameVirtualHost *:80 NameVirtualHost *:80
  
Línea 156: Línea 121:
 ServerAdmin webmaster@localhost ServerAdmin webmaster@localhost
  
-DocumentRoot /var/www/jhernandez.gpltarragona.org/htdocs+DocumentRoot /var/www/miempresa.net/htdocs
  
 <Directory /> <Directory />
Línea 166: Línea 131:
 </Directory> </Directory>
  
-<Directory /var/www/jhernandez.gpltarragona.org/htdocs>+<Directory /var/www/miempresa.net/htdocs>
  
-#[...aquí sigue...]+</file>
  
 Por último, sólo basta añadir dentro del fichero “/etc/apache2/sites-enabled/ssl” en cualquier lugar (por ejemplo justo debajo de “ServerSignature On”): Por último, sólo basta añadir dentro del fichero “/etc/apache2/sites-enabled/ssl” en cualquier lugar (por ejemplo justo debajo de “ServerSignature On”):
 +<file>
 SSLEngine On SSLEngine On
  
 SSLCertificateFile /etc/apache2/ssl/apache.pem SSLCertificateFile /etc/apache2/ssl/apache.pem
 +</file>
  
   * Después hay que indicarle al apache que escuche peticiones por https y use ese certificado.    * Después hay que indicarle al apache que escuche peticiones por https y use ese certificado. 
 Para ello añadir al fichero /etc/apache2/ports.conf la línea: Para ello añadir al fichero /etc/apache2/ports.conf la línea:
 +<file>
 Listen 443 Listen 443
 +</file>
   * Hay que asegurarse también de que el módulo para SSL está cargado. Para ello, miramos en el directorio /etc/apache2/mods-enabled si existen los ficheros ssl.conf y ssl.load. Si no están, ejecutamos    * Hay que asegurarse también de que el módulo para SSL está cargado. Para ello, miramos en el directorio /etc/apache2/mods-enabled si existen los ficheros ssl.conf y ssl.load. Si no están, ejecutamos 
-cd mods-enabled+<code>cd mods-enabled
  
 ln -s ../mods-available/ssl.* . ln -s ../mods-available/ssl.* .
 +</code>
  
  
   * Y por último, reiniciamos apache2:   * Y por último, reiniciamos apache2:
-/etc/init.d/apache2 force-reload+<code>/etc/init.d/apache2 force-reload</code>
  
 ===== Configuración por directorios con .htaccess  ===== ===== Configuración por directorios con .htaccess  =====
Línea 198: Línea 164:
  
 El AllowOverride define qué parámetros de configuración se pueden modificar desde los .htaccess. Lo más habitual será ponerle un All para poder cambiar cualquier cosa o un None para que no se pueda cambiar nada.  El AllowOverride define qué parámetros de configuración se pueden modificar desde los .htaccess. Lo más habitual será ponerle un All para poder cambiar cualquier cosa o un None para que no se pueda cambiar nada. 
 +<file>
 <Directory /directorio/que/quermos/cambiar>  <Directory /directorio/que/quermos/cambiar> 
  
Línea 206: Línea 172:
  
 </Directory> </Directory>
 +</file>
 Dentro de los .htaccess podremos poner casi cualquier directiva que se puede poner en un <Directory>. En la documentación de las directivas siempre aparece una pequeña cabecera con cierta información de cada directiva, y hay una («Context») que dice si esa directiva puede ir en un .htaccess o no.  Dentro de los .htaccess podremos poner casi cualquier directiva que se puede poner en un <Directory>. En la documentación de las directivas siempre aparece una pequeña cabecera con cierta información de cada directiva, y hay una («Context») que dice si esa directiva puede ir en un .htaccess o no. 
  
-Bibliografía 
  
 +
 +==== Referencias ====
 Blog de jHernandez [[http://jhernandez.gpltarragona.org/blog/?p=239|http://jhernandez.gpltarragona.org/blog/?p=239]] Blog de jHernandez [[http://jhernandez.gpltarragona.org/blog/?p=239|http://jhernandez.gpltarragona.org/blog/?p=239]]
- 
- 
-