Apache – Julien ANNE https://news.julien-anne.fr Développeur Ruby On Rails, Coach Craft et Agile Sat, 11 Jan 2025 12:08:53 +0000 fr-FR hourly 1 https://wordpress.org/?v=6.7.1 https://news.julien-anne.fr/wp-content/uploads/2020/07/cropped-knocker-1172580_1920-retouche512x512-32x32.jpg Apache – Julien ANNE https://news.julien-anne.fr 32 32 177439806 Mise à jour PHP 7.3 vers PHP 7.4 sur debian 10 buster, fichiers PHP non interprétés https://news.julien-anne.fr/mise-a-jour-php-7-3-vers-php-7-4-sur-debian-10-buster-fichiers-php-non-interpretes/ Fri, 14 Aug 2020 15:03:24 +0000 https://news.julien-anne.fr/?p=432 La distribution GNU/Linux Debian 10 buster contient dans ses dépôts officiels la version 7.3 de PHP (Hypertext Preprocessor) lorsque vous installer le méta pacquet php. De plus, lorsque vous utilisez Apache comme serveur http pour servir vos applications web écrites en PHP, vous utilisez bien souvent le package libapache2-mod-php qui vous fournit depuis les dépôts officiels de debian la version pour PHP 7.3, ce qui semble logique. Lorsque vous avez installé PHP via apt install php et que vous souhaitez connaître la version de PHP avec php -v vous obtenez une sortie semblable à :

PHP 7.3.19-1 .....

Mise à jour de PHP

Pour mettre à jour votre version de PHP, il faut suivre les premières étapes suivantes :

Téléchargement et ajout de la clé gpg pour le dépôt PPA de PHP :

sudo apt -y install lsb-release apt-transport-https ca-certificates 
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

Ensuite installons PHP 7.4 depuis ce ppa fraîchement configuré :

sudo apt update
sudo apt -y install php7.4

A ce moment là si vous faites php -v vous devriez avoir un retour comme celui-ci :

PHP 7.4.9 ...

On peut donc en conclure que PHP a bien été mis à jour.

Cependant si vous mettez un fichier PHP avec un phpinfo(); à l’intérieur est que vous l’appelez à travers votre apache, la réponse sera que la version utilisé de PHP est la 7.3.

Deux versions de PHP en parallèle

Vous avez à ce moment là 2 versions de PHP installer en parallèle, la 7.3 et la 7.4, si vous n’avez plus besoin de la version 7.3 vous vous dites que vous pouvez la désinstaller sans souci avec sudo apt purge php7.3 suivi ou non par un sudo apt autoremove pour faire le ménage. Oui et non si vous faites cela à l’instant vous allez vous retrouver avec vos fichiers php qui ne seront plus interprété par apache (si ce n’est pas un serveur de prod vous pouvez faire le test).

Pourquoi mes fichiers PHP ne sont plus interprétés par apache

La réponse est logique mais pas évidente, comme je vous le mentionnais en début d’article, l’installation du méta paquet php installe aussi apache2 et le module libapache2-mod-php. Tout ceci fonctionne bien ensemble, php 7.3 compatible avec libapache2-mod-php développé pour la version spécifique de php 7.3, donc lorsque l’on purge php7.3 il désinstalle le module apache associé et vos fichiers php ne sont plus interprétés par apache2.

Ok mais j’ai installé php7.4, ne m’a t-il pas installé libapache2-mod-php pour la version php 7.4 ? Vous avez raison le méta paquet php7.4 installe bien libapache2-mod-php pour la version php 7.4 mais ce derniers n’est pas automatiquement activé car il existait à ce moment là encore le module libapache2-mod-php pour la version php 7.3 et ces 2 modules sont incompatibles ensemble c’est pourquoi vous devez lancer les 2 commandes suivantes :

sudo a2dismod php7.3
sudo a2enmod php7.4

La première commande va désactiver le module libapache2-mod-php pour la version php 7.3 s’il est encore présent et la seconde va activer le module libapache2-mod-php pour la version php 7.4 enfin après systemctl restart apache2, vous pouvez vérifier votre fichier php contenant le phpinfo(); qui devrait maintenant vous indiquez PHP 7.4

Vous avez retrouver l’interprétation de vos fichiers PHP, la mise à jour est terminée, sauf s’il vous manque des extensions php à installer avec par exemple pour l’extension common :

sudo apt install php7.4-common

