Está en la página 1de 9

Instalar Apache, PHP para

montar servidor Web con Linux


CentOS 7
Instalar Apache en Linux CentOS 7, abrir
puertos http y https cortafuegos
Para montar un servidor web en Linux CentOS 7 Minimal ejecutaremos
en una terminal el siguiente comando, que instalar Apache:
Kill 12542
yum install httpd

Si todo es correcto realizar la descarga del paquete


correspondiente httpd y sus dependencias (apr, apr-util, httpdtools, mailcap), nos solicitar confirmacin para continuar, pulsaremos
"y" e INTRO::

Puede que nos pida alguna confirmacin ms, por ejemplo para importar
la llave GPG, pulsaremos "s" e INTRO:

Tras la instalacin de Apache iniciaremos y habilitaremos el servicio con


los comandos:
systemctl start httpd.service
systemctl enable httpd.service
Para permitir conexiones externas al servidor para el puerto http (80)
y https (443) ejecutaremos los siguientes comandos:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Una vez realizados estos sencillos pasos ya tendremos disponible


nuestro servidor web con Linux CentOS 7 y Apache. Desde cualquier
equipo de la red, introduciendo la IP del servidor en un navegador, nos
mostrar la pgina de inicio de test de Apache:

Indicando que la instalacin y apertura de puertos ha sido satisfactoria.


Si esta pgina no se muestra habr que verificar los pasos anteriores.

Instalar PHP para Apache en Linux CentOs 7, instalar mdulos PHP LDAP,
MySQL

Tras instalar Apache instalaremos PHP, para ello ejecutaremos el


siguiente comando Linux:
yum -y install php

Como siempre, iniciar la descarga de los paquetes necesarios y puede


que nos pida confirmacin para la instalacin del paquete php y sus
dependencias (libzip, php-cli, php-common):

Tras la instalacin de PHP reiniciaremos el servicio de Apache con el


comando:
systemctl restart httpd.service

Aprovecharemos tambin para instalar el mdulo que nos permitir el


acceso de PHP a nuestra base de datos MySQL Server (que instalaremos
posteriormente). Para instalar el paquete ejecutaremos el comando:
yum -y install php-mysql

Instalaremos tambin todos los mdulos que queramos para PHP, por
ejemplo para soporte de LDAP (php-ldap), soporte ODBC (php-odbc),
etc. con el comando:
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc
php-mbstring php-snmp php-soap curl curl-devel

Reiniciaremos el servicio de Apache para que se apliquen los cambios


con:
systemctl restart httpd.service

Instalar MySQL Server en Linux CentOS 7

Para descargar el repositorio de MySQL necesitaremos el comando wget,


que en la distribucin Minimal de CentOS 7 no viene instalado, por lo
que en primer lugar instalaremos wget con el comando:
yum install wget

Descargaremos el paquete RPM del repositorio de MySQL Server con el


comando:
wget http://repo.mysql.com/mysql-community-release-el75.noarch.rpm

Desplegaremos e instalaremos el rpm del repositorio de MySQL Server


con el comando:
rpm -ivh mysql-community-release-el7-5.noarch.rpm

Podremos verificar que los repositorios de MySQL han quedado


instalados ejecutando:
ls -1 /etc/yum.repos.d/mysql-community*
Nos devolver:
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo

Ahora ya podremos usar Yum para instalar MySQL Server en Linux


CentOS 7, con el comando:
yum install mysql-server
Como siempre nos solicitar confirmacin para instalar mysql-server y
los paquetes dependientes (mysql-community-libs, mysql-communityserver, libaio, mysql-community-client, mysql-community-common, nettools, perl-Compress-Raw-Bzip2, perl-Compress-Raw-Zlib, perl-DBI,
perl-IO-Compress, perl-Net-Daemon, perl-PlRPC).

Tambin nos solicitar confirmacin para agregar la llave GPG:

Una vez instalado MySQL Server ya podremos iniciar el servicio con el


comando:
systemctl start mysqld

Configurar seguridad MySQL Server y acceso externo en Linux CentOS 7

Tras la instalacin de MySQL Server en Linux CentOS 7, es conveniente


realizar la configuracin previa de seguridad (estableciendo una
contrasea para el superusuario root de MySQL). Para ello ejecutaremos
el comando:
mysql_secure_installation

Nos mostrar un sencillo asistente de texto para establecer los


siguientes valores de configuracin (por orden):

Establecer la contrasea del superusuario root.

Eliminar el usuario annimo (anonymous).

Desactivar el login remoto del usuario root, recomendable por


seguridad.

Eliminar base de datos "test", si existe.

Recargar los privilegios de las tablas.

Si queremos permitir el acceso desde fuera del equipo servidor de base


de datos MySQL Server con Linux CentOS 7 deberemos abrir el puerto
de MySQL en el cortafuegos, con el comando:
firewall-cmd --permanent --zone=public --add-service=mysql

Para aplicar los cambios en el cortafuegos de Linux CentOS


ejecutaremos el comando:
systemctl restart firewalld.service

Si queremos permitir acceso desde otros equipos de la red al


superusuario root (o a otro usuario) de MySQL Server realizaremos los
siguientes pasos. Accederemos a la utilidad de la lnea de comandos de
MySQL con:
mysql -u root -p
Nos solicitar la contrasea del superusuario root que hemos introducido
anteriormente en el proceso de configuracin. Una vez dentro de la
utilidad MySQL Monitor, ejecutaremos lo siguiente para permitir que el
acceso externo a MySQL Server del usuario root:
grant all on *.* to root@'%' identified by 'contrasea' ;
Para aplicar los cambios de privilegios ejecutaremos:
flush privileges;
Saldremos de la utilidad de MySQL Monitor con "quit".

Nota importante: con root@'%' estamos indicando que se permite el


acceso con el superusuario root desde cualquier equipo de la red, para
mayor seguridad es recomendable no usar root y, en caso de usarlo,

permitir el acceso solo desde determinadas IP, cambiando "%" por la IP


desde la que permitiremos el acceso.