Mostrando entradas con la etiqueta apache. Mostrar todas las entradas
Mostrando entradas con la etiqueta apache. Mostrar todas las entradas

martes, 18 de septiembre de 2007

Modulo de apache de php en Gentoo

Hace un par de dias actualice mi sistema con un emerge -va world con la mala pata que cuando termino la compilacion y en vista de que tenia que actualizar 17 archivos de configuracion hice el gañan y movi el contenido de los nuevos sobreescribiendo los viejos

Una vez terminada la faena y en vista que todo parecia funcionar yo segui a lo mio hasta que hoy al intentar entrar a una de las paginas que tengo alojadas en mi ordena me descargaba el codigo php :D. ¿Gracioso no?

Acto seguido pare el apache ya que como es obvio el codigo libre pero no las passwords de los ficheros de configuracion del wordpress :P

Bueno pues ahora por la tarde me disponia a meter el modulo de php5 que imagine se les habria pasado a estos maravillosos ebuildsnasters de gentoo con la mala pata que al ponerlo me dio el siguiente error

Apache2 has detected a syntax error in your configuration files:
apache2: Syntax error on line 169 of /etc/apache2/httpd.conf: Syntax error on line 4 of /etc/apache2/modules.d/70_mod_php5.conf: API module structure 'php5_module' in file /usr/lib64/apache2/modules/libphp5.so is garbled - expected signature 41503232 but saw 41503230 - perhaps this is not an Apache module DSO, or was compiled for a different Apache version?


Buscando por internet me di cuenta que me veo obligado a re-emergear el php (que no es poco)

En fin, no todo ha sido tiempo perdido, he aprendido algo nuevo que me interesa reflejar aqui a modo de apunte acerca de la configuracion de apache en gentoo

Para cargar el modulo php puedes hacerlo de varias formas

La que yo ya sabia era metiendo en alguno de los archivos de configuracion como por ejemplo en....

/etc/apache2/modules.d/default

...la carga de el modulo...

LoadModule php5_module modules/libphp5.so

Tambien puedes editar el archivo en /etc/conf.d/apache2 y añadir -D PHP5 a las opciones de arranque de apache2

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE -D MANUAL -D SSL -D SSL_DEFAULT_VHOST -D SUEXEC -D PHP5"

Estas dos primeras opciones cargan el modulo de php... la pregunta del millon es ¿Que diferencia una de la otra?

La primera solo carga el modulo, luego tu tienes que establecer en que sitio deseas que se pueda ejecutar el php que extensiones etc.... con la segunda, tira de un archivo en mi caso /etc/apache2/modules.d/70_mod_php5.conf que contiene ya toda la configuracion tipica de un servidor que admita php.

El contenido del mismo es:

<IfDefine PHP5>
  # Load the module first
  <IfModule !mod_php5.c>
    LoadModule php5_module modules/libphp5.so
  </IfModule>
  
  # Set it to handle the files
  <IfModule mod_mime.c>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .phtml
    AddType application/x-httpd-php .php3
    AddType application/x-httpd-php .php4
    AddType application/x-httpd-php .php5
    AddType application/x-httpd-php-source .phps
  </IfModule>
  
  AddDirectoryIndex index.php index.phtml
</IfDefine>


La decision de usarlo o no ya recae en cada uno y varia segun a quien esta destinado los virtuales... en mi caso que solo estoy programando web en php y que soy el unico usuario de este servidor me ahorra mucha morralla a la hora de configurar nuevos servidores virtuales.

jueves, 1 de febrero de 2007

Aliases y otras configs utiles en Apache

Estos son los alias y caracteristicas que mas utilizo en mi apache, asi que voy a comentarlos aqui por si algun dia necesito recordarlos :

# Alias normal apuntando a directorio
Alias /nombre-de-alias/ /directorio/

# Alias con validacion de un usuario especifico
Alias /nombre-de-alias/ /directorio/
<directory>
# Ni idea de pa que vale esto :
AuthType Basic
# Mensaje que te sale cuando te pide el user y pass
AuthName "Dame las password payo!!!"
# Fichero donde se guardan las passwords ver mas alante para generar un fichero
AuthUserFile /etc/apache/password
Require user usuario
</directory>

# Para generar un fichero hay que ejecutar lo siguiente :
# htpasswd -bc /etc/apache/passwords usuario password
# Ademas es conveniente dejar acceso solo al usuario que ejecuta el apache
# en el caso de gentoo es apache
# chown apache:apache /etc/apache/passwords
# chmod 500 /etc/apache2/passwords


# Directorio para que no diferencie minusculas de mayusculas
<directory>
CheckSpelling on
</directory>

# Directorio que solo permite un rango de ips determinado
# y te saca una lista de ficheros y directorios si no tienes
# el documento por defecto en el directorio
<directory>
Order Deny,Allow
Deny from all
# Solo permitimos a 176.168.1.* ó 176.168.2.*
Allow from 176.168.1
Allow from 176.168.2
# Esto es para sacar la lista de archivos y directorios
Options FollowSymLinks +Indexes
</directory>

Seguidores