Archive for May, 2009

Curs administració de sistemes GNU/Linux. Sessió 46. 29 de maig de 2009

Muy buenas, por fin es viernes!!! :-)

Que no va de kernels, tranquilos. Sigamos con el tema de ayer dónde nos quedamos. La idea sería instalar wordpress, mediawiki, y pelearnos con ellos, configurarlos, utilizarlos cómo herramientas de aprendizaje una vez el curso haya acabado (recordadme que os explique lo de la “rueda del aprendizaje”).

* Pues eso. Ayer nos quedamos en la creación de la base de datos (lo hicimos todos). Sin embargo, no había manera humana de casar el tema con el wordpress. Recordemos los pasos. Habíamos instalado mysql-server y le habíamos dado una contraseña al servidor de mysql-server. Acto seguido habíamos instalado phpmyadmin. Nos ha costado entrar en phpmyadmin. Ahora pensándolo bien porqué? (no me matéis) porque yo os había dicho que se podía instalar mysql-server y phpmyadmin en orden indistinto. Pues no. Mejor primero el mysql-server primero (con su password durante la isntalación) y después el phpmyadmin (entramos con el user root (del mysql-server) y la pass QUE LE HEMOS PUESTO AL MYSQL-SERVER). (Es importante recordarse de las contraseñas que ponemos, sino, apaga y vámonos).

Por tanto, entramos en el phpmyadmin, creamos un usuario del mismo nombre que su base de datos y le indicamos una contraseña: Vamos a “Permisos -> Afegir un usuari nou” Le damos un nombre y le colocamos dos veces la contraseña. Acto seguido le decimos que cree una base de datos del mismo nombre que el usuario. Marcamos todos los permisos y ejecutamos. Tendremos las bases de datos creadas, y las veremos en la parte izquierda del navegador.

Acto seguido vamos a la web de wordpress (Wordpress.org) clicamos en download y nos pasa a otra pantalla donde con el botón derecho copiamos la dirección que nos queremos bajar. Vamos a la terminal y nos colocamos como superusuario (a estas alturas ya sabéis cómo hacerlo). Acto seguido, nos colocamos en el directorio /var/www (lo mismo, deberíais saber cómo hacerlo y si no, sería vuestra obligación consultar en los apuntes cómo se hace).

Una vez dentro de /var/www como superusuario que tendremos que hacer? bajarnos el wordpress.

/var/www# wget http://wordpress.org/latest.tar.gz

Acto seguido, si hacemos ls, veremos cómo se ha bajado el wordpress en nuestro directorio /var/www.

El siguiente paso cuál será? pues descomprimir el wordpress.

/var/www# tar -zxvf latest.tar.gz

Y nos creará un directorio wordpress dentro de /var/www. Para aclararnos, le podemos cambiar de nombre:

/var/www# mv wordpress blog

Y ahora vamos a nuestro navegador y vemos qué pasa ¿cómor? pues yendo a http://localhost/blog. Ésto se pone no en la barra de búsquedas, sino en la barra de direcciones del navegador, que es aquello grande que hay justo abajo de los menús del navegador.

Veremos qué nos dice que no puede continuar con la instalación porque falta el fichero wp-config.php. Lo crearemos de una manera muy fácil, copiando el wp-config-sample.php que tenemos en nuestro directorio blog en wp-config.php.

/var/www/blog# cp wp-config-sample.php wp-config.php

Vale. El siguiente paso es editar el fichero wp-config.php y introducir los datos generados anteriormente. Cómo? Ejemplo: editando los campos DB_NAME, DB_USER y DB_PASSWORD, y introduciendo el nombre de la base de datos y el usuario (mismo nombre) que hemos generado con el phpmyadmin, y acto seguido la password que hemos introducido en nuestra base de datos.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wp_home');

/** MySQL database username */
define('DB_USER', 'wp_home');

/** MySQL database password */
define('DB_PASSWORD', 'srebrenica');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

(Atención: esta operación hay que realizarla como superusuario. Utilizar Vim, o alguno de los editores que hemos utilizado a lo largo del curso. O gedit COMO SUPERUSUARIO) (Hay que dejar las comillas tal cómo están)

