Está en: »

Notas y recortes

Ejecutar scripts en php con un php.ini diferente

Es perfectamente normal tener una parte del código de una aplicación web que se ejecuta por interacción del usuario con el servidor web y otra que lo hace de forma periódica. Estas dos partes se suelen desarrollar en el mismo lenguaje para que compartan las partes comunes de código. Vamos a ver como aplicar restricciones por separado.

Para el código que se ejecuta con el servidor web suele ser útil deshabilitar funciones de PHP que no queremos usar. El problema es que seguramente la parte de la aplicación que ejecutamos periódicamente (con el cron por ejemplo) tendrá unos requerimientos diferentes.

Para poder ejecutar los procesos (mailings, calculos varios…) podemos indicar que se use un php.ini diferente mediante el parámetro -c:

php -c /etc/php.procesos.ini proceso.cualquiera.php

Mediante este comando indicamos a php que ejecute el script proceso.cualquiera.php usando la configuración presente en el fichero /etc/php.procesos.ini. En este fichero podremos ser más permisivos sin afectar a las restricciones del servidor web.

vía Ejecutar scripts en php con un php.ini diferente | systemadmin.es.

Habilitar iptables para los containers OpenVZ en Proxmox

Si deseamos habilitar IPTables para los containers OpenVZ (VPS) en Proxmox, tenemos que hacer lo siguiente:

1) Abrir el fichero /etc/vz/vz.conf

2) Comentar la actual linea de IPTABLES= y añadir lo siguiente:

IPTABLES="ipt_REJECT ipt_recent ipt_owner ipt_REDIRECT ipt_tos ipt_TOS ipt_LOG ip_conntrack ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state iptable_nat ip_nat_ftp"

Salvamos el fichero y reiniciamos el servicio vz (al reiniciar el servicio de virtualización, para y vuelve a iniciar las máquinas virtuales funcionando bajo openVZ):

/etc/init.d/vz restart

Si todo fue bien, ya podemos usar iptables en las vps.

vía Habilitar iptables para los containers OpenVZ en Proxmox | LeopoldoMaestro.COM.

Configurar tiempo de caché para un dominio

Para configurar una caché para todo un dominio, podemos usar mod_expires de apache.
Su uso es tan sencillo como insertar en el archivo .htaccess lo siguiente:

<ifmodule mod_expires.c>
        <filesmatch "\.(jpg|jpeg|JPG|JPEG|gif|GIF|png|PNG|css|ico|js)$">
                ExpiresActive on
                ExpiresDefault "access plus 10 day"
        </filesmatch>
</ifmodule>

Con esta configuración estamos estableciendo que todos los archivos que terminen en las extensiones especificadas tengan una caché de 10 días.

Muy sencillo y a su vez, muy útil

No guardar los comandos en el history para una determinada sesión (HISTFILE)

No guardar los comandos en el history para una determinada sesión (HISTFILE)

Mediante la variable HISTFILE podemos redirigir a un determinado fichero los comandos que se ejecuten en una determinada sesión.

El history se guarda al finalizar la sesión, por lo que en cualquier punto de la sesión podemos redirigir el historial. Por ejemplo:

# echo antes

antes

# export HISTFILE=/home/jprats/ejemplo.histfile

# echo despues

despues

# exit

A continuación al hacer un cat al fichero generado podemos comprobar como se ha almacenado la sesión entera:

# cat ejemplo.histfile

echo antes

export HISTFILE=/home/jprats/ejemplo.histfile

echo despues

En el caso que no queramos almacenar el history de la sesión simplemente podemos redirigirlo a /dev/null:

export HISTFILE=/dev/null

Para abrir otra sesión que no almacene los comandos sin perder los de la actual podemos hacerlo así:

HISTFILE=/dev/null bash

vía No guardar los comandos en el history para una determinada sesión (HISTFILE) | systemadmin.es.

retornar una vista en vez de mostrarla – codeIgniter

Para retornar una vista ya procesada en vez de mostrarla, hay que pasar un valor verdadero como tercer parámetro (true por ejemplo).

$vista = $this->load->view('mivista', $array_de_parametros, TRUE);

ClearOS Enterprise 5.1

Artículo interno dedicado: http://miguelcarmona.name/blog/clearos-introduccion-y-primeras-impresiones/

ClearOS Enterprise 5.1, una distribución de Linux orientada a tareas de servidor y puerta de enlace para pequeñas empresas y entornos distribuidos.

Sobre la base de CentOS, un clon de Red Hat Enterprise Linux, la distribución incluye una extensa lista de características y servicios integrados, fácilmente configurables a través de una intuitiva interfaz basada en web. Algunas de las herramientas que se incluyen son: antivirus, antispam, servidor VPN, filtrado de contenido, administrador de ancho de banda, certificación SSL, y analizador de registro web, sólo por mencionar algunos de los módulos disponibles. ClearOS se puede descargar gratuitamente, disponiendo además de actualizaciones de seguridad gratuitas durante 18 meses desde el lanzamiento.

Las principales novedades en ClearOS Enterprise 5.1 incluyen un sistema anti-phishing, soporte para clientes Windows 7 a través de Samba 3.4.3, herramienta de consola gráfica y usabilidad e interfaz web mejoradas, todo ello sobre un sistema base actualizado a CentOS 5.4.

vía Barrapunto | Publicado ClearOS Enterprise 5.1.

Nota: Creo que es un proyecto muy parecido a ebox, el cual me parece un proyecto realmente notable (y español).

Enlaces de interés:

Automatizar secuencias de acciones

expect es un interprete de comandos que nos permite automatizar secuencias de acciones, de esta manera podemos evitar el tener que introducir comandos, solo lo hacemos la primera vez y el resto de veces se ejecuta ya lo que hubieramos realizado (de expect ya hable aunque por desgracia no tengo el tutorial a mano). Podeis encontrar mas informacion aqui.

Para instalar expect ejecutamos:

zypper install expect

Si instalamos tambien autoexpect. Podriamos ejecutarlo directamentes:

chmod +x ./autoexpect
./autoexpect

Grabar la secuencia de comandos que queremos automatizar, y para finalizar escribir “exit”. De esta manera se genera un fichero expect de comandos de manera automatica que luego podriamos ejecutar cuando quisieramos.

vía Tip Consola: Shell Script para reiniciar el router « Ubuntu Life.