GNU/Linux >> Tutoriels Linux >  >> OpenSuse

Comment installer et configurer PHP et Apache (pile LAMP) sur OpenSUSE Leap 15.3

Le serveur HTTP Apache (Apache) est l'un des logiciels de serveur Web multiplateforme gratuits et open source les plus populaires, publié sous les termes de la licence Apache 2.0. Apache est populaire dans le cadre de la configuration LAMP, étant le A dans l'acronyme. La fonctionnalité du serveur apache peut être étendue avec les nombreux modules disponibles.

PHP est un langage de script à usage général orienté vers le développement Web. C'est l'un des langages de programmation populaires pour le Web. Les outils populaires tels que WordPress sont codés en php. Les grandes entreprises comme Facebook utilisent également fortement php.

Contenu associé :

  • Comment installer et configurer PHP et Nginx (LEMP) sur OpenSUSE Leap 15.3
  • Comment installer la pile Apache PHP 7.4 (LAMP) sur Rocky Linux/Centos 8
  • Comment installer et configurer PHP et Apache (pile LAMP) sur Ubuntu 20.04
  • Comment installer et configurer PHP et Nginx (LEMP) sur Ubuntu 20.04
  • Comment installer et configurer PHP et Apache (pile LAMP) sur Debian 11
  • Comment installer et configurer PHP et Nginx (LEMP) sur Debian 11
  • Comment installer et configurer PHP et Nginx (LEMP) sur Rocky Linux/Alma Linux 8

Prérequis

Pour suivre ce guide, assurez-vous d'avoir les éléments suivants :

  • Un serveur OpenSUSE Leap 15.3 mis à jour
  • Accès racine au serveur ou utilisateur avec accès sudo
  • Accès Internet

Table des matières

  1. S'assurer que le serveur est à jour
  2. Installation de PHP sur OpenSUSE Leap 15.3
  3. Installation d'Apache sur OpenSUSE Leap 15.3
  4. Configuration de l'hôte virtuel
  5. Test de la configuration de l'hôte virtuel

1. S'assurer que le serveur est à jour

Avant de continuer, il est toujours recommandé de s'assurer que le serveur est à jour. Utilisez ces commandes pour y parvenir

sudo zypper refresh
sudo zypper update -y

2. Installation de PHP sur OpenSUSE Leap 15.3

PHP est disponible dans les dépôts OpenSUSE par défaut. La dernière version de PHP au moment de la rédaction de ce blog est PHP 7.4.

Installez PHP et certains packages courants à l'aide de cette commande :

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

Vérifiez la version installée 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.

Vérifiez la version php installée à l'aide de cette commande :

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

3. Installation d'apache sur OpenSUSE Leap 15.3

Les packages Apache sont disponibles dans les référentiels OpenSUSE Leap 15.3 par défaut en tant que apache2 . Installez-le à l'aide de cette commande :

sudo zypper install -y apache2

Confirmez les packages installés à l'aide de cette commande :

~> 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.

Le service ne sera pas démarré par défaut.

sudo systemctl start apache2

Vérifiez l'état à l'aide de cette commande :

~> 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.

Pour activer le service au démarrage, utilisez cette commande

sudo systemctl enable apache2

Si un pare-feu est installé et activé sur votre machine, n'oubliez pas d'autoriser le trafic vers Apache2 serveur Web via le pare-feu avant de passer à l'étape suivante.

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

Pour qu'Apache serve les fichiers php

sudo zypper install -y apache2-mod_php7

Activez ensuite le module php7

sudo a2enmod php7

Redémarrez enfin apache2 pour appliquer l'ajout de module

sudo systemctl restart apache2

4. Configuration des hôtes virtuels

Avec Apache, il est possible d'héberger plusieurs sites sur le même serveur sur lequel Apache s'exécute. Ceci peut toujours être réalisé en utilisant plusieurs domaines représentant chacun un site hébergé par le serveur.

Les hôtes virtuels Apache sont similaires aux blocs de serveur Nginx. Chaque hôte virtuel aura des détails de configuration pour un seul hôte. Vous pouvez avoir autant d'hôtes virtuels que vous le souhaitez.

Dans cet exemple, nous utiliserons le domaine site1.citizix.com pour l'hôte virtuel mais soyez libre d'utiliser le domaine de votre choix. Veuillez noter que le DNS du domaine à utiliser doit déjà être configuré pour pointer vers l'adresse IP du serveur.
Confirmez cela avec :

