GNU/Linux >> Tutoriales Linux >  >> OpenSuse

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

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 Nginx (LEMP) en OpenSUSE Leap 15.3
  • Cómo instalar la pila Apache PHP 7.4 (LAMP) en Rocky Linux/Centos 8
  • 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 OpenSUSE Leap 15.3 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 OpenSUSE Leap 15.3
  3. Instalación de Apache en OpenSUSE Leap 15.3
  4. Configuración de host virtual
  5. Probando la configuración del 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 zypper refresh
sudo zypper update -y

2. Instalación de PHP en OpenSUSE Leap 15.3

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

Instale PHP y algunos paquetes comunes usando este comando:

sudo zypper install -y \
    php \
    php-cli \
    php-gd \
    php-mbstring

Compruebe la versión instalada de PHP

~> zypper info php7
Repository 'Update repository with updates from SUSE Linux Enterprise 15' is out-of-date. You can run 'zypper refresh' as root to update it.
Loading repository data...
Reading installed packages...


Information for package php7:
-----------------------------
Repository     : Update repository with updates from SUSE Linux Enterprise 15
Name           : php7
Version        : 7.4.6-3.29.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 10.3 MiB
Installed      : Yes
Status         : up-to-date
Source package : php7-7.4.6-3.29.1.src
Summary        : Interpreter for the PHP scripting language version 7
Description    :
    PHP is a server-side HTML embedded scripting language designed
    primarily for web development but also used as a general-purpose
    programming language.

    This package contains the standard implementation of PHP, namely Zend
    PHP. Included are the PHP command-line binary and the configuration
    file (php.ini). This package must be installed in order to use PHP.
    Additionally, extension modules and server modules (e.g. for Apache)
    may be installed.

    Additional documentation is available in package php-doc.

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

~> php -v
PHP 7.4.6 (cli) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

3. Instalación de apache en OpenSUSE Leap 15.3

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

sudo zypper install -y apache2

Confirme los paquetes instalados usando este comando:

~> zypper info apache2
Loading repository data...
Reading installed packages...


Information for package apache2:
--------------------------------
Repository     : Update repository with updates from SUSE Linux Enterprise 15
Name           : apache2
Version        : 2.4.43-3.32.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 4.3 MiB
Installed      : Yes
Status         : up-to-date
Source package : apache2-2.4.43-3.32.1.src
Summary        : The Apache Web Server
Description    :
    This version of httpd is a major release of the 2.4 stable branch,
    and represents the best available version of Apache HTTP Server.
    New features include Loadable MPMs, major improvements to OCSP support,
    mod_lua, Dynamic Reverse Proxy configuration, Improved Authentication/
    Authorization, FastCGI Proxy, New Expression Parser, and a Small Object
    Caching API.

     See /usr/share/doc/packages/apache2/, http://httpd.apache.org/, and
    http://httpd.apache.org/docs-2.4/upgrading.html.

El servicio no se iniciará de forma predeterminada.

sudo systemctl start apache2

Verifique el estado usando este comando:

~> sudo systemctl status apache2
● apache2.service - The Apache Webserver
     Loaded: loaded (/usr/lib/systemd/system/apache2.service; disabled; vendor preset: disabled)
     Active: active (running) since Wed 2021-12-22 06:58:45 UTC; 53s ago
   Main PID: 27333 (httpd-prefork)
     Status: "Processing requests..."
      Tasks: 6
     CGroup: /system.slice/apache2.service
             ├─27333 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             ├─27340 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             ├─27341 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             ├─27342 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             ├─27343 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             └─27344 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>

Dec 22 06:58:45 ip-10-2-40-44 systemd[1]: Starting The Apache Webserver...
Dec 22 06:58:45 ip-10-2-40-44 systemd[1]: Started The Apache Webserver.

Para habilitar el servicio en el arranque, use este comando

sudo systemctl enable apache2

Si tiene un cortafuegos instalado y habilitado en su máquina, recuerde permitir el tráfico a Apache2 servidor web a través del cortafuegos antes de ir al siguiente paso.

$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload

Para que Apache sirva archivos php

sudo zypper install -y apache2-mod_php7

Luego habilite el módulo php7

sudo a2enmod php7

Finalmente, reinicie apache2 para aplicar la adición del módulo

sudo systemctl restart apache2

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 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 /srv/www/htdocs . Es una buena práctica crear el directorio de su sitio en /srv/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 -p /srv/www/site1.citizix.com

Vamos a crear un simple index.php página para servir desde nuestro sitio. Necesitará vim instalado para que esto funcione, si no, use este comando:

sudo zypper install -y vim

Edite el archivo:

sudo vim /srv/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 wwwrun:wwwrun /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/conf.d/site1.citizix.com.conf

Agrega el siguiente contenido:

<VirtualHost *:80>
    ServerName site1.citizix.com
    ServerAlias site1.citizix.com

    ServerAdmin [email protected]

    DocumentRoot /srv/www/site1.citizix.com
    ErrorLog /var/log/apache2/site1.citizix.com.error.log
    CustomLog /var/log/apache2/site1.citizix.com.requests.log combined

    <Directory "/srv/www/site1.citizix.com">
        Options Indexes
        AllowOverride All
        Require all granted
        DirectoryIndex index.php
    </Directory>
</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

Probar la configuración

~> sudo apachectl configtest
Syntax OK

Luego recarga la configuración de apache2

sudo systemctl reload apache2

5. Probando la configuración del host virtual

Para probar la configuración, abra su navegador y cargue el dominio que configuró. En mi caso es http://site1.citizix.com . Deberías ver la página de información de php.

Si aún no ha configurado su configuración de DNS o simplemente no desea que el sitio se active todavía, puede modificar el archivo de hosts de su computadora. Para hacer esto, use el siguiente comando en la CLI de su computadora local

sudo vim /etc/hosts

Luego, agregue la dirección IP de su servidor real seguido del nombre de dominio que está configurando, por ejemplo:

# Virtual Hosts Local Test
10.2.11.11 site1.citizix.com

Ahora debería poder guardar el archivo y acceder a él desde un navegador web.

Si algo no funciona como se esperaba, puede verificar los registros del servidor virtual usando este

tail -f /var/log/apache2/site1.citizix.com.*

Conclusión

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


OpenSuse
  1. Cómo instalar Apache y PHP (pila LAMP) en Rocky Linux/Centos 8

  2. Cómo instalar y configurar Nginx como proxy OpenSUSE Leap 15.3

  3. Cómo instalar y configurar Mariadb 10 en OpenSUSE Leap 15.3

  4. Cómo instalar y configurar PHP y Nginx (LEMP) en OpenSUSE Leap 15.3

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

Cómo instalar Apache, MariaDB y PHP (LAMP) en Debian 11

Cómo instalar Apache, MariaDB, PHP7 (LAMP) en openSUSE Leap 15.1

Cómo instalar Apache, MariaDB, PHP7 (LAMP) en openSUSE Leap 15.3

Cómo instalar PHP 8.0 en openSUSE 15 Leap

Cómo instalar Apache y PHP en OpenSUSE 15.1

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