Vous pouvez aussi si vous le souhaitez purger les extensions php7.3 comme ceci sudo apt purge php7.3-common pour l’extension common.

Sources : https://geekmag.fr/blog/2020/01/25/installer-php-7-4-sur-debian-10-ou-debian-9/

Image par simplu27 de Pixabay

]]>
432
Mise en production de notre projet Django sur une Debian 10 – Apache https://news.julien-anne.fr/mise-en-production-de-notre-projet-django-sur-une-debian-10-apache/ https://news.julien-anne.fr/mise-en-production-de-notre-projet-django-sur-une-debian-10-apache/#comments Thu, 14 May 2020 17:14:10 +0000 https://news.julien-anne.fr/?p=152 Dans ce tutoriel nous allons voir comment mettre en production un projet Django sur un serveur debian 10 avec Apache.

Les pré-requis

Configurons le serveur web apache2 pour notre projet Django

Nous avons donc un serveur web apache2 qui est installé sur le serveur, nous allons maintenant créer le virtualhost associé pour rendre accessible notre projet mais avant cela nous avons besoin d’un module spécifique WSGI.

Pour installer ce module rien de plus simple, en root lancer la commande suivante :

apt install libapache2-mod-wsgi-py3

Éditer maintenant un virtualhost /etc/apache2/sites-available/mon-site.conf et mettre les directives suivantes.

<VirtualHost *:80>
# Ne pas mettre cette directive si vous n'avez pas de nom de domaine et que vous accéder à votre serveur par ip
ServerName mon-nom-de-domaine 

# Les 4 lignes suivantes permettent de servir des fichiers dits statiques images, css, js, ...
Alias /static /opt/django-deploy-production-example/static
<Directory /opt/django-deploy-production-example/static>
Require all granted
</Directory>

<Directory /opt/django-deploy-production-example/djangoexample>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

WSGIDaemonProcess djangoexample python-home=/opt/django-deploy-production-example/venv python-path=/opt/django-deploy-production-example
WSGIProcessGroup djangoexample
WSGIScriptAlias / /opt/django-deploy-production-example/djangoexample/wsgi.py
</VirtualHost>

Il nous faut maintenant donner les bons droits sur les dossier pour le groupe www-data

chmod 775 /opt/django-deploy-production-example/
chown :www-data /opt/django-deploy-production-example

Activons maintenant ce nouveau virtualhost avec la commande suivante a2ensite mon-site puis systemctl restart apache2.

Ok donc à ce moment là nous avons un projet qui tourne sur un serveur debian 10 avec apache2 et son module WSGI. Passons à la suite. Rendez-vous sur le sommaire du tutoriel pour continuer votre lecture.

Image par Gerd Altmann de Pixabay

]]>
https://news.julien-anne.fr/mise-en-production-de-notre-projet-django-sur-une-debian-10-apache/feed/ 1 152
Tutoriel Django MySql Debian 10 Apache2 Let’s Encrypt Gitlab https://news.julien-anne.fr/tutoriel-django-mysql-debian-10-apache2-lets-encrypt-gitlab/ https://news.julien-anne.fr/tutoriel-django-mysql-debian-10-apache2-lets-encrypt-gitlab/#comments Mon, 04 May 2020 18:18:21 +0000 https://news.julien-anne.fr/?p=77 Ce tutoriel va être sur une série d’articles avec pour chaque article un objectif défini, l’idée principale de ce tutoriel sera de mettre en production un code source python réalisé avec Django et une base de données MySql, versionné par Git et « stocké » sur Gitlab, sur un serveur Debian 10 avec Apache2 et le module WSGI et enfin le ssl de ce projet avec Let’s Encrypt. Ok il y a un peu de travail.

Sur ce premier article de la série, nous allons principalement retrouver les pré-requis avant de se lancer et le sommaire pointant sur chaque partie individuelle de ce tutoriel, ainsi qu’une courte description pour chaque partie. Les différentes parties de ce tutoriel sortiront au fur et à mesure, en commençant par les parties à plus fortes valeurs ajoutées 😉 pour les parties en constructions j’essaierai de trouver un tutoriel déjà présent sur Internet.

Les pré-requis

Il va nous falloir différents éléments pour mener à bien ce tutoriel :

Sommaire

Chaque partie est indépendante mais le tout fera un tutoriel assez complet. Bonne lecture.

Image par Claire05 de Pixabay

]]>
https://news.julien-anne.fr/tutoriel-django-mysql-debian-10-apache2-lets-encrypt-gitlab/feed/ 5 77