Está Escrito:
Si confesamos nuestros pecados, él es fiel y justo para perdonar nuestros pecados, y limpiarnos de toda maldad. (1 Juan 1:9)
Tomado de : Desarrolloweb
Cuando contratamos un servidor a nuestro proveedor de servicios,
podemos elegir el sistema operativo, la distribución y la
configuración inicial. En nuestro caso optaremos por un servidor
Linux con una distribución de la última versión de CentOS,
configuración mínima y 64 bits.
Una vez que el servidor este disponible podremos acceder por
SSH. Nada mas conectar podremos empezar con la siguiente configuración:
1) Cambiamos el nombre de nuestra máquina
Podemos hacerlo editando el fichero “/etc/hosts”. Al
final de la línea que empiece por 127.0.0.1 añadimos el nombre
que queramos, quedando de la siguiente manera:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 minombre
También habrá que hacerlo en el fichero “/etc/sysconfig/
network”, cambiando el valor de la variable “HOSTNAME”. En este
caso el fichero queda de la siguiente manera:
NETWORKING=yes HOSTNAME=minombre
2) Actualizamos el sistema con el siguiente comando
#yum update
Si queremos que al instalar los grupos, que veremos mas
adelante, se instalen también los paquetes opcionales, añadiremos
entonces en el fichero "/etc/yum.conf" la siguiente línea:
group_package_types=mandatory,default,optional
3) Instalamos las herramientas de desarrollo, como el paquete de compiladores GCC, make, las fuentes del kernel y Perl
#yum install gcc make kernel-devel perl
Esto instala los mínimos paquetes para desarrollo. Si queremos
instalar todos ellos, podremos hacerlo ejecutando el
siguiente comando:
#yum groupinstall “Development tools”.
Si antes de instalarlos queremos sólo ver los paquetes que
contiene el grupo de desarrollo, ejecutamos la siguiente línea:
#yum groupinfo "Development tools"
4) Instalamos PHP
Con el siguiente comando instalamos todo lo necesario:
#yum groupinstall "PHP Support”
Puede que nos falte alguna cosa, así que podemos correr
la siguiente línea para completar la instalación de PHP:
#yum install php-mbstring php-devel php-mcrypt zlib zlib-devel zlib-static
Seguidamente, podemos configurar la zona horaria predeterminada
usada por las funciones "date" y "time", para ello en el fichero "/
etc/php.ini" añadimos la siguiente línea:
date.timezone = "Europe/Madrid"
5) Instalamos y configuramos el servidor Apache
#yum groupinstall “Web Server”.
Como hemos dicho, si antes de instalar queremos ver todos los
paquetes que contiene este grupo, haríamos "groupinfo" en lugar de
"groupinstall".
Podemos completar la instalación del servidor Apache instalando
las librerías de desarrollo:
#yum install httpd-devel
Para ver la versión de Apache instalada, ejecutamos:
#httpd -v
El fichero principal de configuración se encuentra en "/etc/
httpd/conf/httpd.conf", y el resto de ficheros de configuración
en "/etc/httpd/conf.d".
Hay que decir que cualquier fichero con extensión .conf que
coloquemos en el directorio "/etc/httpd/conf.d" será procesado por
el servidor Apache. Tener en cuenta que los procesa por orden
alfabético. Si hacemos un cambio en alguno de estos ficheros o
añadimos uno nuevo, hay que recargar para que el servidor recoja
los cambios y para ello hacemos:
#service httpd reload
Ahora daremos un nombre al servidor. Aunque no es necesario
hacer esto, sí es recomendable para que no aparezcan problemas
en los arranques. Para esto nos aseguramos de que en el fichero de
configuración httpd.conf tengamos la siguiente línea:
ServerName localhost
También es recomendable eliminar la página de prueba que nos
instala el servidor. Para ello editamos el fichero /etc/httpd/
conf.d/welcome.conf y comentamos todas las líneas, quedando de la
siguiente manera:
#<LocationMatch "^/+$"> #Options -Indexes #ErrorDocument 403 /error/noindex.html #</LocationMatch>
Si queremos utilizar servidores virtuales (virtual hosts)
y
tener los ficheros organizados, podemos crearnos un fichero
llamado por ejemplo "vhosts.conf" que contenga nuestros virtual
hosts y colocar el fichero en "/etc/httpd/conf.d". El fichero
quedaría con un contenido parecido al siguiente:
NameVirtualHost [IP]:80 <VirtualHost [IP]:80> ServerName www.midominio.com ServerAlias www.midominio.com midominio.com DocumentRoot /var/www/html/midominio.com/www CustomLog /etc/httpd/logs/midominio.com.access_log combined ErrorLog /etc/httpd/logs/midominio.com.error_log </virtualhost>
Sustituir [IP] por tu IP pública y “midominio” por el dominio
que quieras dar servicio.
Ahora podemos arrancar el servidor Apache de la siguiente
manera:
#service httpd start
Si queremos que el servicio se inicie al arrancar nuestra
máquina, podemos habilitarlo con:
#chkconfig httpd on
Si en los servidores DNS de "midominio" tenemos las entradas
correspondientes apuntadas correctamente a nuestra IP, ya
podríamos verlo a través de un navegador entrando en http://
www.midominio.com
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
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.
No hay comentarios:
Publicar un comentario