elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  GNU/Linux (Moderador: MinusFour)
| | |-+  Dudas con Apache2 y Debian 6.0
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Dudas con Apache2 y Debian 6.0  (Leído 5,475 veces)
PeGaSs0

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Dudas con Apache2 y Debian 6.0
« en: 3 Febrero 2015, 18:40 pm »

Buenas tardes, soy nuevo en este foro y en el mundo de linux en el que me estoy metiendo poco a poco jeje. Me gustaría pedir vuestra ayuda si fuera posible ya que tengo que hacer un proyecto con Apache2 y la verdad no sé por donde meterle mano. Os planteo el caso y ya me decís si podéis echarme un cable, vale? Algunos puntos los tengo "mas o menos" claros pero agradecería toda la ayuda que fuese posible.

** Se configurarán dos host virtuales con los dominios public.seas-linux.es y restricted.seas-linux.es escuchando en el puerto 80.

Host1: public.seas-linux.es   

Configuración:
Directorio raíz: /var/www/public/
Listado de contenidos permitido.
Accesible para cualquier máquina.

Directorio: /var/www/public/tmp/
Listado de contenidos permitido.
Accesible sólo desde la subred del alumno.
Escuchará también en el puerto 443.

Host2: restricted.seas-linux.es

Configuración:
Directorio raíz: /home/<usuario>/
Listado de contenidos permitido.
Accesible solo para los usuarios:
User: admin.
Password: admin.
User: <usuario>.
Password: 1234.
Esta configuración deberá llevarse a cabo sin utilizar el archivo .htaccess.

Gracias por vuestro tiempo.

Un saludo para todos.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Dudas con Apache2 y Debian 6.0
« Respuesta #1 en: 3 Febrero 2015, 18:45 pm »

has intentado algo de aquí -> https://www.google.com/search?q=apache2+configurar+hosts+virtuales ?

recuerda.. .el foro es para resolver problemas puntuales y especificos...


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.479


I'm fourth.


Ver Perfil WWW
Re: Dudas con Apache2 y Debian 6.0
« Respuesta #2 en: 3 Febrero 2015, 19:15 pm »

No estoy muy seguro de la estructura de apache debajo de Debian-Squeeze. Si es la misma estructura que Debian 7 entonces los vhosts se incluyen en los directorios:

Código:
/etc/apache2/sites-available/
/etc/apache2/sites-enabled/

De ahi es cuestion de configurar las directivas que necesitas...

Código
  1. <VirtualHost *:80 *:443>
  2. #Match a conexiones por puerto 80 y 443.
  3. SeverName dominio.com
  4. #Match a peticiones a dominio.com
  5.  
  6. DocumentRoot /var/www
  7. # Directorio Raiz
  8. Options +Indexes
  9. # Habilitar listado de directorios. -Indexes para deshabilitar.
  10.  
  11. <Directory /var/tmp/>
  12. #Reglas especificas para el directorio /var/tmp
  13. </Directory>
  14. </VirtualHost>

Y para la autentificacion:

https://httpd.apache.org/docs/2.2/howto/auth.html

Las directivas las puedes poner dentro de <Directory></Directory> en lugar de hacer un .htaccess dentro de cada carpeta.
En línea

PeGaSs0

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: Dudas con Apache2 y Debian 6.0
« Respuesta #3 en: 3 Febrero 2015, 20:32 pm »

Muchas gracias por vuestras rápidas respuestas, seguiré investigando, por lo que veo también tengo que crear un fichero aposta con la directiva para ssl y 443, y otra para el puerto 80, verdad? Las configuraciones las estaba haciendo el httpd.conf pero según me dices parece que es mejor hacerlas en /etc/apache2/sites-available/ y /etc/apache2/sites-enabled/. Estoy modificando el archivo ports.conf que al parecer es necesario para todo esto, el httpd.conf lo descartaré. Las rutas creo que las estaba poniendo mal ya que las hacía a través de /etc/apache2/var.... y lo correcto sería desde la raíz / . Ya os contaré donde termina todo este caos jeje.

Un saludo para todos ;)
En línea

PeGaSs0

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: Dudas con Apache2 y Debian 6.0
« Respuesta #4 en: 9 Febrero 2015, 18:19 pm »

