lunes, 5 de diciembre de 2011

Ejercicio 5: CMS (Gestores de Contenido)

Actividad 1.5 – CMS
Ya hemos publicado webs estáticas en nuestro servidor WAMP, LAMP y de hosting.
Pasamos a trabajar con las webs que motivan este módulo, las aplicaciones web, de entre
las que siempre destacan los CMS (Sistemas Gestores de Contenido).
La actividad consistirá en describir la instalación y publicación de Wordpress en el
servidor WAMP, en el servidor LAMP y en el hosting. Debes tener creado un blog, una
wiki o una web (con edición web on-line). La actividad se realizará en tres artículos del
blog, páginas de la wiki o páginas de la web, cuyo título se dará en cada ejercicio. Ten en
cuenta que este artículo o página además de la actividad será la documentación que
podrás usar en la prueba final.

Ejercicio 1 – Wordpress en servidor WAMP
Crea en tu blog, web o wiki un artículo o página llamado Wordpress en servidor
WAMP. Instala y publica Wordpress en tu servidor WAMP con el alias wpwin. Describe
los pasos y realiza capturas de los más importantes. Al final, debe describirse como se
accede a la parte pública (y mostrar con captura) y como se accede a la parte de
administración (y mostrar con captura). Durante la instalación, puedes usar una dirección
de correo electrónico ficticia.

Ejercicio 2 – Wordpress en servidor LAMP

Crea en tu blog, web o wiki un artículo o página llamado Wordpress en servidor LAMP.
Instala y publica Wordpress en tu servidor LAMP con el alias wplin.
Describe los pasos y realiza capturas de los más importantes.
Al final, debe describirse como se accede a la parte pública (y mostrar con captura) y como se accede a la parte de administración (y mostrar con captura).
Recuerda que no puedes acceder directamente al servidor, luego siempre debes usar SSH, FTP, phpmyadmin y demás herramientas remotas para realizar las operaciones.
Durante la instalación, puedes usar una dirección de correo electrónico ficticia.

- Introducción - 
Vamos a partir de una máquina virtual con Ubuntu Server última versión (11.10) a día de hoy martes 6 de diciembre de 2011.

Dicha máquina tendrá instalada de ejercicios anteriores todo el software que necesitaremos, FTP, SSH, UNZIP, PHPMYADMIN y por supuesto APACHE2, por lo cual no será necesario (en principio) instalar ningún otro sofware.

 - Paso 1 -  

Bien, lo primero que haremos será subir al servidor mediante FTP el fichero comprimido del CMS que corresponda, en éste caso, Wordpress, utilizado en la mayoría de los casos para blogs.

Para subir el fichero antes debemos tenerlo, así que lo descargaremos de su página.

Una vez tengamos el archivo, lo subiremos vía FTP como hemos dicho antes, para ello necesitamos saber la ip del servidor con el que trabajamos, pondremos la máquina virtual en marcha, nos logearemos y escribiremos "ifconfig".


Una vez conocida nuestra IP (192.168.1.30 en nuestor caso), podemos dejar el servidor en segundo plano, ya que con esa IP ya podremos acceder al FTP y al servidor mediante Putty (SSH), pero por ahora volveremos al tema del FTP.

Utilizaremos el explorador que tengamos disponible, si usamos Windows el de Windows mismo, escribiremos en la barra de direcciones "ftp://192.168.1.30" (para conectar a nuestro FTP en el servidor), nos pedirá que nos logearemos, y eso haremos.

Como se muestra en la imágen, crearemos una carpeta para contener nuestro CMS Wordpress, con el mismo nombre que le daremos al alias para tenerlo todo más organizado.

Dentro de dicha carpeta, subiremos el fichero comprimido con la versión de Wordpress que hemos descargado de su página.

Listo, por ahora el FTP podemos dejarlo aparcado, y damos por finalizado el primer paso, ya tenemos subido a nuestor servidor el fichero de Wordpress comprimido y dentro de una carpeta con el nombre del alias que se le asignará.

 - Paso 2 - 

Es hora de descomprimir el fichero de Wordpress, pero no lo haremos desde el FTP, sino desde un SSH (Putty), con el que nos conectaremos a nuestro servidor remotamente, como si estuviera en China, Cafarnaún o donde se le ocurra a la empresa para la que trabajaremos en un día esperemos no muy lejano.

