Instalar Ubuntu-Server 12.04 LTS

¿Por qué Ubuntu-Server 12.04 LTS?

Primero porque es Ubuntu, es decir, es un sistema operativo linux basado en Debian orientado al usuario final en informática. Es una distribución más que probada, segura y relativamente fácil de configurar, además de que contamos con multitud de tutoriales para personallizarlo hasta la saciedad. Elegimos la versión 12.04 LTS, porque es la «Long Time Support» y seguirá habiendo actualizaciones hasta el 2017

¿Como obtener Ubuntu?

Podéis descargarlo en el sitio de Ubuntu. Os recomiendan la versión AMD64, pero yo he probado la i386 y funciona fenomenal, sobre todo en equipos con menos 2Gb de Ram. Un vez descargada la imagen, la grabáis en un CD, o si tenéis ubuntu ya instalado en algún ordenador o máquina virtual, podéis crear un usb stick de arranque. La primera pantalla que nos encontramos es

Tenemos que elegir el idioma

Una vez elegido el idioma instalamos el Ubuntu server De nuevo elegimos nuestro idioma, la distribución del teclado,.. y no ocurre nada interesante hasta que nos pide el nombre de la máquina. Si vais a instalar un servidor, lo lógico es tener acceso a el desde internet. Podéis obtener un dominio gratuito en www.dyndns.com. Una vez que lo tengáis es importante que lo escribáis en la siguiente página.

Ahora os pedirá el nombre del usuario y su contraseña. Es importante que no seáis cómodos y pongáis una contraseña fuerte, pues es la primera medida de seguridad del sistema. No me pongáis cumpleaños, el nombre de la tía Berta,…. meted un password aleatorio y lo apuntáis. Podéis generar uno en password.es

Os da la opción de cifrar vuestra carpeta personal, pero para un servidor no me parece buena idea. No está mal para equipos portátiles, si trabajas para la CIA y no quieres que nadie te robe el ordenador y te saque la información, pero en casa la seguridad va por otros derroteros. Cifrar significa consumir recursos, y no poder montar el disco duro en otro ordenador para sacar la información en caso de fallo. Así que os recomiendo que no lo hagáis.

Después aceptáis la zona horaria ( o no y la cambias) y llega el segundo momento fundamental el particionado del disco. Podéis montar un raid de arranque ( tiene que ser un raid 1) y configurar LVM, Podéis montar distintos raid y unirlos con LVM para que funcionan como un único disco expendiendo la capacidad. Merece la pena que perdáis tiempo y sesera en combinar todos los discos posibles para obtener la mayor capacidad y seguridad. Por ejemplo, en nuestra instalación de ejemplo, voy a armar un raid 1 para el sistema, y un raid 5 (con spare). A la partición root de Ubuntu le sobra con 10Gb, así que lo demás lo distribuimos como nos convenga. En la pantalla de particionado de Discos elegimos Manual

Consejos Previos Si ya habéis montado un raid o un LVM, sería aconsejable que antes de instalar Ubuntu-Server, arrancarais el ordenador con la distribución desktop del CD de ubuntu y teclearais el siguiente comando, donde sdX, puede ser sda, sdb,.. Con esto llenáis el disco de ceros y cualquier configuración anterior de raid, lvm se pierde, junto a todo lo demás claro, así que cuidado con no borrar nada que sea importante para vosotros.

dd if=/dev/zero of=/dev/sdX

Vasta con que contéis hasta 10 y con un Ctrl +C para el comando, porque solo necesitamos borrar los primeros sectores del disco. Si acaso los discos provienen de un hardware raid (por ejemplo, los teníais en raid en una placa AMD o Intel, o cualquier controladora….) es necesario que borréis antes los raid creados con el menú en que fueron creados, por que ni siquiera el dd es capaz de borrar algunos de los datos generados por estas controladoras. En la segunda pantalla tenemos toda la lista de discos, damos enter encima de cada uno de los discos y generamos una nueva tabla de particiones para todos y cada uno de ellos.

