analytics

martes, 31 de marzo de 2009

Instalar Apache, PHP y Mysql en un comando

Mucha gente me pregunta por esto, pues podré la solución, para los que estéos leyendo desde gentoo slackware o derivados, siento comuncaros que tendréis que usar este otro manual, esto solo funciona para los de Debian y derivados:

#sudo apt-get install apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql && /etc/init.d/apache2 restart

Nos preguntará que password le queremos pone al usuario de la base de datos y listo.

ACL, ¿Cómo usarlas?

Todo el mundo conoce los permisos de Linux, divididos en tres categorías:

  • Usuario

  • Grupo

  • Otros, el resto vamos


Para un usuario domestico con estos permisos va sobrado, pero para un entorno profesional con múltiples usuarios esto seguramente sea insuficiente. Si queremos que los operadores solo crean usuarios, no tiene sentido darles permisos de root.
Tendremos 2 comando indispensables, con lo que manejaremos todo.

  • getfacl: vemos que acls tenemos asignadas

  • setfacl: modificamos acl


Ejemplo, vamos a crear un archivo llamado test con el que veremos las acl:

#touch test

Ver que acl tiene:

#getfacl test
# file: test
# owner: isma
# group: users
user::rw-
group::r--
other::r--

Ahora vamos a asignar al usuario juan permisos de escritura:

#setfacl -R -m u:juan:rw test (-R de forma recursiva -m de modificar)

#getfacl test
# file: test
# owner: users
# group: root
user::rw-
group::r--
group:operaciones:rw-
other::r--

Esto es ideal para Samba o NFS, recordemos que si estamos en un entorno corporativo, siempre tendremos un LDAP a mano con una buena lista de usuarios listos para aumentar nuestra seguridad.

jueves, 26 de marzo de 2009

Mensaje de bienvenida

Cuando nos conectamos por ssh o iniciamos sesión (en modo consola), nos aparecen mensajes en plan:

Have a lot of fun..
o
Linux 2.6.27
o
Debian GNU
....

Pues hoy vamos a ver como cambiarlos. Solo hay que editar un fichero.

#vi /etc/motd

Y ponemos lo que queramos.

Resolver nombres de maquinas windows

Si nos encontramos en la red de la oficina, tendremos el problema de que el 80% o más son equipos windows, y en una red de 500 equipos saberse el nombre de las ips solo esta al alcanze de muy pocos.

A priori nuestro linux no resuelve el nombre de un equipo windows, así que hay que ayudarle un poco, Tenemos dos metodos de hacerlo.

Metodo A

Añadir en el archivo "/etc/hosts" ip y maquina, esto en una red de casa va sobrado, pero si tenemos 500 equipos estamos perdidos, un ejemplo de este fichero sería:

127.0.0.1 localhost linuxadmin

10.100.25.25 linuxadmin

10.100.25.26 pepito

Metodo B

Instalar el paquete windbind, si vamos por respositorios pues adelante apt-get o yast o x

Y modificar el archivo siguinte:

#vi /etc/nsswitch.conf

localizar la linea:

hosts:          files mdns4_minimal [NOTFOUND=return] dns (Esta es mi linea, utilizo Suse, en otras distros a lo mejor no aparece NOTFOUND)

y añadirla despues de files la palabra wins, quedaría así:

hosts:          files wins mdns4_minimal [NOTFOUND=return] dns

Pues ya lo tenemos guardamos, cerramos y probamos el ping a una maquina de nuestra red.

lunes, 23 de marzo de 2009

Crear un raid 5

Decidido a empezar con el servidor de correo, me encuentro con la necesidad de crear un raid.

¿Para que nos vale el raid?

Por que todo el mundo sabe que los disco duros no duran eternamente, así pues tenemos que tener los datos bien guardados.

¿Que necesitamos?

3 discos duros mínimo para el raid 5, cabe aclarar que es necesario 3 particiones, pero seria un poco tonto tener un raid 5 en un disco duro único, pero podéis probarlo para ver que funciona.

Que el tamaño de las particiones sea exactamente igual en los tres.

¿Limitaciones?

Por supuesto, escritura lenta si escribimos datos pequeños, si se nos caen 2 discos estamos perdidos y por ultimo perdemos un tercio de la capacidad total de los tres discos.

Empezamos:

Vamos a suponer que estos son los discos, nos aseguramos de que ninguna partición de las que queremos agregar al raid esta montada

  • /dev/sdb1

  • /dev/sdc1

  • /dev/sdd1


Tenemos las particiones, en mi casa son 3 particiones de 78 gb cada una. Ahora el comando mágico: ( creamos /dev/md0 con un raid5 y con 3 unidades)  es mdcero, que el cero sale mal