Nos conectaremos pues desde Putty, introduciendo la IP de nuestro servidor.


Y trabajaremos sobre el como si del mismo servidor se tratara, realmente, es lo que estaremos haciendo, trabajar con el mismo servidor a través de SSH.


Ahora pues, debemos descomprimir el fichero de Wordpress, como ya hemos dicho, UNZIP estará instalado, por lo que solo debemos ir a la ubicación del fichero y descomprimirlo.

Si hacemos un "ls", veremos que está la carpeta "wplin" que creamos por FTP, haremos "cd wplin" para entrar en ella, una vez dentro otro "ls" para comprobar que efectivamente el fichero de Wordpress anda por ahí.


Para descomprimir el fichero, el comando es "unzip wordpress-3.2.1-es_ES.zip" (en éste caso).


Esperamos que finalice el proceso (siendo wordpress, poco tiempo), y ya tenemos descomprimido el fichero, podemos eliminar el fichero comprimido inicial ya que no nos hará falta, utilizaremos "rm wordpress-3.2.1-es_ES.zip" para ello.

Si hacemos otro "ls", veremos que todo se ha descomprimido dentro de otra carpeta llamada "wordpress", por lo que nuestro CMS estará dentro de "wplin/wordpress", siendo la ruta física completa "home/admon/wplin/wordpress", ruta que necesitaremos más adelante para crear su alias.

 - Paso 3 -  

Ya tenemos Wordpress descomprimido en nuestro servidor, ahora debemos dar de alta el CMS en nuestro servidor para que podamos utilizarlo y pueda ser visto públicamente.


Para ello volvemos al SSH y escribiremos "cd /etc/apache2/sites-available" para acceder al directorio de sitios disponibles de apache2.

Crearemos un fichero que contendrá los datos del alias para nuestra web, escribiremos "sudo nano wplin", sin "sudo" nos dirá que no tenemos permisos para escribir, escribiremos nuestra contraseña (que nos pedirá) y listo.

Dentro del fichero escribiremos lo siguiente:

alias /wplin /home/admon/wplin/wordpress 

(en la primera línea para indicar que el alias wplin pertenece a la ruta que le sigue)


<Directory /home/admon/wplin/wordpress>
Order allow,deny
Allow from all
</Directory>

Después de lo primero para conceder permisos de acceso al directorio.
En este caso, se indica que se apliquen primero las directivas allow (permitir) y después las directivas deny (denegar).
En este caso, sólo hay una directiva que permite el acceso desde cualquier lugar.


Después guardaremos "ctrl+o", nombraremos el fichero como ivamos haciendo cuando lo iniciamos (wplin) y saldremos del editor con "ctrl+x".

Desde éste mismo directorio activaremos el sitio con "sudo a2ensite wplin", para que tenga efecto reiniciaremos el servidor de apache2 con "sudo service apache2 restart", podemos diferenciar ambas tareas en la siguiente imágen.


 - Paso 4 - 

Accederemos a nuestra web recién activada escribiendo en un navegador nuestra ip seguida del alias, es decir "192.168.1.30/wplin" en nuestro caso.


Como era de esperar, deberemos configurar nuestro CMS antes de poder ser utilizado, configurar bases de datos etc, como cada CMS es ligeramente diferente iremos a la web oficial de Wordpress y encontraremos ésto:

"La famosa Instalación en 5 minutos

  1. Descarga el paquete de la última versión WordPress y descomprímelo en una carpeta vacía de tu ordenador.
  2. Abre el archivo wp-config-sample.php con un editor de texto plano y rellena los datos de la conexión a tu base de datos.
  3. Guarda el archivo como wp-config.php.
  4. Sube todo a tu servidor.
  5. Abre http://tudominio.com/wp-admin/install.php en tu navegador. Con esto deberán crearse las tablas necesarias para tu sitio. Si hay algún error, haz el favor de revisar tu archivo wp-config.php y probar de nuevo. Si vuelve a fallar visita los foros de soporte (en inglés) con todos los datos que puedas aportar.
  6. Anota la contraseña que se te proporcionará o elígela tu mismo (desde WordPress 3.0, en versiones anteriores se genera automáticamente).
  7. El programa de instalación te enviará entonces a la página de acceso. Accede con el nombre de usuario elegido (o  admin en versiones anteriores a WordPress 3.0) y la contraseña creada durante la instalación. Ahora podrás hacer clic en ‘Perfil’ y cambiar la contraseña."

