Servidor MySQL y el servidor de FTP en CentOS
1) Instalación de MySQL
Tal y como hicimos con Apache, instalamos MySQL de manera similar, es decir:
#yum groupinstall “MySQL Database server”
Esto instalará el paquete mysql-server necesario para ejecutar el servidor de base de datos. A continuación instalamos las herramientas del cliente MySQL con:
#yum groupinstall “MySQL Database client”
A continuación editamos el fichero de configuración de MySQL que podemos localizar en “/etc/my.cnf”.
Por cierto, el editor que suelo utilizar en el terminal es “nano”. No es tan potente como Vim o Emacs pero para ediciones sencillas, como en estos casos, es más que suficiente y su uso es muy simple: al editar cualquier fichero podemos ver en las dos líneas de abajo la ayuda.
Por tanto, hacemos:
#nano /etc/my.cnf
El contenido de my.cnf podría ser algo tan sencillo como esto:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Otros ficheros con configuraciones diferentes podemos encontrarlos en “/usr/share/doc/mysql-server-x.x.x” (sustituir x.x.x por nuestra versión de MySQL). Aquí podremos encontrar ejemplos de configuraciones para sistemas muy grandes (my-huge.cnf), pequeños (my-small.cnf), etc.
Lo siguiente que debemos hacer es ponerle la clave al usuario root de MySQL, así como eliminar la base de datos “test” y el usuario anónimo que se instalan por defecto. Para ello arrancamos el servicio con:
#service mysqld start
A continuación ejecutamos la siguiente línea:
#/usr/bin/mysql_secure_installation
Después de contestar a una serie de preguntas que nos hace, ya tendremos nuestro servidor MySQL instalado y ejecutándose. Es recomendable poner que se inicie al arrancar nuestra máquina Linux, para ello basta con hacer:
#chkconfig mysqld on
Si queremos ver la información de los servicios del sistema y comprobar que los que hemos instalado hasta ahora se inician al arrancar la máquina, podemos hacerlo ejecutando:
#chkconfig --list
En este punto podremos ver los servicios httpd y mysqld configurados en los niveles 2, 3, 4 y 5.
2) Instalamos el servidor FTP
Actualmente existen varios servidores de FTP que podemos instalar en nuestro sistema. En nuestro caso hemos optado por instalar ProFTPD, ya que es bastante estable y seguro.
Lo primero es asegurarnos de que no tenemos ya instalado otro servidor FTP, como pudiera ser vsftpd; en tal caso habría que eliminarlo con:
#yum remove vsftpd
Si queremos instalar proftpd con yum debemos habilitar EPEL, que es un repositorio con paquetes adicionales. Lo habilitamos de la siguiente manera:
#rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
A continuación basta con instalar proftpd:
#yum install proftpd
Seguidamente lo configuramos editando el fichero “/etc/proftpd.conf”. Algunas líneas útiles que deberíamos agregar al fichero de configuración y que no vienen en la instalación por defecto son:
#Para que no muestre los directorios superiores
DefaultRoot ~
#Para ocultar . y ..
ListOptions "" strict
#Permite continuar descargas incompletas
AllowRetrieveRestart on
#Permite continuar subidas incompletas
AllowStoreRestart on
Arrancamos el servicio:
#service proftpd start
Lo habilitamos para que se inicie al arrancar la máquina:
#chkconfig proftpd on
En este punto ya tendríamos el servidor listo para empezar a funcionar, pero antes de nada lo recomendable es asegurarlo. Aquí hay algunas cosas que hacer, pero para no alargar demasiado el artículo comento un par de puntos importantes para hacer ya mismo:
- Si contamos con un firewall lo ideal es utilizarlo y cerrar todos los puertos excepto los que vayamos a utilizar: 80(http), 443(https), 20, 21(ftp), 22(ssh),…
- Si accedemos a nuestra máquina por ssh podemos añadir una regla a las iptables para restringir el acceso por IP, lo mismo para el ftp (sustituimos las Xs por nuestra IP):
#/sbin/iptables --flush
#/sbin/iptables -A INPUT -s XXX.XXX.XXX.XXX -p tcp --dport 20:21 -j ACCEPT
#/sbin/iptables -A INPUT -s XXX.XXX.XXX.XXX -p tcp --dport 22 -j ACCEPT
#/sbin/iptables -A INPUT -p tcp --dport 20:21 -j DROP
#/sbin/iptables -A INPUT -p tcp --dport 22 -j DROP
#/etc/rc.d/init.d/iptables save
Esta segunda parte del artículo completa lo que sería la instalación y configuración de nuestro servidor web. Sé que se puede profundizar mucho mas en cada uno de estos puntos, pero el objetivo era hacer una guía breve y sencilla para poder comenzar a trabajar con el servidor.