En una primera etapa vamos a escribir todas las particiones en tipo raid. Como quiero hacer un raid uno de arranque voy a utilizar el sda y el sdb como espejos. A ambos les he creado una partición de 300mb para el punto de montaje /boot, y el resto se lo he dejado al raid 1 donde montaré el sistema El resto de discos son para armar un raid 5 ( que sirve como copia de seguridad del disco físico, en caso de que falla uno de ellos. Un vez escrito todas las particiones como raid, elegimos Configurar Raid por Software, que os aparece en la segunda línea del menú en el que estáis. Aplicáis los cambios y os aparece un menú y elegís «Crear un dispositivo MD». 1º. Elegís un raid 1, después asignáis dos dispositivos, y dejáis cero libres en el raid. Elegís las particiones que formarán parte del raid y le dais a continuar. En el caso del raid de arranque

Repetimos el proceso para el raid1 del sistema

En el caso del Raid 5, vamos a seleccionar cuatro discos activos y dejamos uno libre. Esto significa que si falla uno de los discos, automáticamente el raid empezará a recomponerse con el disco que le hemos dejado libre. Otra opción es hacer un raid 6, y poner todos a funcionar. La ventaja es que hay una doble paridad, la desventaja es que el raid irá mucho más lento. El procedimiento es similar al anterior Una ves terminada esta parte nuestro esquema de partición quedará

Ahora vamos a formatear los nuevos raid. El raid de 300Mb para el arranque le damos formato ext2 , 1% reservado para el sistema y le asiognamosasignamos el punto de montaje boot. A los otros dos, de momento los formateamos como LVM.

El siguiente paso es configurar LVM. Seleccionamos la opción del menú «Configurar el Gestor de Volúmenes Lógicos» y guardamos lo anterior. Primero le damos a «Crear un grupo de volúmenes». En este paso podríamos asignar varios discos duros, o varios raids. Yo solo voy a elegir el raid de sistema.

Primero le damos un nombre al grupo de volúmenes y después podemos crear diferentes volúmenes lógicos para los puntos de montaje /, /home, /var según nos convenga y hasta llena el grupo de volúmenes. Después ya formateamos todo el sistema. El raid1 de 300Mb como ext2, 1% para sistema y punto de montaje /boot El raid 5 como ext4, 1% para sistema y punto de montaje Home El raid1 para sistema, ahora son dos volúmenes lógicos, el primero lo dejaremos para «/» y el segundo para «/var», ambos 1% para sistema y formato ext 4. En nuestro caso el esquema de partición quedará

Le damos a finalizar el particionado y escribir los cambios en el disco, que es la última línea del menú. Nos preguntará que si queremos que el sistema arranque si el raid está degradado: le decimos que si. Si tenéis un sistema con menos de 2Gb de Ram, o vais a utilizar el servidor para virtual izar, nos faltaría haber generado un partición swap de tamaño, el doble de vuestra ram. Si como yo no lo vais a usar no la necesitáis. El instalador se quejará, pero con no hacerle caso… El instalador seguirá, la línea del proxy la dejáis en blanco ( a no ser que tengáis acceso a un proxy decente), después activáis «Instalar actualizaciones automáticamente» Seguir la instalación dándole a todo que si hasta que  aparece la selección de programas. En mi caso como el uso va a ser para un servidor web casero selecciono …

Nos preguntara por el password del root de Mysql ( elegir un password fuerte diferente al del usuario anterior). El último paso es instalar Grub, que le decimos que instale en el «registro de arranque principal».

Los últimos pasos son cuando arranca el sistema. Entramos con nuestro usuario y password, y actualizamos el sistema ejecutando:

sudo apt-get update sudo apt-get upgrade

Como último paso modificamos el archivo /etc/hosts, y le asignamos al nombre que obtuvimos en dyndns.com a la dirección ip de nuestro servidor

sudo nano /etc/hosts   ### salimos con Ctrl + X, y le decimos si a modificar los cambios

Y ya hemos terminado el principio. Ahora sólo nos queda seguir montando lo que necesitamos.

Optimizar linux-raid

raid

El software dmraid de linux en una de la herramientas mas potentes para aumentar el rendimiento y la seguridad de los discos duros de nuestros ordenadores. Hay distintos tipos raid 0, raid 10, raid 5como podeis ver en wikipedia. Os recomiendo echar una vistazo en guia-ubuntu.com.

1. Configurar raid en la instalación de ubuntu-server (o debian):

La mejor forma de configurarlo en Debian o Ubuntu es en el momento de la instalación del sistema. Os dejo un enlace a youtube

2. Monitorizando el sistema:

La herramienta fundamental para observar  el estado de nuestros raid desde la terminal es

cat /proc/mdstat

cat proc2

o para ver la salida en tiempo real del comando anterior podemos utilizar el cmoando watch

watch -n1 cat /proc/mdstat

para salir Ctrl + C

Para obtener una descripción detallada de nuestro raid (en este caso el md2)

mdadm --detail /dev/md2

mdmdetail

 

 

 

 

 

 

 

 

 

 

 

 

 

Si queremos analizar a que velocidad se mueven nuestros discos duros podemos instalar sysstat.

sudo apt-get install sysstat

y ejecutamos

iostat

o para verlo de forma continua

watch -n1 iostat

o para verlo de forma continua

iostat

3. Optimizar nuestro raid:

El problema fundamental del software-raid en linux es que después de haberlo montado todo, la sincronizacióny reconstrucción del raid es muy lenta, porque viene configurado para consumir los menos recursos posibles para que podamos instalar, operar,… mientras tanto. Cuando tienes un equipo relativamente potente, podemos reconfigurar algunos parámetros para que nuestro raid actue de forma mucho más rápida.

Las operaciones que vamos a realizar a partir de ahora conviene que las hagamos como root, así que en ubuntu tecleamos

sudo su

a. Aumentar los límites en sysctl.

El archivo de configuración /proc/sys/dev/raid/speed_limit_min sirve para fijar el  la velocidad mínima de reconstrucción cuando hay además operaciones de otro tipo en el raid, es decir, el uso habitual de linux. El parámetro por defecto es 1000.

El archivo de configuración /proc/sys/dev/raid/speed_limit_max sirve para fijar la velocidad máxima de reconstrucción cuando hay además otras operaciones además de la reconstrucción. El parámetro por defecto es 100,000.

Para ver los valores actuales, ejecutamos

sysctl dev.raid.speed_limit_min
sysctl dev.raid.speed_limit_max

Para aumentar la velocidad ejecutamos:

echo value > /proc/sys/dev/raid/speed_limit_min

o también

sysctl -w dev.raid.speed_limit_min=value

Como ejemplo, vamos a aumentar la velocidad mínimo en 50.000 Kb/seg :

echo 50000 > /proc/sys/dev/raid/speed_limit_min

o también

sysctl -w dev.raid.speed_limit_min=50000

Si queremos modificar los parámetros globales, podemos hacerlo añadiendo estas dos líneas al archivo /etc/sysctl.conf

################# NOTE ########################
##  CPU y memoria son los limites del sistema #
###############################################
dev.raid.speed_limit_min = 50000
## aconsejado para arrays de 4-5 ##
dev.raid.speed_limit_max = 2000000
## aconsejado para 6-12 discos ###
dev.raid.speed_limit_max = 5000000

Y Ejecutamos como root

sysctl -p

b. Modificar el «read-ahead» del raid a 32 Mib

elegimos el raid mdX al que queremos aplicar la optimización

blockdev --setra 65536 /dev/mdX
# Para los distintos raid de tu sistema##
blockdev --setra 65536 /dev/md0
blockdev --setra 65536 /dev/md1
blockdev --setra 65536 /dev/md2
blockdev --setra 65536 /dev/md3

3. Solo para raid 5 y 6 : Stripe-cache_size

Esta opción está solo disponible para el RAID5 y el RAID6 y multiplica la velcoidad de sincronización entre 3 y 6 veces. El valor por defecto es de 256. Loa valores válidos están entre 17 y 32768. Aumentar este número puede aumentar el rendimiento en algunas configuraciones aumentando el consumo de la memoria del sistema.

Utilizamos la siguiente fórmula

consumo de memoria = tamaño del archivo de paginación x número de discos x stripe_cache_size

Para fijar el stripe_cache_size en 16 MiB para /dev/md1, inctroducimos.

echo 16384 > /sys/block/md1/md/stripe_cache_size

Para fijar el stripe_cache_size en 32 MiB para /dev/md2, inctroducimos.

echo 32768 > /sys/block/md2/md/stripe_cache_size

4. Desactivar el NCQ en todos los discos:

Para los discos que formen parte de un software-raid ejecutamos el siguiente comando, sustituyendo sdX, por el disco asociado al raid.

echo 1 > /sys/block/sdX/device/queue_depth

Para cortar y pegar

echo 1 > /sys/block/sda/device/queue_depth
echo 1 > /sys/block/sdb/device/queue_depth
echo 1 > /sys/block/sdc/device/queue_depth
echo 1 > /sys/block/sdd/device/queue_depth
echo 1 > /sys/block/sde/device/queue_depth
echo 1 > /sys/block/sdf/device/queue_depth
echo 1 > /sys/block/sdg/device/queue_depth
echo 1 > /sys/block/sdh/device/queue_depth
echo 1 > /sys/block/sdi/device/queue_depth

#### etc….

 5. Opción Bitmap:

Los bitmap optimizan la reconstrucción después del fallo o la sustitución de un disco . Para activarlo en el raid mdX,  tecleamos el siguiente comando:

mdadm --grow --bitmap=internal /dev/mdX

Una vez completada la reconstrucción, lo desactivamos

mdadm --grow --bitmap=none /dev/mdX

Fuentes:

 

Servidor web casero con Apache, Php y Mysql en debian

debianjh2

Este howto es para todos aquellos que quieran servir páginas web desde su casa, ya sea publicando directamente en el servidor o instalando
algún portal en php como wordpress o joomla.

El primer paso es dar de alta un dominio de segundo nivel en www.dyndns.com o alguna página similar. Hay que tener en cuenta que las ip’s asignadas a los usuarios caseros suelen ser
dinámicas, por lo que deberemos estar pendientes de que la ip que damos de alta en dyndns sea la correcta, y si nos la cambia nuestro ISP, deberemos cambiarla en dyndns. Continuar leyendo «Servidor web casero con Apache, Php y Mysql en debian»

Webmin en Ubuntu Lucid Lynx

Webmin-Logo-600Webmin es un gestor web de casi todos los parámetros de linux, es rápido, seguro y evita editar muchos archivos de configuración.

1. Instalamos las librerías necesarias

$ sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions libapt-pkg-perl

Descargamos libmd5.perl que no está en las repos de ubuntu

$ wget http://ftp.debian.org/pool/main/libm/libmd5-perl/libmd5-perl_2.03-1_all.deb

y la instalamos

$ sudo dpkg -i libmd5-perl_2.03-1_all.deb

Descargamos webmin

$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.510-2_all.deb

y la instalamos

$ sudo dpkg -i webmin_1.510-2_all.deb

Para acceder al interface web, tecleamos en el navegador http://xxx.xxx.xxx.xxx:10000 , donde la dirección xxx.xxx.xxx.xxx es la ip de linux.

Ubuntu Lucid Lynx + Netatalk

Después de compilar y compilar… llega el lince y nos hace la vida más fácil.

En este momento estoy transfiriendo a 98 Mb/seg entre mi mac pro y mi T3 a través de AFP con discos seagate sata2 barracuda. Recomiendo encarecidamente que las particiones compartidas en linux sean EXT4.

1. Jumbo Frames: Lo primero si no lo has hecho ya, y si tienes la posibilidad es activar los jumbo frames (necesitas tarjetas de red que lo soporten, en mi caso una intel dual MT) en linux y OSX. En OSX, abres Preferencias del Sistema, das a Avanzado en el interface que conecta con linux, te vas a Ethernet, y seleccionas Manualmente, 1000baseT, fullduplex, control de flujo y en MTU pones 9000. Aplicas.

En la terminal de lucid

$ sudo nano /etc/network/interfaces

y escribes

mtu 9000

como última línea del interface gigabit (con soporte para Jumbo frames).

2.- Instalar y configurar netatalk y avahi service:

Ya entrando en materia, lo primero instalamos netatalk.

$ sudo aptitude install netatalk avahi-daemon libnss-mdns

Creamos el servicio de publicidad de red de avahi.

$ sudo nano /etc/avahi/services/afpd.service

#### y añadimos las siguientes líneas

<?xml version=»1.0″ standalone=’no’?><!–*-nxml-*–>

<!DOCTYPE service-group SYSTEM «avahi-service.dtd»>

<service-group>

<name replace-wildcards=»yes»>%h</name>

<service>

<type>_afpovertcp._tcp</type>

<port>548</port>

</service>

<service>

<type>_device-info._tcp</type>

<port>0</port>

<txt-record>model=Xserve</txt-record>

</service>

</service-group>

#### damos a ctrl + x y guardamos.

* Editamos /nsswitch.conf

$ sudo nano /etc/nsswitch.conf

Y dejamos la línea hosts como esta

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

* Si quieres compartir las impresoras a través de netatalk, modifica el archivo /etc/default/netatalk y configura CNID_METAD_RUN=yes

* Configuramos los parámetros de netatalk en /etc/netatalk/afpd.conf

$ sudo nano /etc/netatalk/afpd.conf

### y añadimos con un espacio delante del guión

– – transall -uamlist uams_randnum.so,uams_dhx.so,uams_dhx2.so -savepassword -advertise_ssh

* Configuramos las comparticiones

sudo nano /etc/netatalk/AppleVolumes.default

comenta la última línea con #

Para las comparticiones home

~/ «$u» allow:username1,username2 cnidscheme:cdb

Para las comparticiones para TimeMachine. En este caso que la carpeta de Time Machine sea propiedad del usuario (sudo chown username /ruta/a/TimeMachine).

/ruta/a/TimeMachine TimeMachine allow:username1,username2 cnidscheme:cdb options:usedots,upriv

Y finalmente, reiniciamos avahi y netatalk.

sudo /etc/init.d/netatalk restart

sudo restart avahi-daemon

 

3. En Leopard o Snow Leopard lanzamos en el terminal

$ defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

para que Time Machine pueda escribir en unidades de red.

Que usted lo pase bien!

Ubuntu 10 Lucid

Ubuntu-Logo-Cristal

Siempre he admirado a Ubuntu, y la he seguido muy de cerca, pero al final, siempre me he acabado decantando por Debian. La razón: la estabilidad y los pocos recursos de que necesita para funcionar formidablemente.

Sin embargo, la incorporación de sistema de ficheros ext4 y la facilidad con que se configura el servicio AFP, me han hecho cambiar de distribución en el servidor de casa. Me ha sorprendido el consumo de RAM, que ha pasado de 500 Mb a 1000Mb, en AMD64, pero también es cierto que se nota en el rendimiento de la red. He logrado transferencias de 100 Mb/seg sobre netatalk, y el servicio iScsi roza lo imposible. Sin olvidar que es una version LTS, con soporte para varios años.

Aún quedan por implementar tecnologías ext4 (defragmentar) pero la utilidad palimpsest permite verificar las particiones fácilmente. Arrancas desde el live-cd y chequéas rápidamente.

Freenx, hace que el acceso al escritorio remoto sea, con perdón, más rápido y seguro que el escritorio compartido de apple, con la posibilidad de reescalar el escritorio, como si se tratara de una maquina virtual en vmware.

En fin, el futuro y el presente son de Linux y Mac OS. Espero que los gurus de Debian espabilen y me hagan cambiar de distriución enseguida. Si no, sólo les va a quedar el mundo ARM.

squid + debian lenny + webmin

debian-logo-weiss

1º. en la línea de comandos

$ apt-get install squid

2º. Refrescamos módulos en webmin, apretanto el boton «refresh modules».

3º. Dentro de servidores, entramos en squid.

4º.  En uso de memoria asignamos aproximadamente entre 64 y 128 MB si contamos con RAM abundante.

5º. En opciones de cache, directorios de cache marcamos la casilla relación y ponemos el directorio /var/spool/squid con el tamaño que deseemos (en mi caso 1000Mb), 16 directorios de primer nivel y 256 de segundo

6º En Control de acceso, creamos una nueva acl, del tipo dirección de cliente. damos nombre a la red e introducimos los intervalos a los que dar servicio. No pongáis subred. Si la guardáis y volvéis a entrar podeis añadir más intervalos.

7º En la pestaña restricción de acceso añadíis la restricción proxy de pacolan, con la condición «permmitir», y la subis con las flechas de la tabla por encima de denegar all.

8º. Le dais a limpiar y reconstruir cache, y reiniciais squid.