Commit 20d2070f authored by Fleurant Ylan's avatar Fleurant Ylan

Doc Install PhP7.3

parent b9bd333f
# PHP 7.3 Ubuntu 18.04:
## Installation des packets
Pour commencer on doit ajouter un repertoire contenant php7.3
```
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
```
Puis on installe tous les packets nécéssaires pour Bokeh
```
sudo apt-get install php7.3 php7.3-gd php-imagick php-xdebug php-pear php7.3-mysqlnd graphviz apache2 mysql-server libapache2-mod-php7.3 git php7.3-curl yaz php7.3-soap php7.3-mbstring curl php7.3-zip libmcrypt.
```
Ainsi que Mcrypt
```
cd /usr/bin
sudo pecl install channel://pecl.php.net/mcrypt-1.0.2
```
Ensuite appuyer sur Entrer pour l'autodetect
Puis se placer dans le répertoire mods availables et créer un fichier mcrypt.ini
```
cd /etc/php/7.3/apache2/mods-availables
nano mcrypt.ini
```
Puis on se replace dans le répertoire confd et on créer un lien symbolique
```
cd /etc/php/7.3/cli/confd
ln -s /etc/php/7.3/apache2/mods-available/mcrypt.ini 20-mcrypt.ini
```
Idem dans apache2
```
cd /etc/php/7.3/apache2/confd
ln -s /etc/php/7.3/apache2/mods-available/mcrypt.ini 20-mcrypt.ini
```
## Installation du clone de php-xhprof
On installe xhprof a l'aide des commandes ci dessous
```
git clone https://github.com/longxinH/xhprof.git
cd xhprof/extension/
phpize
./configure
make
sudo make install
```
## Configuration php.ini
se placer dans le répertoire /etc/php/7.3/apache2/ et éditer le fichier php.ini
```
cd /etc/php/7.3/apache2/
sudo nano php.ini
extension = xhprof.so
xhprof.output_dir = /tmp/xhprof
```
# Installer PHPUnit (en compte root / sudo):
On installe la version de phpunit pour php 7.1 - 7.2 - (7.3)
```
cd /usr/local/bin
get https://phar.phpunit.de/phpunit-5.7.9.phar
mv phpunit-5.7.9.phar phpunit
chmod +x phpunit
```
# Récupération des sources
On récupére les ressources pour Bokeh
```
cd /var/www/html
git clone http://git.afi-sa.fr/afi/opacce.git opacce
cd opacce/
./update.sh
```
# Permission de réécriture des URLs
(Apache 2 Enable Module) pour permettre la réécriture des URLs
```
a2enmod headers rewrite php7.7
```
## Configurer Apache
Dans la conf Apache (/etc/apache2/sites-available/votre-site.conf), supprimer l'option Indexes (listing des fichiers) et autoriser les .htaccess:
```
nano /etc/apache2/sites-available/bokeh.conf
```
Et ajouter a l'interieur du fichiers :
```
<Directory /var/www/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
```
Désactivez le module de négotiation qui pose problème avec Zend Framework sur les urls index/index:
```
a2dismod negotiation
Yes, do as I say!
systemctl restart apache2
```
# Configurer PHP
Se placer dans /etc/php/7.3/apache2/php.ini (ArchLinux: /etc/php/php.ini)
```
cd /etc/php/7.3/apache2/
```
lancer le php.ini
```
nano php.ini
```
configurer les variables suivantes (le modifier avec la commande: nano /etc/php/7.3/apache2/php.ini)
```
post_max_size = 10M
upload_max_filesize = 10M
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
```
Verifier si le répertoire xhprof est bien dans le repertoire /usr/lib/php/20151012/
Si le fichier n'y est pas, effectuer la commande pour copier le fichier depuis sont emplacent natif dans ce repertoire.
```
cp /home/NomMachine/xhprof/extension/modules/xhprof.so /usr/lib/php/20151012/
```
# enable des extension
Activez les extensions suivantes si elles ne le sont pas déjà (elles devraient l'être) :
```
phpenmod -v 7.3 calendar curl gd gettext iconv mcrypt pdo_mysql imagick mysqlnd soap
```
# Droits d'écriture sur les répertoires
- userfiles contient tous les fichiers téléversés via l'interface Bokeh ou moissonés sur des ressources tierces.
- temp contient les fichiers de caches, fichiers d'historiques de modification, et autres fichiers générés par Bokeh.
```
cd /var/www/html/
chmod -R 777 opacce/userfiles
chmod -R 777 opacce/temp
```
Si vous ne souhaitez pas donner les droits d'écriture à tous sur ces répertoires, vous devez donner la permission à l'utilisateur sous lequel s'exécute le code PHP.
# Configuration MySQL
## Configuration
Rajouter das le fichier mysqld.cnf pour forcer l'indexation fulltext à partir de 1 lettre : ajouter dans la section [mysqld]
```
nano /etc/mysql/mysql.conf.d/mysqld.cnf
```
puis rajouter
```
ft_min_word_len = 1
```
Puis Redémarrer mysql
```
service mysql restart
```
## Importation de la base de donnée
Se connecter à mysql et importer le schema
```
mysql -u root -p
mysql> create database opac;
mysql> connect opac;
mysql> source /var/www/html/opacce/scripts/opac2.sql;
```
# Configuration OPAC
Ce placer dans le répertoire opacce
```
cd /var/www/html/opacce/
```
Et copier
```
cp config.ini.default config.ini
touch local.php
```
Dans le même répertoire Ouvrir le fichier config.ini :
```
nano config.ini
```
Completer avec la section sgbd.config avec les bonnes données
```
sgbd.adapter = mysqli
sgbd.config.host = localhost
sgbd.config.port = 3306
sgbd.config.username = root
sgbd.config.password = root
sgbd.config.dbname = opac
```
# Configuration Cosmogramme
Ce placer dans le répertoire cosmogramme
```
cd /var/www/html/opacce/cosmogramme/
```
et on copie le fichier de configuration
```
cp config.ref.php config.php
```
Ouvrir le fichier config.ref.php et Completer, verifié la section intégration:
```
nano config.ref.php
```
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment