Commit b9bd333f authored by Fleurant Ylan's avatar Fleurant Ylan

7.1

parent 2b4c9ba8
Pipeline #7368 failed with stage
in 0 seconds
......@@ -253,6 +253,444 @@ 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
```
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 /var/www/html/opacce/) copiez
```
cp config.ini.default config.ini
touch local.php
```
et ouvrir le fichier config.ini dans le répertoire ( /var/www/html/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:
```
cd /var/www/html/opacce/cosmogramme/
nano config.ref.php
```
Allez sur http://localhost/opacce/cosmogramme
# Mise à jour de la base de données
ce placer dans le repertoire de opacce et
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: (juste a copier coller)
```
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
```
Puis allez dans /etc/apache2/ et modifier le apache2.conf
# 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
```
Sauf indiqué, cette procédure prends en compte par défaut les distributions GNU/Linux Ubuntu et Debian
# PHP 7.1:
## Ubuntu Xenial 16.04
le paquet 7.1 n'éxiste pas sur cette version d'ubuntu donc on ajoute un répertoire afin d'y acceder
```
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
(optionel) sudo apt-get remove php7.0
sudo apt-get install php7.1
```
```
apt-get install python-software-properties php7.1 php7.1-gd php-imagick php-xdebug php-pear php7.1-mysqlnd graphviz apache2 mysql-server libapache2-mod-php7.1 git php7.1-mcrypt php7.1-curl yaz php7.1-soap php7.1-mbstring curl php7.1-zip php-mysql
php7.1-xml/a2a
```
## Installation du clone de php-xhprof
```
sudo apt-get install php-dev
git clone https://github.com/longxinH/xhprof.git
cd xhprof/extension/
phpize
./configure
make
sudo make install
```
## Configuration a ajouter dans /etc/php/7.1/apache2/php.ini
```
extension = xhprof.so
xhprof.output_dir = /tmp/xhprof
```
# Installer PHPUnit (en compte root / sudo):
```
cd /usr/local/bin
wget https://phar.phpunit.de/phpunit-5.7.9.phar
mv phpunit-5.7.9.phar phpunit
chmod +x phpunit
```
# Récupération des sources
```
cd /var/www/html
git clone http://git.afi-sa.fr/afi/opacce.git opacce
cd opacce/
./update.sh
```
# a2enmod (Apache 2 Enable Module) Pour permettre la réécriture des URLs
```
a2enmod headers rewrite php7.1
```
## 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/apach0e2/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 negotiation qui pose problème avec Zend Framework sur les urls index/index:
```
a2dismod negotiation
```
# Serveur web Nginx
Le fait d’utiliser Nginx comme serveur Web implique d’utiliser le moteur PHP en mode FPM.
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
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 30d;
log_not_found off;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Deny access to sensitive files.
location ~ (\.inc\.php|\.tpl|\.sql|\.tpl\.php|\.db)$ {
#deny all;
return 403;
}
location ~ /(\.|\.htaccess|config\.(ini|php)) {
#deny all;
return 403;
}
# Path without redirection
location ~ /(xhprof_html|ckeditor|\.well-known) {
}
# Serve PHP
location ~ /cosmogramme/cosmozend {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
#fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/cosmogramme/cosmozend/index.php;
fastcgi_param SCRIPT_NAME /cosmogramme/cosmozend/index.php;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
fastcgi_pass bokeh-dock:9000;
}
location ~ (\.php$|/(cosmogramme|exploit/(test\.php|fpm-ping|fpm-status))) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
fastcgi_pass bokeh-dock:9000;
}
```
## Fichier vhost à adapter à votre propre cas (changer URL_Bokeh, Path_Bokeh_Dir, Bokeh_Dir, …)
```
server {
listen 80;
index index.php;
server_name <URL_Bokeh>;
root <Path_Bokeh_Dir>/<Bokeh_Dir>;
access_log "<Path_Nginx_Log>/<URL_Bokeh>_access.log";
error_log "<Path_Nginx_Log>/<URL_Bokeh>_error.log";
location / {
try_files $uri $uri/ @rewrite;
}
# if the requested file exists, return it immediately
if (-f $request_filename) {
break;
}
location @rewrite {
rewrite ^(.*)$ /index.php last;
}
include /etc/nginx/conf-enabled/bokeh.inc;
}
```
## Pour information exemple de fichier etc/nginx/fastcgi_params
```
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
```
# Configurer PHP
Dans /etc/php/7.1/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
```
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.
```
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.1 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
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
```
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:
```
......@@ -337,6 +775,21 @@ try {
```
Puis retourner dans opacce et relancer les applications de patch
Si erreur de mb_strlen c'est un problème de php qui recupère les modules dans le 7.3
alors qu'ils sont téléchargés dans le 7.1 pour cela on doit utiliser un update alternative pour rediriger vers le 7.1 par defaut
```
sudo a2dismod php7.3
sudo a2enmod php7.1
sudo service apache restart
sudo update-alternatives --set php /usr/bin/php7.1
```
# Creation du virtual host
aller dans le repertoire /etc/apache2/site-available/
et ouvrir le bokeh.conf creer precedement.
......@@ -364,9 +817,19 @@ exemple :
# A rajouter
Rajouter dans :
Rajouter dans apache2.conf situé dans /etc/apache2/ : (vous pouvez faire Ctrl W et écrire allowover pour vous diriger vers les autres directory et copier coller le code ci dessous a coter de ceux la pour améliorer la lisibilité)
```
<Directory "/var/www/html/opacce">
Options +FollowSymLinks
AllowOverride all
Require all granted
</directory>
```
Puis rajouter dans host
nano /etc/hosts
```
cd /etc/hosts
127.0.0.1 bokeh.com
```
......@@ -390,3 +853,13 @@ Les URLs sont:
cd opacce/tests/
phpunit
```
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