GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Ubuntu - Comment configurer les autorisations pour autoriser Gedit, Apache et un Ide à jouer ensemble ?

J'utilise Ubuntu Desktop 11.04 et j'ai installé ma pile de lampes à l'aide de lamp-server. J'essaie d'utiliser Netbeans comme IDE.

Actuellement, tous les hôtes virtuels sont exécutés à partir de /var/www/vhostname - mais comme je n'ai configuré aucun groupe ni autorisation, si j'essaie d'ouvrir l'un des fichiers via Netbeans, il n'a pas l'autorisation d'écriture.

Comment puis-je configurer correctement les autorisations (ou configurer Apache ou Netbeans) pour que :

  • Les fichiers créés par un script php peuvent être rw par Netbeans
  • Les fichiers créés par Netbeans peuvent être rw par Apache

J'ai essayé de chown tout à mon utilisateur/groupe qui a donné l'autorisation d'écriture à Netbeans, mais Apache n'avait pas l'autorisation d'écriture.

Remarque :Il s'agit uniquement d'une machine de développement - non utilisée en production, et je suis le seul utilisateur de cette machine.

MISE À JOUR

J'avais l'habitude d'utiliser la méthode dans la réponse que j'ai marquée comme acceptée, mais aujourd'hui je fais quelque chose de beaucoup plus simple :

  1. J'ai configuré Apache pour qu'il s'exécute en tant que mon utilisateur et mon groupe (cela se fait soit dans httpd.conf, apache2.conf ou envvars selon votre distribution)
  2. Je chown /var/www à mon utilisateur et mon groupe

Voilà, Apache a un accès en lecture/écriture, et j'ai un accès en lecture/écriture lorsque je travaille sur des projets.

Réponse acceptée :

Ce que je recommande de faire a été principalement décrit dans cette question Ask Ubuntu.

Pour ce cas particulier, j'installerais suPHP qui, en bref, vous permet d'exécuter des scripts PHP en tant qu'utilisateur sous Apache.

En procédant comme suit :

sudo chown -R youruser:youruser /var/www
find /var/www/ -type d -exec chmod 0755 {} \;
find /var/www/ -type f -exec chmod 0644 {} \;

Installez suphp-common et libapache2-mod-suphp de ce ppa (Que sont les PPA et comment les utiliser ?)

Désactiver mod_php5 et activez mod_suphp

sudo a2enmod suphp
sudo a2dismod php5

Mettez à jour vos hôtes virtuels pour inclure cette ligne en bas :

suPHP_UserGroup youruser youruser

Remplacement de youruser avec l'utilisateur que vous utilisez pour modifier les fichiers sur le serveur. Redémarrez Apache.

À partir de ce moment, Apache exécutera tous les scripts php qui sont votre utilisateur, ce qui signifie qu'ils peuvent appartenir à votre utilisateur/groupe et qu'il n'est pas nécessaire d'utiliser des autorisations folles comme 777. Puisque tout est exécuté en tant que votre utilisateur, tous les fichiers créés par le php les scripts appartiendront également à votre utilisateur ! Il existe de nombreuses autres choses intéressantes que vous pouvez faire avec suPHP; cependant, d'après ce qu'il semble, c'est tout ce dont vous aurez besoin pour commencer.

Connexe :Ubuntu – Problème de téléchargement de la liste des packages en raison d'une erreur « Hash sum mismatch » ?
Ubuntu
  1. Comment installer Apache ZooKeeper sur Ubuntu

  2. Comment installer et configurer Nextcloud avec Apache sur Ubuntu 18.04

  3. Comment installer et sécuriser phpMyAdmin avec Apache sur Ubuntu 18.04

  4. Comment installer et configurer Squid 3 sur Ubuntu

  5. Comment installer et configurer le serveur Web Apache sur Ubuntu 13.10

Comment installer et configurer Apache Tomcat 9 sur Ubuntu 20.04 LTS

Comment installer et configurer Apache Hadoop sur Ubuntu 20.04

Comment installer et configurer le module mod_pagespeed avec Apache sur Ubuntu 20.04 LTS

Comment installer et configurer Apache Kafka sur Ubuntu 20.04

Comment installer et configurer Apache Spark sur Ubuntu 20.04

Comment installer et configurer le serveur Web Apache sur Ubuntu