Título: Dudas con Apache2 y Debian 6.0 Publicado por: PeGaSs0 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. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: engel lex en 3 Febrero 2015, 18:45 pm has intentado algo de aquí -> https://www.google.com/search?q=apache2+configurar+hosts+virtuales (https://www.google.com/search?q=apache2+configurar+hosts+virtuales) ?
recuerda.. .el foro es para resolver problemas puntuales y especificos... Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: MinusFour 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
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. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: PeGaSs0 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 ;) Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: PeGaSs0 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
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
Cualquier ayuda será bienvenida, estoy muy perdido. Gracias por vuestro tiempo. Un saludo. Mod: Usa las etiquetas correspondientes para codigo. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: MinusFour 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
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#virtualhostSi 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. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: el-brujo 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
Fichero ssl.conf Código
Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: PeGaSs0 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
ssl.conf Código
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] Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: MinusFour en 10 Febrero 2015, 18:35 pm ¿Parece ser que no tienes el modulo userdir? ¿o no lo tienes activado?
Código
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
Que esta mal. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: PeGaSs0 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. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: PeGaSs0 en 10 Febrero 2015, 19:19 pm Quitando el Listen 443 y el NameVirtualHost *:443 dentro del archivo ssl.conf deja de salirme el error relacionado con el 443 pero me sale este otro:
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 restart Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName Action 'start' failed. The Apache error log may have more information. failed! Os iré informando. Un saludo. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: PeGaSs0 en 10 Febrero 2015, 19:39 pm Buenas de nuevo, os sigo informando como llevo todo esto jeje, he conseguido solucionar algunos de los errores o warning, lo que no se es si de la forma más adecuada.
1. Para el del 127.0.0.1 he creado una línea nueva en el archivo /etc/apache2/httpd.conf llamada ServerName 10.0.2.15 y he reiniciado apache y listo. 2. En el archivo conf.ssl he quitado lo de Listen 443 y NameVirtualHost *:443 y en ports.conf he quitado algo también pero solo lo de NameVirtualHost *:443, he dejado solo el Listen 443. Ahora me encuentro en la siguiente situación de incertidumbre.... root@debian-seas:/etc/apache2/sites-available# ls default default-ssl public+ssl.conf ssl.conf root@debian-seas:/etc/apache2/sites-available# a2ensite ssl.conf 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 restart Restarting web server: apache2 ... waiting Action 'start' failed. The Apache error log may have more information. failed! root@debian-seas:/etc/apache2/sites-available# Tendré que mirar el log de apache, nunca lo he mirado, intentaré interpretarlo para solucionar el error. Un saludo. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: MinusFour en 10 Febrero 2015, 20:08 pm No necesitas el IfModule en ssl.conf porque ya lo estas haciendo en public+ssl.conf. Deshabilita ssl.conf y activa public+ssl.conf.
Código
Revisa bien que sitios estes cargando en /etc/apache2/sites-enabled: Código
Revisa que tengas los Vhosts apropiados habilitados. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: PeGaSs0 en 10 Febrero 2015, 20:33 pm Buenas de nuevo, he hecho lo que me has dicho MinusFour pero por algún extraño motivo me sale el siguiente mensaje de error:
root@debian-seas:/etc/apache2/sites-available# ls default default-ssl public+ssl.conf ssl.conf root@debian-seas:/etc/apache2/sites-available# a2ensite public+ssl.conf ERROR: No site found matching public+ssl.conf! root@debian-seas:/etc/apache2/sites-available# Creéis que es por el signo "+" a la hora de crearlo? Por cierto, he revisado el log de apache y me devuelve lo siguiente, el caso es que tengo los ficheros .pem en su sitio y localizados.... [Tue Feb 10 19:34:00 2015] [notice] caught SIGTERM, shutting down [Tue Feb 10 19:34:01 2015] [error] Init: Unable to read server certificate from file /etc/ssl/certs/publico.pem [Tue Feb 10 19:34:01 2015] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag [Tue Feb 10 19:34:01 2015] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error En fin, algún día terminaré con este calvario sino me pegare un tiro xD. Un saludo y gracias por vuestra ayuda. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: MinusFour en 10 Febrero 2015, 20:57 pm ¿Como has hecho los certificados? Lo del a2ensite no te preocupes, es solo un soft link a sites-enabled.
Código
Y eso es lo que deberia hacer a2ensite me parece. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: PeGaSs0 en 10 Febrero 2015, 21:24 pm Os voy comentando cosas, he tenido que cambiarle el nombre al fichero public+ssl porque no me funcionaba con a2ensite, aún sabiendo que a2ensite es un soft link como dices así ya me deja ejecutar el comando. El error actual que tengo parece ser que es sobre el certificado, estoy investigándolo haber si logro arreglarlo. Para la creación del certificado hice lo siguiente escribiendo en la consola, y ya fui creándolo poniendo el país, y demás parámetros.
Código: openssl req -new -newkey rsa:2048 -nodes -out /etc/ssl/certs/publico.pem -keyout /etc/ssl/private/privado.pem Voy a cenar, luego sigo con la batalla XD. Un saludo. Estado actual de mis archivos ya modificados varias veces para eliminar los warnings: publicssl.conf Código: <VirtualHost *:80> ServerAdmin webmaster@seas-linux.es ServerName public.seas-linux.es ServerAlias www.public.seas-linux.es DocumentRoot "/var/www/public/" <Directory "/var/www/public/"> Options Indexes IndexOptions NameWidth=* FancyIndexing FoldersFirst SuppressLastModified SuppressDescrip$ AllowOverride None Order allow,deny Allow from all </Directory> <Directory "/var/www/public/tmp/"> Options Indexes AllowOverride None Order allow,deny Deny from all Allow from 10.0.2.0/24 </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> # Conexion SSL 443 <IfModule mod_ssl.c> Include "/etc/apache2/sites-available/ssl.conf" </IfModule> ssl.conf Código: <VirtualHost *:443> ServerAdmin webmaster@seas-linux.es ServerName public.seas-linux.es ServerAlias www.public.seas-linux.es DocumentRoot "/var/www/public/tmp/" ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined #Aqui indicamos que será un canal cifrado y los certificados que antes creamos, aquí los ubicamos SSLEngine on SSLCertificateFile "/etc/ssl/certs/publico.pem" SSLCertificateKeyFile "/etc/ssl/private/privado.pem" SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 \ EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \ EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS" </VirtualHost> <VirtualHost *:80> UserDir ./ UserDir disabled root ServerAdmin webmaster@seas-linux.es ServerName restricted.seas-linux.es ServerAlias www.restricted.seas-linux.es DocumentRoot "/home/alumno/" <Directory "/home/alumno/"> Options Indexes AllowOverride None Order allow,deny Allow from all AuthType Basic AuthName "Acceso Restringido a este recurso" AuthUserFile "/usr/local/apache2/etc/.htpasswd" Require valid-user Require user admin alumno </Directory> </VirtualHost> Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: MinusFour en 11 Febrero 2015, 00:00 am Lo que has hecho es un Certificate Signing Request. Con los CSR un CA te puede generar un Certificado. Tu lo que quieres es generar un certificado firmado por ti mismo, no una peticion para un certificado.
Código
Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: PeGaSs0 en 11 Febrero 2015, 18:33 pm Buenas de nuevo, al final para arreglar el problema del certificado opté por hacer una instalación nueva con otros parámetros y está todo correcto o al menos eso parece jeje solo algunos warnings. El código que usé fue el siguiente:
Código: mkdir -p /etc/ssl/localcerts openssl req -new -x509 -days 365 -nodes -out /etc/ssl/localcerts/apache.pem -keyout /etc/ssl/localcerts/apache.key Lo he probado todo y parece que funciona como debe, usuarios y permisos, ssl y demás. Ahora me toca integrar ProFTPD y OpenLDAP. Supongo que primer intentaré instalar ProFTPD ( espero que no me cueste mucho ) y luego a lo visto hay que integrar OpenLDAP con Apache y ProFTPD. Intentaré hacerlo como pueda pero sino os importa abro un nuevo post y vamos comentando el resto de la instalación. Muchas gracias por vuestro tiempo y ayuda. Un saludo. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: MinusFour en 11 Febrero 2015, 18:46 pm No estoy seguro que sea necesario -new o si haga algo que no deba. Tecnicamente son dos cosas diferentes lo que hacen X509 y new.
Código: -new this option generates a new certificate request. It will prompt the user for the relevant field values. The actual fields prompted for and their maximum and minimum sizes are specified in the configuration file and any requested extensions. If the -key option is not used it will generate a new RSA private key using information specified in the configuration file. -x509 this option outputs a self signed certificate instead of a certificate request. This is typically used to generate a test certificate or a self signed root CA. The extensions added to the certificate (if any) are specified in the configuration file. Unless specified using the set_serial option 0 will be used for the serial number. Título: Re: Dudas con Apache2 y Debian 6.0 Publicado por: PeGaSs0 en 16 Febrero 2015, 18:18 pm Este tema está solucionado en principio salvo algunos warnings aparentemente relacionados con SSL, supongo que porque no están firmados los certificados. Si lo creeis conveniente cerrar el tema, sino dejadlo abierto para que la gente comente.
Un saludo. |