#root@correo:~# mdadm --create /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: /dev/sdb1 appears to contain an ext2fs file system
size=156295936K  mtime=Mon Mar 23 15:48:35 2009
mdadm: /dev/sdb1 appears to be part of a raid array:
level=raid5 devices=3 ctime=Mon Mar 23 15:25:29 2009
mdadm: /dev/sdc1 appears to be part of a raid array:
level=raid5 devices=3 ctime=Mon Mar 23 15:25:29 2009
mdadm: /dev/sdd1 appears to contain an ext2fs file system
size=156295936K  mtime=Mon Mar 23 15:48:35 2009
mdadm: /dev/sdd1 appears to be part of a raid array:
level=raid5 devices=3 ctime=Mon Mar 23 15:25:29 2009
Continue creating array?yes
mdadm: array /dev/md0 started.

Ahora formateamos a ext3 nuestro raid

#mkfs -t ext3 /dev/md0

Y lo montamos:

#mkdir /mnt/raid && mount /dev/md0 /mnt/raid

Primero creo la carpeta de montaje y si sale bien lo monta. Ahora podemos hacer un "df -h" para ver lo que tenemos.

sábado, 21 de marzo de 2009

Instalar Drupal en Slackware

Partimos de instalación full en Slackware, no es necesario el escritorio por que trabajaremos desde consola.

Preparando el sistema:
#chmod +x /etc/rc.d/rc.mysql
#chmod +x /etc/rc.d/rc.httpd

Comprobamos con:
#v /etc/rc.d/

El comando “v” en Slackware, es como escribir “ls -l”


Apache:

Activar php en apache:
#vi /etc/httpd/httpd.conf

Y decomentar la linea que pone: #Include /etc/httpd/mod_php.conf, debe de quedar así:
Include /etc/httpd/mod_php.conf

También aprovechamos para cambiar el index, buscamos index.html y lo cambiamos por index.php, lo hemos cambiado por que php por que la pagina de inicio de drpal se llama index.php
Guardamos y cerramos.

Mysql

Inicialización del servicio mysqld.
Antes de poder iniciar el servicio de mysql tendremos que tener una base de datos, para instalar una base de datos inicial se deberá de hacer esto como root:
# su - mysql
# cd /var/lib/mysql
# mysql_install_db

Preparing db table
Preparing host table
Preparing user table
Preparing func table
Preparing tables_priv table
Preparing columns_priv table
Installing all prepared tables
050418 22:23:27 /usr/libexec/mysqld: Shutdown Complete

To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h jamedina password 'new-password'
See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory:
cd sql-bench ; perl run-all-tests

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at https://order.mysql.com

Esto de arriba es más o menos la salida que nos dará el comando anterior

Ahora si podremos iniciar el servicio de mysql
# /etc/rc.d/rc.mysqld start
Starting mysqld daemon with databases from /var/lib/mysql

Pulsamos Enter para ir al promt otra vez.

Escribimos exit por que estamos en la cuenta de mysql:
#exit

Ahora yo recomiendo reiniciar los 2 servicios, el de apache y el de mysql.
#/etc/rc.d/rc.httpd restart && /etc/rc.d/mysqld restart

Apache por defecto guarda las paginas en /var/www/htdocs.

Nos situamos en ese directorio:
#cd /var/www/htdocs

Eliminamos cualquier contenido que halla:
#rm -r * (esto es si solo lo dedicaremos a drupal)

Bajamos el paquete: (a día de hoy están por la versión 6.10)
#wget http://ftp.drupal.org/files/projects/drupal-6.15.tar.gz

#tar xvf drupal-6.15.tar.gz

#cp -ra drupal-615/ .

#rm -r drupal-6,15* (esto nos borra la carpeta drupal, y el archivo descargado)

Mysql por defecto arranca can la contraseña “new-password”, pues deberemos cambiarla, también quiero añadir que el usuario root de mysql no tiene nada que ver con el usuario root del sistema, así que si cambiamos la contraseña en la base de datos no afecta al sistema. Pues vamos a cambiarla
#mysqladmin -u root new-password linuxadmin

La contraseña nueva es linuxadmin.

Creamos una base de datos nueva, yo la llamaré drupal:
#mysqladmin –u root –p create drupal (nos pedira la password)

#mysql –u root –p

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER
ON drupal.*
TO 'root'@'localhost' IDENTIFIED BY 'linuxadmin';
mysql>quit

Pues en mysql hemos acabado. Ahora hay que decirle a drupal donde esta mi base de datos mi usuario y contraseña, así que vamos a ello:
#vi /var/www/htdocs/sites/default/settings.php

Buscamos la linea:
$ db_url = “mysql://usuario:contraseña@localhost/drupal”;

y la sustituimos por esta:
$ db_url = “mysql://root:linuxadmin@localhost/drupal”;

Miramos que el archivo settings.php para otros tenga solo permiso de lectura.

