En este tutorial vamos a ver como instalar y configurar un servidor LEMP para Ubuntu, aunque en este caso estoy utilizando la versión de Ubuntu 14.04, este tutorial sirve para cualquier versión de Ubuntu desde la 12.04.

Si quieres saber como instalar un Servidor LAMP en Ubuntu con Apache puedes ver este tutorial.

Un servidor LEMP se refiere a un conjunto de aplicaciones que por sus siglas es Linux+(Engine X)nginx+MySQL+PHP y en este caso vamos a instalar y configurar un servidor con los siguientes componentes:

nginx – Servidor Web muy versatil y rápido, muy utilizado y un buen sustituto para Apache. Se suele pronunciar Engine X por eso la E de LEMP.

MySQL 5 – Uno de los servidores de base de datos más populares y utilizados en sitios y aplicaciones web

PHP 5 – Es un lenguaje interpretado utilizado para construir aplicaciones y páginas web

Concepto: Un servidor no es más que un PC que presta algún servicio (como mostrar páginas web).

Pasos previos:

 

  • Obtener e Instalar Ubuntu: lo pueden obtener desde la página Oficial de Ubuntu, si el servidor Web LEMP sólo lo van a utilizar como servidor les aconsejo descargar la versión de servidor. Igualmente se puede hacer la instalación sobre la versión de Escritorio de Ubuntu.
  • El servidor debe tener al menos 256 MB de memoria RAM, si no saben cuanta memoria tiene su PC simplemente ejecuten free -m en el terminal si donde dice total es mayor a 256 están bien. Yo personalmente recomiendo tener al menos 512 MB de memoria RAM
  • También pueden probar instalando el servidor en una máquina virtual ya sea con virtualbox, vmware, kvm o el manejador de máquinas virtuales de su preferencia.
  • Si van a hacer la administración del servidor LEMP de manera remota les aconsejo instalar openssh-server (sudo aptitude install openssh-server).

Les aconsejo también seguir el tutorial paso a paso, he tratado de hacer los pasos lo más concretos y cortos posibles, para que así no se pierdan de nada y tampoco les aburra el tutorial.

Bueno ya tenemos todo listo para empezar así que abran un Terminal y pongámonos a trabajar.

1. Actualizar nuestro sistema

Es siempre aconsejable realizar la actualización de nuestro sistema antes de llevar a cabo cualquier instalación simplemente ejecuten lo siguiente en el terminal

sudo apt-get update && sudo apt-get upgrade

Con este comando se actualiza nuestra lista de repositorios y los paquetes que tengamos instalados si hay alguna actualización disponible. Si les hace cualquier pregunta acerca de actualizar algún paquete pueden contestar que sí.

2. Instalar NGINX

La forma más fácil de instalar nginx es ejecutar el siguiente comando:

sudo apt-get install nginx

Cuando pregunte si quieres continuar simplemente responde Y y enter y espera que finalice la instalación.

Para probar que la instalación se hizo correctamente en tu navegador ve a http://localhost  o http://tudireccionIP y deberías ver un mensaje como este:

nginx

3. Instalar MySQL

MySQL es una de las base de datos open source más popular y utilizadas en innumerables páginas web y aplicaciones tanto gratuitas como comerciales. Es una base de datos bastante robusta y flexible, fácil de configurar y lo bastante rápida para la mayoría de las aplicaciones comunes.

Para instalar el servidor de MySQL debemos ejecutar el siguiente comando:

sudo apt-get install mysql-server

Esto instalará todos los paquetes y librerias necesarios para que funcione el servidor MySQL

Durante la instalación les aparecerá la siguiente pantalla solicitando la clave de root para el servidor MySQL, aquí deberán colocar una clave para el administrador de la base de datos, no es recomendable colocar la misma clave del usuario de Ubuntu, se recomienda también que tenga una longitud mayor a 8 caracteres y que mezclen letras, símbolos y números, no son permitidos los espacios en blanco.

Nota: No confundir esto con el usuario root de Linux, este es el usuario root de MySQL

Para comprobar el funcionamiento del servidor MySQL ejecuten el siguiente comando:

mysql -u root -p

Deberá pedirles la clave que colocaron en el paso anterior y aparecerles el prompt  mysql> algo parecido a esto:

vensign@lemp-vensign:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 40
Server version: 5.1.37-1ubuntu5 (Ubuntu)

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

Vemos que nos muestra la versión del MySQL que acabamos de instalar. Para salir del prompt de mysql y volver al terminal de Linux simplemente escriban exit y presionen Enter o Intro.

Los comandos para administrar MySQL son:

Función Comando Comando Corto
Iniciar MySQL sudo /etc/init.d/mysql start sudo service mysql start
Detener MySQL sudo /etc/init.d/mysql stop sudo service mysql stop
Reiniciar MySQL sudo /etc/init.d/mysql restart sudo service mysql restart
Estatus MySQL sudo /etc/init.d/mysql status sudo service mysql status

 

El archivo de configuración de mysql se encuentra en /etc/mysql/my.cnf

4. Haciendo Seguro MySQL

Si vamos a utilizar nuestro servidor para producción queremos que sea lo más seguro posible, en el caso de MySQL nos proporciona un script que podemos ejecutar para realizar algunas configuraciones de seguridad.

Para esto ejecutamos el siguiente comando:

sudo mysql_secure_installation

Primero nos preguntará la contraseña de root de MySQL que establecimos en el paso anterior.

Luego nos preguntará si queremos cambiar nuestra contraseña de usuario root de MySQL si estás contento con tu contraseña puedes decir que N a este paso.

Luego nos hará una serie de preguntas a las cuales lo más fácil y seguro es responder que Si a todas. Coloco un comentario sobre cada pregunta para explicar un poco de que trata.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

// Quitar cualquier usuario anónimo
Remove anonymous users? [Y/n] y                                            
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

// Que el usuario root de MySQL no se pueda loguear remotamente
Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

// Quitar la base de datos test que crea por defecto MySQL
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

// Recargar los privilegios para que hagan efecto los cambios.
Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

Con esto tendremos un MySQL un poco más seguro.

5. Instalar PHP

PHP es un lenguaje interpretado que es utilizado para crear páginas web dinámicas y aplicaciones, de una manera rápida y flexible. Entre las plataformas que utilizan PHP está WordPress, Drupal y Joomla.

Para instalar PHP 5 junto con el soporte para MySQL ejecutamos el siguiente comando en el terminal:

sudo apt-get install php5-fpm php5-mysql

Igual que en los pasos anteriores responde S cuando te pregunte que quieres instalar los paquetes.