Por supuesto, seguiremos los pasos al pié de la letra, con la exepción de que ya lo haremos teniendo las web en nuestro servidor, por lo que tendremos que acceder al fichero "wp-config-sample.php", ésto podemos hacerlo de dos formas, desde el FTP (fácil), o desde el SSH, pero como somos muy manitas lo haremos desde el SSH.

Volvemos a nuestro SSH y buscamos el fichero en la carpeta de wordpress:
- Escribimos un cd para volver a nuestro directorio público.
- Luego cd wplin/wordpress para ir a la carpeta del wordpress.
- Después sudo nano wp-config-sample.php para editar el fichero de configuración.
- En ficho fichero deberemos aportar los datos de nuestra base de datos reservada para wordpress, y luego guardar el fichero como wp-config.php para que ése fichero sea el utilizado por worpress.
¡PROBLEMA!
¡NO hemos creado base de datos para el wordpress aún!
Que no cunda el pánico, dejamos el SSH felizmente abierto con su fichero de worpress, y como tenemos instalado phpmyadmin acudimos a él, ¿cómo? en un navegador cualquiera introduciendo nuestra IP seguida de phpmyadmin, es decir "192.168.1.30/phpmyadmin". e introduciremos usuario "root" y la contraseña que elegimos al instalar mysql en el servidor, la cual es en nuestro caso "sql1234".



Una vez aquí, podremos crear una base de datos a gusto para nuestro CMS Wordpress:
- Iremos a bases de datos, nombraremos una y crearemos.



- Escogeremos por ejemplo wpdb (wordpress database), el tipo será por defecto por cotejamiento.
- Agregaremos un nuevo usuario concreto para esa base de datos, para que no dar los datos de root (por seguridad), para ello vamos a "privilegios" y agregamos nuevo usuario.



- Rellenamos:
--- Nombre de usuario:  en nuestro caso, "wpuser".
--- Servidor: Local--- Contraseña: en nuestro caso, "wp1234".
--- Confirmación de contraseña.
--- Nos aseguramos que está marcada la casilla de conceder todos los privilegios (Grant all privileges on databas “wpdb”)






- Listo, ya tenemos base de datos y usuario para dicha base de datos, ya podemos volver a nuestro SSH y rellenar los datos del fichero de configuración de Wordpress que teníamos a bierto, recordemos guardarlo como "wp-config.php" para que Wordpress pueda utilizarlo.




- Listo, ya tenemos wordpress activado con su correspondiente base de datos, y podremos acceder a nuestra página mediante nuestra dirección IP mas el alias de la web en un navegador, en nuestro caso "192.168.1.30/wplin".



 - Paso 5 -  

 Ya solo nos queda rellenar los datos de nuestro sitio con Wordpress y darle a instalar.


Una vez instalado podremos acceder a la parte privada (administración) escribiendo nuestra IP con el alias mas "wp-login.php", en nuestro caso la dirección completa sería "http://192.168.1.30/wplin/wp-login.php".



Cuando escribamos en el navegador de nuevo la dirección IP de nuestro servidor y el alias, es decir "http://192.168.1.30/wplin/", ésto, nos dirigirá a la parte pública de la página.






Ejercicio 3 – Wordpress en hosting
Crea en tu blog, web o wiki un artículo o página llamado Wordpress en hosting.
Instala y publica Wordpress en tu servidor hosting con el subdominio wp (en mi caso sería
wp.vdgawe.ekiwi.es). Describe los pasos y realiza capturas de los más importantes. Al
final, debe describirse como se accede a la parte pública (y mostrar con captura) y como
se accede a la parte de administración (y mostrar con captura). Durante la instalación,
puedes usa una dirección de correo electrónico real (la de tu hosting o cualquier otra).
Entrega: Indica en moodle en el lugar adecuado las URL de tus artículos del
blog, de las páginas de la wiki o de las páginas de la web.

Ejercicio 4: Hosting

Ejercicio 1 – Alta en hosting.
Si aun no lo has hecho, date de alta en algún servicio de hosting gratuito, como
Kiwiestudio.com, Zobyhost.com o 260mb.com .