Ahora tenemos que crear una carpeta que nos pide el Drupal
#mkdir var/www/htdocs/sites/default/files

#chmod o+w var/www/htdocs/sites/default/files

Y por ultimo añadimos una tarea al cron.php
#crontab -e

y pegamos esto:
0 * * * * wget -O - -q http://linuxadmin.es/cron.php

Guardamos y cerramos

Sustituimos linuxadmin.es por tu host o una ip

Abrimos el navegador y entramos en:
http://host.donde.le.hemos.instalado

Y listo, nos pregunta por el nombre de usuario, el nombre del titulo, una password y listo. Ya tenemos nuestro drupal configurado, ahora solo falta llenarlo de contenido.

jueves, 19 de marzo de 2009

Hacer ping consecutivos

Para saber que maquinas nos responden al ping, necesitamos el comando nmap, seguramente lo encontrareis en vuestros repositorios, pero para los que quieran el fuente dejo el enlace. Descargar código fuente.

Ping a una red con mascara 24:

#nmap -sP 192.168.0.0/24

Ping a un rango de ip's, en este caso de la 2 a la 50

#nmap -sP 192.168.0.2-50

También hay aspectos que influyen, tener firewall, icmp desactivado y demás, pero aún así nos dará una idea de lo que tenemos.

miércoles, 18 de marzo de 2009

Solución al error "No buffer space available"

Esta mañana al encender el pc y hacer un ping a un equipo de mi red, me encontré con este error: No buffer space available
Así que pongo la solución y ya me contáis si funciona o no:

#ifconfig eth0 down (cambiad eth0 por el que corresponda)
#sleep 1
#ifconfig eth0 up (levantamos la red)

¿Esto por que pasa?
Por una mala tabla de rutas, por que la tarjeta de red este pidiéndote que la cambies o por simple saturación de red.

lunes, 16 de marzo de 2009

Detectar rootkit en nuestro sistema

Nadie esta salvo de esto, los rootkits son programas que esconden a otros programas maliciosos, o por lo menos ese es el fin más comun, desde robarnos información, hasta controlar el servidor.

A simple vista es difícil o prácticamente imposible saberlo, ya que nos oculta cosas del top o del ps -ef por ejemplo. Por eso os presento chkrootkit.A día de hoy la ultima versión estable es la 0.48.

Lo descargamos:

#wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

#tar -xvf chkrootkit.tar.gz

#cd chkrootkit-0.48

#make ( Este no lleva configure ni make install, así que nos crea el ejecutable en la carpeta en la que estamos trabajando)

#./chkrootkit (como root por que tiene que entrar en carpetas del sistema)

Ahora nos saldrá algo así:

isma@linux-aouo:~/Desktop/chkrootkit-0.48> sudo ./chkrootkit
root's password:
ROOTDIR is `/'
Checking `amd'... not found
Checking `basename'... not infected
Checking `biff'... not found
Checking `chfn'... not infected
Checking `chsh'... not infected
Checking `cron'... not infected
Checking `crontab'... not infected
Checking `date'... not infected
Checking `du'... not infected
Checking `dirname'... not infected
Checking `echo'... not infected
Checking `egrep'... not infected

...

Checking `slapper'... not infected
Checking `z2'... chklastlog: nothing deleted
Checking `chkutmp'...  The tty of the following user process(es) were not found
in /var/run/utmp !
! RUID          PID TTY    CMD
! root         2233 tty7   /usr/bin/X -br -nolisten tcp :0 vt7 -auth /var/lib/xdm/authdir/authfiles/A:0-eqQ83V
chkutmp: nothing deleted
isma@linux-aouo:~/Desktop/chkrootkit-0.48>

Parece todo limpio, si eres un experto en esto te aconsejo ejecutar:

#./chkrootkit -x

A mi con que me ponga que no esta infectado me vale, pero siempre hay gente que busca algo más.

jueves, 12 de marzo de 2009

KDE 4.2.65

Al hacer mi sistema que fuese una beta pura, solo hay que ver mi versión de kde (4.2.65), añadiendo repositorios y demás, me encuentro con esta magnifica ventana:

vista

Por surte solo me lo pidio una vez, pero la cara que se me quedo al principio fue para foto. Creia que tenía un Vista ante mis ojos.

Linea del tiempo de Linux (actualizada)

Versión 9.2, me enorgullece ver a Slackware aguantando. En cuanto a ramificaciones, Debian se lleva la palma, con ese gestor de paquetes cualquiera la tose.

De lo que me doy cuenta es que  no he probado ni la mitad de las distros que aparecen, pero bueno tiempo al tiempo.

enlace

lunes, 9 de marzo de 2009

Slax en Acer Aspire One

