GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar y configurar PHP y Apache (pila LAMP) en Debian 11

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 Ubuntu 20.04
  • Cómo instalar Apache y PHP (pila LAMP) en Rocky Linux/Centos 8
  • Cómo instalar y configurar PHP y Nginx (LEMP) en Debian 11

Requisitos

Para seguir esta guía, asegúrese de tener lo siguiente:

  • Un servidor Debian 11 actualizado
  • Acceso root al servidor o Usuario con acceso sudo
  • Acceso a Internet

Tabla de contenido

  1. Asegurarse de que el servidor esté actualizado
  2. Instalación de PHP en Debian 11
  3. Instalación de Apache en Debian 11
  4. Configuración de host virtual

1. Asegurarse de que el servidor esté actualizado

Antes de continuar, siempre es una buena práctica asegurarse de que el servidor esté actualizado. Usa estos comandos para lograr esto

sudo apt update
sudo apt upgrade -y

2. Instalación de PHP en Debian 11

PHP está disponible en los repositorios predeterminados de Debian 11. La última versión de PHP al escribir este blog es PHP 7.4.

Instale PHP y algunos paquetes comunes usando este comando:

sudo apt install -y \
    php \
    php-common \
    php-cli

Compruebe la versión instalada de PHP

$ apt-cache policy php
php:
  Installed: 2:7.4+76
  Candidate: 2:7.4+76
  Version table:
 *** 2:7.4+76 500
        500 http://cdn-aws.deb.debian.org/debian bullseye/main amd64 Packages
        100 /var/lib/dpkg/status

Verifique la versión de php instalada usando este comando:

$ php -v
PHP 7.4.25 (cli) (built: Oct 23 2021 21:53:50) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.25, Copyright (c), by Zend Technologies

3. Instalación de apache en Debian 11

Los paquetes de Apache están disponibles en los repositorios predeterminados de Debian 11 como apache2 . Instálalo usando este comando:

sudo apt install -y apache2

Confirme los paquetes instalados usando este comando:

$ apt-cache policy apache2
apache2:
  Installed: 2.4.51-1~deb11u1
  Candidate: 2.4.51-1~deb11u1
  Version table:
 *** 2.4.51-1~deb11u1 500
        500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
        100 /var/lib/dpkg/status
     2.4.48-3.1+deb11u1 500
        500 http://cdn-aws.deb.debian.org/debian bullseye/main amd64 Packages

El servicio se iniciará de forma predeterminada. Verifique el estado usando este comando:

$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-12-14 03:01:04 UTC; 5min ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 19103 (apache2)
      Tasks: 6 (limit: 4626)
     Memory: 12.8M
        CPU: 59ms
     CGroup: /system.slice/apache2.service
             ├─19103 /usr/sbin/apache2 -k start
             ├─19105 /usr/sbin/apache2 -k start
             ├─19106 /usr/sbin/apache2 -k start
             ├─19107 /usr/sbin/apache2 -k start
             ├─19108 /usr/sbin/apache2 -k start
             └─19109 /usr/sbin/apache2 -k start

Dec 14 03:01:04 ip-10-2-40-188 systemd[1]: Starting The Apache HTTP Server...
Dec 14 03:01:04 ip-10-2-40-188 systemd[1]: Started The Apache HTTP Server.

Para habilitar el servicio en el arranque, use este comando

sudo systemctl enable apache2

Para confirmar que Apache 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 va bien, debería ver la página predeterminada de Apache2 Debian .

4. Configuración de hosts virtuales

Con Apache, es posible alojar varios 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 único host. Puede tener tantos servidores virtuales como desee.

En este ejemplo, usaremos el dominio site1.citizix.com para el host virtual, pero tenga la libertad de usar el dominio de su elección. Tenga en cuenta que el DNS del dominio que se utilizará ya debe estar configurado para apuntar a la dirección IP del servidor.
Confírmelo con:

dig -t A site1.citizix.com

Creación de 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 apt 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 el $USER el usuario posee el directorio del sitio:

sudo chown -R $USER:$GROUP /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/apache2/sites-available/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/apache2/site1.citizix.com.error.log
    CustomLog /var/log/apache2/site1.citizix.com.requests.log combined
</VirtualHost>

Esto le dirá a Apache lo siguiente:

  • ServerNameServerAlias – nombre del host a servir
  • DocumentRoot – dónde encontrar directamente la raíz que contiene los documentos web de acceso público
  • DirectoryIndex – El archivo que apache servirá cuando se acceda al sitio
  • ErrorLog – dónde almacenar los registros de errores para este sitio
  • CustomLog – dónde almacenar los registros de solicitudes para este sitio en particular

Guarde y cierre el archivo cuando haya terminado

Habilitar el sitio

$ sudo a2ensite site1.citizix.com
Enabling site site1.citizix.com.
To activate the new configuration, you need to run:
  systemctl reload apache2

Luego recarga la configuración de apache2

sudo systemctl reload apache2

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 anterior, permítanos acceder a él yendo a http://server_url/ . En mi caso, esto es http://site1.citizix.com/ . Deberías ver la página de información de php.

Conclusión

En esta guía, logramos configurar Apache para servir el sitio PHP en un servidor Debian 11.


Debian
  1. Cómo instalar y configurar PHP y Nginx (LEMP) en Debian 11

  2. Cómo instalar y configurar PHP y Apache (pila LAMP) en Ubuntu 20.04

  3. Cómo instalar y configurar PHP y Apache (pila LAMP) en OpenSUSE Leap 15.3

  4. Cómo instalar LAMP (Apache, MySQL, PHP) en Debian 11

  5. Cómo configurar la pila LAMP (Linux, Apache, MariaDB, PHP) en Debian Wheezy

Cómo instalar LAMP Stack en Debian 10 Buster Server/Desktop

Cómo instalar LAMP (Apache, MySQL, PHP) en Debian 9 Stretch

Cómo instalar LAMP (Apache, MySQL, PHP) en Debian 8 Jessie

Cómo instalar LAMP (Apache, MySQL, PHP) en Debian 10

Cómo instalar y configurar Jenkins en Debian 11

Cómo configurar la pila LAMP (Apache, MariaDB y PHP) en Debian 11