En este ejercicio no es necesario que indiques nada en tu artículo de blog, página de wiki o página de web.

Ejercicio 2 – Publicación de la web de muestra vía administrador de archivos.
En clase usamos el Tutorial Alta y publicación en hosting.

Crea un subdomnio test1 en tu “dominio” del hosting.


Descarga de moodle la web de test para el servidor.

Súbela al servidor usando alguna de las herramientas de administrador de archivos del
panel de control del hosting.


Describe los pasos textualmente y con capturas.

Dentro del panel del hosting seleccionamos gestor de archivos, entramos en la carpeta public_html, subdominio test1, y subo el archivo, éste gestor tiene la opción de descomprimir nada mas subir el archivo, y éste es el resultado:

Finalmente, usando un navegador accede a las distintas páginas de la web publicada (principal,
amarilla, prueba de php y archivo pdf).

Muestra el acceso a esas páginas con capturas.




Ejercicio 3 – Publicación de la web de muestra vía FTP
En clase usamos el Tutorial Alta y publicación en hosting.

Crea un subdomnio test1 en tu “dominio” del hosting.
Descarga de moodle la web de test para el servidor.
Súbela al servidor vía FTP. Describe los pasos textualmente y con capturas.

Finalmente, usando un navegador accede a las distintas páginas de la web publicada (principal,
amarilla, prueba de php y archivo pdf).

Muestra el acceso a esas páginas con capturas.

miércoles, 9 de noviembre de 2011

Ejercicio 3: Servidor LAMP

Instrucciones para instalar un servidor LAMP con Ubuntu Server 10.04.3

1. Crear una máquina virtual normal, con un sólo disco duro.
Lo único reseñable es poner la tarjeta de red en modo puente.

2. Instalar Ubuntu Server, sin añadir ningún servidor durante la instalación. Se recomienda usar como nombre de usuario admon y como contraseña u1234.
* He utilizado usuario admon y contraseña u1234.




 Seleccionamos el Idioma.


 Seleccionaremos instalación completa.


 Zona Geográfica.


 El teclado suele detectarse por defecto correctamente, si no es así podemos elegirlo de una lista manualmente.


 Escribimos el nombre que se le dará a la máquina.



 De nuevo elegiremos nuestra zona.



 Elegimos zona horaria.


 Deberemos elegir y particionar un disco duro.






En este punto guardaremos y ejecutaremos los cambios para el disco duro seleccionado.



Como hemos indicado antes seleccionaremos de usuario "admon", contraseña "u1234".



Una vez asignada parte del disco duro (la mayor) y una pequeña para Swap iniciaremos los cambios.




El instalador te alertará si detecta una contraseña demasiado simple, de todas formas no habrá problema ya que estamos trabajando con una máquina virtual y no un servidor real.


 No nos hará falta cifrar la carpeta personal.



 Los servicios que necesitaremos más adelante son el servidor LAMP y el OpenSSH para conectarnos desde Putty (por ejemplo) como si estuvieramos fuera del servidor (remotamente).
Aunque en la imágen los seleccionamos no los instalaremos en éste caso para poder hacerlo manualmente más adelante.


 Para ahorrar tiempo deshabilitaremos las actualizaciones automáticas.





 Siempre seleccionaremos el arranque grub, que detectará otros sistemas operativos si los hubiera y mostrará al iniciar la máquina todos éstos para que seleccionemos el que queramos ejecutar.


Listo, solo queda reiniciar.



3. Concluida la instalación, iniciar sesión.
Comprobar la dirección IP que tenemos con el comando ifconfig.
Si necesitamos una nueva dirección IP por DHCP, usamos sucesivamente los comandos sudo dhclient -r (para liberar) y luego sudo dhclient (para asignar una nueva dirección).


Aquí vemos le resultado de un ifconfig.

4. Dado que los repositorios españoles están muy lentos recientemente, vamos a configurar para usar los repositorios principales.

Para ello, editamos como root el archivo /etc/apt/sources.list : sudo nano /etc/apt/sources.list . Quitamos en todas las URLs que aparecen el prefijo “es.” .


Guardamos y salimos de nano.
Actualizamos la lista de paquetes: sudo apt-get update.


Esperamos a que concluya el proceso de actualización, si nos fijamos, todos los paquetes provendrán de .com no de .es

