GNU/Linux >> Tutoriales Linux >  >> Fedora

Instalación de Apache2 con compatibilidad con PHP5 y MySQL en Fedora 20 (LAMP)

LAMP es la abreviatura de L entrada, A pache, M ySQL, P HP. Este tutorial muestra cómo puede instalar un servidor web Apache2 en un servidor Fedora 20 compatible con PHP5 (mod_php) y MySQL.

¡No emito ninguna garantía de que esto funcione para usted!

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.

2 Instalación de MySQL/MariaDB 5

Para instalar MySQL, hacemos esto:

yum install mysql mysql-server

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 enable mysqld.service

Nota:si recibe un error como este

Failed to issue method call: No such file or directory

Entonces usa

systemctl enable mariadb.service

Más iniciar el servicio de mysql

systemctl start mysqld.service

Ejecutar

mysql_secure_installation

para establecer una contraseña para el usuario root (¡de lo contrario, cualquiera puede acceder a su base de datos MySQL!):

[[email protected] ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTA: SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODOS MariaDB
      ¡SERVIDORES EN USO DE PRODUCCIÓN! ¡POR FAVOR, LEA CADA PASO CUIDADOSAMENTE!

Para poder iniciar sesión en MariaDB y asegurarlo, necesitaremos la contraseña actual
del usuario root. Si acaba de instalar MariaDB y
aún no ha establecido la contraseña raíz, la contraseña estará en blanco,
por lo que solo debe presionar Intro aquí.

Introducir contraseña actual para root (ingresar para ninguna):<-- ENTER
OK, contraseña utilizada con éxito, continuando...

Configurar la contraseña de root asegura que nadie pueda iniciar sesión en MariaDB
usuario root sin la autorización adecuada.

¿Establecer contraseña root? [Y/n] <-- ENTRAR
Nueva contraseña: <-- turootsqlpassword
Vuelve a introducir nueva contraseña: <-- turootsqlpassword
¡La contraseña se actualizó correctamente!
Recargando tablas de privilegios. .
 ... ¡Éxito!


De forma predeterminada, una instalación de MariaDB tiene un usuario anónimo, permitiendo que cualquiera
inicie sesión en MariaDB sin tener que tener una cuenta de usuario creado para
ellos. Esto solo está diseñado para realizar pruebas y para que la instalación
sea un poco más sencilla. Debe eliminarlos antes de pasar a un
entorno de producción.

¿Eliminar usuarios anónimos? [S/n] <-- ENTRAR
 ... ¡Éxito!

Normalmente, solo debería permitirse que el root se conecte desde 'localhost'. Esto
garantiza que nadie pueda adivinar la contraseña raíz de la red.

¿Deshabilitar el inicio de sesión raíz de forma remota? [S/n] <-- ENTRAR
 ... ¡Éxito!

De forma 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
 - Eliminación de la base de datos de prueba...
 ... ¡Éxito!
 - Eliminación de privilegios en la base de datos de prueba...
 ... Éxito !

Al volver a cargar las tablas de privilegios, se asegurará de que todos los cambios realizados hasta el momento
se apliquen de inmediato.

¿Recargar las tablas de privilegios ahora? [S/n] <-- ENTRAR
 ... ¡Éxito!

Limpiando...

¡Todo hecho! Si completó todos los pasos anteriores, su MariaDB
instalación ahora debería ser segura.

¡Gracias por usar MariaDB!
[[email protected] ~]#

3 Instalación de Apache2

Apache2 está disponible como paquete de Fedora, por lo que podemos instalarlo así:

yum install httpd

Ahora configure su sistema para iniciar Apache en el momento del arranque...

systemctl enable httpd.service

... e inicie Apache:

systemctl start httpd.service

Ahora dirija su navegador a http://192.168.0.100, y debería ver la página de marcador de posición de Apache2:

La raíz de documentos predeterminada de Apache es /var/www/html en Fedora, y el archivo de configuración es /etc/httpd/conf/httpd.conf. Las configuraciones adicionales se almacenan en el directorio /etc/httpd/conf.d/.

4 Instalación de PHP5

Podemos instalar PHP5 y el módulo Apache PHP5 de la siguiente manera:

yum 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

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 install php-mysqlnd php-mssql php-opcache

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 allí, incluido el módulo MySQL:

7 phpMyAdmin

phpMyAdmin es una interfaz web a través de la cual puede administrar sus bases de datos MySQL.

phpMyAdmin 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 todo en la estrofa y agregando la línea Require all grant):

vi /etc/httpd/conf.d/phpMyAdmin.conf
<?php
phpinfo();
?>

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/
  • Fedora:http://fedoraproject.org/
  • phpMyAdmin:http://www.phpmyadmin.net/

Fedora
  1. Instalación de Apache2 con compatibilidad con PHP5 y MySQL en Ubuntu 14.04LTS (LAMP)

  2. Instalación de Apache2 con compatibilidad con PHP5 y MySQL en OpenSUSE 13.1 (LAMP)

  3. Cómo instalar Apache2 con PHP5 y MySQL en Fedora 16 (LAMP)

  4. Cómo instalar Apache2 con PHP5 y MySQL en Fedora 15 (LAMP)

  5. Instale Apache2 con PHP5 y MySQL en Fedora 21 (LAMP)

Instalación de Apache2 con compatibilidad con PHP5 y MySQL en Debian Squeeze (LAMP)

Instalación de Apache2 con compatibilidad con PHP5 y MySQL en Debian Wheezy

Instalación de Apache2 con compatibilidad con PHP5 y MySQL en CentOS 6.2 (LAMP)

Instalación de Apache2 con compatibilidad con PHP5 y MySQL en CentOS 6.3 (LAMP)

Instalación de Apache2 con compatibilidad con PHP5 y MySQL en CentOS 6.4 (LAMP)

Instalación de Nginx con soporte PHP5 (y PHP-FPM) y MySQL en Fedora 19

    # phpMyAdmin - Web based MySQL browser written in php
    #
    # Allows only localhost by default
    #
    # But allowing phpMyAdmin to anyone other than localhost should be considered
    # dangerous unless properly secured by SSL
    
    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>
       Require all granted
    </Directory>
    
    <Directory /usr/share/phpMyAdmin/setup/>
       <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>
    
    # These directories do not require access over HTTP - taken from the original
    # phpMyAdmin upstream tarball
    #
    <Directory /usr/share/phpMyAdmin/libraries/>
        Order Deny,Allow
        Deny from All
        Allow from None
    </Directory>
    
    <Directory /usr/share/phpMyAdmin/setup/lib/>
        Order Deny,Allow
        Deny from All
        Allow from None
    </Directory>
    
    <Directory /usr/share/phpMyAdmin/setup/frames/>
        Order Deny,Allow
        Deny from All
        Allow from None
    </Directory>
    
    # This configuration prevents mod_security at phpMyAdmin directories from
    # filtering SQL etc.  This may break your mod_security implementation.
    #
    #<IfModule mod_security.c>
    #    <Directory /usr/share/phpMyAdmin/>
    #        SecRuleInheritance Off
    #    </Directory>
    #</IfModule>