Compléments README.md

This commit is contained in:
Ludovic Poujol 2019-03-21 14:17:00 +01:00
parent 87c08696e3
commit a9b130eaca

144
README.md
View file

@ -1,42 +1,30 @@
# evoadmin-web # evoadmin-web
Panel d'administration de serveur web. Panel d'administration de serveur web et scripts shell.
Project leader : ? Project leader : ?
## Cloner le repo
```
git clone ssh://git@git.evolix.org/evoadmin-web.git
```
## Versions ## Versions
* Stable Squeeze → Déprécié. Dispo sur projet privé.
* Stable Wheezy → git checkout wheezy * Stable Wheezy → git checkout wheezy
* Stable Jessie → Nexiste pas encore. * Stable Jessie → git checkout jessie
* Dev Jessie → git checkout jessie-dev * Stretch → master
## Installation ## Installation
Automatiquement via Evolinux. Via ansible avec le role packweb-apache. Le role webapps/evoadmin-web en dépendance se charge de l'installation de l'interface et de ses scripts.
### Manuelle ### Manuelle
TODO TODO
### Paquet
TODO ### Activation du mode Multi PHP avec des conteneurs LXC
### Conteneurs LXC (Multi PHP) Installer les paquets nécessaires :
Installer le paquet nécessaire :
~~~ ~~~
apt install lxc debootstrap # apt install lxc debootstrap
~~~ ~~~
Modifier la configuration de LXC : Modifier la configuration de LXC :
@ -61,39 +49,21 @@ lxc.arch = x86_64
lxc.start.auto = 1 lxc.start.auto = 1
~~~ ~~~
Note : Ne pas oublier le paramètre lié au montage du /home de l'hôte dans le conteneur ! Dans cette configuration, les containers LXC n'ont pas leur interface réseau virtualisée. Et /home de l'hôte est partagé dans les containers.
#### PHP 5.6 #### PHP 5.6
On installe un conteneur Debian Jessie : On installe un conteneur Debian Jessie :
~~~ ~~~
/usr/bin/lxc-create --name php56 --template debian --bdev dir --logfile /var/log/lxc/lxc-php56.log --logpriority INFO -- --arch amd64 --release jessie # lxc-create --name php56 --template debian --bdev dir --logfile /var/log/lxc/lxc-php56.log --logpriority INFO -- --arch amd64 --release jessie
~~~ ~~~
Puis on installe les paquets PHP 5.6 dans ce conteneur : Puis on installe les paquets PHP 5.6 dans ce conteneur :
~~~ ~~~
lxc-attach -n php56 apt install php5-fpm php5-cli php5-gd php5-imap php5-ldap php5-mcrypt php5-mysql php5-pgsql php-gettext php5-intl php5-curl php5-ssh2 libphp-phpmailer # lxc-start -n php56
~~~ # lxc-attach -n php56 apt install php5-fpm php5-cli php5-gd php5-imap php5-ldap php5-mcrypt php5-mysql php5-pgsql php-gettext php5-intl php5-curl php5-ssh2 libphp-phpmailer
On configure ensuite PHP via les fichiers **/etc/php5/fpm/conf.d/z-evolinux-defaults.ini** et **/etc/php5/cli/conf.d/z-evolinux-defaults.ini** (dans le conteneur) :
~~~
[PHP]
short_open_tag = Off
expose_php = Off
display_errors = Off
log_errors = On
html_errors = Off
allow_url_fopen = Off
disable_functions = exec,shell-exec,system,passthru,putenv,popen
~~~
Il ne reste plus qu'a redémarrer FPM :
~~~
lxc-attach -n php56 /etc/init.d/php5-fpm restart
~~~ ~~~
#### PHP 7.0 #### PHP 7.0
@ -101,32 +71,14 @@ lxc-attach -n php56 /etc/init.d/php5-fpm restart
On installe un conteneur Debian Stretch : On installe un conteneur Debian Stretch :
~~~ ~~~
/usr/bin/lxc-create --name php70 --template debian --bdev dir --logfile /var/log/lxc/lxc-php70.log --logpriority INFO -- --arch amd64 --release stretch # lxc-create --name php70 --template debian --bdev dir --logfile /var/log/lxc/lxc-php70.log --logpriority INFO -- --arch amd64 --release stretch
~~~ ~~~
Puis on installe les paquets PHP 7.0 dans ce conteneur : Puis on installe les paquets PHP 7.0 dans ce conteneur :
~~~ ~~~
lxc-attach -n php70 apt install php-fpm php-cli php-gd php-intl php-imap php-ldap php-mcrypt php-mysql php-pgsql php-gettext php-curl php-ssh2 composer libphp-phpmailer # lxc-start -n php70
~~~ # lxc-attach -n php70 apt install php-fpm php-cli php-gd php-intl php-imap php-ldap php-mcrypt php-mysql php-pgsql php-gettext php-curl php-ssh2 composer libphp-phpmailer
On configure ensuite PHP via les fichiers **/etc/php/7.0/fpm/conf.d/z-evolinux-defaults.ini** et **/etc/php/7.0/cli/conf.d/z-evolinux-defaults.ini** :
~~~
[PHP]
short_open_tag = Off
expose_php = Off
display_errors = Off
log_errors = On
html_errors = Off
allow_url_fopen = Off
disable_functions = exec,shell-exec,system,passthru,putenv,popen
~~~
Il ne reste plus qu'a redémarrer FPM :
~~~
lxc-attach -n php70 /etc/init.d/php7.0-fpm restart
~~~ ~~~
#### PHP 7.3 #### PHP 7.3
@ -134,20 +86,28 @@ lxc-attach -n php70 /etc/init.d/php7.0-fpm restart
On installe un conteneur Debian Stretch : On installe un conteneur Debian Stretch :
~~~ ~~~
/usr/bin/lxc-create --name php73 --template debian --bdev dir --logfile /var/log/lxc/lxc-php73.log --logpriority INFO -- --arch amd64 --release stretch # lxc-create --name php73 --template debian --bdev dir --logfile /var/log/lxc/lxc-php73.log --logpriority INFO -- --arch amd64 --release stretch
~~~ ~~~
Puis on installe les paquets PHP 7.3 dans ce conteneur : Puis on installe les paquets PHP 7.3 dans ce conteneur :
~~~ ~~~
# lxc-start -n php73
# lxc-attach -n php73
lxc-attach -n php73 apt-get update && apt-get install -y --no-install-recommends wget apt-transport-https ca-certificates # apt-get update && apt-get install -y --no-install-recommends wget apt-transport-https ca-certificates
lxc-attach -n php73 wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg # wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
lxc-attach -n php73 echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/sury.list # echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/sury.list
lxc-attach -n php73 apt-get update && apt-get install -y --no-install-recommends php7.3 php7.3-fpm php7.3-cli php7.3-curl php7.3-mysql php7.3-pgsql php7.3-ldap php7.3-imap php7.3-gd php-ssh2 php-gettext composer libphp-phpmailer # apt-get update && apt-get install -y --no-install-recommends php7.3 php7.3-fpm php7.3-cli php7.3-curl php7.3-mysql php7.3-pgsql php7.3-ldap php7.3-imap php7.3-gd php-ssh2 php-gettext composer libphp-phpmailer
~~~ ~~~
On configure ensuite PHP via les fichiers **/etc/php/7.3/fpm/conf.d/z-evolinux-defaults.ini** et **/etc/php/7.3/cli/conf.d/z-evolinux-defaults.ini** : #### Pour toutes les versions de PHP
Dans les containers, il faut ajouter le fichier **z-evolinux-defaults.ini** dans le dossier **conf.d** des réglages de PHP FPM et CLI
> Pour PHP5 **/etc/php5/fpm/conf.d/z-evolinux-defaults.ini** et **/etc/php5/cli/conf.d/z-evolinux-defaults.ini**
> Pour PHP7.0 **/etc/php/7.0/fpm/conf.d/z-evolinux-defaults.ini** et **/etc/php/7.0/cli/conf.d/z-evolinux-defaults.ini**
> Pour PHP7.3 **/etc/php/7.3/fpm/conf.d/z-evolinux-defaults.ini** et **/etc/php/7.3/cli/conf.d/z-evolinux-defaults.ini**
~~~ ~~~
[PHP] [PHP]
@ -160,21 +120,49 @@ allow_url_fopen = Off
disable_functions = exec,shell-exec,system,passthru,putenv,popen disable_functions = exec,shell-exec,system,passthru,putenv,popen
~~~ ~~~
Il ne reste plus qu'a redémarrer FPM : Après cela, il faut redémarrer FPM
~~~ ~~~
lxc-attach -n php73 /etc/init.d/php7.3-fpm restart # lxc-attach -n php56 /etc/init.d/php5-fpm restart
# lxc-attach -n php70 /etc/init.d/php7.0-fpm restart
# lxc-attach -n php73 /etc/init.d/php7.3-fpm restart
~~~ ~~~
Une fois les conteneurs installés, il faut configurer evoadmin-web pour lui indiquer les versions disponibles de PHP dans **/etc/evolinux/web-add.conf** (pour *web-add.sh*) et dans **/home/evoadmin/www/conf/config.local.php** pour l'interface web
#### Toutes versions ~~~
# cat /etc/evolinux/web-add.conf
#(...)
PHP_VERSIONS=(56 70 73)
#(...)
~~~
~~~
# cat /home/evoadmin/www/conf/config.local.php
// (...)
$localconf['php_versions'] = array(70, 73);
// (...)
~~~
#### Apache
Il est nécessaire d'activer le mod proxy pour apache2 si ce n'a pas déjà été fait : Il est nécessaire d'activer le mod proxy pour apache2 si ce n'a pas déjà été fait :
~~~ ~~~
# a2enmod proxy_fcgi # a2enmod proxy_fcgi
# systemctl restart apache2.service
~~~ ~~~
Si vous rencontrez l'erreur "File not found" avec les fichiers php, bien vérifier que le rootfs des conteneurs est en 755 :
~~~
chmod 755 /var/lib/lxc/php56/rootfs
chmod 755 /var/lib/lxc/php70/rootfs
chmod 755 /var/lib/lxc/php73/rootfs
~~~
#### Email
Pour envoyer des mails, on peut installer **ssmtp** qui va forwarder les mails du conteneur vers l'hôte (à faire par conteneur via lxc-attach) : Pour envoyer des mails, on peut installer **ssmtp** qui va forwarder les mails du conteneur vers l'hôte (à faire par conteneur via lxc-attach) :
~~~ ~~~
@ -190,20 +178,6 @@ hostname=example.com
FromLineOverride=YES FromLineOverride=YES
~~~ ~~~
Si vous rencontrez l'erreur "File not found" avec les fichiers php, bien vérifier que le rootfs des conteneurs est en 755 :
~~~
chmod 755 /var/lib/lxc/php56/rootfs
chmod 755 /var/lib/lxc/php70/rootfs
~~~
####
Une fois les conteneurs installés, il faut configurer evoadmin-web pour lui diniquer les versions disponibles de PHP dans **/etc/evolinux/web-add.conf** :
~~~
PHP_VERSIONS=(56 70)
~~~
## Méthodes de collaboration ## Méthodes de collaboration