Hace tiempo que hable que me había comprado un notebook compaq mini, pero esta semana le cambie por un acer aspire one, que tiene más disco duro, salida vga y mas barato.
Total que estuve con el XP unos días pero enseguida vi que le tenia que cambiar por linux. Primero le metí Ubuntu 9.04, si arranca muy rápido pero no iba como quería , así que me duro poco, me baje una Slax, (basada en slackware 12.2) Es una distro de unos 200 mb con lo básico pero a la que se le van añadiendo modulos, como openoffice, driver y muchísimas cosas más, la vi la distro ideal para este tipo de portátil. Dejé que unebootin me bajara Slax el mismo y todo fuera mas automático. Esta distro no tiene un gestor de particiones, así pues antes os tocara meter un gparted o similar.
Supongamos que con el gparted tenemos toda la estructura de particiones hecha, pues ahora con unebootin metemos slax en un pendrive, lo enchufamos en el acer, encendemos el equipo y pulsamos F12 para elejir desde donde queremos bootear, en nuestro caso desde el pendrive, yo lo hice con un mp3 de 256mb. Una vez iniciado el sistema, vemos que no nos funciona la wifi, pero eso ahora no nos importa.
Todas las distros live-cd tienen un Instalar en el escritorio o perdido por algún menú, pero esta no, así que hay que copiar el contenido del pendrive al disco duro local, nos aseguramos de montar el disco duro en modo escritura
mkdir /media/destino && mount /dev/hda1 /media/destino -o rw (por si acaso no lo ha montado)
Y con el Konkeror copiamos el contenido del pendrive al disco duro, esta vez no nos complicamos con la consola.
Ahora vamos a instalar el gestor de arranque asi que vamos a una carpeta que se llama boot dentro del disco duro local y ejecutamos el liloinst.sh y listo
Reiniciamos el portátil sin pendrive nos debe de arrancar perfectamente si no hay algo mal, no te asustes, esta en modo consola.
ejecutamos:
#xconf
#vi /etc/inittab
modificamos el id:3:xxx por id:4:xxx #esto es para cambiar los niveles de ejecución
#init 6 #Ahora arrancara en modo gráfico
Módulos que nos haran falta:

Una vez descargado los 3 archivos vamos al menu KDE > System > Slax module manager y los agregamos.

Reiniciamos para asegurarnos y nos debe de funcionar todo. La wifi la gestionamos con Wlanssistant.

jueves, 5 de marzo de 2009

Ubuntu 9.04 mis impresiones

Esta semana me dio por probar el ext4 y por no liar la parafernalia de compilar el kernel y mil historias más, me puse la Ubuntu 9.04 la alpha5, que arranca como una bala, pero para los que llevamos un tiempo en esto, sabrán que le sobrá la mitad.

En la instalación por defecto han metido el compilador gcc y las fuentes del kernel, (para mucha gente algo básico) espero que lo mantengan. Algo que tienen que cambiar es que hay mil cosas activadas que nunca usaremos, como por ejemplo: bluetooth, wifi, a un equipo de sobremesa no le hace falta eso. Total que te tiras un buen rato optimizando. Pero al fin y al cabo es la que más atrae al publico asi que veo normal que tenga todo activado, para los que vienen de windows.

De momento viendo la trayectoria de Ubuntu en las ultimas versiones, no espero mucho de esta, aunque probaré la versión final como todo el mundo.  No es una distro que se base en la robustez como Debian pero funciona casi todo el hardware a la primera y eso lo valora la gente.

Aconsejable para los iniciados y para los que no se quieren complicar cada vez que instalan un paquete con apt-get. De todas formas probaré esta versión en mi notebook a ver como va en cuanto me sea posible.

lunes, 2 de marzo de 2009

Descargas ilimatadas desde Rapidshare y otros

Me he dado cuenta, que utilizando tor y privoxy, (el howto lo teneis aquí, aunque ponga Slackware, sabeis que vale para todas las distros)  Podemos hacer descargas ilimatadas desde rapidshare megaupload y demás, no a velocidades de vertigo, pero funciona.

¿Por qué funciona?

Digamos que todo el que usa tor se une a una red, los paquetes se van camuflando por cada equipo haciendo invisible nuestra ip. Rapidshare y esos capturan nuestra ip publica para que no  podamos volver acceder en X tiempo.

¿Y como lo hago funcionar?

Fácil, con la extension torbutton, cada vez que activamos el proxy saldremos por una ip diferente por así decirlo, así pues rapidshare capturara una ip falsa que no es la nuestra y nos dara acceso sin esperas de horas.

Openthinclient se actualiza

Para quien no sepa quien es, es un software multiplataforma (gracias a Java) que hace de servidor a equipos remotos (no haría falta disco duro). Se mejora el soporte LDAP entre otras cosas, y añade OpenOffice, actualización recomendable. Más info aquí