Commit 9c1dd40a authored by Fleurant Ylan's avatar Fleurant Ylan

Update Install Documentation for php7.0 EN

parent cf197abf
Pipeline #7187 canceled with stage
This procedure is meant for Ubuntu et Debian GNU/Linux
Sauf indiqué, cette procédure prends en compte par défaut les distributions GNU/Linux Ubuntu et Debian
# Necessary packages :
## Ubuntu Trusty
```
apt-get install python-software-properties php5 php5-gd php5-imagick php5-xdebug php-pear php5-mysqlnd php5-xhprof graphviz apache2 mysql-server libapache2-mod-php5 git php5-mcrypt php5-curl yaz
```
# PHP 7.0:
## Debian Wheezy
```
apt-get install php5 php5-gd php5-imagick php5-xdebug php-pear php5-mysqlnd graphviz apache2 mysql-server libapache2-mod-php5 git php5-mcrypt php5-curl yaz
```
## ArchLinux
## Ubuntu Xenial 16.04
```
yaourt -S php php-gd php-imagick xdebug php-pear apache mariadb php-apache php-xhprof graphviz git
apt-get install python-software-properties php7.0 php7.0-gd php-imagick php-xdebug php-pear php7.0-mysqlnd graphviz apache2 mysql-server libapache2-mod-php7.0 git php7.0-mcrypt php7.0-curl yaz php7.0-soap php7.0-mbstring
```
## Installation du clone de php-xhprof
## CentOS
```
rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm
yum install php54w php54w-gd php54w-pear php54w-mysql php54w-pecl-xdebug php54w-xml php54w-soap php54w-mbstring
sudo apt-get install php-dev
git clone https://github.com/longxinH/xhprof.git
cd xhprof/extension/
phpize
./configure
make
sudo make install
```
You need to build Imagick extension from scratch
# Install PHPUnit (Account root / sudo):
## Configuration a ajouter dans /etc/php/7.0/apache2/php.ini
```
cd /usr/local/bin
wget https://phar.phpunit.de/phpunit.phar
mv phpunit.phar phpunit
extension = xhprof.so
xhprof.output_dir = /tmp/xhprof
```
# Downloading source code
# Installer PHPUnit (en compte root / sudo):
```
cd /var/www
git clone http://git.afi-sa.fr/afi/opacce.git opacce
cd /usr/local/bin
wget https://phar.phpunit.de/phpunit-5.7.9.phar
mv phpunit-5.7.9.phar phpunit
chmod +x phpunit
```
Launch update.sh script
# Récupération des sources
```
cd opacce
cd /var/www/html
git clone http://git.afi-sa.fr/afi/opacce.git opacce
cd opacce/
./update.sh
```
# Apache webserver:
## Activate the following modules :
### Debian
# a2enmod (Apache 2 Enable Module) Pour permettre la réécriture des URLs
```
a2enmod headers rewrite php5
a2enmod headers rewrite php7.0
```
### ArchLinux:
Modify /etc/httpd/conf/http.conf and add the line:
```
LoadModule php5_module modules/libphp5.so
```
Activate mod_mpm_prefork (see https://wiki.archlinux.org/index.php/Apache_HTTP_Server#PHP).
## Configurer Apache
Deactivate negotiation module which is in conflict with Zend Framework on index/index urls:
```
a2dismod negotiation
Dans la conf Apache (/etc/apache2/sites-available/votre-site.conf), supprimer l'option Indexes (listing des fichiers) et autoriser les .htaccess:
```
## Configure Apache
In Apache conf, delete indexes option (file list) and authorise .htaccess:
nano /etc/apache2/sites-available/bokeh.conf
```
Et ajouter a l'interieur du fichiers :
```
<Directory /var/www/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
```
Warning: For apache 2.4
Désactivez le module negotiation qui pose problème avec Zend Framework sur les urls index/index:
```
<Directory /var/www/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
```
a2dismod negotiation
```
# Nginx webserver (experimental)
Using Nginx imply using PHP in PHP-FPM mode.
# Serveur web Nginx
Recommaded configuration use 2 files.
This provides a mean to have factorised Bokeh configuration and a custom configuration for each Bokeh instance.
Le fait d’utiliser Nginx comme serveur Web implique d’utiliser le moteur PHP en mode FPM.
## Include file « bokeh.inc », store it for example in /etc/nginx/conf-enabled
La configuration recommandée utilise 2 fichiers qui présentent l’intérêt d’avoir des fichiers vHost simplifiés et permettent de concentrer le paramétrage commun à tous les vHost dans un fichier annexe, qui fait un peu le même job que le fichier .htaccess sous Apache.
## Fichier d’include « bokeh.inc » à placer par exemple dans /etc/nginx/conf-enabled
```
# Include directives for Bokeh portal
......@@ -171,7 +146,7 @@ location ~ (\.php$|/(cosmogramme|exploit/(test\.php|fpm-ping|fpm-status))) {
}
```
## Vhost file, adapt it to your needs (change URL_Bokeh, Path_Bokeh_Dir, Bokeh_Dir, …)
## Fichier vhost à adapter à votre propre cas (changer URL_Bokeh, Path_Bokeh_Dir, Bokeh_Dir, …)
```
server {
......@@ -199,7 +174,7 @@ server {
}
```
## Example content of etc/nginx/fastcgi_params
## Pour information exemple de fichier etc/nginx/fastcgi_params
```
fastcgi_param QUERY_STRING $query_string;
......@@ -228,98 +203,191 @@ fastcgi_param SERVER_NAME $server_name;
fastcgi_param REDIRECT_STATUS 200;
```
# Configurer PHP
# Configure PHP
In /etc/php5/apache2/php.ini (ArchLinux: /etc/php/php.ini), configure the following variables:
Dans /etc/php/7.0/apache2/php.ini (ArchLinux: /etc/php/php.ini), configurer les variables suivantes:
```
post_max_size = 10M
upload_max_filesize = 10M
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
```
Activate the following extensions if they are not already actived (they should be):
Verifier si le fichier xhprof.so 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.
```
php5enmod calendar curl gd gettext iconv mcrypt mysql pdo_mysql openssl soap imagick
cp /home/NomMachine/xhprof/extension/modules/xhprof.so /usr/lib/php/20151012/
```
On Archinux uncomment the corresponding lines.
# enable des extension
Activez les extensions suivantes si elles ne le sont pas déjà (elles devraient l'être) :
```
phpenmod calendar curl gd gettext iconv mcrypt pdo_mysql imagick mysqlnd soap
```
# Droits d'écriture sur les répertoires
# Write permission on directories
- userfiles hold all uploaded files and files harvested from digital resources.
- temp hold cache files, edit history and files generated by Bokeh.
- 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.
Example:
```
cd var/www/html/opacce/
chmod -R 777 opacce/userfiles
chmod -R 777 opacce/temp
```
If you don't want to give write permission to anybody, you must give it to the user who owns the PHP process at least.
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.
# MySQL config
# Configuration MySQL
## Finalise the installation (ArchLinux)
See https://wiki.archlinux.org/index.php/MySQL#Installation
## Configuration
# Configuration
Edit /etc/mysql/my.cnf and add to the [mysqld] section the following line (in order to force fulltext indexation from the first letter)
Modifier /etc/mysql/mysql.conf.d/mysqld.cnf pour forcer l'indexation fulltext à partir de 1 lettre : ajouter dans la section [mysqld]
```
ft_min_word_len = 1
```
Restart mysql.
Warning: If you have encoding problems, in Cosmogramme, you can force UTF8 like this:
Redémarrer mysql. (service mysql restart)
Notes: si des problèmes d'encodage de caractères sont visibles dans Cosmogramme, il est possible de forcer l'UTF8 comme ceci:
```
skip-character-set-client-handshake
character-set-server=utf8
```
Connect to mysql and import the database schema
Se connecter à mysql et importer le schema
```
mysql -uroot -ppass
mysql -u root -p
mysql> create database opac;
mysql> connect opac;
mysql> source opacce/scripts/opac2.sql;
mysql> source /var/www/html/opacce/scripts/opac2.sql;
```
# OPAC Config
# Configuration OPAC
In the opacce directory, copy and configure
Ce placer dans le répertoire (opacce /var/www/opacce/) copiez
```
cp config.ini.default config.ini
touch local.php
```
# Cosmogramme Config
In the cosmogramme folder, copy and configure
et ouvrir le fichier config.ini dans le répertoire (opacce /var/www/opacce/):
Et
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 copiez
```
cp config.ref.php config.php
```
Ouvrir le fichier config.ref.php et Completer, verifié la section intégration:
go to http://localhost/opacce/cosmogramme
```
cd /var/www/html/opacce/cosmogramme/
nano config.ref.php
```
connnect with the account admin/achanger and click on the patch update link
Allez sur http://localhost/opacce/cosmogramme
# Connect to the opac
Use the account compte admin/achanger
go to http://localhost/opacce/admin
# To run the tests:
# Mise à jour de la base de données
En ligne de commande:
```
php scripts/upgrade_db.php
```
Si il y a une erreur sur le patch 235 corriger le code
dans cd /var/www/html/opacce/cosmogramme/sql/patch/
Correction:
```
nano patch_235.php
```
```
<?php
$adapter = Zend_Registry::get('sql');
$default_adapter = Zend_Db_Table_Abstract::getDefaultAdapter();
try {
$adapter->query("ALTER TABLE `multimedia_location` ADD COLUMN `autohold_for_closing_days` tinyint(3) unsigned DEFAULT 0;");
} catch (Exception $e) {
}
?>
```
# Creation du virtual host
aller dans le repertoire /etc/apache2/site-available/
et ouvrir le bokeh.conf creer precedement.
Puis creer le virtual host : (Remplacer)
exemple :
```
<VirtualHost *:80>
ServerName bokeh.com
ServerAlias www.bokeh.fr
DocumentRoot /var/www/html/opacce
<Directory "/var/www/html/opacce">
Options +FollowSymLinks
AllowOverride all
Require all granted
</directory>
ErrorLog /var/log/apache2/error.bokeh.com.log
CustomLog /var/log/apache2/access.bokeh.com.log combined
</VirtualHost >
```
# Pour se connecter en ADMIN
# A rajouter
Rajouter dans :
```
cd /etc/hosts
127.0.0.1 bokeh.com
```
# Se connecter à l'OPAC:
Vous pouvez maintenant administrer Bokeh à l'adresse http://localhost/opacce/admin .
Dans la barre de recherche du navigateur : localhost/opacce/admin
User : admin
Pass : achanger
Les URLs sont:
- interface publique: http://localhost/opacce
- interface d'administration: http://localhost/opacce/admin
- interface de configuration des intégrations SIGB: http://localhost/opacce/cosmogramme
# Pour lancer les tests de l'OPAC:
```
cd opacce/tests/
phpunit
```
```
\ No newline at end of file
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