Subversion Ubuntu 12.04 / Debian 6.0.7

Instalación de un sistema de control de versiones. Practico para cuando sobre un mismo proyecto trabajan dos o más personas. O simplemente para poder llevar un control de lo que vamos modificando. Requisitos mínimos de instalación: apache2 En un terminal (el paquete subversion-tools no es del todo necessario, se puede omitir).

:~# apt-get install subversion subversion-tools libapache2-svn

Una vez instalado, debemos configurarlo. En el directorio /etc/apache2/mods-enabled/ está el archivo dav_svn.conf donde procedemos a configurar subversion. En el archivo disponemos de un ejemplo de configuración. Donde debemos ir descomentando las líneas que deseamos o simplemente borrar su contenido (mejor si hacemos copia de seguridad) y crear el nuestro propio. Un ejemplo de configuración con autenticación sería:

<Location /svn_test>

DAV svn

SVNPath /var/svn/svn_test

AuthType Basic

AuthName «Subversion Repository»

AuthUserFile /etc/apache2/dav_svn.passwd

Require valid-user

</Location>

Con esto tendremos un repositorio llamado test que se ubicará en /var/svn/test (seguramente no exista el directorio /var/svn, deberás crearlo). Las cuatro siguientes lineas son para la autenticación. Le indicamos que el tipo de autenticación será básico y una descripción del repositorio. AuthUserFile indica el archivo donde estarán los usuarios que podrán acceder al repositorio y Require valid-user fuerza a pedir usuario y contraseña. Con esto ya se encuentra seteado el archivo de configuración de subversion.

A continuación, crearemos el repositorio. Si el directorio /var/svn no existe debemos crearlo.

:~# mkdir /var/svn

Para a continuación crear el repositorio:

:~# svnadmin create /var/svn/svn_test

Todo seguido creamos la estructura básica de un repositorio de subversion:

:~# svn mkdir –message=»Setting up the directories…» \file:///var/svn/svn_test/trunk \file:///var/svn/svn_test/trunk/core \file:///var/svn/svn_test/trunk/docs \file:///var/svn/svn_test/trunk/misc \file:///var/svn/svn_test/tags \file:///var/svn/svn_test/branches

Especificar el propietario para acceder vía web y reiniciar el servidor:

:~# chown www-data:www-data /var/svn/svn_test -R

:~# service apache2 restart

Finalmente, falta crear los usuarios que podrán acceder a dicho repositorio:

:~# htpasswd -c /etc/apache2/dav_svn.passwd user

Usamos -c dado que el archivo /etc/apache2/dav_svn.passwd no existe, con esto, htpasswd lo crea e introduce el usuario que hemos indicado. Nos pedirá en dos ocasiones el password del usuario y ya tenemos el subversion configurado.

Importar al repositori del subversion:

:/var/www# svn import project_name http://xxx.xxx.xxx.xxx/svn_test/trunk/core -m ‘Initial import’

Descargar del repositori del subversion:

:/var/www# svn co http://xxx.xxx.xxx.xxx/svn_test/trunk/core name_project

Joomla 1.7 en Ubuntu 11.10

1. Creación de la maquina virtual (VM) para Ubuntu 11.10 (ubuntu-11.10-desktop-i386.iso).

2. (opcional) Configuración del router (home) para asignar una dirección IP propia a la MV mediante la identificació de la MAC.

