El servidor Apache HTTP (Apache) es uno de los software de servidor web multiplataforma gratuitos y de código abierto más populares, lanzado bajo los términos de la Licencia Apache 2.0. Apache es popular como parte de la configuración LAMP, siendo la A en el acrónimo. La funcionalidad del servidor apache se puede ampliar con los muchos módulos disponibles.
PHP es un lenguaje de secuencias de comandos de propósito general orientado al desarrollo web. Es uno de los lenguajes de programación populares para la web. Las herramientas populares como WordPress están codificadas usando php. Las grandes empresas como Facebook también usan mucho php.
Contenido relacionado
- Cómo instalar y configurar PHP y Apache (pila LAMP) en OpenSUSE Leap 15.3
- Cómo instalar y configurar PHP y Nginx (LEMP) en OpenSUSE Leap 15.3
- Cómo instalar y configurar PHP y Apache (pila LAMP) en Ubuntu 20.04
- Cómo instalar y configurar PHP y Nginx (LEMP) en Ubuntu 20.04
- Cómo instalar y configurar PHP y Apache (pila LAMP) en Debian 11
- Cómo instalar y configurar PHP y Nginx (LEMP) en Debian 11
- Cómo instalar y configurar PHP y Nginx (LEMP) en Rocky Linux/Alma Linux 8
Requisitos
Para seguir esta guía, asegúrese de tener lo siguiente:
- Un servidor Rocky Linux 8 actualizado
- Acceso raíz o Usuario con acceso sudo que puede instalar paquetes y editar configuraciones
- Acceso a Internet
Tabla de contenido
- Asegurarse de que el servidor esté actualizado
- Instalación de PHP en Rocky Linux 8
- Instalación de Apache en Rocky Linux 8
- Configuración de host virtual
1. Asegurarse de que el servidor esté actualizado
Antes de continuar, asegurémonos de que tenemos los últimos paquetes en nuestro sistema. Ejecute el siguiente comando para actualizar el sistema:
$ sudo dnf -y update
Last metadata expiration check: 1:45:37 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
Dependencies resolved.
Nothing to do.
Complete!
2. Instalación de PHP en Rocky Linux 8
Ahora que Apache está configurado, necesitaremos instalar PHP. Para que se sirvan los archivos php, es necesario configurar php en el sistema. En esta guía instalaremos php 7.4.
PHP 7.4 aún no está disponible en los repositorios predeterminados. El Repositorio Remi es el repositorio perfecto para instalar php7.4. Remi repo es un repositorio YUM gratuito y estable principalmente para la pila de PHP. Contiene paquetes para las últimas versiones de PHP.
Para habilitar Remi Repository en nuestro Servidor Centos:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Confirme que el repositorio remi se ha instalado y habilitado con este comando:
$ sudo dnf repolist
repo id repo name
appstream CentOS Linux 8 - AppStream
baseos CentOS Linux 8 - BaseOS
epel Extra Packages for Enterprise Linux 8 - x86_64
epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
extras CentOS Linux 8 - Extras
remi-modular Remi's Modular repository for Enterprise Linux 8 - x86_64
remi-safe Safe Remi's RPM repository for Enterprise Linux 8 - x86_64
Deberías ver los repositorios remi como parte de la lista.
Ahora que se ha instalado el repositorio, busquemos php. Usa este comando:
$ sudo dnf module list php
Last metadata expiration check: 2:14:53 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
CentOS Linux 8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name Stream Profiles Summary
php remi-7.2 common [d], devel, minimal PHP scripting language
php remi-7.3 common [d], devel, minimal PHP scripting language
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
De la lista. podemos ver que el predeterminado es 7.2. Realizando una dnf install php
instalará el 7.2
que no queremos. Habilitemos el 7.4 usando este comando:
sudo dnf module enable php:remi-7.4
Si por alguna razón falla, puede restablecer el módulo existente con este comando:
sudo dnf module reset php
Ahora que se ha habilitado el repositorio, instalemos php con este comando:
sudo dnf install -y php php-common php-cli
Una vez exitoso. confirme la versión instalada con este comando:
$ php -v
PHP 7.4.23 (cli) (built: Aug 24 2021 16:33:30) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.23, Copyright (c), by Zend Technologies
Ahora que Apache y php se han instalado correctamente, configurémoslo para atender algo de tráfico
3. Instalación de Apache en Rocky Linux 8
Ahora que hemos actualizado nuestros paquetes, instalemos Apache. Apache está disponible en los repositorios predeterminados como el paquete httpd
. Puede consultar información al respecto con el siguiente comando:
$ sudo dnf info httpd
Last metadata expiration check: 1:48:56 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
Installed Packages
Name : httpd
Version : 2.4.37
Release : 39.module_el8.4.0+778+c970deab
Architecture : x86_64
Size : 4.3 M
Source : httpd-2.4.37-39.module_el8.4.0+778+c970deab.src.rpm
Repository : @System
From repo : appstream
Summary : Apache HTTP Server
URL : https://httpd.apache.org/
License : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
Vamos a instalarlo usando dnf:
sudo dnf install -y httpd
Inicio y activación del servicio
Por defecto el servicio no se inicia. Comencemos con este comando:
sudo systemctl start httpd
Para confirmar que funciona como se esperaba, use el comando de estado y asegúrese de que indica como active
como se muestra a continuación:
$ sudo systemctl start httpd
$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since Sun 2021-08-29 10:43:52 UTC; 17s ago
Docs: man:httpd.service(8)
Main PID: 84446 (httpd)
Status: "Running, listening on: port 80"
Tasks: 213 (limit: 23800)
Memory: 31.0M
CGroup: /system.slice/httpd.service
├─84446 /usr/sbin/httpd -DFOREGROUND
├─84447 /usr/sbin/httpd -DFOREGROUND
├─84448 /usr/sbin/httpd -DFOREGROUND
├─84449 /usr/sbin/httpd -DFOREGROUND
└─84450 /usr/sbin/httpd -DFOREGROUND
Aug 29 10:43:52 test-app-server systemd[1]: Starting The Apache HTTP Server...
Aug 29 10:43:52 test-app-server httpd[84446]: AH00558: httpd: Could not reliably determine the server's fully qualified doma>
Aug 29 10:43:52 test-app-server systemd[1]: Started The Apache HTTP Server.
Aug 29 10:43:52 test-app-server httpd[84446]: Server configured, listening on: port 80
Si tiene algún firewall habilitado, asegúrese de habilitar http
y https
tráfico para permitir el acceso a apache.
Para confirmar que php está instalado y funciona bien, visite la dirección IP del servidor en el navegador (http://server_ip). Si no conoce la IP del servidor, consígala usando este comando en su terminal:
curl -4 icanhazip.com
Si todo está bien, debería ver la página de Apache como se muestra a continuación:

4. Configuración de hosts virtuales
Con Apache, es posible alojar múltiples sitios en el mismo servidor donde se ejecuta Apache. Esto siempre se puede lograr utilizando varios dominios, cada uno de los cuales representa un sitio que aloja el servidor.
Los hosts virtuales Apache son similares a los bloques de servidores Nginx. Cada host virtual tendrá detalles de configuración para un solo host. Puede tener tantos servidores virtuales como desee.
En este ejemplo, usaremos el dominio site1.citizix.com para el host virtual, pero podrá usar el dominio que prefiera. Tenga en cuenta que el DNS del dominio que se utilizará ya debe estar configurado para apuntar a la dirección IP del servidor.
Confirme eso con:
dig -t A site1.citizix.com
Crear directorio y contenido de muestra
La página predeterminada de apache está configurada como un host virtual predeterminado que sirve contenido desde /var/www/html
. Es una buena práctica crear el directorio de su sitio en /var/www
directorio ya que es una mejor práctica servir desde allí.
Vamos a crear un directorio para nuestro sitio con el siguiente comando:
sudo mkdir /var/www/site1.citizix.com
Vamos a crear un index.php
simple página para servir desde nuestro sitio. Necesitará vim instalado para que esto funcione, si no, use este comando:
sudo dnf install -y vim
Edite el archivo:
sudo vim /var/www/site1.citizix.com/index.php
Agregar contenido al archivo:
<?php phpinfo(); ?>
Finalmente, asegurémonos de que apache
el usuario posee el directorio del sitio:
sudo chown -R apache.apache /var/www/site1.citizix.com
Creación de alojamiento virtual
Los archivos de host virtual de Apache especifican la configuración de cada sitio y le indican al servidor web Apache cómo responder a varias solicitudes de dominio.
Las configuraciones de Apache se almacenarán en el directorio /etc/httpd/conf.d/
. Vamos a crear una configuración para nuestro sitio:
sudo vim /etc/httpd/conf.d/site1.citizix.com.conf
Agrega el siguiente contenido:
<VirtualHost *:80>
ServerName site1.citizix.com
ServerAlias site1.citizix.com
DocumentRoot /var/www/site1.citizix.com
DirectoryIndex index.php
ErrorLog /var/log/httpd/site1.citizix.com.error.log
CustomLog /var/log/httpd/site1.citizix.com.requests.log combined
</VirtualHost>
Esto le dirá a Apache lo siguiente:
ServerName
yServerAlias
– nombre del host a servirDocumentRoot
– dónde encontrar directamente la raíz que contiene los documentos web de acceso públicoDirectoryIndex
– El archivo que apache servirá cuando se acceda al sitioErrorLog
– dónde almacenar los registros de errores para este sitioCustomLog
– dónde almacenar los registros de solicitudes para este sitio en particular
Guarde y cierre el archivo cuando haya terminado
Prueba del servidor virtual
Ahora que la configuración está en su lugar, debemos probar que todo funciona como se esperaba. Desde que creamos el index.php
archivo de arriba, accedamos a él yendo a http://server_url/
. En mi caso, este es http://site1.citizix.com/
. Debería ver una página como la que se muestra a continuación:

Conclusión
En esta guía, logramos configurar Apache para servir tráfico en un servidor Rocky Linux 8.