Probleme avec proftpdmysql et apache2

Bonjour

J’essais d’automatiser la creation d’hebergement sur mes serveurs, mais je rencontre quelques difficultées.

J’ai installé proftpd et proftpd mysql et apache2.

J’ai cree un utilisateur dans ma base de données proftpdmysql. Proftpdmysql a bien créé le repertoire a la racine du /home et ca marche pour la connexion ftp.

J’ai un uid 5500 et un gid 5500

Pour configurer proftpd proftpd mysql j’ai suivi ce tuto : https://doc.ubuntu-fr.org/proftpd_et_mysql

Pour configurer le vhost apache j’ai suivi ce tuto : https://doc.ubuntu-fr.org/tutoriel/virtualhosts_avec_apache2

Mais voila j’ai une erreur ! Celle ci :

)Permission denied: [client xx.xx.xx.xx:30736] AH00035: access to /index.html denied (filesystem path ‘/home/§user/www’) because search permissions are missing on a component of the path

Je pense qu’il y a un probleme entre le uid et le gid proftpdmysql et les droits de l’utilisateur du home.

Comment pourrais-je proceder pour pouvoir afficher mes pages sur le web, car pour le moment elles affichent ceci :

Forbidden

You don’t have permission to access / on this server.

Merci à vous

Bonjour,

Quels sont les droits actuellement sur ces fichiers?

Avez-vous pensé a donner les bons droits à apache pour les pages a afficher?

Merci pour votre reponse

IL faut que je donne quels droits a apache ?

L’uid et le guid change à chzaque nouveau compte ftp c’est pour celà que je n’ai pas oser changer les droits d’apache.

Pour qu’Apache affiche et gère le dossier www des utilisateurs, il doit avoir les droits dessus comme pour le dossier /var/www dont il est “normalement” propriétaire…
Dans ce cas précis par contre, donner les droits manuellement à chaque utilisateur risque d’être fastidieux et pas adapté…
je te conseille donc d’utiliser le module userdir d’apache, il te permettra de faire exactement ce que tu recherche et s’intègrera parfaitement dans ton automatisation.

ce billet pourrait t’aider http://desirelabs.fr/mettre-son-dossier-www-dans-home-pour-chaque-utilisateur-linux/

Je viens de tenter d’ajouter mon user 5500 au groupe www-data mais il me dit que l’user 5500 existe pas

En effet c’est un user virtuel creer dans la bdd de proftpdadmin.

Quel droits je doit appliquer pour que ma page web s’affiche?

Si je change les droits du repertoire qu’a cree proftpdadmin je ne peux plus editer / Modifier / Envoyer mes fichiers par ftp.

Estc-e qu’il faut que j’ajoute 'user du groupe proftpd ?

Merci Headstorm

Je vais chercher de ce coté là

Cordialement

il faut plutôt réfléchir dans l’autre sens, essaie d’ajouter www-data à ton groupe proftp, ça laissera les droits intact pour tes utilisateurs virtuels de proftp, ça étendra les droits à l’utilisateur www-data, qui pourra ainsi gérer l’affichage des pages.

Jai suivi ton tuto Headstorm mais rien y fait

de plus le tuto se base sur des user unix dans home et non pas sur des user virtuel pas declarés dans group ou passwd.

J’ia ajouter www-data au group nogroup qui est le group de proftpd et rien y fait non plus.

Biensur j’ai pensé a donner les bons droits à mes fichiers, mais je peux pas faire celà a la main a chaque nouveau user virtuel.

De plus, quand je change les droits de mes fichiers, je ne peux plus modifier/uploader/suprimer les fichier avec mon client ftp.

il y a bien un moyen de faire ça mais comment ?

voici l’adresse de la page : http://wplabs.hit-fr.net/

Oui tout est possible (enfin presque…) :slight_smile:

En cherchant un peu, je suis tombé sur ça:
http://www.xenetis.org/a_29_installer_le_serveur_ftp_proftpd_et_stocker_les_utilisateurs_dans_une_base_de_donnees_mysql_sous_linux_debian_lenny.html
Ça répondra mieux a ta problématique, je pense.

Merci pour l’interet que vous portez a mon probleme.

Mais mon ftp fonctionne bien donc le tuto me sert a rien. Mon probleme est que je veux qu’apache fonctionne avec le repertoire ftp.

Le proftpdmysql cree un utilisateur virtuel ayant comme UID 5500 et comme GUID 5500. Cet utilisateur n’existe pas, c’est pour celà que je dis qu’il est virtuel.

Quanb je change les droits de mon repertoire virtuel /home/site1/www mon ftp ne marche plus et les pages du site non plus. Le probleme est que quand mon ftp a les bons droits (5500:5500) il fonctionne mais pas les pages http.

Y aurait-il un probleme avec mon vhost ?

Le voici :

>  <VirtualHost *:80>
>	ServerAdmin mon email@monserver.com
>	ServerName www.mondomaine.com
>	ServerAlias www.mondomaine.com
>	DocumentRoot /home/monsite/www
> <Directory />
>Options FollowSymLinks
>	AllowOverride None
>	</Directory>
>	<Directory /home/monsite/www>
>Options Indexes FollowSymLinks MultiViews
>AllowOverride None
>Order allow,deny
>	allow from all		
> 	</Directory>

>	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
>	<Directory "/usr/lib/cgi-bin">
   AllowOverride None
  Options +ExecCGI -MultiViews     

+SymLinksIfOwnerMatch
Order allow,deny
Allow from all

> 	ErrorLog /home/monsite/log/error.log
# Possible values include: debug, info, notice, warn, error, crit,

alert, emerg.

LogLevel warn

> 	CustomLog /home/monsite/log/access.log combined

>     Alias /doc/ "/usr/share/doc/"
 >     <Directory "/usr/share/doc/">
 >         Options Indexes MultiViews FollowSymLinks
>    AllowOverride None
 >         Order deny,allow
 >         Deny from all
 >         Allow from 127.0.0.0/255.0.0.0 ::1/128
 >     </Directory>

 >    </VirtualHost>

Merci a vous

Le probleme ne vient pas du vhost, le problème vient du fait qu’apache doit avoir accès aux fichiers pour pouvoir les traiter, donc une solution pourrait être:

Solution N°1:

se rendre dans le fichier de conf proftpd et modifier les lignes suivantes:

SQLMinUserUID : 999 (ou XXX)
SQLMinUserGID : 999 (ou XXX)

par

SQLMinUserUID : 30
SQLMinUserGID : 30

Ensuite, attribuer le GID 33 (groupe de l’utilisateur www-data obtenu avec la commande id www-data) à ftgroup (dans la table a la place de GID 5500)
les droits sur les fichiers seront donc 5500:33, ce qui devrait fonctionner

Solution N°2

même modification dans la conf proftpd.

Créer un utilisateur virtuel avec UID 33 et GID 33
le rattacher groupe ftgroup (UID 5500)

je pense que ça devrait fonctionner aussi

Solution 3

Creer utilisateur Unix avec UID 5500 et GID 5500
Ajouter UID 33 au GID 5500 (unix)

Le but étant de faire correspondre apache avec les utilisateurs virtuels.

A tester.

J’ai suivi ta premiere instruction mais j’ai toujour mon errreur http. Le ftp fonctionne correctement lui.
J’ai aussi essayé de changer les droit de /etc/apache2/envvars et quand je cha,ge le uid apache ne veut pas redemarrer.

J’ai aussi mis comme uid 33 t GID 5500 à un user unix mais la aussi rien y fait !

TU voudrais pas regarder si jte file les acces root du serveur ?

Si tu me laisse l’accès, je veux bien regarder

Je vous ai envoyé un message privé

Merci à vous

Cordialement