dig -t A site1.citizix.com

Création d'un répertoire et d'exemples de contenu

La page par défaut d'apache est configurée comme un hôte virtuel par défaut servant le contenu de /srv/www/htdocs . Il est recommandé de créer le répertoire de votre site dans le /srv/www car c'est une bonne pratique de servir à partir de là.

Créons un répertoire pour notre site avec la commande suivante :

sudo mkdir -p /srv/www/site1.citizix.com

Créons un simple index.php page à servir à partir de notre site. Vous aurez besoin de vim pour que cela fonctionne, sinon utilisez cette commande :

sudo zypper install -y vim

Modifier le fichier :

sudo vim /srv/www/site1.citizix.com/index.php

Ajouter du contenu au fichier :

<?php phpinfo(); ?>

Enfin, assurons-nous que le $USER l'utilisateur est propriétaire du répertoire du site :

sudo chown -R wwwrun:wwwrun /var/www/site1.citizix.com

Création d'un hôte virtuel

Les fichiers d'hôte virtuel Apache spécifient la configuration de chaque site et indiquent au serveur Web Apache comment répondre aux différentes demandes de domaine.

Les configurations Apache seront stockées dans le répertoire /etc/httpd/conf.d/ . Créons une configuration pour notre site :

sudo vim /etc/apache2/conf.d/site1.citizix.com.conf

Ajoutez le contenu suivant :

<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>

Cela indiquera à Apache ce qui suit :

  • ServerName et ServerAlias – nom de l'hôte à servir
  • DocumentRoot – où trouver directement la racine qui contient les documents Web accessibles au public
  • DirectoryIndex – Le fichier qu'apache servira lors de l'accès au site
  • ErrorLog – où stocker les journaux d'erreurs pour ce site
  • CustomLog – où stocker les journaux de requêtes pour ce site particulier

Enregistrez et fermez le fichier lorsque vous avez terminé

Testez la configuration

~> sudo apachectl configtest
Syntax OK

Rechargez ensuite la configuration apache2

sudo systemctl reload apache2

5. Test de la configuration de l'hôte virtuel

Pour tester la configuration, ouvrez votre navigateur et chargez le domaine que vous avez configuré. Dans mon cas, c'est http://site1.citizix.com . Vous devriez voir la page d'informations php.

Si vous n'avez pas encore configuré vos paramètres DNS ou si vous ne voulez tout simplement pas que le site soit encore en ligne, vous pouvez modifier le fichier hosts de votre ordinateur. Pour ce faire, utilisez la commande suivante dans la CLI de votre ordinateur local

sudo vim /etc/hosts

Ensuite, ajoutez l'adresse IP de votre serveur actuel suivie du nom de domaine que vous configurez, par exemple :

# Virtual Hosts Local Test
10.2.11.11 site1.citizix.com

Vous devriez maintenant pouvoir enregistrer le fichier et y accéder depuis un navigateur Web.

Si quelque chose ne fonctionne pas comme prévu, vous pouvez vérifier les journaux du serveur virtualhost à l'aide de ceci

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

Conclusion

Dans ce guide, nous avons réussi à configurer Apache pour servir le site PHP sur un serveur Ubuntu 20.04.


OpenSuse
  1. Comment installer Apache et PHP (pile LAMP) sur Rocky Linux/Centos 8

  2. Comment configurer Opencart avec LAMP (PHP, Apache, Mariadb) sur OpenSUSE Leap 15.3

  3. Comment installer et configurer Nginx en tant que proxy OpenSUSE Leap 15.3

  4. Comment installer et configurer Mariadb 10 dans OpenSUSE Leap 15.3

  5. Comment installer et configurer PHP et Nginx (LEMP) sur OpenSUSE Leap 15.3

Comment installer Apache, MariaDB et PHP (LAMP) sur Debian 11

Comment installer Apache, MariaDB, PHP7 (LAMP) sur openSUSE Leap 15.1

Comment installer Apache, MariaDB, PHP7 (LAMP) sur openSUSE Leap 15.3

Comment installer PHP 8.0 sur openSUSE 15 Leap

Comment installer Apache et PHP sur OpenSUSE 15.1

Comment configurer la pile LAMP (Apache, MariaDB et PHP) sur Debian 11