3. Instalación del protocolo de seguridad SSH (:~# apt-get install ssh).

4. Configuración del protocolo de seguridad SSH per el usuario ‘root’:

– En Ubuntu, el usuario ‘root’ no tiene asignada ninguna contraseña, por tanto, debemos verificar los permisos i la contraseña.

– Primero se tiene que verificar que el protocolo de seguridad SSH otorgar permiso al usuario ‘root’, mirar el archivo ‘sshd_config’ (cat /etc/ssh/sshd_config), y buscar el parametro ‘PermitRootLogin’ que se encuentre en ‘yes’, en caso contrarió, modificarlo y reiniciar el servicio (/etc/init.d/ssh restart).

– El segundo paso es mirar el archivo de contraseñas del SO, llamado ‘shadow’, en el archivo se debe buscar el usuario ‘root’ (posiblemente se trate del primero de los registros), esta definido de la siguiente manera ‘root:!:XXXXX:…’, esto significara que el usuario no dispone de contraseña y que no se encuentra habilitada.

:~# cat /etc/shadow

– Habilitar el usuario ‘root’ y indicar una nueva contraseña.

:~# sudo passwd root

5. Instalación de LAMP (Linux, Apache, MySQL, PHP, Perl, Python)

:~# apt-get install apache2
:~# apt-get install php5
:~# apt-get install mysql-server (indicar la contrasenya del usuari ‘root’)

6. Verificar que funciona ‘apache2’, mediante el navegador, introducimos la URL ‘http://localhost&#8217; o bien ‘http://xxx.xxx.xxx.xxx&#8217;. El resultado que habríamos de obtenir corresponde a una pagina que muestra lo siguiente:

It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.

7. Verificar que funciona el php, des del terminal, en la carpeta ‘/var/www/’ crear el archivo ‘info.php’ y reiniciar el servidor ‘apache2’, finalmente verificar el resultado obtenido, mediante un navegador, escribimos la URL ‘http://localhost/info.php&#8217; o bien ‘http://xxx.xxx.xxx.xxx/info.php&#8217;.

:~# cd /var/www/
:/var/www# echo «<? phpinfo(); ?>» > info.php
:/var/www# ls
index.html info.php
:/var/www# /etc/init.d/apache2 restart
….
:/var/www#

8. Instalación del gestor de la base de dades ‘PhpMyAdmin’. Durante la instalación solicitara que servidor Web deseamos configurar, en nuestro caso será ‘apache2’. También nos preguntara si deseamos configurar la base de datos para ‘PhpMyAdmin’ con ‘dbconfig-common’, la respuesta será que Sí. Finalmente, nos pedirá la contraseña del administrador de MySQL, en este caso, se debe indicar la misma que se indico para el MySQL. Una vez finalizado todo el proceso de instalación del ‘PhpMyAdmin’, para verificar que funciona correctamente, mediante un navegador, escribimos la URL ‘http://localhost/phpmyadmin&#8217; o bien ‘http://xxx.xxx.xxx.xxx/phpmyadmin&#8217;.

:~# apt-get install phpmyadmin

9. Instalación de Joomla

– Creación de usuario ‘joom’ en la BD mediante ‘PhpMyAdmin’. Nos dirigimos a Privilegios -> Agregar un nuevo usuario -> usario: joom; servidor: localhost; contraseña: **** -> marcar todos los privilegios globales -> Crear usuario

– Creació de la BD. Base de datos -> Crear Base de Datos -> Indicar el nombre de la BD (joomla1.7_ubuntu) -> Cotejamiento: utf8_general_ci -> Crear.

– Creamos la carpeta ‘joom’ en el directorio ‘home’, y accedemos a seu interior.

:~# mkdir joom

:~# cd joom

– Descargar la ultima versión de Joomla (.tar.gz) según el idioma que queramos.

:~/joom# wget http://joomlacode.org/gf/download/frsrelease/15935/69111/Joomla_1.7.2-Spanish-Pack_Completo.tar.gz

– Mover la carpeta creada antes llamada ‘joom’ al directorio ‘/var/www’ del servidor Apache2.

:~/joom# cd ..
:~# mv joom/ /var/www/

– Descomprimir el archivo de Joomla, crear automaticamente la estructura de Joomla dentro del directorio ‘joom’.

:~/var/www/joom# tar -xzvf Joomla_1.7.2-Spanish-Pack_Completo.tar.gz

– Para hacer que nuestro servidor sea mucho más seguro, modificamos el propietario y el grupo de todos los archivos y directorios (de forma recursiva).

:~# chown -R root:root /var/www/joom/

– El archivo ‘Joomla_1.7.2-Spanish-Pack_Completo.tar.gz’ lo podemos conservar o eliminar, si lo conservamos o bien lo podemos mover a ‘/tmp/’ o también ha ‘/home/’name_user’/Descargas’

:~# mv /var/www/Joomla_1.7.2-Spanish-Pack_Completo.tar.gz /tmp/

– Cambiar el usuario y el grupo de propietarios a ‘www-data’ (usuario Apache) de los siguientes directorios de la carpeta ‘joom’.

-> administrator/backups/
-> administrator/components/
-> administrator/modules/
-> administrator/templates/
-> cache/
-> components/
-> images/
-> images/banners/
-> images/sampledata/
-> language/
-> plugins/
-> media/
-> modules/
-> templates/
-> tmp/

:/var/www/joom# chown -R www-data:www-data

– Cambiamos los permisos de los archivos para que todos los usuarios puedan leer, pero únicamente el propietario tenga permiso de escritura.

:/var/www/joom# find . -type f -exec chmod 644 {} \;

– Cambiamos los permisos de los directorios para que todos los usuarios puedan leer i ejecutar pero únicamente el propietario tenga permiso de escritura.

:/var/www/joom# find . -type d -exec chmod 755 {} \;

– Iniciar el asistente de instalación, des del navegador en la URL ‘http://xxx.xxx.xxx.xxx/joom/&#8217;, se mostrara el processo de instalación de Joomla de forma interactiva.

– Paso 1. Seleccionar idioma de instalación.
– Paso 2. Comprovar la pre-instalación (el bloque superior todos los parámetros a Sí).

Para solucionar el problema con el ‘configuration.php’ hacemos lo siguiente:

– Crear el archivo:
:/var/www/joom# touch configuration.php
– Cambiar el propietario y el grupo:
:/var/www/joom# chown www-data:www-data configuration.php
– Permiso de escritura:
:/var/www/joom# chmod 644 configuration.php
Verificar de nuevo la instalación.

– Paso 3. Licencia.
– Paso 4. Configuración de la BD (Tipo de BD: MySQLi; servidor: localhost; usuario: joom; pwd: ****; base de datos: joom).
– Paso 5. Configuración del FTP (dejar en blanco).
– Paso 6. Configuración principal.

– Nombre del lugar: Joom
– Correo electrónico: xxx@xxx.com
– Nombre del usuario administrador: admin
– Contraseña del administrador: ****
– Confirmar la contraseña del administrador: ****
* No instalar los datos de muestra

– Paso 7. Finalización.

– Eliminar la carpeta ‘installation’ de ‘/var/www/joom/’

:/var/www/joom# rm -r installation/

– Modificar los permisos del archivo ‘configuration.php’ para que sea únicament de lectura.

:/var/www/joom# chmod 444 configuration.php

– Hacer clic sobre el botón Lugar/Sitio y nos redirecionara al portal Web (frontend).

– Frontend ‘http://xxx.xxx.xxx.xxx/joom/&#8217;

– Backend ‘http://xxx.xxx.xxx.xxx/joom/administrator/&#8217;

Configuración SSH para usuario ‘root’

En Ubuntu, durante la instalación el sistema operativo (SO), al usuario ‘root’ no se le indica una contraseña, en cambio si a un usuario normal, cosa que no pasa en Debian. Si a más deseamos podernos conectar de forma remota a la maquina mediante el protocolo SSH, no funciona con el usuario ‘root’ pero si con el usuario configurado en la instalación del SO.

Para solucionar esto y poder conectarnos remotamente a la maquina, debemos habilitar el usuario ‘root’, para ello debemos seguir los siguientes pasos.

Verificar que SSH de permiso a los usuarios de tipo ‘root’, para ello debemos verificar el parámetro ‘PermitRootLogin’ que tenga como valor ‘yes’, esta configuración la encontramos en el archivo ‘sshd_config’ de la carpeta ‘ssh’. En caso que el parámetro sea diferente debemos modificarlo y reiniciar el SSH ( :~# /etc/init.d/ssh restart ).

:~# cat /etc/ssh/sshd_config

A continuación, debemos revisar el archivo de contraseñas del SO, llamado ‘shadow’, allí encontraremos todos los usuarios del SO con sus respectivas contraseñas encriptadas.

:~# cat /etc/shadow

Debemos localizar el usuario ‘root’ (seguramente debe ser el primero), se encuentra definido de la siguiente manera.

root:!:15292:0:99999:7:::

Nota: los valores numéricos pueden variar.

Si el usuario ‘root’ esta indicado con el símbolo ‘!’, significara que no se encuentra habilitado y no dispone de contraseña.

Para habilitar el usuario ‘root’ y proporcionarle una nueva contraseña debemos realizar la siguiente instrucción en el terminal.

:~# sudo passwd root

Introduzca la nueva contraseña de UNIX:

Vuelva a escribir la nueva contraseña de UNIX:

passwd: contraseña actualizada correctamente

:~#

Intel lanza su propio Linux

Moblin 2.0 es un sistema operativo libre para ordenadores portátiles

Las crisis son incubadoras de nuevos proyectos. Pasó hace tres décadas con Apple y después con Google. Y ahora es Intel el que empieza a gestar una nueva aventura. El fabricante de procesadores ha colgado en la Red la versión de pruebas Moblin, su primer sistema operativo «libre», diseñado y desarrollado con Novell y Linux para dar vida a ordenadores portátiles.

Moblin 2.0 es una plataforma optimitzada de Linux, con un toque más moderno y que pretendre que el usuario pueda sacar más partido a sus dispositivos móviles e inalámbricos al navegar por Internet, chatear o comunicarse a través de las plataformas sociales. Y al tener una arquitectura abierta, los programadores pueden desarrollar aplicaciones informàticas para este entorno.

Al arrancar el ordenador, el usuario se encuentra en segundos ante un escritorio muy gráfico conocido como m-zone, con acceso instantáneo al calendario, correo electrónico, archivos utilizados recientemente y una actualitzación en tiempo real de portales como Facebook o Twitter. A través de una barra de menú se accede al navegador, basado en la última versión de Mozilla.

Además, permite al usuario aglutinar en la pantalla toda la actividad de las redes sociales, para facilitar la interacción con los amigos. Twitter se encuentra entre las compañías que apoyan ya el desarrollo de este sistema operativo. Moblin, que como indican sus ingenieros debe ser aún pulido, consigue el mismo efecto de integración con la música, vídeos y fotos.

La Fundación Linux la califica ya como la plataforma móvil más avanzada, y considera que en este clima económico adverso puede llegar a convertirse en la alternativa más atractiva para firmas que distribuyen dispositivos portátiles. Entre las primeras compañías se encuentran también Aisanux, Canonical, DeviceVM, gOS, MontaVista y Wind River.

La pregunta que está en el aire es si Intel será capaz de competir en este negocio con Microsoft, su socia de siempre, y Apple, su nueva aliada en los iMac. Las primeras críticas apuntan hacia que Moblin es rápido, pero a la vez parece convertir los portàtiles en un dispositivo más limitado. La versión de prueba de Moblin debería funcionar ya en portátiles como el Acer Aspire, el Asus eee 901, el Dell Mini, el Lenove S10 y el HP Mini, entre otros.

EL PAÍS, martes 9 de junio de 2009

Portátil como portal Web

Configurar un portátil como portal Web y ofrecer servicios Web.

Material

  • 1 portátil ( con WiFi) = servidor
  • 1 portátil ( con WiFi) = cliente

Fase 1 – Instalación del servicio Web

Instalar el siguiente programar en el portátil que hace de servidor. El servidor Web apache2 como se muestra a continuación :

:~$ sudo bash

[sudo] password for xxx : ******

:~# cd /

:/# aptitude update

:/# aptitude install apache2

:/#

Fase 2 – Configuración del servicio Web

1. Comprobar el funcionamiento del servicio Web.

Para ello abrimos nuestro navegador, y en la zona de dirección escribimos los siguiente http://localhost o bien, si conocemos la ip del portátil en que hemos instalado nuestro servicio Web escribimos lo siguiente http://XXX.XXX.XXX.XXX una vez dado al botón de enter se mostrara una pàgina con el fondo blanco y el siguiente texto en negra It Works! . Para modificar este It Works! lo podremos localizar en el folder /var/www/ con el nombre index.html , se puede editar y añadir lo que se desea, una vez editado y guardadas las modificaciones se debe reiniciar el servidor apache, para ello hacemos /etc/init.d/apache2 restart, volvemos al navegador y pressionamos sobre F5 y se podran ver las modificaciones realizadas.

2. I nvestigar el sistema de configuración.

El usuario deberia por iniciativa propia hacer una pequeña investigación del sistema de configuración de aquello que ha instalado recientemente y así llegar a comprender parte, no toda del funcionamiento del mismo.

En este caso debería estudiar la estructura, ficheros, etc … de apache que se encuentran en el directorio /etc/apache2

3. Crear el directori public_html, en el directorio personal de cada usuario

:/# cd /home/xxxx

:/home/xxxx# mkdir public_html

Una vez creador, dejar o crear en su interior un documento.

:/home/xxxx/public_html# gedit hola.html

4. Activar las páginas web personales.

:/# cd /etc/apache2/mods-enabled

:/etc/apache2/mods-enabled# ls -l

….

:/etc/apache2/mods-enabled# ln -s ../mods-available/userdir.conf .

:/etc/apache2/mods-enabled# ln -s ../mods-available/userdir.load .

:/etc/apach2/mods-enabled# ls -l

:/etc/apache2/mods-enabled# /etc/init.d/apache2 restart

5. Acceder a través de la dirección

Una vez creado los directorios y los links, vamos a testear que funciona correctamente. Para ello abrimos nuestro navegador y en la dirección escribimos lo siguiente http://localhost/~xxxx/ (donde xxxx, corresponde al nombre del usuario) nos deberia aparecer el archivo hola.html que hemos creado anteriormente en el paso 3.

6.  Crear un segundo usuario y repetir el proceso

Para crear un segundo usuario en caso de no existir, mediante el siguiente comando :/# adduser xxxx nos solicitara una contraseña y una serie de paràmetros para identificar dicho usuario, una vez creado, en el navegador escribimos lo siguiente http://localhost/~xxxx/

Fase 3 – PHP

Instalar la libreria necessari para que funcione el php5 con apache2

:/# aptitude search apache2

:/# aptitude install libapache2-mod-php5

Crear un documento en php, en nuestro directorio public_html

:/# cd home/xxxx/public_html

:/home/xxxx/public_html# gedit prova.php

Reiniciar el servidor apache2

:/home/xxx/public_html# cd /

:/# cd etc/init.d/

:/etc/init.d# /.apache2 restart

Abrimos el navegador y escribimos lo siguiente http://localhost/~xxxx/prova.php y se mostrara nuestra página en php. También con el portátil que hace de cliente.

Fase 4 – Configuración del proxy inverso

Crear los links

:/# cd etc/apache2/mods-enable/

:/etc/apache2/mods-enable# ls -l

….

:/etc/apache2/mods-enable# ln -s ../mods-available/proxy.conf .

:/etc/apache2/mods-enable# ln -s ../mods-available/proxy.load .

:/etc/apache2/mods-enable# ln -s ../mods-available/proxy_http.load .

Editar el archivo proxy.conf

:/etc/apache2/mods-enable# gedit proxy.conf

Añadir las siguientes líneas :

Deny from all canviar por Allow from all

Proyx Pass /a http://localhost/~xxxx/

ProxyPass /b https://vllorente.wordpress.com

ProxyVia on

Salvar los  documentos y reinciar el servidor.

:/# /etc/init.d/apache2 restart

Abrir el navegador con el portátil que hace de cliente y testear que funciona correctament, http://XXX.XXX.XXX.XXX/a

Fase 5 – Openssh

Instalación de los siguientes paquetes :

:/# aptitude install ssh-client ssh-server

Configurar sshd para que se pueda hacer ssh localhost sin necessidad de introducir contraseña :

:/etc/ssh# ssh-keygen -b 2048 -t rsa

Mostrar el listado de claves

:/etc/ssh# .ssh -l

Hacer una llamada mediante ssh

:/# ssh localhost