Quel est le moyen le plus simple d'éditer et d'ajouter des fichiers à / var / www?

138

L'installation du serveur Web est-elle un moyen simple de configurer un utilisateur capable d'utiliser l'interface graphique pour copier des fichiers et des répertoires sur le serveur Web local / var / www

Je me suis donné des privilèges d’administrateur dans Ubuntu mais cela ne permet toujours pas les copies.

    
posée k_graham 03.01.2011 - 20:49
la source

7 réponses

206

Si vous inscrivez / var / www en écriture par son groupe et ajoutez l'utilisateur au groupe, cet utilisateur n'aura pas à utiliser sudo. Essayez ceci:

sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rwX /var/www

L'utilisateur doit alors pouvoir éditer / var / www / files sans tracas.

La première ligne ajoute l’utilisateur au groupe www-data, la deuxième ligne efface tous les fichiers avec une propriété corrompue, et la troisième fait en sorte que tous les utilisateurs membres du groupe www-data puissent lire et écrire. tous les fichiers dans / var / www.

Si vous êtes connecté en tant que <username> , vous devez vous déconnecter et vous reconnecter pour que l’appartenance au groupe prenne effet.

    
réponse donnée Azendale 01.07.2011 - 03:14
la source
25

Vous pouvez chown , c'est-à-dire ch ange le own er de ce dossier. Cela vous permettra de modifier l'utilisateur et le groupe du dossier, ce qui permettra à votre utilisateur d'ajouter / de supprimer des fichiers. Pour ce faire, remplacez yourusername par votre nom et lancez:

sudo chown yourusername.users /var/www

Et c'est tout.

Cependant, je préférerais créer un virtualhost dans mon dossier personnel, c'est beaucoup plus facile.

En gros, cela vous permet d'utiliser n'importe quel dossier comme dossier de service Apache. Pour montrer à quel point c'est simple, supposons que votre nom d'utilisateur est nom d'utilisateur et que le dossier que vous souhaitez servir soit / home / nom d'utilisateur / www

.

Créez le fichier suivant (par exemple mywebprojects ) dans / etc / apache2 / sistes-available en remplaçant le nom d'utilisateur et le chemin du dossier (il suffit de copier-coller et de remplacer dans #CHANGE HERE):

<VirtualHost *:80>
    ServerAdmin [email protected]

    # CHANGE HERE
    DocumentRoot /home/username/www

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    # CHANGE HERE
    <Directory /home/username/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
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/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>

Créons maintenant le dossier www , ajoutons un simple hello world, désactivez le site Web par défaut ( /var/www ), activez notre site Web mywebprojects et redémarrez apache.

mkdir ~/www 
echo "<html><h1>Hello World</h1></html>" > ~/www/test.html
sudo a2dissite default #
sudo a2ensite mywebprojects
sudo service apache2 restart

Et ça, maintenant vous n'avez plus besoin d'aller à /var/www , vous ajoutez simplement des fichiers à votre www (ou à un autre prénom) et c'est déjà là:).

    
réponse donnée Marcos Roriz Junior 05.01.2011 - 12:02
la source
9

Méthode 1:

  • Appuyez sur ALT + F2 et entrez gksudo nautilus, puis cliquez sur Exécuter.

  • Cela ouvrira Nautilus avec les pré-privilèges root.
  • Allez à var www et vous pouvez maintenant ajouter / copier / coller vos fichiers.

Méthode 2:

  • Installez nautilus-gksu
  • Après avoir installé le type nautilus -q dans votre terminal pour actualiser les menus contextuels.
  • Vous trouverez maintenant l'entrée "Ouvrir en tant qu'administrateur" dans votre menu contextuel nautilus.
  • Lorsque vous devez ouvrir des fichiers avec l’autorisation root, il vous suffit de cliquer avec le bouton droit sur ce fichier / dossier et de sélectionner "Ouvrir en tant qu’administrateur".
  • Il ouvrira ce fichier / dossier avec l’autorisation root.

réponse donnée karthick87 03.01.2011 - 20:55
la source
6

Cela pourrait être aussi simple que sudo usermod -a -G developers $username en utilisant ACL.

Cela prend un peu de travail, cependant, pour commencer. Ceci est pour Ubuntu 10.10 au moins. Montez d'abord les systèmes de fichiers avec l'option acl de / etc / fstab.

sudo vim /etc/fstab

UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 par défaut, acl 0 1

sudo mount -o remount,acl /

Créez ensuite un groupe auquel un utilisateur peut appartenir à cette fin.

sudo groupadd developers
sudo usermod -a -G developers $username

L'utilisateur doit se déconnecter et se reconnecter pour devenir membre du groupe de développeurs.

Bien sûr, ne le faites pas si vous avez du contenu dans le répertoire / var / www que vous voulez, mais juste pour illustrer la mise en place pour commencer:

sudo rm -rf /var/www
sudo mkdir -p /var/www/public
sudo chown -R root:developers /var/www/public
sudo chmod 0775 /var/www/public
sudo chmod g+s /var/www/public
sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public

Remplacez ensuite les références à "/ var / www" par "/ var / www / public" dans un fichier de configuration et rechargez.

sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload

Si nous voulions restreindre la suppression et le renommage de tous sauf l’utilisateur qui a créé le fichier:

sudo chmod +t /var/www/public

De cette façon, si nous voulons créer des répertoires pour les frameworks qui existent en dehors du Apache document root ou peut-être créer des répertoires inscriptibles sur le serveur, il est toujours facile.

Répertoire de journaux en écriture Apache:

sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs

Répertoire de bibliothèque lisible par Apache:

sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/logs
sudo chmod 0750 /var/www/logs
    
réponse donnée user8290 05.01.2011 - 03:41
la source
0

Le moyen le plus simple est de suivre les étapes ci-dessous: -

  1. Appuyez sur Alt + Ctrl + T et le terminal s’ouvriront et tapez sudo -s et connectez-vous avec votre mot de passe.
  2. Vous êtes maintenant connecté en tant que root .
  3. Maintenant, tapez nautilus et cela ouvrira le dossier de base pour vous en tant que root. Alors maintenant, vous pouvez facilement éditer les fichiers et faire ce que vous voulez.

J'espère que ça aide. :)

    
réponse donnée Mitayshh 08.04.2013 - 15:49
la source
0

/var/www folder appartient à la racine .. vous devez changer le propriétaire de votre nom d'utilisateur pour modifier les fichiers de ce dossier. Pour cela, vous pouvez essayer les commandes suivantes.

sudo -i // pour passer à la console racine

sudo chown -R <username> <path> // for eg. sudo chown -R scott /var/www/html (scott is the username, -R indicates recrusive)

La propriété du dossier /var/www/html will est désormais attribuée à l'utilisateur scott . Maintenant, scott peut copier / déplacer des fichiers dans ce dossier.

    
réponse donnée Anoop 16.12.2015 - 06:31
la source
-1

Si vous utilisez la version du serveur, essayez webmin. Il a une excellente interface Web et un gestionnaire de fichiers. Soit ça ou Filezilla

    
réponse donnée John Hallquist 24.08.2012 - 02:38
la source

Lire d'autres questions sur les étiquettes