Acto seguido, al menos a mí, en mi ubuntu casera, simplemente funciona. Le añadimos un título y una dirección de correo, y al loro ahora; nos saldrá un usuario admin y una contraseña. Copiar esa contraseña como si fuera lo más sagrado, porque habrá que ponerla por narices en el wordpress para entrar la primera vez.

Una vez dentro, veamos cómo:

* añadir usuarios y elegir un perfil adecuado para ellos.

* añadir un tema diferente al wordpress.

* añadir algún plugin al wordpress.

* Ahora vamos a hacer lo mismo pero con nuestra amigo mediawiki.

Toooooooda la parte de phpmyadmin no la voy a repetir, ya la hemos visto. Vamos a nuestro phpmyadmin y le creamos una base de datos con su usuario y una contraseña. Vamos al web de mediawiki y nos descargamos mediawiki (atención, desde /var/www y cómo superusuarios).

/var/www# wget http://download.wikimedia.org/mediawiki/1.14/mediawiki-1.14.0.tar.gz

Ya sabemos cómo va, no? se descarga y acto seguido, evidentemente descomprimimos :)

/var/www# tar -zxvf mediawiki-1.14.0.tar.gz

(veremos que el fichero resultante “pesa” bastante más que el wordpress anterior)

Movemos el directorio mediawiki-1.14.0 a un simplemente wiki.

/var/www# mv mediawiki-1.14.0 wiki

Atención que aquí es cuando comienza a variar el proceso. Vamos al navegador y en la barra de direcciones colocamos “http://localhost/wiki”.

Nos saldrá una pantalla que nos pondrá antes que nada Setup. Clicamos y nos dice que “In order to configure the wiki you have to make the config subdirectory writable by the web server. Once configuration is done you’ll move the created LocalSettings.php to the parent directory, and for added safety you can then remove the config subdirectory entirely.“. Nos pone incluso cómo hacerlo, al menos lo primero.

Pues hagámos lo primero que nos pide. Entramos dentro del subdirectorio wiki (ya sabéis cómo, espero) y acto seguido añadimos los permisos de escritura al directorio config.

/var/www/wiki# chmod a+w config

Acto seguido viene la pantalla del horror, dónde nos vamos a estar un rato (probablemente). Estos campos los discutiremos uno por uno. Pero son bastantes autoexplicativos.

Una vez instalado habrá que mover LocalSettings del directorio config al directorio anterior.

/var/www/wiki# mv config/LocalSettings.php LocalSettings.php

Y voilá, ya tenemos nuestro mediawiki instalado en local :-) ))

Una vez instalado qué haremos? pues simplemente explicar cómo editar, y (interesante interesante) cómo hacer las páginas ocultas para gentes ajenas :-)

,

No Comments

Curs administració de sistemes GNU/Linux. Sessió 45. 28 de maig de 2009

Muy buenas.

Antes que nada una previa. Sí, teníais razón :-) , en el sentido de que realmente el curso se acaba antes de lo que nosotros nos pensábamos. Esto tiene ventajas y inconvenientes. Entre las ventajas figura el solecito, más tiempo libre, etc :-) , entre las desventajas está que no vamos a dar todos los servicios de red que consideramos en un primer momento dar. Bien. Sí os habéis fijado en el guión del programa, este programa es un programa de máximos. Yo creo que de todas maneras hemos dado muy buena parte del temario (70-75%?), pasa que va a haber muchas cosas que no se van a dar con la profundidad que teníamos ideada en un primer momento. En cualquier caso, éste es un curso de administración de sistemas GNU/Linux, no de servicios de red, por lo que se podría considerar que estas cosas que estamos dando son como “de regalo”. Y había que tener en cuenta que el nivel de los alumnos era algo desigual. De todas maneras yo estoy muy contento de cómo está yendo el curso.

