Está en: »

Autor: miguelcarmona

Tunear Apache con cabeza

apache

A la hora de instalar Apache debemos elegir entre dos versiones, aunque generalmente lo elegirá nuestro gestor de paquetes.

  • Apache Worker

Incluido desde Apache 2.0. Utiliza menos memoria y tiene un mejor rendimiento. Se lanzan múltiples procesos y cada uno de estos pueden correr múltiples threads.

  • Apache Prefork

Es el MPM por defecto en Apache 1.3 y Apache 2.0. Es el instalado por defecto si hacemos uso de mod_php, ya que algunos módulos de PHP no son «thread safe». Tiene un rendimiento ligeramente peor que Worker y más consumo de memoria, pero se considera más seguro y estable. En este MPM se lanzan múltiples procesos y se ejecuta un thread por proceso.

Lo lógico sería utilizar Worker, pero vamos a basarnos en el típico ejemplo LAMP que incluye el soporte mod_php, aunque esto no sea lo más óptimo. Por dicha razón vamos a ver como deberíamos ajustar la configuración para un Prefork.

Continúe leyendo…

Comprobar si un script en bash ya se está ejecutando

bash

Algo realmente útil para cuando necesitamos que sólo haya una ejecución del mismo script (por ejemplo, para copias de seguridad automáticas ejecutadas desde cron).

Lógicamente, se incluye al principio del script.

if pidof -x $(basename $0) > /dev/null; then
  for p in $(pidof -x $(basename $0)); do
    if [ $p -ne $ ]; then
      echo "El script $0 ya se está ejecutando. Saliendo..."
      exit
    fi
  done
fi

VPN con OpenSSH

Tras Creando túneles TCP/IP (port forwarding) con SSH: Los 8 escenarios posibles usando OpenSSHReenvío dinámico de puertos / montar un servidor SOCKS con SSH, puede ser buena idea hablar de cómo crear una VPN improvisada entre dos redes cuyos nodos no pueden llegar de una red a la otra exceptuando un sistema de una de las redes que puede crear una conexión OpenSSH con otro sistema de la otra red.

OpenSSH permite esto desde su versión 4.3, y es tan sencillo que en la página man de ssh se describe en apenas 5 párrafos (sección SSH-BASED VIRTUAL PRIVATE NETWORKS). La parte no tan sencilla es la de gestionar las rutas.

Continúe leyendo…

Limitar el espacio de una carpeta sin usar cuotas en Samba

Limitar el espacio de una carpeta sin usar cuotas en Samba.

Hace poco me consultaron si se podía limitar el espacio de una carpeta Samba (samba share) sin tener control de usuarios es decir hay una carpeta por usuario que esta a su vez es ‘mapeada’ a su estación de trabajo (que corre windows) pero todos los usuarios usan el mismo usuario y el mismo password para acceder cada una de sus carpetas. La pregunta me dejo cabezón, yo nunca trabaje con Samba pero se que debe de haber forma de hacer esto. Por ahora me dispuse a crear un script que le ayudara.

Continúe leyendo…

Archivos swap y paralelización de espacio swap

Los archivos swap o particiones swap son archivos que residen en bajo el directorio / (Root Directory) o particiones dedicadas a expandir el espacio para la paginación de memoria (respectivamente). El sistema operativo mantiene el control sobre qué páginas están en memoria principal (RAM) y cuáles no; lleva un registro en la tabla de paginación y le da una prioridad mas alta a el espacio que reside en la RAM. Este espacio permite hacer creer a los programas que tienen más memoria que la disponible realmente.

Continúe leyendo…

LVM (volumenes logicos)

lvm

Manejo habitual de LVM (los comandos los proporciona el paquete lvm2 que se instala por dependencias):

  • Para añadir una partición al disco virtual, primero tenemos que formatearla con fdisk y marcarla como 8e (Linux LVM). Después añadiremos la partición al disco virtual:
    vgextend disco_virtual /dev/hdc1
  • Para aumentar el tamaño de una partición virtual, primero aumentaremos el tamaño de la partición:
    lvextend -L+120G /dev/mapper/disco_virtual-home

    y luego aumentaremos el tamaño del filesystem:

    umount /dev/mapper/disco_virtual-home
    resize2fs /dev/mapper/disco_virtual-home
    mount /dev/mapper/disco_virtual-home /home
  • Para reducir el tamaño de una partición virtual, primero reduciremos el tamaño del filesystem:
    umount /dev/mapper/disco_virtual-home
    resize2fs /dev/mapper/disco_virtual-home 80G
    mount /dev/mapper/disco_virtual-home /home

    y luego reduciremos el tamaño de la partición:

    lvreduce -L-120G /dev/mapper/disco_virtual-home
  • Para quitar una partición del disco virtual, primero moveremos los datos que contiene a otras particiones con el comando:
    pvmove /dev/hdc1

    y luego quitaremos la partición:

    vgreduce disco_virtual /dev/hdc1

    Ya podemos quitar físicamente la unidad.

vía LVM (volumenes logicos) en Linux | Estrellate y Arde.

umount: device is busy

bash

Cuando no podemos desmontar un medio, normalmente es porque dicho dispositivo está en uso.

umount /dev/sdc1
umount: /dev/sdc1: device is busy
umount: /dev/sdc1: device is busy

Bien, para solucionarlo usamos el comando fuser para saber que está en uso:

fuser -m /dev/sdc1
/dev/sdc1:           19115

Ya tenemos el id de proceso, por lo que podemos hacer un:

ps aux | grep 19115
root     19115  3.0  9.7 2217696 797928 ?      Sl   12:49   0:51 /usr/bin/kvm -monitor......

Ya tenemos el proceso que lo tiene bloqueado. Lo terminamos (o matamos con un kill) y listo.

Establecer una categoría como página principal o excluir algunas en wordpress

Para establecer una categoría como página principal en wordpress, bastará con editar el archivo functions.php de nuestra plantilla y añadir al final (antes del ?>):

function only_category($query)
{
        if ( $query->is_home )
        {
                $query->set('cat', '26');
        }
        return $query;
}

add_filter('pre_get_posts', 'only_category');

Donde 26 es el id de la categoría a establecer. Podemos establecer varios separando las ids con espacios. Ej:

$query->set('cat', '26 33 15');

Del mismo modo, si lo que queremos es excluir algunas categorías dejando todas las demás, bastará con poner los ids de las categorías en negativo. Ej:

$query->set('cat', '-26 -33');

¿Cómo obtener listado de links rotos?

wget --spider --no-parent -r -o log.txt http://tuweb.com
  • –spider : recorrer la web que le digas, pero SIN descargar nada. Sólo recorrerla.
  • -r : recursivo, como si fuera una araña de algún buscador.
  • -o fichero : guardar la salida en el fichero en vez de mostrarla por pantalla-
  • –no-parent : si le pasamos como parámetro un nombre de directorio, no sube hacia los directorios padre.

La lista de enlaces rotos estará en log.txt parte final.

vía DiarioLinux » Receta: cómo obtener listado de links rotos.

Instalación de openSuse por red mediante tftp-pxe

Inicio PXE para Suse Linux 10

Hay varias maneras de instalar un equipo por red:

  • Iniciar con el disco de instalación y escoger la opción de instalación por red.
  • Instalar remótamente mediante vnc o ssh (muy útil para servidores dedicados externos).
  • Iniciar por red el disco de instalación

Seguramente se me habrá pasado alguna. En esta guía nos vamos a centrar en «Iniciar por red el disco de instalación».

¿Qué ventajas nos reporta?

  • No necesitamos ningún dispositivo extra (usb, dvd, cdrom…).
  • Una vez configurado, instalamos muy fácilmente los clientes.
  • Podemos tener todas las versiones/distribuciones que deseemos/configuremos para dicha instalación.
Continúe leyendo…