Nota: Como vemos instalamos la versión FPM de PHP ((PHP5 FastCGI Process Manager), esta es la versión ideal para utilizar con nginx.

Los comandos para administrar PHP son:

Función Comando Comando Corto
Iniciar PHP sudo /etc/init.d/php5-fpm start sudo service php5-fpm start
Detener PHP sudo /etc/init.d/php5-fpm stop sudo service php5-fpm stop
Reiniciar PHP sudo /etc/init.d/php5-fpm restart sudo service php5-fpm restart
Estatus PHP sudo /etc/init.d/php5-fpm status sudo service php5-fpm status

6. Configurar NGINX y PHP para que funcionen juntos

Ahora que tenemos todos los componentes instalados nos falta configurar PHP y NGINX para que trabajen juntos para estos hacemos los siguientes pasos:

Primero editamos el archivo de configuración de PHP-FPM que está ubicado en /etc/php5/fpm/php.ini. Abrélo con tu editor de texto favorito, en este caso yo voy a utilizar nano:

sudo nano /etc/php5/fpm/php.ini

Y cambiamos la línea cgi.fix_pathinfo=1 por, si el parámetro tiene un ( ; ) adelante lo eliminamos ya que quiere decir que está comentado :

cgi.fix_pathinfo=0

Nota: Si este parámetro lo dejamos en 1, el intérprete de php hará todo lo posible para procesar el archivo más cercano al archivo solicitado, lo que es un riesgo de seguridad. Colocando el parámetro a 0 sólo se procesará el archivo solicitado.

Guardamos el archivo y reiniciamos PHP ejecutando:

sudo service php5-fpm restart

Ahora vamos a modificar el archivo de configuración del sitio por defecto de nginx que es el que vamos a utilizar y que está ubicado en /etc/nginx/sites-available/default, una vez más utilizando nano:

sudo nano /etc/nginx/sites-available/default

Debemos descomentar las líneas que comienzan con # que se indican a continuación para que el archivo quede de la siguiente forma:

 location ~ \.php$ {
         fastcgi_split_path_info ^(.+\.php)(/.+)$;
 #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
 #
 #       # With php5-cgi alone:
 #        fastcgi_pass 127.0.0.1:9000;
 #       # With php5-fpm:
         fastcgi_pass unix:/var/run/php5-fpm.sock;
         fastcgi_index index.php;
         include fastcgi_params;
 }

Guarda el archivo y reiniciamos nginx ejecutando:

sudo service nginx restart

7. Verificando que todo funciona

Por último debemos verificar que todo funciona y que nuestra configuración está correcta.

En Ubuntu el directorio por defecto donde estarán nuestros archivos para el sitio es /usr/share/nginx/html. Por lo que crearemos un archivo ahí que llamaremos prueba.php, creamos el archivo ejecutando:

sudo nano /usr/share/nginx/html/prueba.php

Y dentro de ese archivo escribimos la siguiente línea:

<?php phpinfo(); ?>

Ahora abrimos en nuestro navegador http://localhost/prueba.php o http://tudireccionip/prueba.php

Y nos debería aparecer algo como:

php-nginx

Si no te aparece esto o produce algún error entonces verifica tu configuración o deja un comentario y veré como puedo ayudarte.

Eso es todo ya tenemos un servidor LEMP funcionando, no olvides borrar el archivo de prueba.php una vez que hayas terminado de probar el servidor, ya que este archivo da mucha información de tu servidor que no queremos que sea pública.

Cualquier duda o sugerencia por favor deja un comentario y si te gustó este artículo puedes suscribirte al blog dejando tu dirección de correo en la barra de la izquierda y recibirás un correo semanal con los últimos artículos que tenemos.

La última vulnerabilidad que ha aparecido en SSL es POODLE un acrónimo para Padding Oracle On Downgraded Legacy Encryption (CVE-2014-3556) que fue nombrada por los investigadores de google que la descubrieron Bodo Möller, Thai Duong, y Krzysztof Kotowicz.

POODLE es una falla en como los navegadores manejan el cifrado, el atacante negocia el cifrado hasta llegar a SSL 3.0, un protocolo viejo y que ha sido abandonado hace mucho pero que aún es soportado, al conseguir esto permite al atacante decifrar información, incluyendo las cookies secretas de sesión, lo que permite hacerse pasar por el usuario.

Esto solo afecta a sitios que usan conexiones seguras con certificados SSL, para verificar si tu sitio es vulnerable puedes ir a este sitio y correr el test:

http://poodlebleed.com/

Para corregir esto en Apache necesitas hacer los siguientes pasos:

1. Actualizar openssl a su última versión

2. Colocar esto en el archivo de configuración de apache para deshabilitar SSL v2 y v3:

SSLProtocol all -SSLv2  -SSLv3

3. Reiniciar tu servidor apache.

Eso es todo después de estos pasos vuelve a correr el test para asegurarte que tu sitio no es vulnerable.

Actualización:

Si además de evitar la vulnerabilidad quieres hacer SSL más seguro en Apache agrega estás otras líneas a tu configuración de Apache:

SSLCipherSuite AES256+EECDH:AES256+EDH
SSLCompression off
SSLHonorCipherOrder On
SSLUseStapling on
SSLStaplingCache "shmcb:/var/run/ocsp(1500000)"
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff

Casi todas requieren Apache >= 2.4 y el módulo de headers activado.

Aquí nos aseguramos de utilizar cifradores seguros, activamos StaplingCache (puedes aparender más aquí) y además nos aseguramos que el navegador siempre utilice HTTPS no importa qué.

Y esta es una gran herramienta para verificar la seguridad y configuración de nuestro SSL:

https://www.ssllabs.com/ssltest/index.html

Espero que les sirva.

Aunque la mayoría de las veces prefiero el terminal para manejar mis servidores, a la hora de manejar base de datos y realizar Querys prefiero utilizar MySQL Workbench, no siempre funciona de lo mejor pero la mayoría de las veces hace un gran trabajo.

Aquí vamos a ver como conectarnos con nuestra base de datos RDS de Amazon a través de MySQL Workbench con un tunel SSH. Esto nos ahorrará una gran cantidad de trabajo.

Los pasos son:

1. Abrir MySQL Workbench y crear una nueva Conexión

Hay dos formas o haces click en el botón de + al lado de MySQL Conections o vas al menú de Database>Manage Connections y seleccionas new abajo a la derecha a la izquierda tendrás varias pestañas selecciona Connection. Verás una ventana como esta y en el Connection Method seleccionamos Standard TCP/IP over SSH

Connection Name: Colocamos como queremos que se llame la conexión para indentificarla en MySQL Workbench.

Nueva Conexión MySQL Workbench

2. Crear la conexión con la Base de Datos

Cómo nos vamos a conectar a través de nuestra instancia de EC2 debemos colocar en SSH Hostname el Public DNS de la instancia de EC2.

Para encontrar este Public DNS debemos ir a la consola de Amazon  https://console.aws.amazon.com/ abrir el menú de instancias EC2 y seleccionar la instancia con la que nos conectamos normalmente vía SSH abajo veremos un campo de Public DNS parecido a este:

Public DNS EC2 Amazon

Copiamos el Public DNS y lo colocamos en SSH Hostname.

SSH Username: colocamos el nombre del usuario que utilizamos para conectarnos a la instancia de EC2, si por ejemplo es una instancia Ubuntu el usuario por defecto es ubuntu.

SSH Key File: Vamos  utilizar el archivo PEM que usamos como Key para conectarnos a EC2, en SSH Key File hacemos click en … para buscar el archivo y seleccionamos el archivo PEM (nuestra llave privada) que descargamos a la hora de crear la instancia de EC2.

MySQL Hostname: Aquí debemos colocar el Endpoint, que sería la instancia de base de datos creada en Amazon RDS. Para encontrar este Hostname debemos ir a la consola de Amazon  https://console.aws.amazon.com/ abrir el menú de instancias de RDS y seleccionar la instancia con la que nos queremos conectar veremos algo como esto:

Endpoint RDS Amazon

Copiamos toda esa dirección sin los :3306

MySQL Server Port: El puerto por defecto es 3306. Si lo cambiaste en tu configuración debes poner el nuevo puerto aquí.

Username: Es el nombre del usuario Master de la base de datos cuando creaste la instancia de RDS. Aparece en el Username de la consola de Amazon en la instancia de RDS por si lo olvidaste.

Password: Es la clave del usuario Master de la base de datos cuando creaste la instancia de RDS Amazon.

Una vez que llenemos todos los datos presionamos el botón de Test Connection y deberíamos ver un mensaje como el siguiente:

Untitled window_013

Luego presionamos OK y estamos listos para empezar a utilizar nuestra conexión.

3. Manejar la instancia con MySQL Workbench (Opcional)

Si queremos ser capaces de detener, iniciar y ver los logs de la instancia desde Workbench debemos hacer un paso adicional.

Vamos al menú de Database>Manage Connections, seleccionamos la conexión que acabamos de crear y vamos a la pestaña de Remote Managment y ya debería estar casi lleno comprobamos que:

Hostname: es el Public DNS de nuestra instancia EC2.

Username: El usuario que utilizamos para conectarnos vía SSH a nuestra instancia EC2.

Marcamos la opción de Authenticate Using SSH Key y buscamos el archivo .pem de clave privada de nuestra instancia EC2.

Manage Server Connections_017

Cuando este listo hacemos click en Close y ahora podemos ver habilitadas las opciones de nuestra instancia RDS:

Selection_018

Ten cuidado con estas opciones ya que si detienes la instancia puedes hacer que deje de funcionar tu aplicación Web.

Eso es todo, espero que les sirva, cualquier duda o sugerencia por favor deja un comentario.

 

 

Webdav Ubuntu Vensign

En este paso a paso aprenderemos como instalar WebDav en Ubuntu.

WebDav (Web-based Distributed Authoring and Versioning por sus siglas en inglés) es un servicio que nos permite compartir, editar y manejar archivos por un grupo en un servidor remoto vía HTTP.

Entonces para que sirve realmente, la idea principal detrás de WebDav fue la de crear un conjunto de protocolos que sirvieran para manejar archivos a través de la Web de forma colaborativa por grupos de trabajos.

relojTiempo de instalación: 20 min aproximadamente



Contenido:

Escenario

Imaginen un grupo de trabajo que tiene que hacer una propuesta o un programa y que cada individuo de ese grupo de trabajo tiene que hacer un aporte sobre un documento que se va a entregar, en este caso WebDav permitiría a todos en el grupo modificar ese archivo como si lo tuvieran en su propia PC, todos los cambios que hicieran los integrantes del grupo se vería reflejado en el documento e inclusive se puede evitar que dos personas modifiquen el mismo archivo al mismo tiempo para evitar versiones disparejas o errores. Todo esto se hace a través de un servidor Web que es el que permite compartir los archivos.

[adrotate group=”3″ banner=”9″]

Entonces vamos a ver como instalar este útil servicio paso a paso.

1. Instalar servidor Apache

WebDav trabaja sobre Apache por lo que es necesario instalarlo, para esto tenemos ya hemos hecho un tutorial muy útil que puedes seguir aquí:

Como instalar un Servidor LAMP en Ubuntu Paso a Paso

Para WebDav sólo necesitas Apache (Paso 2 del tutorial anterior) si vas a utilizar este servidor Web para otras cosas puedes instalar todo el servidor LAMP completo es tu decisión, una vez que termines puedes volver aquí para instalar WebDav.

Listo?, muy bien vamos a ponernos a trabajar.

2. Activar Módulos de WebDav

WebDav está disponible como un módulo de apache por lo que tenemos que hacer es simplemente activar los módulos ejecutando en el terminal:

sudo a2enmod dav_fs
sudo a2enmod dav
sudo a2enmod dav_lock

Estos módulos son los necesarios para activar y dar soporte a WebDav.

Para que tome efecto reiniciamos el servidor Apache

sudo /etc/init.d/apache2 restart


3. Crear un Host Virtual

Vamos a crear un Host Virtual donde funcionará el WebDav para esto creamos el directorio donde lo vamos a alojar ejecutando en el terminal:

sudo mkdir -p /var/www/webdav
sudo chown www-data /var/www/webdav

En el último comando le dimos propiedad de la carpeta al usuario por defecto de Apache que es www-data.

Creamos una nueva plantilla para el host virtual:

sudo nano /etc/apache2/sites-available/webdav

Nota: puede utilizar el editor de su preferencia como vim, gedit, kate, emacs, etc.

Dentro de este archivo copiamos las siguientes líneas:

<VirtualHost *:80>
 ServerAdmin webmaster@localhost

 DocumentRoot /var/www/webdav
 <Directory /var/www/webdav/>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride
 Order allow,deny
 allow from all
 </Directory>
 <Location />
 DAV On
 AuthType Basic
 AuthName "webdav"
 AuthUserFile /var/www/.passwd.dav
 Require valid-user
 DavMinTimeout 600
 <LimitExcept GET PUT HEAD OPTIONS POST>
 Require valid-user
 </LimitExcept>
 </Location>

</VirtualHost>

Aquí estamos creando nuestro nuevo sitio virtual y diciendo que cualquier petición que venga por el puerto 80 (que es el que se usa por defecto para HTTP) lea el contenido que está en el directorio /var/www/webdav que creamos (para más en Host Virtuales puede visitar Como configurar un Host Virtual en Apache basado en Nombre). Además tenemos las siguientes directivas para la autenticación de WebDav:

  • La ubicación del archivo de autenticación /var/www/.passwd.dav (que crearemos a continuación)
  • Requerimos que el usuario sea válido Require valid-user
  • Tiempo mínimo que se bloqueará un archivo en este caso 600 segundos DavMinTimeout 600

Para más en las directivas del módulo WebDav puede visitar este sitio.

Por último activamos el Host Virtual y desactivamos el sitio por defecto de apache:

sudo a2ensite webdav
sudo a2dissite default

4. Crear el archivo de autenticación y agregar un usuario para WebDav

Vamos a crear el archivo de autenticación /var/www/.passwd.dav y el usuario que utilizaremos en este ejemplo es vensign (cambienlo por el nombre de usuario de su preferencia) ejecutamos:

sudo htpasswd -c /var/www/.passwd.dav vensign

La opción -c es para que cree el archivo, nos pedirá una contraseña para el usuario vensign.

Luego modificamos los permisos del archivo .passwd.dav para que sólo pueda ser modificado por root y por el grupo www-data (que es al que pertenece Apache). Ejecutamos:

sudo chown root:www-data /var/www/.passwd.dav
sudo chmod 640 /var/www/.passwd.dav

Por último reiniciamos el servidor Apache ejecutando:

sudo /etc/init.d/apache2 restart

5. Probar que WebDav funciona

Para esto vamos a instalar el cliente por consola para WebDav llamado cadaver ejecutamos

sudo apt-get install cadaver

Y luego ejecutamos la siguiente línea para conectarnos con WebDav

cadaver http://localhost

Debería aparecerles algo como lo siguiente:

$ cadaver http://localhost/
 Authentication required for webdav on server `localhost':
 Username: vensign
 Password:
 dav:/>

Nota: Si no les funciona con localhost prueben 127.0.0.1

Con esto hemos comprobado que sirve el servidor WebDav

Para salir del prompt de dav:/> escriban quit y luego presionen Enter o Entrar

Conectarse a WebDav desde Ubuntu

Para conectarse a WebDav desde un cliente Ubuntu vamos al menú de Lugares>Conectar con el Servidor…

Aparecerá una pantalla como la siguiente aquí escogemos WebDav(HTTP) y la dirección IP del servidor (en este ejemplo 192.168.1.30) deben cambiarla por la de su servidor WebDav:


Conectar al servidor WebDav Ubuntu

Conectar al servidor WebDav Ubuntu


Y luego solicitará el usuario y contraseña que colocamos anteriormente


webdav-ubuntu-usuario

Solicitud Usuario y Contraseña WebDav


Una vez ingresado el usuario y contraseña aparecerá la carpeta compartida del WebDav donde podrá agregar, modificar y manejar archivos. Recuerde cambiar vensign por el usuario que escogió más arriba.

Conectarse a WebDav desde MS Windows

En MS Windows vaya a Mis sitios de Red y seleccione Agregar un sitio de red


WebDav Agregar Sitio de Red

WebDav Agregar sitio de Red



Luego en el cuadro que aparece seleccionamos Siguiente y en el siguiente Cuadro seleccionamos la opción Elija otra ubicación de red y hacemos click en Siguiente


WebDav Elegir otra ubicacion de red

WebDav Elegir otra ubicacion de red


Escribimos la dirección IP de nuestro servidor, en este ejemplo http://192.168.1.30:80 (cambiala por la dirección de tu servidor) y hacemos click en Siguiente.


WebDav Direccion Servidor

WebDav Dirección Servidor


Nos pedirá el usuario y contraseña que elegimos más arriba durante la instalación, en este ejemplo vensign.


WebDav Usuario y Contraseña

WebDav Usuario y Contraseña


Por último nos pide un nombre para el servidor coloquen el que quieran.

En el último cuadro seleccionamos Finalizar y ya nos debería aparecer la carpeta en nuestro sitio de red


WebDav Directorio

WebDav Directorio


Agregar más usuarios en WebDav

Si quiere agregar otro usuario a WebDav debe ejecutar el siguiente comando en el servidor:

sudo htpasswd /var/www/.passwd.dav prueba

Donde prueba es el usuario lo puedes cambiar por el nombre que quieras y utilizar ese usuario para conectarte a WebDav.


Eso es todo con esto tendremos WebDav instalado y configurado y nuestros clientes conectados listos para compartir archivos via remota.

Espero que les sea de utilidad este tutorial cualquier duda o pregunta dejen su comentario y con gusto les responderé.

Saludos

Olivers

Nosotros en Vensign ofrecemos servicios de soporte, instalación y configuración de Linux y Software Libre para PyMES y corporaciones, puede ver nuestros servicios aquí o Contactarnos


Si quieres recibir más artículos y noticias de diseño y desarrollo Web, Negocios, Software Libre y Linux nos puedes seguir a través de nuestro RSS, Twitter o suscribirte a nuestro Boletín de Noticias

samba logoLa nueva versión de Samba 3.4.8 (de la serie 3.4) liberada la semana pasada repara varios agujeros de seguridad incluyendo dos vulnerabilidades de negación de servicio (DoS por sus siglas en inglés).


Samba como muchos de uds saben es el servidor de software libre por excelencia para compartir archivos e impresoras entre redes Linux y MS Windows.

Las vulnerabilidades permitían a los atacantes hacer fallar el servicio smbd remotamente, uno de los problemas era causado por un puntero mal referenciado y el otro por una variable no inicializada.

Las fallas fueron descubiertas por la firma de seguridad Stratsec los cuales revelaron exploits al momento de explicar los detalles de la vulnerabilidad. Es importante que se actualice a la última versión de Samba lo antes posible para evitar ataques, la rama de versiones 3.5 de Samba arregló esta vulnerabilidad también desde la versión 3.5.2.

Más información

Fuente

En Vensign ofrecemos servicios de soporte Linux, Capacitación y migración para PyMES y corporaciones, puede ver nuestros servicios aquí o Contactarnos

Estaremos publicando una serie de artículos con Tips, Sugerencias y opciones para las empresas así que no olviden seguirnos a través de nuestro RSS, Twitter o suscribirte a nuestro Boletín de Noticias

Servidor DHCP Ubuntu

 

Un servidor DHCP asigna dinámicamente direcciones IP a las PC dentro de una red, esto evita que tengamos que configurar la dirección IP de cada máquina por separado por lo que es muy utilizado en todo tipo de redes. Además de asignar la dirección IP DHCP puede proporcionar un conjunto de configuraciones automáticas como por ejemplo la dirección de broadcast, las direcciones de los servidores DNS y muchos otros parámetros que veremos en este tutorial.

En este tutorial vamos a ver como instalar un servidor DHCP en Ubuntu, que proporcionará el direccionamiento IP dentro de nuestra red y además configuraremos otro parámetros necesarios para que las PC puedan navegar y comunicarse dentro y fuera de nuestra red.

Como se muestra en la Figura 1, estamos suponiendo una red sencilla con varios clientes, una impresora en red y un gateway (o pasarela de datos, que puede ser un swtich, router, router inalámbrico, etc.) que permite la conexión hacia Internet.





Red de ejemplo para DHCP Server

Figura 1. Red de ejemplo para DHCP Server





Nuestra red está planificada con los siguientes parámetros:

  • Red: 192.168.1.0
  • Máscara de red: 255.255.255.0
  • Dirección de Broadcast: 192.168.1.255
  • Rango de direcciones por DHCP: 192.168.1.100 al 192.168.1.200
  • Gateway: 192.168.1.1
  • Dirección de red de nuestro servidor DHCP: 192.168.1.5
  • Impresora en red: 192.168.1.10 con dirección MAC o de hardware 00:00:55:ef:db:55 (si no la dirección MAC de su impresora de red casi siempre está en alguna etiqueta de la impresora o revisen el manual)
  • Servidores DNS 208.67.222.222 y 208.67.220.220 (estos son los de OpenDNS utilicen los de su ISP o los que tengan en el archivo /etc/resolv.conf donde diga nameserver)



Pasos a seguir para realizar la instalación:

1. Asignar una dirección IP fija a nuestro servidor DHCP

Para esto abrimos el archivo de configuración de red que se encuentra en /etc/network/interfaces y colocamos lo siguiente dentro del archivo:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.5
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

Esto suponiendo que su interfaz de red es la eth0, si no sabe o quiere saber más acerca de como configurar una dirección IP fija visite este artículo que escribí en Tribulinux.

2. Instalación del servidor DHCP

Abrimos el terminal en Ubuntu y ejecutamos:

sudo apt-get install dhcp3-server

Al finalizar la instalación aparecerán unos mensajes parecidos a estos:

Setting up dhcp3-server (3.1.3-2ubuntu3) ...
Generating /etc/default/dhcp3-server...
 * Starting DHCP server dhcpd3  
 * check syslog for diagnostics.      [fail]
 Setting up dhcp3-server (3.1.3-2ubuntu3) ...Generating /etc/default/dhcp3-server... * Starting DHCP server dhcpd3                                                   * check syslog for diagnostics.                                                                         [fail]

No se preocupen por los mensajes de fallos estos simplemente ocurren porque aún no hemos configurado el servidor.

3. Seleccionar la interfaz de red en la cual va a funcionar el servidor DHCP

Si configuramos la interfaz eth0 en el paso 1 usaremos esta, si configuramos otra tienen que cambiar donde está eth0 por la interfaz de red a utilizar

Abrimos el archivo que se encuentra en sudo /etc/default/dhcp3-server ejecutando:

sudo vim /etc/default/dhcp3-server

Nota: Pueden utilizar el editor de su preferencia (nano, gedit, vi, emacs, etc).

Donde aparece:

INTERFACES=""

La cambiamos por:

INTERFACES="eth0"

En eth0 el 0 es un CERO

Luego guardamos y cerramos el archivo, aquí estamos diciendo que el servidor DHCP debe “escuchar” en esta interfaz por las peticiones de DHCP.

4. Modificar el archivo de configuración de DHCP

Antes de modificar el archivo de configuración de DHCP hacemos un respaldo del archivo, para tener siempre el original por cualquier fallo que se nos pueda presentar, ejecutamos en el terminal:

sudo cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf-respaldo

Luego abrimos el archivo de configuración de DHCP ejecutando:

sudo vim /etc/dhcp3/dhcpd.conf

Dentro del archivo encontrarán gran cantidad de comentarios y ejemplos que sirven como guía para configurar el servidor DHCP en este caso vamos a borrar todo lo que existe dentro del archivo (lo respaldaron como les dije en el paso anterior cierto?) y colocamos:

default-lease-time 600; #tiempo de espera antes de renovar la direccion IP
max-lease-time 7200;  #tiempo máximo de espera antes de renovar la direccion IP
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 208.67.222.222,208.67.220.220; #servidores DNS
option domain-name "ejemplo.local";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
}
#Configuracion IP fija para impresora en red
host impresora1 {
hardware ethernet 00:00:55:ef:db:55;
fixed-address 192.168.1.10;
}

Recuerden cambiar los valores por los que hayan decidido en su red y cambiar la dirección MAC de la impresora por la de su impresora.

Solo esto debe tener el archivo de configuración ni más ni menos guarden el archivo. Vamos a verlo línea por línea:

  • default-lease-time 600: es el tiempo de préstamo o alquiler por defecto de la dirección IP y está medido en segundos.
  • max-lease-time 7200: es el tiempo máximo que debe durar una dirección IP antes que caduque y el cliente deba pedir otra vez una dirección.
  • option subnet-mask 255.255.255.0: Es la máscara de red que definimos arriba.
  • option broadcast-address 192.168.1.255: Es la dirección de broadcast de nuestra red.
  • option routers 192.168.1.1: Es la dirección IP de nuestro gateway (tambien llamado pasarela de datos o puerta de enlace).
  • option domain-name-servers 208.67.222.222,208.67.220.220: Es la dirección IP de nuestros servidores DNS como se explicó arriba.
  • option domain-name “ejemplo.local”: Es el nombre de dominio de nuestra red, este parámetro es opcional.
  • subnet 192.168.1.0 netmask 255.255.255.0 : Aquí definimos nuestra red que queremos asignarle el rango de direcciones IP.
  • range 192.168.1.100 192.168.1.200: Es el rango de direcciones de la .100 a la .200.
  • host impresora1 : Así es como llamamos nuestra impresora de red para asignarle una IP fija.
  • hardware ethernet 00:00:55:ef:db:55: Aquí especificamos la dirección MAC o dirección de hardware de la tarjeta de red de nuestra impresora (ver explicación arriba, utilicen su propia dirección MAC)
  • fixed-address 192.168.1.10: Es la dirección IP fija que le queremos asignar a nuestra impresora.

Si tienen algún otro servidor que necesite una IP fija y no la quieran configurar en el servidor simplemente agregan las siguientes líneas igual que la impresora al final del archivo anterior:

host server1 {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 192.168.1.11;
}

Cambiando por supuesto la dirección MAC de su servidor (pueden obtenerla ejecutando ifconfig donde dice MAC o direcciónHW) y la dirección IP que uds quieran dentro de su red.

5. Reiniciar el servidor DHCP

Por último para que la configuración haga efecto y nuestro servidor DHCP funcione ejecutamos:

sudo /etc/init.d/dhcp3-server restart

Con esto reiniciamos el servicio de DHCP y si no sale ningún error debería funcionar (puede salir un error cuando intenta detener (STOP) el servicio porque simplemente no está corriendo aún).

6. Probar en el cliente

NOTA IMPORTANTE: Debe existir sólo un servidor DHCP en nuestra red, si tienen algún otro servidor DHCP (como por ejemplo el de un router o router inalámbrico) deben estar deshabilitado de lo contrario podrían tener conflictos dentro de su red.

Una vez que tengamos configurado nuestro servidor DHCP es hora de obtener las direcciones IP en nuestros clientes. Tenemos dos casos:

a. Si el PC cliente ya está encendido y tiene una dirección IP asignada deberán, tanto para un PC con MS Windows como Linux, solicitar que renueve la dirección IP de su PC.

b. Si el PC está apagado, no hay problemas la próxima vez que la enciendan obtendrá la dirección IP automáticamente.

Una vez hecho esto los clientes deberán obtener direcciones IP automáticamente y estar dentro del rango de .100 y .200. Por ejemplo 192.168.1.101.-

En un cliente Linux además pueden verificar ejecutando el comando:

sudo dhclient 

sudo solo es necesario para Ubuntu y derivados (deben tener permisos de administrador en el cliente) ó

tail -n 15 /var/lib/dhcp3/dhclient.*.leases

Eso es todo ya tienen un servidor DHCP funcionando.

Cualquier duda o sugerencia por favor dejen su comentario y con gusto les responderé.


Nosotros en Vensign ofrecemos servicios de soporte, instalación y configuración de Linux y Software Libre para PyMES y corporaciones, puede ver nuestros servicios aquí o Contactarnos


Si quieres recibir más artículos y noticias de diseño y desarrollo Web, Negocios, Software Libre y Linux nos puedes seguir a través de nuestro RSS, Twitter o suscribirte a nuestro Boletín de Noticias



En este tutorial vamos a ver como configurar un Host Virtual en Apache2 basado en Nombre e popular servidor web de software libre y código abierto.

Hay varios tipos de Virtual Host el más popular es el basado en Nombre y es el que aprenderemos a configurar a continuación

Que es un Host Virtual (ó Virtual Host) basado en Nombre

No es más que hospedar múltiples dominios del estilo (www.ejemplo.com, www.otrodominio.com, etc) bajo una misma dirección IP. Este tipo de configuración es muy común en los Hosting compartidos, donde múltiples clientes comparten un mismo servidor.

Para este tutorial debes tener un servidor Apache funcionando, puedes revisar los siguiente tutoriales donde explico como instalar un servidor LAMP el cual incluye el servidor Apache.

Como instalar un Servidor LAMP en Ubuntu Paso a Paso

Como instalar un Servidor LAMP en Fedora 12 paso a paso

Host Virtuales en Apache

Aquí va un poco de teoría para explicar como funciona si quieres puedes ir de una vez a la Configuración.

Apache 2 tiene varios directorios de configuración, los que nos interesan en este momento son dos el /etc/apache2/sites-available/ y el /etc/apache2/sites-enable, el primero tiene los archivos de configuración de los sitios disponibles y el segundo son links simbólicos de los sitios activos, por defecto al instalar Apache se crea un archivo llamado default que contiene la configuración básica de acceso de Apache y es un archivo que no se debe borrar.

Configurar Host Virtual Basado en Nombre

Sólo tenemos que seguir los siguientes pasos:

Vamos a suponer que queremos crear un Host Virtual llamado www.ejemplo.com y que la dirección IP pública de nuestro servidor es 10.0.0.5.

1. Creamos un archivo en /etc/apache2/sites-available llamado ejemplo.com

En Ubuntu :

sudo nano /etc/apache2/sites-available/ejemplo.com

En Fedora como root:

su -
nano /etc/apache2/sites-available/ejemplo.com

Aquí estoy usando el editor de texto nano pueden usar el de su preferencia (vim, emacs, gedit, kate, etc).

2. Dentro del archivo ejemplo.com que acabamos de crear escribimos lo siguiente:

<Virtual Host 10.0.0.5:80>
 ServerName www.ejemplo.com
 ServerAlias ejemplo.com *ejemplo.com
 DocumentRoot /var/www/ejemplo
</Virtual Host>

Vamos a ver línea por línea:

  • Empezamos con <Virtual Host 10.0.0.5:80> Aquí estamos indicando la directiva VirtualHost para decir que es un Servidor Virtual indicamos la dirección IP donde va a responder y el puerto (80 es el puerto por defecto donde escucha Apache). Si queremos que escuche en todas las direcciones IP quitamos la dirección y colocamos un asterisco quedaría *:80.
  • ServerName es el nombre del servidor en nuestro caso es www.ejemplo.com
  • ServerAlias son otras formas que el usuario puede escribir el nombre, sin el www y el *.ejemplo indica que puede tener subdominios como foro.ejemplo.com, y todos irán a la misma página.
  • DocumentRoot es donde están guardados los archivos de nuestra página. En este caso en /var/www/ejemplo pero puede ser cualquier carpeta donde tengan los archivos (cuidado con la seguridad y los permisos de la carpeta.

3. Guarda el archivo y ejecuta en el terminal el siguiente comando como administrador (o con sudo según el caso):

a2ensite ejemplo.com

Este comando crea un link simbólico en la carpeta /etc/apache2/sites-enabled, para activar nuestro sitio.

4. Reinicia el Apache:

Ubuntu:

sudo service apache2 restart

Fedora:

su -
service httpd restart

Y prueba en tu navegador que funciona correctamente escribiendo la dirección www.ejemplo.com (o la que hayas configurado) te debería aparecer la pagina que elegiste. Si estás utilizando un servidor interno de pruebas sin dirección IP pública recuerda colocar en el archivo /etc/resolv.conf de la PC desde donde vayas accesar la dirección y nombre del dominio algo como:

10.0.0.5     www.ejemplo.com

Para que no haga la petición al DNS y sepa a que dirección debe apuntar.

Eliminar un Host Virtual en Apache

Si queremos deshabilitar el sitio ejecutamos como root o utilizando sudo:

a2dissite ejemplo.com

Esto elimina el link simbólico a /etc/apache2/sites-enabled/, y deja de funcionar el Host Virtual.

Eso es todo por ahora en la serie de artículos de Apache, como siempre cualquier duda, pregunta o sugerencia puedes dejar tu comentario.

Autor: Olivers De Abreu es el director y fundador de Vensign

Si necesitas capacitación a tu medida, soporte o instalar cualquier tipo de Servidor ponte en contacto con nosotros en Vensign y con gusto te haremos una propuesta sin ningún compromiso.

Pueden seguirnos a través de nuestro Feed RSS o a través de Twitter @odeabreu

Nivel : Básico – Intermedio

Ya ha pasado un tiempo desde que escribí el tutorial de Instalar un servidor LAMP en Fedora Core 6 , Core 7 y Core 8, es un artículo con muchas visitas y con más de 100 comentarios y preguntas, he decidido a que ya es hora de actualizarlo a la versión 12 de Fedora que es la más reciente al momento, además aprovechar y agregar mucho de los tips y preguntas incluidas en los comentarios así como también las cosas que han cambiado y algunos tópicos más avanzados. Así que empecemos…

En este tutorial vamos a ver como instalar y configurar un servidor LAMP para Fedora 12.

Un servidor LAMP se refiere a un conjunto de aplicaciones que por sus siglas es Linux+Apache+MySQL+PHP y en este caso vamos a instalar y configurar un servidor con los siguientes componentes:

Apache 2 – Servidor Web muy versatil y uno de los más utilizados en el mundo

MySQL 5 – Uno de los servidores de base de datos más populares y utilizados en sitios y aplicaciones web

PHP 5 – Es un lenguaje interpretado utilizado para construir aplicaciones y páginas web

Y veremos algunas utilidades como phpmyadmin que nos permitirán administrar mejor nuestro servidor.

Concepto: Un servidor no es más que un PC que presta algún servicio (como mostrar páginas web).

Pasos previos:

  • Obtener e Instalar Fedora: lo pueden obtener desde la página Oficial del proyecto Fedora.
  • El servidor debe tener al menos 256 MB de memoria RAM, si no saben cuanta memoria tiene su PC simplemente ejecuten free -m en el terminal si donde dice total es mayor a 256 están bien. Yo personalmente recomiendo tener al menos 512 MB de memoria RAM
  • También pueden probar instalando el servidor en una máquina virtual ya sea con virtualbox, vmware, kvm o el manejador de máquinas virtuales de su preferencia.
  • Si van a hacer la administración del servidor LAMP de manera remota les aconsejo instalar openssh-server (yum install openssh-server esto lo deben ejecutar como root).

Les aconsejo también seguir el tutorial paso a paso, he tratado de hacer los pasos lo más concretos y cortos posibles, para que así no se pierdan de nada y tampoco les aburra el tutorial.

Bueno ya tenemos todo listo para empezar así que abran un Terminal y pongámonos a trabajar.

A partir de ahora todos los comandos deben ser ejecutados como root (administrador)

1. Actualizar el Sistema

Es siempre aconsejable realizar la actualización de nuestro sistema antes de llevar a cabo cualquier instalación simplemente ejecuten lo siguiente en el terminal

yum -y update

Con este comando se actualiza nuestra lista de repositorios y los paquetes que tengamos instalados si hay alguna actualización disponible.

2. Instalar Apache y PHP en un sólo comando

Fedora nos da la opción de instalar paquetes en “grupos” algo parecido al tasksel de Debian y Ubuntu.

Para instalar el servidor Apache y PHP 5 vamos a utilizar el grupo “Servidor Web” para ver los paquetes que contiene este grupo ejecutamos el comando:

yum groupinfo "Servidor Web"

Nota: Si tu servidor está en otro idioma que no sea Español puedes reemplazar “Servidor Web” por “Web Server” que funciona para cualquier idioma

Esto nos dá la siguiente lista:

Paquetes obligatorios:
 httpd
 Paquetes predeterminados:
 crypto-utils
 distcache
 httpd-manual
 mod_perl
 mod_python
 mod_ssl
 php
 php-ldap
 php-mysql
 squid
 webalizer
 Paquetes opcionales:
 ...

Para instalar el grupo ejecutamos:

yum -y groupinstall "Servidor Web"

Al finalizar la instalación ya deberíamos tener instalado el servidor Apache y PHP5

Si quieres comprobar que versión de Apache se ha instalado debes ejecutar el siguiente comando:

httpd -v

Te aparecerá algo como:

Server version: Apache/2.2.14 (Unix)
Server built:   Dec  3 2009 10:25:53

Para finalizar la configuración de Apache debemos configurarlo para que inicie siempre que reiniciemos nuestro servidor para esto ejecutamos en el terminal:

chkconfig --level 345 httpd on

Ahora iniciamos Apache con:

service httpd start

Si todo está bien debería aparecer un [OK]

Los comandos para manejar el servidor Apache son los siguientes, pueden utilizar cualquiera de las dos versiones del comando la versión larga o la corta, todos estos comandos deben ejecutarse como root:

Función Comando Comando Corto
Iniciar Apache /etc/init.d/httpd start service httpd start
Detener Apache /etc/init.d/httpd stop service httpd stop
Reiniciar Apache /etc/init.d/httpd restart service httpd restart
Estatus Apache /etc/init.d/httpd status service httpd status

El archivo de configuración por defecto de Apache se encuentra en el directorio /etc/httpd/ y el directorio por defecto de los archivos donde se guardarán las páginas web es en /var/www/html

Para probar que Apache está funcionando bien basta con ir a la dirección en tu navegador (Firefox, Konqueror o el que prefieran) http://localhost desde el mismo servidor o http://ipservidor desde otra PC y les debe aparecer algo como lo siguiente:

Fedora Pagina por defecto de Apache

Para comprobar la versión de PHP ejecutamos:

php -v

Debería aparecer algo como:

PHP 5.3.1 (cli) (built: Nov 20 2009 12:52:06)
 Copyright (c) 1997-2009 The PHP Group
 Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies

Para comprobar que PHP  está funcionando correctamente, vamos a crear el siguiente archivo llamado prueba.php como root con tu editor favorito puedes utilizar nano, vim, gedit, etc.:

vim /var/www/html/prueba.php

Nota: Aquí estoy utilizando vim para editar utilicen el editor de su preferencia.

Dentro del archivo copiamos lo siguiente:

<?php phpinfo(); ?>

Guardamos al archivo y vamos al navegador y colocamos la dirección http://localhost/prueba.php si estamos en el mismo servidor o http://ipdelservidor/prueba.php. Deberia desplegar una lista con toda la información de PHP, los módulos y librerias instalados.

Pagina de prueba.php phpinfo()

Si te aparece una pantalla parecida a la anterior es que PHP está correctamente instalado y funcionando con Apache. Si te aparece algo como que quiere guardar el archivo prueba.php intenta reiniciar el servidor Apache con service httpd restart.

El archivo de configuración de PHP se encuentra en /etc/php.ini

3. Instalar MySQL

MySQL es una de las base de datos open source más popular y utilizadas en innumerables páginas web y aplicaciones tanto gratuitas como comerciales. Es una base de datos bastante robusta y flexible, fácil de configurar y lo bastante rápida para la mayoría de las aplicaciones comunes.

Al igual que para Apache existe un Grupo de paquetes de instalación para MySQL llamado “Base de datos MySQL” para ver los contenidos de este grupo de paquetes puedes ejecutar:

yum groupinfo "Base de datos MySQL"

Para instalar el servidor de MySQL debemos ejecutar el siguiente comando:

yum -y groupinstall "Base de datos MySQL"

Nota: Si tu servidor está en otro idioma que no sea Español puedes reemplazar “Base de datos MySQL” por “MySQL Database” que funciona para cualquier idioma

Esto instalará todos los paquetes y librerias necesarios para que funcione el servidor MySQL

Ahora debemos hacer que el servidor MySQL se inicie cada vez que se arranque o se reinicie el sistema para esto ejecutamos:

chkconfig --level 345 mysqld on

Para iniciar MySQL ejecutamos

service mysqld start

Luego debemos configurar el servidor MySQL para configurar la clave de administrador ejecutando:

mysql_secure_installation

Primero nos pregunta por la contraseña de root de MySQL, aquí presionamos enter ya que todavía no hay ninguna contraseña de root configurada para MySQL

Enter current password for root (enter for none): 

Luego nos pregunta si queremos asignarle una contraseña de root para MySQL escribimos Y y presionamos Enter/Intro

Set root password? [Y/n]

Luego nos pide la contraseña, aquí deberán colocar una clave para el administrador de la base de datos (no confundir con root de Fedora), no es recomendable colocar la misma clave del usuario de Fedora, se recomienda también que tenga una longitud mayor a 8 caracteres y que mezclen letras, símbolos y números, no son permitidos los espacios en blanco.

New password:

Cuando diga Re-enter new password: Simplemente volvemos a escribir la contraseña anterior

Luego nos pregunta si eliminamos los usuarios anónimos, a lo cual respondemos que Y por medidas de seguridad

Remove anonymous users? [Y/n]

Ahora pregunta si el usuario administrador solo puede ser utilizado desde el host local, esto es recomendable por razones de seguridad, a menos que tengas algún requerimiento especial respondemos Y

Disallow root login remotely? [Y/n]

Removemos la base de datos test que es de prueba si queremos respondiendo que Y

Remove test database and access to it? [Y/n]

Por último nos pide que reiniciemos los privilegios para que se efectuen los cambios respondemos Y

Reload privilege tables now? [Y/n]

Listo ya nuestra base de datos MySQL está instalada y segura.

Para comprobar el funcionamiento del servidor MySQL ejecuten el siguiente comando:

mysql -u root -p

Deberá pedirles la clave que colocaron en el paso anterior y aparecerles el prompt  mysql> algo parecido a esto:

vensign@lamp-vensign:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 11
Server version: 5.1.42 Source distribution

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

Vemos que nos muestra la versión del MySQL que acabamos de instalar. Para salir del prompt de mysql y volver al terminal de Linux simplemente escriban exit y presionen Enter o Intro.

Los comandos para administrar MySQL son:

Función Comando Comando Corto
Iniciar MySQL /etc/init.d/mysqld start service mysqld start
Detener MySQL /etc/init.d/mysqld stop service mysqld stop
Reiniciar MySQL /etc/init.d/mysqld restart service mysqld restart
Estatus MySQL /etc/init.d/mysqld status service mysqld status

El archivo de configuración de mysql se encuentra en /etc/my.cnf

Con estos tres pasos ya tenemos instalado un servidor LAMP en Fedora.

Con esto finalizamos el tutorial, ya tenemos un servidor web LAMP totalmente funcional y ya pueden empezar a colocar sus páginas y desarrollar sus proyectos, pronto publicaremos más tutoriales de configuración y seguridad de servidores web así que estén pendientes.

Cualquier duda o sugerencia por favor dejen sus comentarios

Autor: Olivers De Abreu es el director y fundador de Vensign

Si necesitas capacitación a tu medida, soporte o instalar cualquier tipo de Servidor ponte en contacto con nosotros en Vensign y con gusto te haremos una propuesta sin ningún compromiso.

Pueden seguirnos a través de nuestro Feed RSS o a través de Twitter @odeabreu

 

Nivel : Básico – Intermedio

Ya ha pasado un tiempo desde que escribí el tutorial de Instalar un Servidor LAMP en Ubuntu/Debian, es un artículo bastante popular y con más de 100 comentarios y preguntas, he decidido a que ya es hora de actualizarlo y agregar mucho de los tips y preguntas incluidas en los comentarios así como también las cosas que han cambiado y algunos tópicos más avanzados. Así que empecemos…

En este tutorial vamos a ver como instalar y configurar un servidor LAMP para Ubuntu, aunque en este caso estoy utilizando la versión de Ubuntu 9.10 Karmic Koala, este tutorial sirve para cualquier versión de Ubuntu desde la 8.04 Hardy Heron.

Un servidor LAMP se refiere a un conjunto de aplicaciones que por sus siglas es Linux+Apache+MySQL+PHP y en este caso vamos a instalar y configurar un servidor con los siguientes componentes:

Apache 2 – Servidor Web muy versatil y uno de los más utilizados en el mundo

MySQL 5 – Uno de los servidores de base de datos más populares y utilizados en sitios y aplicaciones web

PHP 5 – Es un lenguaje interpretado utilizado para construir aplicaciones y páginas web

Y veremos algunas utilidades como phpmyadmin que nos permitirán administrar mejor nuestro servidor.

Concepto: Un servidor no es más que un PC que presta algún servicio (como mostrar páginas web).

Pasos previos:

 

  • Obtener e Instalar Ubuntu: lo pueden obtener desde la página Oficial de Ubuntu, si el servidor Web LAMP sólo lo van a utilizar como servidor les aconsejo descargar la versión de servidor. Igualmente se puede hacer la instalación sobre la versión de Escritorio de Ubuntu.
  • El servidor debe tener al menos 256 MB de memoria RAM, si no saben cuanta memoria tiene su PC simplemente ejecuten free -m en el terminal si donde dice total es mayor a 256 están bien. Yo personalmente recomiendo tener al menos 512 MB de memoria RAM
  • También pueden probar instalando el servidor en una máquina virtual ya sea con virtualbox, vmware, kvm o el manejador de máquinas virtuales de su preferencia.
  • Si van a hacer la administración del servidor LAMP de manera remota les aconsejo instalar openssh-server (sudo aptitude install openssh-server).

Les aconsejo también seguir el tutorial paso a paso, he tratado de hacer los pasos lo más concretos y cortos posibles, para que así no se pierdan de nada y tampoco les aburra el tutorial.

Bueno ya tenemos todo listo para empezar así que abran un Terminal y pongámonos a trabajar.

1. Actualizar nuestro sistema

Es siempre aconsejable realizar la actualización de nuestro sistema antes de llevar a cabo cualquier instalación simplemente ejecuten lo siguiente en el terminal

sudo aptitude update && sudo aptitude safe-upgrade

Con este comando se actualiza nuestra lista de repositorios y los paquetes que tengamos instalados si hay alguna actualización disponible. Si les hace cualquier pregunta acerca de actualizar algún paquete pueden contestar que sí.

2. Instalar Apache

Apache es el servidor Web más utilizado en el mundo, es open source, modular, flexible y totalmente configurable. Se puede instalar en muchas plataformas como Linux, MS Windows, Solaris, etc.

Apache soporta HTTPS, virtual hosting, CGI, SSI, IPv6, scripting y integración con bases de datos, filtrado de solicitudes y respuestas, muchos esquemas de autenticación y mucho más. Para más información pueden visitar http://httpd.apache.org/

Para instalarlo simplemente ejecutamos:

sudo aptitude install apache2

Esto instalará Apache 2 y todos los paquetes necesarios para su funcionamiento, si pregunta que si desea continuar instalando estos paquetes responda S o Y según sea el caso (depende del idioma de la instalación).

Una vez finalizada la instalación, pueden comprobar la versión de su Apache ejecutando:

apache2 -v

Les aparecerá algo como:

vensign@lamp-vensign:~$ apache2 -v
Server version: Apache/2.2.12 (Ubuntu)
Server built:   Nov 12 2009 22:51:51

Los comandos para manejar el servidor Apache son los siguientes, pueden utilizar cualquiera de las dos versiones del comando la versión larga o la corta:

Función Comando Comando Corto
Iniciar Apache sudo /etc/init.d/apache2 start sudo service apache2 start
Detener Apache sudo /etc/init.d/apache2 stop sudo service apache2 stop
Reiniciar Apache sudo /etc/init.d/apache2 restart sudo service apache2 restart
Estatus Apache sudo /etc/init.d/apache2 status sudo service apache2 status

Nota: Si no les funciona el comando sudo service apache2 … deben instalar sysvinit-utils (especialmente en las versiones más viejas de Ubuntu).

El archivo de configuración por defecto de Apache se encuentra en el directorio /etc/apache2/ y el directorio por defecto de los archivos donde se guardarán las páginas web es en /var/www

Para probar que Apache está funcionando bien basta con ir a la dirección en tu navegador (Firefox, Konqueror o el que prefieran) http://localhost desde el mismo servidor o http://ipservidor desde otra PC y les debe aparecer algo como lo siguiente:

 

 

 

Pantalla Inicio Apache en el Navegador

Pantalla Inicio Apache en el Navegador

 

 

 

 

3. Instalar MySQL

MySQL es una de las base de datos open source más popular y utilizadas en innumerables páginas web y aplicaciones tanto gratuitas como comerciales. Es una base de datos bastante robusta y flexible, fácil de configurar y lo bastante rápida para la mayoría de las aplicaciones comunes.

Para instalar el servidor de MySQL debemos ejecutar el siguiente comando:

sudo aptitude install mysql-server

Esto instalará todos los paquetes y librerias necesarios para que funcione el servidor MySQL

Durante la instalación les aparecerá la siguiente pantalla solicitando la clave de root para el servidor MySQL, aquí deberán colocar una clave para el administrador de la base de datos, no es recomendable colocar la misma clave del usuario de Ubuntu, se recomienda también que tenga una longitud mayor a 8 caracteres y que mezclen letras, símbolos y números, no son permitidos los espacios en blanco.

 

 

 

Clave root Servidor MySQL

Clave root Servidor MySQL

 

 

 

Nota: No confundir esto con el usuario root de Linux, este es el usuario root de MySQL

Para comprobar el funcionamiento del servidor MySQL ejecuten el siguiente comando:

mysql -u root -p

Deberá pedirles la clave que colocaron en el paso anterior y aparecerles el prompt  mysql> algo parecido a esto:

vensign@lamp-vensign:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 40
Server version: 5.1.37-1ubuntu5 (Ubuntu)

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

Vemos que nos muestra la versión del MySQL que acabamos de instalar. Para salir del prompt de mysql y volver al terminal de Linux simplemente escriban exit y presionen Enter o Intro.

Los comandos para administrar MySQL son:

Función Comando Comando Corto
Iniciar MySQL sudo /etc/init.d/mysql start sudo service mysql start
Detener MySQL sudo /etc/init.d/mysql stop sudo service mysql stop
Reiniciar MySQL sudo /etc/init.d/mysql restart sudo service mysql restart
Estatus MySQL sudo /etc/init.d/mysql status sudo service mysql status

Nota: Si no les funciona el comando sudo service mysql … deben instalar sysvinit-utils (especialmente en las versiones más viejas de Ubuntu).

El archivo de configuración de mysql se encuentra en /etc/mysql/my.cnf

Ya que tenemos instalado Apache y MySQL ahora vamos a proceder a instalar PHP.

4. Instalar PHP

PHP es un lenguaje interpretado que es utilizado para crear páginas web dinámicas y aplicaciones, de una manera rápida y flexible. Entre las plataformas que utilizan PHP está WordPress, Drupal y Joomla.

Para instalar PHP 5 junto con el soporte para Apache y MySQL ejecutamos el siguiente comando en el terminal:

sudo aptitude install php5 libapache2-mod-php5 php5-mysql

Igual que en los pasos anteriores responde S cuando te pregunte que quieres instalar los paquetes.

Una vez que finalice la instalación debemos reiniciar el servidor Apache para que tome los cambios de la libreria de PHP ejecutamos:

sudo /etc/init.d/apache2 restart

El paso anterior es muy importante ya que si no no funcionará el PHP hasta que reinicies el servidor Apache!

Para probar PHP vamos a crear el siguiente archivo llamado prueba.php con tu editor favorito puedes utilizar nano, vim, gedit, etc.:

sudo vim /var/www/prueba.php

Nota: Aquí estoy utilizando vim para editar utilicen el editor de su preferencia

Dentro del archivo copiamos lo siguiente:

<?php phpinfo(); ?>

Guardamos al archivo y vamos al navegador y colocamos la dirección http://localhost/prueba.php si estamos en el mismo servidor o http://ipdelservidor/prueba.php. Deberia desplegar una lista con toda la información de PHP, los módulos y librerias instalados.

 

 

 

Pagina de prueba.php phpinfo()

Pagina de prueba.php phpinfo()

 

 

 

 

Si te aparece una pantalla parecida a la anterior es que PHP está correctamente instalado y funcionando con Apache. Si te aparece algo como que quiere guardar el archivo prueba.php lo más seguro es que no hayas reiniciado el servidor Apache luego de instalar PHP.

El archivo de configuración de PHP se encuentra en /etc/php5/apache2/php.ini

Con estos cuatro pasos ya tenemos instalado un servidor LAMP con Ubuntu.

Ahora vamos a ver como instalar phpmyadmin para manejar MySQL

Instalar phpmyadmin

Phpmyadmin es una interfaz web que nos permite manejar nuestras bases de datos en MySQL en una forma más amigable. Para instalarlo en Ubuntu seguimos los siguientes pasos:

1. Ejecutamos

sudo aptitude install phpmyadmin

2. Durante el proceso de instalación aparecerá el siguiente diálogo en el cual debemos seleccionar Apache presionando barra espaciadora sobre la opción y despues presionar Enter o Intro:

 

 

 

Seleccionar Apache2

Seleccionar Apache2

 

 

 

 

3. Luego preguntará por la configuración de paquetes a lo que debemos responder que Si

 

 

 

Seleccionar Si en configuracion de Paquetes

Seleccionar Si en configuracion de Paquetes

 

 

 

4.  El siguiente dialogo nos pregunta por la clave que configuramos para el usuario root de MySQL que hicimos en los pasos anteriores

 

 

 

Clave root MySQL

Clave root MySQL

 

 

 

5. Por último nos pregunta la clave que queremos darle al usuario de administración de phpmyadmin, escriba la clave que prefieras, si la dejas en blanco y presionas Intro o Enter generará una clave aleatoria

 

 

 

Clave administración phpmyadmin

Clave administración phpmyadmin

 

 

 

 

Con esto finalizará la instalación de phpmyamin.

Para ingresar a la interfaz web de phpmyadmin vamos a nuestro navegador web y colocamos la dirección http://localhost/phpmyadmin ó  http://ipdelservidor/phpmyadmin y debería aparecer una ventana como la siguiente:

 

 

 

Pagina inicio Phpmyadmin

Pagina inicio Phpmyadmin

 

 

 

 

Ahí deben colocar el usuario root y la clave de root para MySQL para administrar todas las bases de datos, a medida que creen nuevos usuarios y base de datos pueden entrar con otros usuarios.

 

 

 

Pagina Principal Phpmyadmin

Pagina Principal Phpmyadmin

 

 

 

Con esto finalizamos el tutorial, ya tenemos un servidor web LAMP totalmente funcional y ya pueden empezar a colocar sus páginas y desarrollar sus proyectos, pronto publicaremos más tutoriales de configuración y seguridad de servidores web así que estén pendientes.

Cualquier duda o sugerencia por favor dejen sus comentarios

Autor: Olivers De Abreu es el director y fundador de Vensign

Pueden seguirnos a través de nuestro Feed RSS o a través de Twitter @odeabreu

bajo CC por kenyee

bajo CC por kenyee

Para seguir con las charlas, este miércoles 24 de junio a las 8 pm hora Venezuela (UTC-4:30)  voy a dar una charla en el canal IRC de Ubuntu-ve en Freenode acerca de como instalar y configurar un servidor LAMP (Linux, Apache, MySQL y PHP), junto con algunos trucos y tips. Entre otros puntos abarcará:

Como instalar Apache 2

Como instalar y configurar MySQL y algunos comandos básicos

Como instalar y configurar PHP 5

Como instalar phpmyadmin para manejar MySQL

Y algunos tips, más respuestas a todas sus preguntas.

Los espero allá el canal está en el servidor freenode, si no tienen IRC pueden entrar via web por aquí:

http://java.freenode.net//index.php?channel=ubuntu-ve

Mi nick en el IRC es vensign ;-)

TIP : Si quieren saber la hora en UTC en el terminal pueden ejecutar:

date -u

Y les dará la hora en UTC (GMT)

Agradezco a la gente de Ubuntu-ve por esta oportunidad y espero verlos por allá, cualquier sugerencia de algún punto específico que quieren que toque pueden dejar su comentario aquí.

Saludos

Olivers