Despues del “disclaimer” viene la parte siguiente, la parte de evaluación, que la hay, y ni podemos ni la queremos evitar. Esta evaluación se llevará a cabo el próximo martes dos de junio. Será una prueba de unas dos horas de duración y consistirá en una serie de preguntas tipo test, una serie de preguntas no tipo test y unos ejercicios prácticos. Se nos entregará antes de ir a tomar el café, y al retomar la clase se corregirá. Este examen se realizará con los apuntes, material de consulta, google, etc… delante, quiero decir, exactamente igual que si tuvieráis que solucionar un problema en un entorno real. Que nadie se ponga nervioso que nosotros estaremos por allá exactamente como hemos hecho durante el resto del curso.

Una de las posibilidades que estamos barajando para poder continuar con el aprendizaje una vez completado el curso es simplemente montaros un blog en targz.net, registrar a los usuarios de vosotros que lo soliciten y que podamos continuar intercambiando conocimientos y publicando enlaces interesantes, chuletas, etc. A ver qué os parece la idea.

Vamos con la clase de hoy, propiamente dicha:

* En la primera parte de la clase, lo que haremos será instalar el servidor web apache2 y el lenguaje de programación web PHP5 y comprobaremos que funciona. Hasta ahora nosotros ya hemos visto cómo abrir los puertos del router. Quien tenga abierto el puerto 80 del router de su casa para apache y el 22 (el que por defecto utiliza ssh) y tiene su router doméstico perfectamente configurado e incluso con un dominio dinámico, puede intentar ésto contra el servidor doméstico de su casa. El resto lo haremos en local.

Lo primero que haremos será por tanto, instalar apache2:

$ sudo aptitude install apache2

Una vez instalado, si vamos a nuestro navegador (firefox / epiphany) y en la barra de navegación introducimos http://localhost, que veremos? una cosa así, no?

Ejercicio 1: editar una mínima página web y poderla visibilizar en nuestro navegador.

Para hacer ésto, haremos los pasos siguientes:

1.- Editaremos con el bloc de notas un fichero que se llame index.html.

$ sudo gedit index.html

2.- Añadiremos el siguiente contenido al fichero index.html:

<html>

<head><title>prueba</title></head>

<body><h1>Prueba</h1></body>

</html>

3.- Dado que estamos como superusuarios, lo guardamos en el directorio /var/www/index.html (todo lo que queramos que se vea en el navegador se colgará aquí). Si ponemos index.html no hafá falta poner más que localhost y/o el nombre del dominio que hayamos adquirido y que enlaze aquí.

4.- Os tendría que salir una cosa así:

* El siguiente paso cuál será, instalarnos el lenguaje de programación interpretado php5. Para hacer ésto, bastaŕa hacer:

$ sudo aptitude install php5

Una vez realizado ésto lo que haremos es comprobar si funciona correctamente (y de paso, visualizaremos la potencia de php):

Ejercicio dos: instalar php5 y comprobar que funciona correctamente en nuestro navegador

- El primer paso una vez instalado será utilizar el editor y crear el siguiente fichero: prova.php.
$ sudo gedit /var/www/prova.php

- Y introducimos el texto siguiente (al lorito de escribirlo bien):

<?php

phpinfo();

?>

- Una vez realizado ésto, lo guardamos

- Reiniciamos apache:

$ sudo /etc/init.d/apache2 restart

- Y acto seguido, que hacemos? pues vamos a nuestro navegador y ponemos en la barra de direcciones: http://localhost/prova.php

.

Fijémonos que en esta pantalla nos pone un montón de información sobre nuestra página web con apenas 3 ridículas líneas de código, de las cuáles dos son de inicio/final del fichero. He aquí la potencia de php.

* En la segunda parte de la clase, veremos de instalar los gestores dinámicos de contenidos.  Veamos diferentes ejemplos de gestores dinámicos: drupal, joomla, wordpress. De hecho, vosotros estáis utilizando cada día aquí un gestor dinámico de contenidos: ésto mismo que estáis leyendo es un wordpress que instalamos josean y yo.

Para poder instalar un wordpress, lo que tendremos que hacer será lo siguiente:

- En primer lugar instalar mysql-server y phpmyadmin

$ sudo aptitude install mysql-server phpmyadmin

Aquí habrá que “smanettare” un poco como dicen los italianos (teclear un poco, vaya).

Y el resto os lo explico en clase poc a poc que me ha pillado el toro hoy :-)

,

No Comments

