Archivo de la etiqueta: apache

Instalar Zend Server 7 en Linux Mint

Seguramente a muchos no les gusta el Zend Server, unos dirán que es muy pesado, que consume muchos recursos, que es muy lento, que mejor montar un Apache puro con php, etc …, pero a la hora de desarrollar, es muy completo y nos ofrece un montón de ayudas, una de ellas es el Z-Ray que aparece en esta versión, con el que desde el propio navegador web podemos acceder a los procesos y a las consultas que realiza a la base de datos sin tener que habilitar el depurador, simplemente genial.

En fin, si os descargais la versión de Linux y usais Centos, Red Hat, Debian o Ubuntu, no tendréis problema a la hora de instalarlo, pero si usais otra distro como Linux Mint, os dara un error diciendo que no lo podeis instalar, la solución a este problema es sencilla, editamos el fichero que lanzamos para la instalación install_zs.sh y en la linea 17 donde pone:


SUPPORTED_OS='CentOS|Red Hat Enterprise Linux Server|Enterprise Linux Enterprise Linux Server|SUSE|Debian GNU/Linux|Ubuntu|Oracle Linux Server'

Agregamos al final Linux Mint o el nombre del sistema que estamos usando


SUPPORTED_OS='CentOS|Red Hat Enterprise Linux Server|Enterprise Linux Enterprise Linux Server|SUSE|Debian GNU/Linux|Ubuntu|Oracle Linux Server|Linux Mint'

Una vez modificado volvemos a lanzar la instalación y se instala correctamente

Redirecciones 301 en Drupal

Drupal CMSEn algún momento nos podemos encontrar en la necesidad de realizar una redirección permanente desde una pagina antigua a una nueva en nuestro Drupal.

Pongamos que nuestro sitio web es http://www.misitio.com, la pagina antigua la vamos a llamar pagina-antigua y la nueva pagina-nueva.

Para hacerlo tenemos que editar el .htaccess que esta en la raíz de nuestro sitio hecho con drupal.

1.- Buscamos la sección que empieza por <IfModule mod_rewrite.c> ,nos situamos en le linea anterior a </IfModule> y escribimos (todo en una linea).

RewriteRule ^pagina-antigua$ http://www.misitio.com/pagina-nueva [R=301,L]

Guardamos y ahora cuando pongamos la dirección http://www.misitio.com/pagina-antigua nos redigira a pagina-nueva

Mas información

 

Como eliminar las extensiones .php, .html y htm de nuestra pagina web con .htaccess

Apache Web Server

A la hora de presentar nuestra pagina web, a veces nos puede interesar, que el usuario no sepa como esta hecha la pagina web, o simplemente queremos simplificar el enlace para que se pueda acceder de una manera sencilla.

He encontrado esta pagina web, la cual merece ser visitada, ya que esta muy bien hecha, en la cual nos explican de una manera muy sencilla, aunque en inglés, de como configurar, si usamos Apache, con .htaccess, para ocultar las extensiones.

http://alexcican.com/post/how-to-remove-php-html-htm-extensions-with-htaccess/

Zend Server con soporte Xdebug en Linux – PHP Tips

Cuando se trata de depurar nuestras aplicaciones con PHP, están como dos opciones principales ZendDebugger y XDebug. Dependiendo del IDE que utilicemos, y del servidor que tengamos utilizaremos una u otra. Por ejemplo si usamos Zend Studio y Zend Server, la opción clara es Zend Debugger, pero si usamos como IDE Netbeans, este no tiene soporte para Zend Debugger, solo para XDebug.

De primeras casi recomendaría olvidarnos de instalar los dos depuradores a la vez, ya que lo normal es que den problemas, así que hay que decidirse por uno u otro.

Si tenemos Zend Server y queremos habilitar Xdebug, hay que deshabilitar Zend Debugger. Para instalarlo y ponerlo en marcha hay que hacer lo siguiente:

En el servidor

Otra de las ‘particularidades’ de Zend Server es que los binarios PHP los ubica en su propio directorio de trabajo y otro problema suele ser tener varios binarios PHP en nuestros servidor,  para comprobar que binarios estamos usando utilizaremos la herramienta which


which php

/usr/local/zend/bin/php

Si nos sale el resultado de antes quiere decir que estamos usando el PHP que viene con Zend Server, si sale /usr/bin/php, igual estamos probando otro.

Otra cosa que podemos comprobar en caso que nos devuelva la ruta /usr/bin/php es ir a ese directorio y hacer un ls -lh ph* para ver si el binario php es un enlace a /usr/local/zend/bin/php y  si phpize apunta al directorio de zend.

Otra opción, mas sencilla es ir al directorio /usr/local/zend/bin y ejecutar el comando con ./ asi se ejecutara ese comando y no el del path.

Asi instalariamos el xdebug:


sudo pecl install xdebug

Una vez instalado necesitamos comentar una linea en el archivo de configuracion debugger.ini que esta en /usr/local/zend/etc/conf.d/debugger.ini y agregar otra

;zend_extension_manager.dir.debugger=/usr/local/zend/lib/debugger

zend_extension=/usr/local/zend/lib/php_extensions/xdebug.so

Esta linea esta situada la ultima, para comentarla simplemente agregamos un ; delante
Una vez hecho esto reiniciamos el servidor y comprobamos en el phpinfo o ejecutando php -i | grep xdebug si el xdebug esta cargado.

Esta entrada esta basada en la entrada Zend Server with Xdebug support on Linux | My Science Is Better.

