Installation en safe mode on

Bonjour à tous,

L’install de Dolibarr est elle possible sur un serveur web en safe mode on.
Je souhaite l’installer sur mon serveur dédié mais il tourne en safe mode on, et je ne veux pas le mettre à off pour maintenir un niveau de sécurité maxi.

Y a til des modif à faire pour le faire fonctionner dans ce cas ? Exemple lors de la cre&tion de répertoires par php qui sera refusé ?

Merci d’avanace pour vos réponse

Oui la version 2.4 ou + fonctionne en safe mode on.

Merci pour ta réponse ! En effet l’install à fonctionner mais la gestion des docs non !

Il m’a suffit de créer une facture pour le vérifier car dès cet endroit j’ai :
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 1033 is not allowed to access /usr/…/documents/facture/(PROV2) owned by uid 65517

Y a t il un patch pour le safe mode ou une astuce ? Je suis déçu car le produit semble convenir à mes besoins et éventuellement à ceux de mes clients !

Merci d’avance pour votre aide

La gestion du safe mode fonctionne. Je l’utilise.

Par contre tu as mal configuré ton répertoire d’install du rep doccuments.
Il faut prendre un rep qui fait partie des repertoires autorisé par le safe mode.
Peuxtu dire qui est 1033 et qui est 65517.
Et quel est l’id du user du serveur web ?

Sauf erreur : 1033 c’est PHP

C’est une restriction du safe-mode php. Le serveur ne peut pas écrire dans un répertoire qu’il a créé.

Si le nombre de répertoires est peu important, il faut les créer à la main en ftp, sinon il faut modifier le code de l’application pour qu’elle utilise ftp_mkdir au lieu de mkdir. Où est le code contenant la fonction de création des répertoires, il suffit de la retoucher. Veux bien m’y coller !

Si PHP a créé un répertoire, il ne peut écrire dedans ! Il y aurait des répertoires autorisés ? Alors je ne connais pas si tu as un indice ?

Merci

Normallement si PHP crée un répertoire, ce répertoire doit avoir les droits de PHP. Donc PHP doit avoir les droits pour ecrire dedans.
Ta situation est donc étrange. A mon avis, ceci ne doit pas avoir de liens avec le safe_mode mais avec les options mask de creation de repertoire.

La fonction qui cree les repertoires est create_exdir dans functions.lib.php

Merci Eldy

Curieusement j’ai :
bash-2.05b# ls -lda /home/v1028/gestion/documents/*
drwxr-xr-x 2 v1028 v1028 512 Oct 18 16:07 /home/v1028/gestion/documents/facture
drwxr-xr-x 2 nobody v1028 512 Oct 18 14:51 /home/v1028/gestion/documents/ficheinter
drwxr-xr-x 2 nobody v1028 512 Oct 18 14:51 /home/v1028/gestion/documents/logo
etc…

Lors de l’install les répertoires créés appartiennent à nobody. Je vais modifier la fonction de création des répertoires pour utiliser les commandes ftp. Ce sera aussi plus simple à sauvegarder par ftp.

@+

Essai juste d’ajouter un chmod après la création du répertoire afin que le répertoire est les droits en écriture pour le groupe. Cela peut suffir pour résoudre le pb car apparemment dans les 3 cas, le groupes est bon.

Bonsoir @ tous

Toujours le même soucis ! Dernier résultat à la création d’une facture :

Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 1033 is not allowed to access /usr/home/v1028/gestion/documents/facture/(PROV4) owned by uid 65517 in /usr/home/v1028/gestion/includes/fpdf/fpdf/fpdf.php on line 1287

Pourtant j’ai modifié le script pour qu’il crait des rep via ftp et chmod 777 dessus mais veut rien savoir !

Si vous avez des idées suis preneur …

Je pense que le pb n’est pas dans le safe mode mais dans la gestion des droits du serveur apache.
il n’est pas normal que l’appli ait pu créer un fichier et qu’ensuite elle n’est pas le droit de le lire. Ceci n’as pas de rapport avec le safe mode. Le message dit que cela bloque a cause du safe mode mais en fait le safe_mode bloque a cause d’un pb de propriétaire de compte.
Quelle est le uid du compte apache 1033 ou 65517 ?
Tous les fichiers et rep doivent appartenir a ce compte.
Aurais-tu fait des transfert par FTP ? Si oui il faut modifier les propriétaires pour que ce soit apache le proprio.

Bonjour,

j’ai installé Dollibar 2.5 sur un serveur dédié et j’ai eu 2 problèmes :

1/ pour créer le répertoire « documents », il a fallu ouvrir en ftp les droits d’écriture public sur le répertoire parent. je l’ai refermé ensuite

2/ quand je configure la fiche « société » , le système ne downloade pas le logo avec le message suivant :

Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 10002 is not allowed to access /var/www/web1/web/crm/documents/societe owned by uid 33 in /var/www/web1/web/crm/htdocs/lib/functions.lib.php on line 1751

Warning: Cannot modify header information - headers already sent by (output started at /var/www/web1/web/crm/htdocs/lib/functions.lib.php:1751) in /var/www/web1/web/crm/htdocs/main.inc.php on line 631.

Je l’avais installé sur un hébergement partagé sans le 1er problème (je ne me souviens plus pour le second).

Que pensez-vous que ce soit à régler ?
merci d’avance.

Le serveur doit pouvoir ecrire dans le rep qu’il crée, sinon a quoi cela sert de le creer.
La fonction mkdir est donc la bonne.
Les rep doivent donc avoir comme proprio le user 1033 et non 65517.
Ceux qui sont en 65517 ont peut etre été créé a tort par ftp. Il faut dans ce cas les supprimer.

Je n’ai pas de user ID 1033.
J’ai essayé de créer par la console avec mkdir, cela crée un répertoire avec les user "root " et group « root » (normal) : cela ne me semble pas très « industriel » ni propre à installer. mais après je ne sais pas reprendre une install partielle à ce moment.
De plus j’ai fait un Chown -R sur documents avec plusieurs ID sans succès sur le chargement du logo (même type d’erreur).
Cela sera-t-il corrigé en V2.6 car je ne sais pas installer ceci sur un serveur dédié ?