Curs administració de sistemes GNU/Linux Sessió 43. 26 de maig de 2009

<!– @page { size: 21cm 29.7cm; margin: 2cm } –>Gimme a shell!!

SSH

primero de todo # man ssh :)
SSH (Secure SHell, en español: intérprete de órdenes seguro) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un Servidor X (en sistemas Unix y Windows) corriendo.

Además de la conexión a otras máquinas, SSH nos permite copiar datos de forma segura (tanto ficheros sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir claves al conectar a las máquinas y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH.

Extraido de wikipedia: http://es.wikipedia.org/wiki/Secure_Shell

Instalando y configurando un servidor SSH

seguiremos el tutorial de entre tuxes y pepinos: http://tuxpepino.wordpress.com/2007/05/11/ssh-el-dios-de-la-administracion-remota/

cosas que veremos:
- Configurar servidor y cambiar puertos
- Permitir exportar las X
- Uso de scp : copiando a distancia
- ssh desde Gnome

Usando SSHFS
Montando unidades remotas

http://tuxpepino.wordpress.com/2007/05/14/%C2%BFconocias-sshfs/

añadir a fstab
http://crysol.inf-cr.uclm.es/node/99

evitar que nos pida claves mediante el metodo de compartir clave privada
http://crysol.inf-cr.uclm.es/node/6

http://www.es.debian.org/devel/passwordlessssh
Utilizando gftp como visor ssh
http://tuxpepino.wordpress.com/2007/05/20/%C2%BFconocias-gftp/

Ejercicio:

1- Añadir al archivo /etc/host las ips de la clase
2- Crear un usuario cem con password cem en cada maquina
3 – Conectar a una máquina remota desde ella saltar a otra y desde esta última conectar a la maquina origen
4 – Conectar a la maquina del profe y ejecutar un programa gráfico
5 – Desde Gnome ver las carpetas del usuario cem
6 – Usando sshfs montar la carpeta cem en mi mñaquina
7 – Explorar las carpetas de cem usando gftp
8 – Usando scp copiar el archivo .iso que está en el escritorio cem de mi mñaquina a tu escritorio
9 – Crea un archivo con tu nombre y copialo desde tu maquina a mi escritorio
10 – Cambia el mensaje de bienvenida de tu servidor ssh y el puerto al 666
11- Monta la carpeta de usuario cem para que sea una carpeta de tu sistema editando fstab
12 – Alade la clave privada para que no te pida contraseña

1 Comment

Curs administració de sistemes GNU/Linux Sessió 42. 25 de maig de 2009

Hoy vamos a aprender como configurar de manera permanente a través de un fichero nuestras interficies de red. Para ello editaremos el fichero de configuración de redes que se encuentra en /etc/network/interfaces. Vamos a repasar tb los 20 ejercicios que os deje para realizar durante el fin de semana (los resolveremos conjuntamente en durante la clase).
Una vez vista la configuración vamos a realizar 2 ejercicios:
Configurar la red de CEM –>
el archivo /etc/network/interfaces con lo, eth0 por dhcp y eth1 con ip fija en el rango de ips de la red y acabada en el número de nuestra máquina (el numero escrito en la torre)
el archivo /etc/resolv.conf añadiendo las dns de opendns
el archivo /etc/host añadiendo casa a la ip local y un enlace con las máquinas del resto de la clase (p.ej ordenador 58 -> 192.168.1.58)
reiniciaremos /etc/init.d/networking restart y comprobaremos con ifconfig, route y ping la configuración de las diferentes interficies de red.
Configurar la red en casa:
1. EL router y puerta de enlace en el 192.168.1.1
2. El dchp dando conexiones a partir de 192.168.1.100
3. Configuraremos las conexiones ethernet para recibir una IP fija entre el 192.168.0.2 < 192.168.1.100 mediante el archivo /etc/network/interfaces
4. Configuraremos las conexiones inalámbricas para recibir IP por DHCP
5. Añadiremos a /etc/hosts los nombre de las diferentes máqyuinas de la red
6. Añadiremos a resolv.conf los servidores dns de opendns
7. Abriremos los puertos del router o dirigiremos las conexiones externas al servidor dentro de nuestra red
8. Configuraremos un servicio tipo dyndns que apunte a nuestra red doméstica

==================

El archivo /etc/network/interfaces

El archivo que contiene la configuración de las interfaces de red es /etc/network/interfaces, y contendrá una sección por cada interfaz de red a configurar. Veamos cómo se configuran las interfaces de red más habituales:

  • Loopback o interfaz de retorno: dirección IP 127.0.0.1. El archivo /etc/network/interfaces incluirá la sección:
    auto lo
    iface lo inet loopback
  • Ethernet: el archivo /etc/network/interfaces incluirá líneas similares a:
    auto eth0
    iface eth0 inet static
        address 192.168.0.2
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

    Los parámetros son:

    • static: IP estática. Si en la LAN hay un servidor DHCP y tenemos IP dinámica, pondremos dhcp.
    • address (dirección IP de la máquina en la LAN): cada interfaz de red conectada a una red IP es identificada por una IP única de cuatro bytes (32 bits). El rango de IPs reservadas para LAN es de 192.168.0.0 a 192.168.255.255
    • netmask (máscara de red de la LAN): es un número que establece qué parte de la IP de un host corresponde a la red y qué parte corresponde a la máquina. También nos indica la cantidad máxima de equipos que podemos tener en nuestra red.
    • network (dirección IP de la LAN): es la parte de la IP de la máquina común a todas las máquinas de la red.
    • broadcast (dirección de difusión): es la IP a la que se mandan los paquetes que deben recibir todas las máquinas de la LAN. Todas las máquinas de la red escuchan la dirección de broadcast además de la suya propia.
    • gateway (dirección de pasarela o puerta de enlace): es la IP de la máquina de nuestra LAN a través de la cual salimos hacia el exterior. Un gateway es una máquina que tiene dos intefaces de red (una tarjeta conectada a nuestra LAN y la otra conectada a una red exterior), cada una de ellas con una IP, la que le corresponda en esa red. La IP del gateway suele ser la primera IP disponible (192.168.1.1) o la última (192.168.1.254).
  • Modem: en el caso de los modem, los comandos ifup y ifdown actúan como un frontal de los comandos pon y poff para activar y desactivar las interfaces PPP. Si incluimos en el archivo /etc/network/interfaces la sección:
    iface ppp0 inet ppp
        provider mi_isp
  • el comando:
    # ifup ppp0

    ejecutará:

    # pon mi_isp

configuracion wifi

Suponiendo que tras ejecutar iwconfig nuestra interficie de red sea eth1

Editamos el fichero /etc/network/interfaces ejecutando la instrucción gedit /etc/network/interfaces/ y añadimos al final del fichero las siguientes líneas:

    Caso DHCP:
    auto eth1
    iface eth1 inet dhcp
    wireless_essid nombre_de_la_red
    wireless_key "s:contraseña"
    Caso IP Fija:
    auto eth1
    iface eth1 inet static
    address x.x.x.x
    netmask x.x.x.x
    gateway x.x.x.x
    wireless_essid nombre_de_la_red
    wireless_key "s:contraseña"

Configuración con ndiswrapper

Para proceder a la configuración, en primer lugar, necesitamos descargar los controladores de su dispositivo WiFi directamente de la siguiente URL: http://ndiswrapper.sourceforge.net/phpwiki/index.php/List

En segundo lugar, necesitamos cargar por primera y única vez estos controladores escribiendo las siguientes instrucciones en una Terminal de Root (/Aplicaciones/Configuración/Terminal de Root):

ndiswrapper -i driver.inf ndiswrapper -i driver.sys

Por último, añadiremos esto al fichero /etc/network/interfaces:

auto wlan0 iface wlan0 inet dhcp pre-up modprobe ndiswrapper post-down rmmod ndiswrapper wireless_essid nombre_de_la_red wireless_key “s:contraseña”

configuracion cable

http://www.tldp.org/HOWTO/Cable-Modem/

Reiniciar los servicios de red

y luego reinicia la red con el comando ‘/etc/init.d/networking restart‘. Prueba nuevamente conexiones externas con ping.

Nombres DNS

Revisa si la definición del servidor de nombres de dominio (DNS) está correcta. Esta se encuentra en el archivo /etc/resolv.conf y debería decir algo así,

search servidordenombreslocal.com 202.89.70.31
nameserver 80.58.0.33

en dónde el valor de search debería ser el dominio de la red local. La entrada nameserver define el número IP del DNS. Este valor debe ser suministrado por el administrador de la red. Si haces modificaciones a estos valores reinicia la red con ‘/etc/init.d/networking restart‘.

Ejercicios del otro día

Al final del capítulo del miércoles pasado http://targz.net/blog/?p=684

No Comments

Curs administració de sistemes GNU/Linux Sessió 41. 22 de maig de 2009

Bon dia.

Durante la primera parte de la clase de hoy trataremos de acabar lo que ayer no pudimos hacer, por tanto, criptografía.. En primer lugar, truecrypt. Por tanto, iremos a una terminal y evidentemente que escribiremos? Pues…

$ truecrypt

Y se nos iniciará el programa Truecrypt. Podemos seguir este tutorial de aquí, por si no nos apeteciera seguir el que usábamos ayer. En cualquier caso, TODOS SABÉIS LEER EN CASTELLANO, (quien no sepa que me pregunte), lo digo porque hay un punto en el que realmente podéis hacer daño al sistema y es el siguiente: si vamos a la pantalla que pone “Truecrypt Volume Creation Wizard” y le diérais a la segunda opción, y eligierais una de las particiones existentes, os la cargariáis sin remedio. Yo quiero suponer que todos los alumnos que tengo en el curso son adultos y responsables y saben leer, por tanto no hace falta que insista en que la opción a usar en este punto es “Create a file container”. El que consiga cargarse la partición de linux de su sistema o peor aún, la de windows -con lo que se cargaría trabajo de otros estudiantes de otros cursos- tiene la expulsión del curso asegurada, al menos por mi parte. Por lo demás, lo que dijimos ayer, crear un fichero llamado “fichero”, darle 10 mb de tamaño y crearlo. Veremos después que lo único que tendremos que hacer es “montarlo” y usarlo, meter ficheros, quitarlos, etc.

* Gnupg. Aquí lo que haremos será primero ejecutar este tutorial (gnupg en principio está instalado por defecto tanto en debian como en ubuntu). Atención que este ejercicio lo haremos por parejas.

1.- Cada uno de vosotros generará su clave gpg, intercambiará su clave pública con el compañero, por ejemplo via mail. El compañero importará la clave pública de su pareja.

2.- Encriptaréis un texto de prueba con el destinatario vuestro compañero. Lo guardaréis en un fichero nombredelcompa.gpg (la extensión me la invento yo). Mejor que pongáis la opción armour, que no me olvide de comentaroslo :) . Se lo enviáis por mail.