5. Instalar OpenSSH Server: sudo apt-get install openssh-server.
A partir de este momento, podemos minimizar nuestra máquina virtual, ya que todas las operaciones necesarias las haremos remotamente.


Aquí vemos el proceso resaltado.

6. Desde el ordenador host (o desde cualquier otro de la red) usamos un cliente de SSH (como putty, tanto en Windows como en Linux). Iniciamos sesión SSH en el servidor.



Conectamos por Putty al servidor remoto.

7. Instalación y configuración de apache
a) Instalación: sudo apt-get install apache2



Nos pedirá (si tenemos una instalación antigua del apache2) actualizarlo, escogeremos si y reemplazará la instalación antigua existente por la nueva, podremos apreciar como incluso detiene el servicio antiguo para ducha tarea.

b) Configuración: No es necesaria ninguna configuración. Simplemente, cada vez que queramos publicar un sitio creamos su alias correspondiente siguiendo las instrucciones que dimos.

c) Reinicio: Para reiniciar el servidor web, usar sudo service apache2 restart


d) Prueba: Acceder desde una navegador a la dirección IP del servidor.
Debe aparecer la página “It works”.


8. Instalación y configuración de vsftd (FTP)
a) Instalación: sudo apt-get install vsftpd

En mi caso ya tenía la versión más reciente.

b) Configuración. Editar el archivo de configuración: sudo nano /etc/vsftpd.conf .


Aquí se muestra el fichero de configuración abierto, procederemos pues a su modificación para nuestros intereses.

Deben estar activas (sin comentarios) las líneas:
• listen=YES → para poner el servidor a la escucha
• anonymous_enable=NO → para no permitir usuarios anónimos
• local_enable=YES → para permitir el acceso a los usuarios del sistema
• write_enable=YES → para permitir escritura
• local_umask=022 → para que los permisos de los archivos y carpetas
creados sean 755 (rwxr-xr-x, lectura y ejecución/”acceso directorio” para
todos, escritura sólo para el propietario).
• chroot_local_user=YES → para que los usuarios que accedan queden
restringidos a su carpeta personal, y no al resto de carpetas del sistema.

c) Reinicio: Para reiniciar el servidor ftp, usar sudo service vsftpd restart



d) Prueba: Desde un cliente de ftp (los exploradores de archivos lo son) escribir la
dirección ftp://nombre_o_ip_servidor .
Pedirá usuario (admon) y contraseña (u1234).
Comprobar que se pueden crear carpetas y subir archivos.



9. Instalación y configuración de PHP
a) Instalación: sudo apt-get install php5. Se instalará automáticamente también el módulo de apache2 para php5.


b) Configuración: No es necesaria configuración.

c) Reinicio: No es necesario reiniciarlo

d) Prueba: Crea en el directorio público del servidor web un archivo llamado
test.php con el siguiente contenido:
<?php phpinfo( ); ?>

Guarda el archivo. Desde un navegador, accede al archivo: deberás acceder a
una tabla resumen de la configuración de PHP.

------
 Para que eso pueda ser posible debemos realizar los siguientes pasos para crear un alias y dar de alta la página en el servidor:

1) Crearemos un directorio llamado "web1"  dentro del directorio público, en el que introduciremos el fichero "test.php", con lo cual la ruta pública quedará así "http://192.168.1.30/web1/test.php", y la interna, en el servidor "/home/admon/web1/test.php".

2) En el Putty, iremos al directorio de configuración del apache2 "cd /etc/apache2".

3) Ahora iremos al directorio de sitios disponibles "cd sites-available".

4) Creamos un fichero llamado (por ejemplo) web1.
Al ser la carpeta del usuario root, para crear el archivo debes usar sudo: "sudo nano web1", pedirá contraseña y escribiremos lo que explicamos en el paso siguiente.

5) En la primera línea: "Alias /web1 /home/admon/web1":
Ésta linea explica que habrá un alias (web1), cuya dirección dentro del servidor está en la raíz y en el usuario (admon) en la carpeta (web1).

En la segunda línea: "<Directory /home/admon/web1>
Order allow,deny
Allow from all
</Directory>"
Este conjunto de líneas conceden permisos de acceso al directorio.
En este caso, se indica que se apliquen primero las directivas allow (permitir) y después las directivas deny (denegar).
En este caso, sólo hay una directiva que permite el acceso desde cualquier lugar.

