Servidor MySQL y el servidor de FTP en CentOS

  • Por
En el artículo anterior vimos cómo configurar nuestra máquina e instalar PHP y Apache. En esta ocasión instalamos MySQL y el servidor de FTP.

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.

Autor

Vicente García

Desarrollador web y apasionado de Internet.

Compartir

Comentarios

Angel

06/5/2014
Excelente
Muy buena guía. Yo estoy bastante pegado en temas de servidores y me estoy enterando de todo!! eres un crack!

MikelBike

23/10/2014
Instalación servidor Apache
Muchas gracias por estos tutoriales.
No tengo experiencia en servidores web ni en Linux.
Estoy siguiendo tus artículos: "Configuración de un servidor web Apache en CentOS" y "Servidor MySQL y el servidor de FTP en CentOS".
Después de seguir tus instrucciones en "Configuración de un servidor web Apache en CentOS", parece que todo funciona correctamente. Pero al empezar con "Configuración de un servidor web Apache en CentOS" al introducir:
yum groupinstall ?MySQL Database server?
yum groupinstall ?MySQL Database client?
aparece el mensaje:
Warning: Group Database does not exist.
No packages in any requested group available to install or update
Puedes ayudarme a resolverlo.
También me gustaría que me indicaras como instalar phpMyAdmin.
Un saludo.

Manuel

02/8/2016
Servidor MySQL
coloca las lineas de comando de instalacion installgroup sin comillas