Este tutorial muestra cómo puede instalar un servidor web Apache2 en un servidor CentOS 7.0 compatible con PHP5 (mod_php) y MySQL. LAMP es la abreviatura de L entrada, A pache, M ySQL, P HP.
1 nota preliminar
En este tutorial, utilizo el nombre de host server1.example.com con la dirección IP 192.168.0.100. Estas configuraciones pueden diferir para usted, por lo que debe reemplazarlas cuando corresponda.
Agregaré el repositorio EPEL aquí para instalar la última versión de phpMyAdmin de la siguiente manera:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release
2 Instalación de MySQL / MariaDB
MariaDB es una bifurcación de MySQL del desarrollador original de MySQL, Monty Widenius. MariaDB es compatible con MySQL y elegí usar MariaDB aquí en lugar de MySQL. Para instalar MySQL, instalamos MariaDB así:
yum -y install mariadb-server mariadb
Luego creamos los enlaces de inicio del sistema para MySQL (para que MySQL se inicie automáticamente cada vez que se inicia el sistema) e iniciamos el servidor MySQL:
systemctl start mariadb.service
systemctl enable mariadb.service
Establecer contraseñas para la cuenta raíz de MySQL:
mysql_secure_installation[[email protected] ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation:línea 379:find_mysql_client:command not found
NOTA:SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODO MariaDB
¡SERVIDORES EN USO DE PRODUCCIÓN! ¡POR FAVOR LEA CADA PASO CUIDADOSAMENTE!
Para iniciar sesión en MariaDB para asegurarlo, necesitaremos la contraseña actual
del usuario raíz. Si acaba de instalar MariaDB y
aún no ha configurado la contraseña raíz, la contraseña estará en blanco,
así que debe presionar Intro aquí.
Introducir contraseña actual para root (ingresar para ninguno):<--ENTER
OK, usé la contraseña con éxito, continuando...
Establecer la contraseña raíz garantiza que nadie pueda iniciar sesión en MariaDB
usuario raíz sin la autorización adecuada.
¿Establecer contraseña de root? [Y/n]
Nueva contraseña:<--yourmariadbpassword
Vuelva a ingresar la nueva contraseña:<--yourmariadbpassword
¡Contraseña actualizada correctamente!
Recargando tablas de privilegios..
... ¡Éxito!
De forma predeterminada, una instalación de MariaDB tiene un usuario anónimo, lo que permite cualquier persona
para iniciar sesión en MariaDB sin tener que tener una cuenta de usuario creada para
ellos. Esto está diseñado solo para realizar pruebas y para que la instalación
sea un poco más fluida. Debe eliminarlos antes de pasar a un
entorno de producción.
¿Eliminar usuarios anónimos? [S/n] <--ENTRAR
... ¡Éxito!
Normalmente, solo se debe permitir que la raíz se conecte desde 'localhost'. Esto
garantiza que nadie pueda adivinar la contraseña raíz desde la red.
¿Deshabilitar el inicio de sesión raíz de forma remota? [S/n] <--ENTRAR
... ¡Éxito!
De manera predeterminada, MariaDB viene con una base de datos llamada 'prueba' a la que cualquiera puede
acceder. Esto también está diseñado solo para pruebas y debe eliminarse
antes de pasar a un entorno de producción.
¿Eliminar la base de datos de prueba y acceder a ella? [S/n] <--ENTRAR
- Eliminando la base de datos de prueba...
... ¡Con éxito!
- Eliminando privilegios en la base de datos de prueba...
... ¡Con éxito!
Volver a cargar las tablas de privilegios garantizará que todos los cambios realizados hasta el momento
se aplicarán inmediatamente.
¿Recargar las tablas de privilegios ahora? [S/n] <--ENTRAR
... ¡Éxito!
Limpiando...
¡Todo listo! Si completó todos los pasos anteriores, su instalación de MariaDB
ahora debería ser segura.
¡Gracias por usar MariaDB!
[[email protected] ~]#
3 Instalación de Apache2
CentOS 7 se envía con apache 2.4. Apache2 está disponible directamente como un paquete de CentOS 7.0, por lo que podemos instalarlo así:
yum -y install httpd[[email protected] ~]# yum install httpd
Complementos cargados:Fastmirror, langpacks
Cargando velocidades de espejo desde el archivo host en caché
* base:ftp.plusline.de
* extras:mirror.23media.de
* actualizaciones:mirror.23media.de
Paquete httpd-2.4.6-17.el7.centos.1.x86_64 ya instalado y última versión
Nada que hacer
[[correo electrónico protegido] ~]#
Apache se instalará de manera predeterminada, si no, instálelo como se muestra arriba
Ahora configure su sistema para iniciar Apache en el momento del arranque...
systemctl start httpd.service
systemctl enable httpd.service
En CentOS 7.0 se usa Firewall-cmd, por lo que lo personalizaré para permitir el acceso externo al puerto 80 (http) y 443 (https).
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Ahora dirija su navegador a http://192.168.0.100, y debería ver la página de marcador de posición de Apache2:
4 Instalación de PHP5
Podemos instalar PHP5 y el módulo Apache PHP5 de la siguiente manera:
yum -y install php
Debemos reiniciar Apache después:
systemctl restart httpd.service
5 Probar PHP5 / Obtener detalles sobre su instalación de PHP5
La raíz del documento del sitio web predeterminado es /var/www/html. Ahora crearemos un pequeño archivo PHP (info.php) en ese directorio y lo llamaremos en un navegador. El archivo mostrará muchos detalles útiles sobre nuestra instalación de PHP, como la versión de PHP instalada.
vi /var/www/html/info.php
<?php phpinfo(); ?>
Ahora llamamos a ese archivo en un navegador (por ejemplo, http://192.168.0.100/info.php):
Como puede ver, PHP5 está funcionando y funciona a través del controlador Apache 2.0, como se muestra en la línea API del servidor. Si se desplaza hacia abajo, verá todos los módulos que ya están habilitados en PHP5. MySQL no se encuentra en la lista, lo que significa que aún no tenemos compatibilidad con MySQL en PHP5.
6 Obtener compatibilidad con MySQL en PHP5
Para obtener soporte de MySQL en PHP, podemos instalar el paquete php-mysql. Es una buena idea instalar algunos otros módulos de PHP5, ya que podría necesitarlos para sus aplicaciones. Puede buscar módulos PHP5 disponibles como este:
yum search php
Elige los que necesites e instálalos así:
yum -y install php-mysql
En el siguiente paso, instalaré algunos módulos PHP comunes que requieren los sistemas CMS como Wordpress, Joomla y Drupal:
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
Ahora reinicie Apache2:
systemctl restart httpd.service
Ahora vuelva a cargar http://192.168.0.100/info.php en su navegador y desplácese hacia abajo hasta la sección de módulos nuevamente. Ahora debería encontrar muchos módulos nuevos como curl, etc.:
7 Instalación de phpMyAdmin
phpMyAdmin es una interfaz web a través de la cual puede administrar sus bases de datos MySQL.
phpMyAdmin ahora se puede instalar de la siguiente manera:
yum install phpMyAdmin
Ahora configuramos phpMyAdmin. Cambiamos la configuración de Apache para que phpMyAdmin permita conexiones no solo desde localhost (comentando la stanza
vi /etc/httpd/conf.d/phpMyAdmin.conf
[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin #<Directory /usr/share/phpMyAdmin/> # <IfModule mod_authz_core.c> # # Apache 2.4 # <RequireAny> # Require ip 127.0.0.1 # Require ip ::1 # </RequireAny> # </IfModule> # <IfModule !mod_authz_core.c> # # Apache 2.2 # Order Deny,Allow # Deny from All # Allow from 127.0.0.1 # Allow from ::1 # </IfModule> #</Directory> <Directory /usr/share/phpMyAdmin/> Options none AllowOverride Limit Require all granted </Directory>
[...]
A continuación, cambiamos la autenticación en phpMyAdmin de cookie a http:
vi /etc/phpMyAdmin/config.inc.php
[...] $cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)? [...]
Reiniciar Apache:
systemctl restart httpd.service
Luego, puede acceder a phpMyAdmin en http://192.168.0.100/phpmyadmin/:
8 Enlaces
Apache:http://httpd.apache.org/
PHP:http://www.php.net/
MySQL:http://www.mysql.com/
CentOS:http://www.centos.org/
phpMyAdmin:http://www.phpmyadmin.net/