$ gpg --output nombredelcompa.gpg --armour --encrypt --recipient arancha@nav.es docacifrar

3.- El compañero recibe el fichero adjunto con su nombre y extensión gpg. Lo descifra y ve su contenido.

$ gpg –output docacifrar2 –decrypt nombredelcompa.gpg

Complicado no? bien. Ahora si configuraramos la cuenta de correo de evolution o de thunderbird y intentaramos hacerlo desde ahí. Veriáis que diferencia.

* Parte 2. Introducción sencilllllliiiiita a  Apache (más información). Que es apache? es un programa servidor de internet, un programa que simplemente sirve páginas web. Repasemos en los enlaces anteriores que es apache y cómo funciona. Miremos en este enlace también, que contextualiza su historia y sus capacidades.

Instalación:

$sudo aptitude install apache2

Lanzar, detener.

$sudo /etc/init.d/apachectl [start|stop|restart]

Lanzemos apache y veamos que hace, abriendo el navegador y poniendo simplemente “localhost” en la barra de direcciones.

Instalación de php. Qué es PHP?

$sudo aptitude install php5

Creamos en /var/www/ un fichero que se llame phpinfo.php, y cuyo contenido sea:

<?php

phpinfo();

>

Observemos que hace cuando lo vemos en el navegador :)

, , ,

1 Comment