Enhanced by Zemanta

Ocultar la extensión de nuestras paginas web – Apache Tips

Apache Web Server

A veces, por el motivo que sea, puede que no nos interese que los visitantes que accedan a nuestra pagina web sepan como esta hecha, algunas veces este motivo es por motivos de seguridad, y otras, por motivos de posicionamiento web, queda bastante mejor tener un enlace de la manera http://midominio.com/contacta que http://midominio.com/contacta.php .

Si el servidor en el cual esta nuestra web es Apache y tiene el mod_rewrite habilitado podemos hacerlo creando un fichero .htaccess en la raíz de nuestro sitio de la siguiente manera:


Options Indexes FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ – [NC,L]
RewriteRule ^([A-Za-z0-9-]+)/?$ $1.php
ErrorDocument 404 /404.php

view raw

.htaccess

hosted with ❤ by GitHub

Este fichero esta configurado para ficheros php, si lo queremos hacer con ficheros html o htm solo tenemos que cambiar donde pone .php en la linea 7 por .html o .htm.

Decir también que la ultima linea no es necesaria, pero a mi me gusta ponerla ya que así evitamos que si alguien «escribe mal» la ruta no salga un error de servidor. Lo de «escribe mal» lo pongo entre comillas ya que muchas veces se hace intencionadamente con el único objetivo de conocer las características del servidor en el cual se esta ejecutando la web, así que no cuesta nada crear nuestra propia pagina de error o bien que aparezca la principal del sitio.

Enhanced by Zemanta

Restringir el acceso con contraseña a sitios web – Apache Tips

Si queremos que a un directorio de nuestra web o a un sitio, poner una contraseña para poder acceder, de una manera rapida y sin tener que programar nada, si el servidor web que estamos usando es Apache podemos hacerlo de una manera sencilla con el fichero .htaccess

Antes de crear el fichero tenemos que crear los usuarios que podrán acceder, para hacerlo utilizaremos el comando htpasswd


htpasswd -c /ruta/completa/ficheroUsuarios usuario

A continuación de lanzar el comando nos pedira dos veces que pongamos la contraseña del usuario.

Con la opción -c creamos el fichero, si este fichero ya existe y solo queremos agregar un nuevo usuario usaremos el comando pero sin la opción -c

Una vez tenemos creado el fichero de contraseñas y ya tenemos un usuario creamos, si no tenemos el fichero, o editamos el fichero .htaccess y ponemos lo siguiente.


AuthType Basic
AuthName "Mi Sitio Seguro"
AuthBasicProvider file
AuthUserFile /ruta/completa/ficheroUsuarios
Require valid-user

view raw

.htaccess

hosted with ❤ by GitHub

En este caso estoy estableciendo una autentificación basica basada en fichero y se require un usuario valido para poder acceder al sitio.
Mas información http://httpd.apache.org/docs/2.2/howto/auth.html

Error 404 personalizado – Apache Tips, PHP Tips

Deutsch: Bildschirmfoto eines 404-Fehlers bei ...
Image via Wikipedia

Una de las maneras de obtener información del servidor donde tenemos alojada nuestra web es solicitando una pagina que no exista y así nos devuelva la pagina
que tiene el servidor por defecto de pagina no encontrada en la cual suele venir el modelo versión y demás detalles. Una solución rápida para esto es crear
nuestra pagina de error 404. Para ello tendremos que editar el fichero .htaccess en la raíz de nuestra pagina web y poner lo siguiente:
Nota: Consideramos que el servidor web es apache

ErrorDocument 404 /404.php

Con esto le estamos diciendo que cuando se produzca un error 404 nos muestre la pagina 404.php
Dicha pagina la podemos poner como queramos y el mensaje que queramos.
Otra opción que tenemos, por si no queremos hacer una pagina de error es pasarle directamente el mensaje a la configuración

ErrorDocument 404 "Lo sentimos la pagina web solicitada no existe"

Lo mismo que con el 404 ( pagina no encontrada ) lo podemos hacer con otros codigos como el 403 y demás.

Ahora bien, hay un caso, que tenemos que tener cuidado, pongamos que hacemos la típica aplicación en la cual tenemos que estar registrados para acceder a las secciones y queremos evitar
que nos accedan directamente a las paginas. La programación de la cabecera de los ficheros podría ser

if ( session_id != null ) {
    session_regenerate_id();
} else {
    session_start();
}
if (!$_SESSION['auth']) { 
// Redirección a la pagina
    header("Location:404.php"); // Redirigimos a la pagina de error o a la que queramos
    exit(0);
}

Imaginemos que queremos crear una función para no tener que escribir todo esto en cada cabecera, y lanzamos esa función en cada pagina, y pensamos que tenemos que cambiar la ruta del
header para cada sección. A la vez pensamos que hemos hecho la redirección 404 en el .htaccess como a continuacion:

header("HTTP/1.0 404 Not Found"); // Esta manera
header("Status: 404 Not Found"); // O esta manera

Y decimos mira mando un header de 404, este me lo interpreta el .htaccess y me manda a la pagina
seleccionada… ERROR eso no funciona, y para colmo decir que no necesitaríamos hacer nada mas ya que esta funcionaria dentro de las carpetas, siempre y cuando no existiera la pagina 404.php, y si no ahí va un truco, que el header apunte a notfound.html, esta va a ser una pagina que no crearemos en ningún sitio, el header la llamara, como no existe hará que el .htaccess lance la pagina 404.php que tenemos en la raíz

+ Info