Contenido opcional: "DirectoryIndex index.htm index.html", dentro de la etiqueta "Directory";
Esta línea iría dentro del bloque Directory anterior, e indicaría que cuando lo que se pida en la URL sea el directorio (es decir, no se especifique ningún archivo) se responda con el archivo index.htm, y si no está con el archivo index.html.
Se pueden indicar los archivos que se deseen, siendo el orden en que aparecen el orden en que se buscan.


Contenido opcional: "Option Indexes FollowSymLinks"; también dentro de "Directory";
Esta línea iría dentro del bloque Directory anterior, e indicaría que cuando lo que se pida en la URL se el directorio (es decir, no se especifique ningún archivo) y no se encuentren los archivos indicados en DirectoryIndex, se sirva una lista con el contenido del directorio, mostrando enlaces a cada uno de los archivos que contiene.

6) Guardamos y cerramos el fichero, es decir, "ctrl+o" (elegimos un nombre, que iva a ser web1, y enter) y "ctrl+x" (salir).

7) Activamos el sitio web: "sudo a2ensite nombre_archivo_configuracion_alias", en nuestro caso "sudo a2ensite web1".

8) Finalmente, reiniciamos el servidor apache2: "sudo service apache2 restart".
------



10.Instalación y configuración de MySQL
a) Instalación: sudo apt-get install mysql-server mysql-client .
Durante la instalación se pedirá que establezcamos la contraseña del usuario root de mysql.
Esa contraseña es imprescindible para poder instalar posteriormente aplicaciones web en nuestro servidor. Poner para no olvidar sql1234



b) Configuración: No es necesaria configuración
c) Reinicio: sudo service mysql restart


d) Prueba: mysql --user=admon --password=sql1234 . Debe aparecer el prompt “mysql>” .
Para salir escribimos quit.


11.Instalación y acceso a phpmyadmin
a) Instalación: sudo apt-get install phpmyadmin.



Durante la instalación se pedirá la contraseña de root de mysql, que pusimos en el apartado anterior (sql1234).


Además, se pide definir una contraseña para la propia base de datos
de phpmyadmin (poner psql1234, dos veces).


Además, se pide que se seleccione el servidor web que se esté utilizando; debemos marcar con la barra espaciadora Apache.

(((Esto lo pide al principio antes de las contraseñas)))

b) Configuración: no es necesario

c) Reinicio: no es necesario

d) Prueba: Para probar, ir a un navegador y escribir la dirección o URL
http://nombre_o_ip_servidor/phpmyadmin .
Indicar como usuario root y como contraseña sql1234 (o la que se haya puesto).



12.Instalación de unzip
a) Instalación: sudo apt-get install unzip



b) Uso: cuando sea necesario descomprimir una archivo, sólo habrá que ejecutar el comando unzip nombreArchivo.zip

13.Instalación del navegador elinks
a) Instalación: sudo apt-get install elinks


b) Ejecución y prueba: elinks www.google.es



NOTAS:
• Cuando hayas terminado tu servidor, no olvides hacer una instantánea de tu máquina virtual y de exportarla, para tener una instalación perfecta del servidor que usar cuando necesitemos.

• Al importar una máquina virtual exportada anteriormente dentro de la misma red, debes tener en cuenta que las dos máquinas virtuales (la original y restaurada) tienen la misma MAC. 

Esto es un problema si quieres tener las dos máquinas funcionando simultáneamente en la misma red (aunque sea en hosts distintos), y deberás cambiar la MAC de una de ellas. Para ello, ve a las propiedades de la tarjeta de red en virtualbox, pulsa sobre Avanzadas y pulsa sobre el botón para
cambiar la MAC.
Cambiar la MAC de una máquina supone que se pierda su configuración IP en Ubuntu Server. Para corregir el error:
◦ Edita el archivo /etc/network/interfaces : sudo nano /etc/network/interfaces
◦ Borrar la línea donde aparece eth0 y la inmediatamente superior (para borrar líneas puedes usar Ctrl+K)
◦ Cambiar los eth1 (o cualquier otro número que aparezca) por eth0
◦ Guardar y salir de nano
◦ Reiniciar la red: sudo service networking restart Servidor