miércoles, 19 de diciembre de 2012

Apache2: Introducción y usos básicos I

Vamos a ver cómo instalar un servidor apache basicote para tener una página web alojada en nuestro servidor, algo que es relativamente trivial. Instalarlo es tán fácil como tirar de repositorios (apache2 en debian, httpd en centos rhel).

Con esto, tendremos instalado nuestro servidor apache en el que podremos alojar webs sencillitas en html. Esto se le quedara corto a muchos, ya que para la mayor parte de las webs actuales necesitaremos tener php y mysql instalado. Como siempre, tiramos de repositorios para instalarlos, aunque en el caso de mysql hay una diferencia entre las distros basadas en debian (debian y ubuntu, al menos) y las basadas rhel. Mientras que cuando instalamos el paquete de mysql-server en debian nos pide poner una contraseña para el usuario root, en centos no es asi y habra que ponerla una vez finalizado, ya que no queremos que alguien indeseado pueda acceder y tocar nuestras bbdd.

Para cambiar la contraseña de mysql en centos:
# mysql -u root

mysql>  GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY 'Passwordquequeramos';
.
.
.
mysql> exit;
Para comprobar que está todo bien, volvemos a entrar sin pass "mysql -u root" y nos dará error "ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)". Para acceder a partir de ahora tendremos que usar el comando "mysql -u root -p".


Con todo esto, ya tenemos nuestro servidor lamp preparado, nos centraremos en configurar apache y algo de php para hacer medianamente seguro nuestro servidor. Por defecto en Debian las webs cuelgan de "/var/www" y en Centos de "/var/www/html" (o htdocs, no recuerdo ahora bien y no tengo un centos para verificarlo :P). Si ponemos archivos webs en esa carpeta los prodremos visualizar entrando desde cualquier navegador a la ip (o dominio que apunte a la ip).

En próximos posts veremos cómo crear virtualhosts y modificar un poco el fichero de configuración, que es diferente de Debian a Centos, pese a que en el fondo sean lo mismo estan ordenados de diferentes formas.

viernes, 14 de diciembre de 2012

FTP: Introducción y usos básicos

Vamos a ver como configurar un servidor ftp de manera que sea medianamente seguro. Con el ftp podremos tranferir archivos desde cualquier ordenador al servidor, y descargarlos desde ahí. La pega que tiene este método es que los datos que envía no se encriptan, aunque existen formas (sftp, si lo pruebo algún día lo pongo).

Existen varios servidores ftp para Linux, pureftpd, proftpd, vsftpd... cada uno con sus cosas. Yo uso normalmente el proftpd, que es el que explicaré aquí, pero en lo básico los archivos de configuración son parecidos. Para instalarlo como siempre tiramos de repositorios, yum o apt según distro. Localizamos el archivo proftpd.conf y lo editamos. Pondré aquí las lineas que hay que tocar, no el fichero entero para no alargar innecesariamente el post.

Para instalarlo, tiraremos de repositorios:
apt-get proftpd o yum install proftpd
Acto seguido, pasaremos a configurarlo editando el archivo de configuracion. Cambiamos las líneas acorde:
UseIPv6 on -> UseIPv6 off si no usamos IPv6, es tonteria tenerlo habilitado.
#DefaultRoot ~ -> DefaultRoot ~  Descomentamos esta línea para enjaular a los usuarios en sus homes.
ServerType standalone Por último confirmamos que está en standalone (en Debian te pide configurarlo en la instalación).
Acto seguido reiniciamos el servicio "service proftpd restart" o "/etc/init.d/proftpd restart". Podemos cambiar también el puerto para mejorar la seguridad, pero tampoco es que tarden mucho en sacarte el puerto nuevo si se ponen, eso ya depende del nivel de paranoia de cada uno. Prefiero el puerto estandar (21) por comodidad. También podemos usar "RequireValidShell" para obligar que sólo usuarios con una shell válida se puedan loguear (las encontramos en /etc/shells).

Con todo esto, ya tenemos andando un servidor ftp en el puerto 21 con usuarios enjaulados. Esta configuración se puede complicar todo lo que se quiera, pero con esta en la mayor parte de los casos os valdrá.

¡Un saludo!