Buenas a todos, pues nada, aquí sigo con esto que la verdad me trae de cabeza. Os comento mas o menos lo que voy haciendo y agradecería que orientarais un poco porque la verdad estoy muy perdido.

1. En el archivo ports.conf tengo lo siguiente, no sé si lo tengo bien o mal:

Código
  1. If you just change the port or add more ports here, you will likely also
  2.  
  3. # have to change the VirtualHost statement in
  4. # /etc/apache2/sites-enabled/000-default
  5. # This is also true if you have upgraded from before 2.2.9-3 (i.e. from
  6. # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
  7. # README.Debian.gz
  8.  
  9. NameVirtualHost *:80
  10. Listen 80
  11.  
  12.  
  13. <IfModule mod_ssl.c>
  14.    # If you add NameVirtualHost *:443 here, you will also have to change
  15.    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
  16.    # to <VirtualHost *:443>
  17.    # Server Name Indication for SSL named virtual hosts is currently not
  18.    # supported by MSIE on Windows XP.
  19.    Listen 443
  20. </IfModule>

Ya no sé si tengo que poner lo del NameVirtualHost en mod_ssl.c ya que en teoría el ejercicio te dice que solo una carpeta escucha por el puerto 443, se supone que la carpeta raíz "/var/www/public/" es la que escucha el 80 y la tmp la 80 y el 443, y claro, se debe usar NameVirtualHost dentro de este host virtual? Supongo que no al no tratarse de dos host virtuales diferentes sino de dos carpetas dentro del mismo host virtual, ese es uno de los líos que tengo y no se los ficheros que crear.

2. Los he declarado en mi servidor DNS que hice en una de las prácticas en las zonas directa e inversa con su correspondiente dirección IP ( me recomendaron que la escribiera numéricamente, osease en mi caso 10.0.2.15 ) .

3. A cada directorio le he metido un index.html, no hace falta pero creí conveniente ponerlo para ver más claridad en el funcionamiento, pero veo que al ponerlos igual no entiendo como funciona apache2 y lo que me pide el ejercicio que en teoría son directorios sin mas.

4. En un primer momento me había creado 3 ficheros a partir del default y supongo que del default-ssl para el ejercicio en sites-available ( public443  public80443tmp restricted80) , pretendía hacer un fichero solo para ssl y la carpeta tmp, otro para la unión dentro del mismo host virtual leyendo los puertos 80 y 443 como me pusisteis en la captura anterior pero no sé si esto se puede hacer y si apache lee dos puertos a la vez, de que manera creéis que tengo que separar los ficheros, mas bien, cuantos tendría que crear y de que manera.

5- En teoría todo tendría que ser así: 1 puerto, 1 host, 1 fichero pero es que hay dos host virtuales que leen por el puerto 80 y luego tenemos la famosa carpeta /tmp que ya no sé lo que hacer con ella...

Por último os mostraré una de las pruebas que estaba haciendo con uno de los fichero pero que igual tengo que cambiarlo:

NameVirtualHost *:80  ( Supongo que esto sobra porque apache2 me da un warning aunque no estoy seguro... )
Código
  1. <VirtualHost *:80 *:443> ( Se puede usar apache2 así ? )
  2.        ServerAdmin webmaster@localhost
  3.        ServerName public.seas-linux.es
  4.        ServerAlias www.public.seas-linux.es
  5.        DocumentRoot "/var/www/public/"
  6.        <Directory "/var/www/public/>
  7.                Options +Indexes
  8.                Order allow,deny
  9.                allow from all
  10.        </Directory>
  11.        <Directory "/var/www/public/tmp/"> ( Podría poner puerto aquí o algo especial?
  12.                Options +Indexes
  13.                Order allow,deny
  14.                allow from 10.0.2.0/24
  15.        </Directory>
  16.        ErrorLog ${APACHE_LOG_DIR}/error.log
  17.  
  18.        # Possible values include: debug, info, notice, warn, error, crit,
  19.        # alert, emerg.
  20.        LogLevel warn
  21.  
  22.        CustomLog ${APACHE_LOG_DIR}/access.log combined
  23. </VirtualHost>

Cualquier ayuda será bienvenida, estoy muy perdido. Gracias por vuestro tiempo.

Un saludo.

Mod: Usa las etiquetas correspondientes para codigo.
« Última modificación: 9 Febrero 2015, 19:12 pm por MinusFour » En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.479


I'm fourth.


Ver Perfil WWW
Re: Dudas con Apache2 y Debian 6.0
« Respuesta #5 en: 9 Febrero 2015, 19:21 pm »

Como te he hecho resaltar en tu edit, tienes ciertos errores con la configuración (no cierras comillas en el primer directory). Si es necesario que tengas dentro de tu ifModule:

Código
  1. NameVirtualHost *:443

Si tienes Apache 2.4 no es necesario que hagas esto. La syntaxis de VirtualHost es correcta:

Código:
Syntax: <VirtualHost addr[:port] [addr[:port]] ...> ... </VirtualHost>
Fuente: http://httpd.apache.org/docs/2.2/mod/core.html#virtualhost

Si necesitas permisos diferentes para cada puerto quizas puedas tener dos entradas de VirtualHost (no lo he probado). La primera para tu puerto 80 y la segunda para tu puerto 443. En el segundo configuras el directorio public para que haga deny from all y en el primer virtualHost lo configuras con las reglas que tienes ahora.

Tus configuraciones de VirtualHost pueden estar en un solo archivo.

Edit: Confusión entre carpetas.
« Última modificación: 9 Febrero 2015, 19:54 pm por MinusFour » En línea

el-brujo
ehn
***
Desconectado Desconectado

Mensajes: 21.430


La libertad no se suplica, se conquista


Ver Perfil WWW
Re: Dudas con Apache2 y Debian 6.0
« Respuesta #6 en: 9 Febrero 2015, 19:35 pm »

Menudo lío xD

En la documentación de Apache lo tienes todo bien explicado

Los vhosts pueden estar basados en nombre (based-name) o en ip (ip-based).

Me explico, si tu máquina tiene una sola ip, pues deberas hacer vhosts basados en nombre, y si tienes varias ips pues puedes elegir.


Código
  1. Listen *:80
  2. NameVirtualHost *:80
  3.  
  4. <VirtualHost *:80>
  5. DocumentRoot /var/www/public/
  6. ServerName public.seas-linux.es
  7. #listado de  conetnidos permitido
  8. <Directory " /var/www/public/">
  9.        Options Indexes
  10. #queda mas chulo
  11.        IndexOptions NameWidth=* FancyIndexing FoldersFirst SuppressLastModified SuppressDescription VersionSort
  12.        AllowOverride None
  13.        Order allow,deny
  14.        Allow from all
  15. <Directory "/var/www/public/tmp/">
  16.        Options Indexes
  17. #queda mas chulo
  18.        AllowOverride None
  19.        Order allow,deny
  20.        Deny from all
  21.        Allow from 10.0.2.0/24
  22. </Directory>
  23. </VirtualHost>
  24.  
  25. # ssl 443
  26. <IfModule mod_ssl.c>
  27.    Include conf/ssl.conf
  28. </IfModule>

Fichero ssl.conf

Código
  1. Listen 443
  2. NameVirtualHost *:443
  3.  
  4. <VirtualHost *:443>
  5. DocumentRoot "/var/www/public/tmp/"
  6. ServerName public.seas-linux.es:443
  7.  
  8. #   SSL Engine Switch:
  9. #   Enable/Disable SSL for this virtual host.
  10. SSLEngine on
  11. #   Server Certificate:
  12. SSLCertificateFile /usr/local/apache2/conf/foro.elhacker.net.crt
  13. #   Server Private Key:
  14. SSLCertificateKeyFile /usr/local/apache2/conf/foro.elhacker.net.key
  15. SSLCertificateChainFile /usr/local/apache2/conf/gd_bundle.crt
  16. #   SSL Cipher Suite:
  17. SSLProtocol all -SSLv2 -SSLv3
  18. SSLHonorCipherOrder on
  19. SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 \
  20. EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \
  21. EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"
  22. </VirtualHost>  
  23.  
  24. <VirtualHost *:80>
  25. # Directorio raíz: /home/<usuario>/
  26. #
  27. # UserDir: The name of the directory that is appended onto a user's home
  28. # directory if a ~user request is received.
  29. #
  30. UserDir ./
  31. UserDir disabled root
  32. ServerName restricted.seas-linux.es
  33. <Directory /home/*/>
  34.        Options Indexes
  35.        AllowOverride None
  36.        Order allow,deny
  37.        Allow from all
  38.    AuthUserFile /home/admin/htpasswd
  39.    AuthType Basic
  40.    AuthName "Registringido"
  41.    require valid-user
  42. </Directory>
  43.  
  44. </VirtualHost>
  45.  
« Última modificación: 9 Febrero 2015, 19:56 pm por MinusFour » En línea

PeGaSs0

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: Dudas con Apache2 y Debian 6.0
« Respuesta #7 en: 10 Febrero 2015, 18:14 pm »

Buenas tardes chicos, gracias a todos por vuestras respuestas, la verdad me han ayudado bastante a seguir con este proyecto, os comento lo que tengo hasta ahora, tengo dos ficheros creados pero no puedo activarlos con a2ensite, os mando el contenido y haber si podéis guiarme a ver los errores, posiblemente el contenido que tenga alguno de los ficheros no debe estar ahí, no se pueden llamar así los ficheros o no sé. Otra cosa que me gustaría saber que por más que lo leo no entiendo es el significado de SSLCertificateChainFile, los otros dos parámetros si que los he puesto como podréis observar en las configuraciones que os mostraré ahora. La parte de UserDir ./ no le veo claro el funcionamiento pero supongo que es para restringir el acceso a la carpeta root del sistema, pero en este caso concreto no se que es lo que haría. Al intentar habilitar ssl.conf me sale el siguiente error que tendré que intentar corregir:
Enabling site ssl.conf.
Run '/etc/init.d/apache2 reload' to activate new configuration!
root@debian-seas:/etc/apache2/sites-available# /etc/init.d/apache2 reload
[Tue Feb 10 18:10:04 2015] [error] (EAI 2)Name or service not known: Could not resolve host name *443 -- ignoring!
Syntax error on line 29 of /etc/apache2/sites-enabled/ssl.conf:
Invalid command 'UserDir', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
 failed!

Contenido de los ficheros:

public+ssl.conf

  GNU nano 2.2.4                   Fichero: public+ssl.conf                                                

Código
  1. Listen 80
  2. NameVirtualHost *:80
  3. <VirtualHost *:80>
  4.        ServerAdmin webmaster@seas-linux.es
  5.        ServerName public.seas-linux.es
  6.        ServerAlias www.public.seas-linux.es
  7.        DocumentRoot "/var/www/public/"
  8.        <Directory "/var/www/public/">
  9.        Options Indexes
  10.        IndexOptions NameWidth=* FancyIndexing FoldersFirst SuppressLastModified SuppressDescription Versi$
  11.        AllowOverride None
  12.        Order allow,deny
  13.        Allow from all
  14.        <Directory "/var/www/public/tmp/">
  15.        Options Indexes
  16.        AllowOverride None
  17.        Order allow,deny
  18.        Deny from all
  19.        Allow from 10.0.2.0/24
  20.        </Directory>
  21.        ErrorLog ${APACHE_LOG_DIR}/error.log
  22.  
  23.        # Possible values include: debug, info, notice, warn, error, crit,
  24.        # alert, emerg.
  25.        LogLevel warn
  26.  
  27.        CustomLog ${APACHE_LOG_DIR}/access.log combined
  28. </VirtualHost>
  29.  
  30. # Conexion SSL 443
  31. <IfModule mod_ssl.c>
  32.        Include "/etc/apache2/sites-available/ssl.conf"
  33. </IfModule>


ssl.conf

Código
  1. <IfModule mod_ssl.c>
  2. Listen 443
  3. NameVirtualHost *:443
  4. <VirtualHost *:443>
  5.        ServerAdmin webmaster@seas-linux.es
  6.        ServerName public.seas-linux.es:443
  7.        ServerAlias www.public.seas-linux.es:443
  8.        DocumentRoot "/var/www/public/tmp/"
  9.  
  10.        ErrorLog ${APACHE_LOG_DIR}/error.log
  11.  
  12.        # Possible values include: debug, info, notice, warn, error, crit,
  13.        # alert, emerg.
  14.        LogLevel warn
  15.        CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
  16.  
  17. #Aqui indicamos que será un canal cifrado y los certificados que antes creamos, aquí los ubicamos
  18. SSLEngine on
  19. SSLCertificateFile "/etc/ssl/certs/publico.pem"
  20. SSLCertificateKeyFile "/etc/ssl/private/privado.pem"
  21. SSLProtocol all -SSLv2 -SSLv3
  22. SSLHonorCipherOrder on
  23. SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 \
  24. EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \
  25. EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"
  26. </VirtualHost>
  27.  
  28. <VirtualHost *:80>
  29. UserDir ./
  30. UserDir disabled root
  31. ServerAdmin webmaster@seas-linux.es
  32. ServerName restricted.seas-linux.es
  33. ServerAlias www.restricted.seas-linux.es
  34. DocumentRoot "/home/alumno/"
  35. <Directory "/home/alumno/">
  36. Options Indexes
  37. AllowOverride None
  38. Order allow,deny
  39. Allow from all
  40. AuthType Basic
  41. AuthName "Acceso Restringido a este recurso"
  42. AuthUserFile "/usr/local/apache2/etc/.htpasswd"
  43. Require valid-user
  44. Require user admin alumno
  45. </Directory>
  46. </VirtualHost>
  47. </IfModule>


Ya me vais comentando, seguiré intentando pelearme más con esto, de antemano gracias a todos por vuestra ayuda.

Un saludo!

Mod: Por ultima vez, usa las etiquetas [ code][/ code]
« Última modificación: 10 Febrero 2015, 18:25 pm por MinusFour » En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.479


I'm fourth.


Ver Perfil WWW
Re: Dudas con Apache2 y Debian 6.0
« Respuesta #8 en: 10 Febrero 2015, 18:35 pm »

¿Parece ser que no tienes el modulo userdir? ¿o no lo tienes activado?

Código
  1. sudo a2enmod userdir

Y en cuanto a:
Código:
[Tue Feb 10 18:10:04 2015] [error] (EAI 2)Name or service not known: Could not resolve host name *443 -- ignoring!

En alguno de tus sitios debes tener:

Código
  1. <VirtualHost *443>

Que esta mal.
En línea

PeGaSs0

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: Dudas con Apache2 y Debian 6.0
« Respuesta #9 en: 10 Febrero 2015, 19:13 pm »

Buenas de nuevo, en efecto era el modulo que no lo tenia instalado y he encontrado el error del *443, ahora me encuentro con este error:

(98)Address already in use: make_sock: could not bind to address [::]:443
Action 'start' failed.

A que creéis que es debido? Puede ser algo relacionado con ipv6?

Y no para de salirme el siguiente error relacionado con NameVirtualHost, igual es que no lo tengo que utilizar ya que en los ficheros que pongo el NameVirtualHost no hago referencia dentro de ellos a dos hosts virtuales, realmente solo a uno, puede ser esto cierto?

[Tue Feb 10 19:07:50 2015] [warn] NameVirtualHost *:443 has no VirtualHosts
 ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[Tue Feb 10 19:07:51 2015] [warn] NameVirtualHost *:443 has no VirtualHosts
(98)Address already in use: make_sock: could not bind to address [::]:443
Action 'start' failed.
The Apache error log may have more information.
 failed!


Esto me está desesperando demasiado, veremos como acaba esto.

Un saludo.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
dudas con debian en proxy
Redes
Anteros 2 2,330 Último mensaje 22 Julio 2011, 16:00 pm
por Anteros
Debian Wheezy (7.1.0): Dudas instalación Firefox « 1 2 »
GNU/Linux
kr0ny 11 5,179 Último mensaje 24 Agosto 2013, 09:58 am
por kr0ny
Debian en maquina virtual, dudas?
GNU/Linux
TrashAmbishion 2 2,475 Último mensaje 5 Noviembre 2013, 02:01 am
por dato000
Ayuda con apache2 en Debian « 1 2 »
GNU/Linux
sagmont 14 4,897 Último mensaje 3 Abril 2014, 19:06 pm
por dato000
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines