OVH Community, votre nouvel espace communautaire.

Ubuntu 15.10 + PHP7 = download fichiers PHP ?


Didier Misson
21/12/2015, 13h41
Citation Envoyé par bbr18
non pas testé php 7, en fait tous mes containers sont en Debian 7.9, pas fait l'upgrade vu le nombre de choses qui changent, je referai une install propre directement en Debian 8 un jour où l'autre, mes essais sont faits sur un petit ks de test.
Sage décision d'attendre une stabilisation et de refaire une install propre.

Pour notre part, comme Drupal 8 vient de sortir, et qu'il est compatible PHP 7, nous préférions directement tester avec les dernières versions.
Ok, on va s'accommoder de ce problème et la version corrigée de Virtualmin arrivera probablement dans les 8 ou 10 jours.

Bon après-midi.

Didier

bbr18
21/12/2015, 11h26
non pas testé php 7, en fait tous mes containers sont en Debian 7.9, pas fait l'upgrade vu le nombre de choses qui changent, je referai une install propre directement en Debian 8 un jour où l'autre, mes essais sont faits sur un petit ks de test.

Didier Misson
21/12/2015, 11h05
Citation Envoyé par bbr18
si tu regardes la page https://www.virtualmin.com/documenta...Virtualmin_GPL tu constateras que la version 15 n'est pas supportée, par contre Debian 8 c'est ok (j'ai testé)
ok
mais je ne vais pas réinstaller mes conteneurs en Debian


Non, ça va aller.

On va se débrouiller avec des users Apaches "www-data".

On est en Dev, en test de Ubuntu 15.10, PHP7 et Drupal 8.
On upgradera en 16.04 LTS fin avril ou mai.

Et d'après les posts sur le forum Virtualmin, la nouvelle version de Virtualmin, compatible PHP7, devrait sortir avant Noël

Bon, même s'il y a du retard, ce sera probablement avant fin décembre

ça va. ça tient !
On pense également passer quelques sites Drupal 8 en prod pour début janvier.

Merci et bonne journée

Didier

- - - Mise à jour - - -

De tout façon, ce n'est pas un problème de compatibilité entre Virtualmin et Ubuntu 15.10 ...
ça tournait très bien en 15.10 avant notre upgrade en PHP 7.

C'est bien un problème entre Virtualmin et PHP 7 !

Donc, probablement que le problème soit le même avec Debian 8 et PHP 7

Tu as testé Virtualmin avec Debian 8 et PHP 7 ?


bbr18
21/12/2015, 10h40
si tu regardes la page https://www.virtualmin.com/documenta...Virtualmin_GPL tu constateras que la version 15 n'est pas supportée, par contre Debian 8 c'est ok (j'ai testé)

Didier Misson
20/12/2015, 23h06
Citation Envoyé par janus57
Bonjour,

comme dit plus haut, avez-vous vérifier que PHP7 est compatible avec le mécanisme que webmin utilise ??

Car y a de très forte chance qu'il utilise suexec ou suphp, et quelque chose me dit que avec l'épuration qu'a subit PHP7, ce genre d'additif doit recevoir une mise à jour pour fonctionner.

Perso j'utilise PHP-FPM ce qui fait que je genre d'additif j'en est pas besoin car c'est intégré de base à PHP-FPM.

Donc à la limite je vous conseil d'utiliser d'autres panels avec PHP7 pour voir si ils sont compatible, car je pense que webmin aussi doit nécessité une mise à jour pour prendre les nouveautés de PHP7 en compte.

A l'heure actuelle je dirais que ISPCofnig en mode FPM doit fonctionner sans problème et en user (et non www-data), car je sais que webmin ne prend pas FPM nativement et que visiblement cette évolution n'est pas prévu dans l'immédiat (FPM est mieux que fastcgi normalement).

Cordialement, janus57
Bonsoir

J'ai posté sur le forum Webmin.
Mais ce forum est nettement moins actif que celui d' OVH.
Pas sûr que j'ai une réponse rapidement.

Et pas sûr que ça ne prenne pas des semaines pour que Webmin / Virtualmin soient adaptés

ISPconfig...
euh... oui...

Franchement, ça ne m'emballe pas...
L'interface est peu ergonomique (bon, je ne la connais pas non plus).

Puis, je commence à bien connaître Webmin...
J'aimerais autant ne pas changer.
Surtout que je l'utilise sur une 15aines de conteneurs virtuels.

Merci
Didier

janus57
20/12/2015, 22h48
Citation Envoyé par Didier Misson
Bonsoir,

Webmin gérait cela tout seul, et la sécurité était bonne.

Mais depuis l'upgrade PHP7, je vois que Apache2 utilise www-data pour les sites, au lieu d'un userid "site-name"

Didier
Bonjour,

comme dit plus haut, avez-vous vérifier que PHP7 est compatible avec le mécanisme que webmin utilise ??

Car y a de très forte chance qu'il utilise suexec ou suphp, et quelque chose me dit que avec l'épuration qu'a subit PHP7, ce genre d'additif doit recevoir une mise à jour pour fonctionner.

Perso j'utilise PHP-FPM ce qui fait que je genre d'additif j'en est pas besoin car c'est intégré de base à PHP-FPM.

Donc à la limite je vous conseil d'utiliser d'autres panels avec PHP7 pour voir si ils sont compatible, car je pense que webmin aussi doit nécessité une mise à jour pour prendre les nouveautés de PHP7 en compte.

A l'heure actuelle je dirais que ISPCofnig en mode FPM doit fonctionner sans problème et en user (et non www-data), car je sais que webmin ne prend pas FPM nativement et que visiblement cette évolution n'est pas prévu dans l'immédiat (FPM est mieux que fastcgi normalement).

Cordialement, janus57

Didier Misson
20/12/2015, 22h30
Citation Envoyé par janus57
Bonjour,

donc avant tu utilisez SUEXEC ou SUPHP ou un module dans le genre (compatible PHP7 ??).

Je sais pas comment gère webmin à ce niveau mais perso en PHP-FPM je fait ça de manière natif sans avoir recourt à une extension/application externe à PHP du coup perso dans ma config dit plus haut PHP ne s’exécute jamais en www-data du moment que je l'ai bien changé dans ma pool.

Cordialement, janus57
Bonsoir,

Webmin gérait cela tout seul, et la sécurité était bonne.

Mais depuis l'upgrade PHP7, je vois que Apache2 utilise www-data pour les sites, au lieu d'un userid "site-name"

Didier

janus57
13/12/2015, 23h49
Bonjour,

donc avant tu utilisez SUEXEC ou SUPHP ou un module dans le genre (compatible PHP7 ??).

Je sais pas comment gère webmin à ce niveau mais perso en PHP-FPM je fait ça de manière natif sans avoir recourt à une extension/application externe à PHP du coup perso dans ma config dit plus haut PHP ne s’exécute jamais en www-data du moment que je l'ai bien changé dans ma pool.

Cordialement, janus57

Didier Misson
13/12/2015, 23h36
Citation Envoyé par sich
si j'ai bien suivis tu as utilises php avec la lib apache2..... Ce qui implique que toutes tes instances php soient lancés avec www-data
Bonjour Sich,

Non pas du tout !

Avant l'install de PHP7, les sites Web que je défini avec Webmin / Virtualmin, tournaient tous avec un user différent,
et PAS avec www-data !

D'ailleurs, les dossiers n'étaient pas "owner" www-data, mais owner "site1" ou "site2" ...

Je n'ai jamais vérifié comment Webmin configurait les VirtualHost pour avoir des users Apache2 différents, mais ça fonctionnait !



Didier

sich
13/12/2015, 21h43
si j'ai bien suivis tu as utilises php avec la lib apache2..... Ce qui implique que toutes tes instances php soient lancés avec www-data

Didier Misson
13/12/2015, 20h33
ok !

Compris
trouvé
et bypass !




C'est un problème Apache / PHP 7 / Webmin !

-------------

normalement Webmin isole les sites :

- site1 : userid = site1

- site2 : userid = site2

Non seulement le nom de la DB est site1 ou site2,

mais aussi, Apache2 exécute les scripts PHP avec un userid site1 ou site2 !

ça veut dire que le owner des dossiers est différent :

  • /home/site1/public_html appartient au userid "site1"
  • /home/site2/public_html appartient au userid "site2"





--------------------

Pas compris pourquoi le 1er site repris d'une install précédente déclanchait le download des fichiers PHP ...

Mais on a refait des débuts d'install Drupal 8 avec PHP 7 :

ça coince systématiquement quand D8 essaye de créer un dossier ou écrire un fichier...

Explication :

Apache2, malgré Webmin... excécute les scripts avec le userid www-data ... et plus site1 ou site 2 !



bypass :

Code:
cd /home/testphp7

chown -R   www-data:www-data   public_html
et voilà

MAIS c'est une faille de sécurité
car Apache2 excécute maintenant tous les sites avec le même userid...
c'est une diminution du niveau d'isolation des sites !

Mais ok, ça permet d'avancer, de travailler...


et faudra que j'ouvre un bug du côté Webmin !



Didier

Didier Misson
13/12/2015, 18h38
Quand je vérifie si Apache2 voit les PHP :

Code:
# a2query -m php5
No module matches php5 (disabled by maintainer script)

 # a2query -m php7.0
php7.0 (enabled by maintainer script)

ça semble correct

Bonnne soirée

Didier Misson
13/12/2015, 17h10
Citation Envoyé par janus57
Bonjour,

et dans mods-enabled y a bien le PHP7 ?
Bonjour Janus,

Oui, il y a bien le PHP 7 dans mods-enabled.

Code:
:/etc/apache2/mods-enabled# ls -lh *php*

lrwxrwxrwx 1 root root 29 Dec 13 03:29 php7.0.conf -> ../mods-available/php7.0.conf
lrwxrwxrwx 1 root root 29 Dec 13 03:29 php7.0.load -> ../mods-available/php7.0.load
ça s'est configuré automatiquement lors de l'install php 7.0.

C'est bien ça ?
mod_php ?

En tout cas, c'était idem en PHP 5

J'avais uniquement dans mods-enabled, les 2 liens vers php5.conf et php5.load

Donc, situation comparable.



Citation Envoyé par janus57


Apache est sous quel module (prefork/mpm/event) ?

mod_php (5 ou 7) ne foinctionne que avec apache prefork pour le reste (mpm/event) utiliser php-fpm est plus simple.

Prefork ?

J'ai ceci d'installé (je n'ai pas modifié la config Apache2 ! ) :

Code:
i   apache2                                                                                                                         - Apache HTTP Server                                                                                                                       
p   apache2:i386                                                                                                                    - Apache HTTP Server                                                                                                                       
v   apache2-api-20120211                                                                                                            -                                                                                                                                          
v   apache2-api-20120211:i386                                                                                                       -                                                                                                                                          
i   apache2-bin                                                                                                                     - Apache HTTP Server (modules and other binary files)                                                                                      
p   apache2-bin:i386                                                                                                                - Apache HTTP Server (modules and other binary files)                                                                                      
i   apache2-data                                                                                                                    - Apache HTTP Server (common files)                                                                                                        
v   apache2-data:i386                                                                                                               -                                                                                                                                          
p   apache2-dbg                                                                                                                     - Apache debugging symbols                                                                                                                 
p   apache2-dbg:i386                                                                                                                - Apache debugging symbols                                                                                                                 
p   apache2-dev                                                                                                                     - Apache HTTP Server (development headers)                                                                                                 
p   apache2-dev:i386                                                                                                                - Apache HTTP Server (development headers)                                                                                                 
i   apache2-doc                                                                                                                     - Apache HTTP Server (on-site documentation)                                                                                               
p   apache2-mpm-event                                                                                                               - transitional event MPM package for apache2                                                                                               
p   apache2-mpm-event:i386                                                                                                          - transitional event MPM package for apache2                                                                                               
p   apache2-mpm-itk                                                                                                                 - transitional itk MPM package for apache2                                                                                                 
p   apache2-mpm-itk:i386                                                                                                            - transitional itk MPM package for apache2                                                                                                 
pB  apache2-mpm-prefork                                                                                                             - transitional prefork MPM package for apache2                                                                                             
p   apache2-mpm-prefork:i386                                                                                                        - transitional prefork MPM package for apache2                                                                                             
p   apache2-mpm-worker                                                                                                              - transitional worker MPM package for apache2                                                                                              
p   apache2-mpm-worker:i386                                                                                                         - transitional worker MPM package for apache2                                                                                              
v   apache2-prefork-dev                                                                                                             -                                                                                                                                          
v   apache2-prefork-dev:i386                                                                                                        -                                                                                                                                          
p   apache2-suexec                                                                                                                  - transitional package for apache2-suexec-pristine                                                                                         
p   apache2-suexec:i386                                                                                                             - transitional package for apache2-suexec-pristine                                                                                         
i   apache2-suexec-custom                                                                                                           - Apache HTTP Server configurable suexec program for mod_suexec                                                                            
p   apache2-suexec-custom:i386                                                                                                      - Apache HTTP Server configurable suexec program for mod_suexec                                                                            
p   apache2-suexec-pristine                                                                                                         - Apache HTTP Server standard suexec program for mod_suexec                                                                                
p   apache2-suexec-pristine:i386                                                                                                    - Apache HTTP Server standard suexec program for mod_suexec                                                                                
v   apache2-threaded-dev                                                                                                            -                                                                                                                                          
v   apache2-threaded-dev:i386                                                                                                       -                                                                                                                                          
i   apache2-utils                                                                                                                   - Apache HTTP Server (utility programs for web servers)                                                                                    
p   apache2-utils:i386                                                                                                              - Apache HTTP Server (utility programs for web servers)                                                                                    
p   apache2.2-bin                                                                                                                   - Transitional package for apache2-bin                                                                                                     
p   apache2.2-bin:i386   

...
Donc, rien modifié dans Apache2.

ça fonctionnait avant.

Ce n'est pas hyper critique pour le moment.

C'est un test.
Je n'ai évidemment pas upgradé un conteneur de PROD directement en PHP7 sans faire un test avant



Citation Envoyé par janus57

Perso j'utilise apache event + php7 sur du debian là, j'utilise pas de ubutnu non LTS pour des raison d'upgrade et de courte durée de support.

Cordialement, janus57
D'accord avec toi.

Habituellement je n'utilise que des LTS également.
Mais vu que PHP7 est très récent, j'ai préféré partir de la dernière version Ubuntu.

De plus, ça ne change pas grand chose dans ce cas :
  • je mettrai mes serveurs 14.04 LTS à jour en 16.04 LTS fin avril ou mai 2016...
  • je mettrai aussi à jour mon serveur 15.10 (PHP7 avec Drupal) à jour vers 16.04 LTS


Merci et bon après-midi.

Didier



janus57
13/12/2015, 16h23
Bonjour,

et dans mods-enabled y a bien le PHP7 ?

Apache est sous quel module (prefork/mpm/event) ?

mod_php (5 ou 7) ne foinctionne que avec apache prefork pour le reste (mpm/event) utiliser php-fpm est plus simple.

Perso j'utilise apache event + php7 sur du debian là, j'utilise pas de ubutnu non LTS pour des raison d'upgrade et de courte durée de support.

Cordialement, janus57

Didier Misson
13/12/2015, 15h43
Bonjour

J'ai un dédié en Proxmox, et un conteneur en Ubuntu 15.10.

J'upgrade PHP 5 --> PHP 7.

Je ne suis PAS les Howto qui sont presque tous dépassés car faits avant la sortie officielle de PHP 7
et qui se basent sur un dépôt PPA...
Donc, pas de PPA.

Je vois que PHP7.0 est maintenant dispo dans Ubuntu 15.10
Je l'installe donc simplement :

Code:
apt-get install php7.0
... et quelques autres trucs annexes (comme un module pour que PHP 7 communique avec MySQL)

ok, install sans problème
PHP 5 est désinstallé.


Mais ça ne fonctionne pas !

Si j'essaye un fichier info.php ...
Apache veut le refiler à Firefox qui me demande si je veux le télécharger !
...


ça doit être une connerie...

mais où ?

-----------

Code:
# aptitude search php7

i A libapache2-mod-php7.0                                                                                                           - server-side, HTML-embedded scripting language (Apache 2 module)                                                                         
p   libapache2-mod-php7.0:i386                                                                                                      - server-side, HTML-embedded scripting language (Apache 2 module)                                                                         
p   libphp7.0-embed                                                                                                                 - HTML-embedded scripting language (Embedded SAPI library)                                                                                
p   libphp7.0-embed:i386                                                                                                            - HTML-embedded scripting language (Embedded SAPI library)                                                                                
iB  php7.0                                                                                                                          - server-side, HTML-embedded scripting language (metapackage)                                                                             
i   php7.0-cgi                                                                                                                      - server-side, HTML-embedded scripting language (CGI binary)                                                                              
p   php7.0-cgi:i386                                                                                                                 - server-side, HTML-embedded scripting language (CGI binary)                                                                              
i A php7.0-cli                                                                                                                      - command-line interpreter for the PHP scripting language                                                                                 
p   php7.0-cli:i386                                                                                                                 - command-line interpreter for the PHP scripting language                                                                                 
i A php7.0-common                                                                                                                   - Common files for packages built from the PHP source                                                                                     
i   php7.0-curl                                                                                                                     - CURL module for PHP                                                                                                                     
p   php7.0-curl:i386                                                                                                                - CURL module for PHP                                                                                                                     
p   php7.0-dbg                                                                                                                      - Debug symbols for PHP7.0                                                                                                                
p   php7.0-dbg:i386                                                                                                                 - Debug symbols for PHP7.0                                                                                                                
p   php7.0-dev                                                                                                                      - Files for PHP7.0 module development                                                                                                     
p   php7.0-dev:i386                                                                                                                 - Files for PHP7.0 module development                                                                                                     
i   php7.0-fpm                                                                                                                      - server-side, HTML-embedded scripting language (FPM-CGI binary)                                                                          
p   php7.0-fpm:i386                                                                                                                 - server-side, HTML-embedded scripting language (FPM-CGI binary)                                                                          
p   php7.0-gd                                                                                                                       - GD module for PHP                                                                                                                       
p   php7.0-gd:i386                                                                                                                  - GD module for PHP                                                                                                                       
p   php7.0-imap                                                                                                                     - IMAP module for PHP                                                                                                                     
p   php7.0-imap:i386                                                                                                                - IMAP module for PHP                                                                                                                     
p   php7.0-intl                                                                                                                     - Internationalisation module for PHP                                                                                                     
p   php7.0-intl:i386                                                                                                                - Internationalisation module for PHP                                                                                                     
i   php7.0-json                                                                                                                     - JSON module for PHP                                                                                                                     
p   php7.0-json:i386                                                                                                                - JSON module for PHP                                                                                                                     
p   php7.0-ldap                                                                                                                     - LDAP module for PHP                                                                                                                     
p   php7.0-ldap:i386                                                                                                                - LDAP module for PHP                                                                                                                     
p   php7.0-mcrypt                                                                                                                   - libmcrypt module for PHP                                                                                                                
p   php7.0-mcrypt:i386                                                                                                              - libmcrypt module for PHP                                                                                                                
p   php7.0-modules-source                                                                                                           - PHP 7.0 modules source package                                                                                                          
i   php7.0-mysql                                                                                                                    - MySQL module for PHP                                                                                                                    
p   php7.0-mysql:i386                                                                                                               - MySQL module for PHP                                                                                                                    
p   php7.0-odbc                                                                                                                     - ODBC module for PHP                                                                                                                     
p   php7.0-odbc:i386                                                                                                                - ODBC module for PHP                                                                                                                     
i A php7.0-opcache                                                                                                                  - Zend OpCache module for PHP                                                                                                             
p   php7.0-opcache:i386                                                                                                             - Zend OpCache module for PHP                                                                                                             
p   php7.0-pgsql                                                                                                                    - PostgreSQL module for PHP                                                                                                               
p   php7.0-pgsql:i386                                                                                                               - PostgreSQL module for PHP                                                                                                               
p   php7.0-phpdbg                                                                                                                   - server-side, HTML-embedded scripting language (PHPDBG binary)                                                                           
p   php7.0-phpdbg:i386                                                                                                              - server-side, HTML-embedded scripting language (PHPDBG binary)                                                                           
p   php7.0-pspell                                                                                                                   - pspell module for PHP                                                                                                                   
p   php7.0-pspell:i386                                                                                                              - pspell module for PHP                                                                                                                   
p   php7.0-readline                                                                                                                 - readline module for PHP                                                                                                                 
p   php7.0-readline:i386                                                                                                            - readline module for PHP                                                                                                                 
p   php7.0-recode                                                                                                                   - recode module for PHP                                                                                                                   
p   php7.0-recode:i386                                                                                                              - recode module for PHP                                                                                                                   
p   php7.0-snmp                                                                                                                     - SNMP module for PHP                                                                                                                     
p   php7.0-snmp:i386                                                                                                                - SNMP module for PHP                                                                                                                     
p   php7.0-sqlite3                                                                                                                  - SQLite3 module for PHP                                                                                                                  
p   php7.0-sqlite3:i386                                                                                                             - SQLite3 module for PHP                                                                                                                  
p   php7.0-sybase                                                                                                                   - Sybase module for PHP                                                                                                                   
p   php7.0-sybase:i386                                                                                                              - Sybase module for PHP                                                                                                                   
p   php7.0-tidy                                                                                                                     - tidy module for PHP                                                                                                                     
p   php7.0-tidy:i386                                                                                                                - tidy module for PHP
-------------------

certains tutos parlent de désactiver PHP 5, etc

mais non...
ça c'est fait tout seul !

idem pour le lien vers le module PHP 7 :

Code:
:/etc/apache2/mods-enabled# ls -lh *php*

lrwxrwxrwx 1 root root 29 Dec 13 03:29 php7.0.conf -> ../mods-available/php7.0.conf
lrwxrwxrwx 1 root root 29 Dec 13 03:29 php7.0.load -> ../mods-available/php7.0.load

De mémoire, mais il y a longtemps, ça doit être lié à MIME ou à de la config du genre

AddType ...

mais je ne retrouve pas où, en Ubuntu 15.10, je peux vérifier cela.

Merci et bon dimanche.


Didier