Prérequis GDA

PHP 7.4

sudo apt -y install php7.4

sudo update-alternatives --set php /usr/bin/php7.4
sudo update-alternatives --set phar /usr/bin/phar7.4
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.4
sudo update-alternatives --set phpize /usr/bin/phpize7.4
sudo update-alternatives --set php-config /usr/bin/php-config7.4

sudo apt-get install unixodbc-dev
sudo apt install php7.4-dev

sudo pecl config-set php_ini /etc/php/7.4/fpm/php.ini
sudo pecl config-set ext_dir /usr/lib/php/20190902

sudo pecl -d php_sufix=7.4 install sqlsrv
sudo pecl -d php_sufix=7.4 install pdo_sqlsrv sudo su printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/7.4/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/7.4/mods-available/pdo_sqlsrv.ini
exit

sudo phpenmod -s apache2 -v 7.4 sqlsrv pdo_sqlsrv
sudo phpenmod -s cli -v 7.4 sqlsrv pdo_sqlsrv

sudo service apache2 restart

  • PHP 7.4 Modules
    • imagick
    • imap
    • xml
    • mbstring
    • curl
    • pdo_sqlsrv
    • pdo_mysql

sudo apt-get install php7.4-imagick
sudo apt-get install php7.4-imap
sudo apt-get install php7.4-xml
sudo apt-get install php7.4-mbstring
sudo apt-get install php7.4-curl
sudo apt-get install php7.4-mysql
sudo apt-get install php7.4-zip

Puis activez les modules (ex. pdo_mysql).
sudo phpenmod pdo_mysql

php_module

FIN PHP 7.4


MySQL

Comment installer MySQL 5.7 sur Debian 10:

Connecte à la base de données MySQL en utilisant:
mysql -u indexware -p
mdp: KeePass Client

Création d'un compte admin:
CREATE USER 'indexware'@'%' IDENTIFIED BY 'PASSWORD';

GRANT ALL PRIVILEGES ON *.* TO 'indexware'@'%';

image%20%281%29

FIN MySQL

Activer le mod_rewrite

Avant d'activer le mod_rewrite sur Apache2, il faut s'assurer que le module est disponible sur votre serveur Debian Squeeze.

Pour cela, nous allons tapez ces deux lignes en mode console et en utilisant le compte root:

updatedb
locate mod_rewrite.so

Un résultat de se genre doit apparaître à l'écran :

/usr/lib/apache2/modules/mod_rewrite.so /usr/lib/debug/usr/lib/apache2/modules/mod_rewrite.so

Ici, il suffit d'activer le mod_rewrite avec la commande suivante :

a2enmod rewrite

Activer PHP 7.4 par défaut

Vous devez définir PHP 7.4 comme version active de PHP pour CLI et Apache2. Vous pouvez le faire en désactivant les modules Apache2 pour toutes les autres versions PHP installées et en configurant la CLI à l'aide de la commande update-alternatives.

Vérifier s'il y a d'autres php installés:

root@lgc-idx-front-prd-01:/etc/php# ls -lh
drwxr-xr-x 3 root root 4.0K Dec 22 10:36 5.6
drwxr-xr-x 3 root root 4.0K Dec 22 10:36 7.0
drwxr-xr-x 3 root root 4.0K Dec 22 10:36 7.1
drwxr-xr-x 3 root root 4.0K Dec 22 10:36 7.2
drwxr-xr-x 5 root root 4.0K Dec 14 14:00 7.3
drwxr-xr-x 6 root root 4.0K Jan 18 17:58 7.4
drwxr-xr-x 5 root root 4.0K Dec 22 10:36 8.0
drwxr-xr-x 5 root root 4.0K Jan 18 11:36 8.1

Exécutez les commandes suivantes pour apporter des modifications.

Apache:

Désactiver les autres php:

sudo a2dismod php5.6 php7.0 php7.1 php7.2 php7.3 php8.0 php8.1

Activer PHP 7.4:

sudo a2enmod php7.4
sudo service apache2 restart

Si problème avec Unable to write in the cache directory

Unable to write in the "/home/indexware/httpdocs/preprod-sesame.ad02.logilec.fr/var/cache/prod" directory.

Problème pose par Virgil (GDA):

On a pb dans la gestion des droits entre l'user indexware & www-data (user par default apache il me semble)
On a des conflits quand apache vient changer des fichiers (notament le cache)

Je précise qu'update les droits un fois sur les fichiers ne règlera pas le problème définitivement puisque qu'un cache ça se régénère.
Du coup je viens de régénérer et je me retrouve avec les droits que pose l'utilisateur www-data.

Pour résoudre on remplace www-data par indexware
dans /etc/apache2/envvars

envvars

Puis:
systemctl restart apache2

Pour tester:
cd /home/indexware/httpdocs/preprod-sesame.ad02.logilec.fr && rm -rf ./var/cache/.
Charger une page de l'app preprod-sesame.ad02.logilec.fr (génération du cache par l'app)
cd /home/indexware/httpdocs/preprod-sesame.ad02.logilec.fr && php bin/console cache:clear

image