Instalar y configurar Apache y PHP en Fedora

 

Vamos a ver como instalar Apache, PHP y como cambiar el directorio de nuestro proyectos, es decir Document root.

Para empezar, instalamos apache


# dnf install httpd

Iniciamos el servicio

# systemctl start httpd.service

Y verificamos en el navegador que ya tengamos el servidor funcionando entrando a 127.0.0.1

instantánea1

Hacemos que se ejecute Apache al arranque del sistema

# chkconfig httpd on

Después instalamos PHP


# dnf install php

Con esto ya tenemos PHP integrado con Apache; ahora bien, dependiendo de nuestro proyecto, puede que necesitemos agregar algunos módulos de php, por ejemplo el sorpote para utf-8 y mysqli, que son los que necesité al momento de cargar un proyecto.


# dnf install php-xml php-mysqlnd

Para evitar el error al utilizar la funciona datetime, modificamos en la ruta /etc//php.ini


# nano /etc/php.ini

Buscamos la entrada date.timezone, presionando control + w y escribiendo dicha palabra, encontraremos lo siguiente:

;date.timezone =

Le quitaremos el comentario, es decir, el punto y coma, y colocaremos cual es nuestra zona horaria. En mi caso es México, por lo que quedaría así:

date.timezone =”America/Mexico_city”

Guardamos, y reiniciamos apache


# systemctl restart httpd.servcice

El siguiente paso es opcional.

En Fedora, así como en otras distribuciones, la ruta de los archivos del servidor (document root) es /var/www/html, pero se puede dar el caso que nosotros ya tengamos una carpeta con todos nuestros proyectos en otra partición o disco duro externo, por lo que quisiéramos que el servidor apuntara a esa ruta para no estar moviendo nuestros pequeños miles de archivos. Mientras que en otras distribuciones los pasos son sencillos, en fedora tiene algunos pasos extras que serían los siguientes:

Colocando como ejemplo mi caso, tengo un disco duro externo montado en /Angelos, dentro la carpeta de la empresa CONSoluciones y dentro www.

La carpeta padre de www, debe tener los permisos 711, y la carpeta www, debe tener 755, así que la lista de comandos serían:


# chmod 711 /Angelos/CONSoluciones

# chmod 755 /Angelos/CONSoluciones/www

# setsebool -P httpd_enable_homedirs 1

$ chcon -R -t httpd_sys_content_t /Angelos/CONSoluciones/www

Con esto ya preparamos la carpeta para que tenga los permisos necesarios, de lo contrario nos daría un error Forbidden

Y por último, vamos al archivo de configuración de Apache para indicar el cambio de domicilio de nuestra ruta de los proyectos.


#nano /etc/httpd/conf/httpd.conf

Y buscamos con control + w la frase DocumentRoot

y cambiamos de:

DocumentRoot “var/www/html”

A

DocumentRoot “/Angelos/CONSoluciones/www”

En tu caso en donde se encuentre la ruta de tus proyectos.

También hay que cambiar un poco más abajo de

<Directory “/var/www/html”>

A

<Directory “/Angelos/CONSoluciones/www”>

Igualmente, coloca la ruta de tu proyecto.

Reinicia tu servidor


# systemctl restart httpd.servcice

Y prueba entrar de nuevo a 127.0.0.1/tuProyecto y ya estará disponible

 

Bonus: Si tratando de conectar mysqli con php te aparece el singuiente error “mysqli::mysqli(): (HY000/2002): Permission denied in …” entonces necesitas ejecutar la siguiente liínea

# setenforce 0

 

Author: angelinux

Desarrollador de páginas web desde el año 2000 y con experiencia en programación de sistemas para empresas desde el 2008; cofundador de CONSoluciones; autor del blog de software libre “Angelinux-slack”; docente en maestría en UPAV y fundador de la distribución Linux Falco que está en desarrollo para la Universidad Veracruzana.
Además, ponente, organizador de congreso, laborista social, impartidor de cursos de programación y servidores Linux, webmaster, y ex invitado en programa de televisión.

Deja un comentario