Come posso configurare una macchina sviluppatore senza problemi dopo aver installato Apache in Ubuntu?


1

Ho appena installato un server LAMP in un nuovo sistema Ubuntu.

Il problema principale che ho è che il webroot è su "/ var / www" e il mio nome utente predefinito non ha accesso per scrivere lì. Potrei essere sudosempre, ma è un bel dolore. Ho provato a giocare con permessi e collegamenti simbolici, ma non riesco mai a superare il problema.

Come posso configurare una nuova macchina per sviluppatori in modo da poter iniziare rapidamente e in modo efficiente a sviluppare subito?


Ti preghiamo di riformulare la tua domanda. Ora sembra che tu stia chiedendo un'opinione e potrebbe essere messa in attesa. Tuttavia, è possibile riscriverlo per chiedere come risolvere un problema specifico (problemi di autorizzazione).
gronostaj,

1
@gronostaj Per me sembra che questo sia il nocciolo della domanda, "il migliore" viene definito chiaramente qui, quindi questa domanda va bene.
slhck,

Ho modificato la tua domanda in modo che corrisponda meglio a ciò che stiamo cercando qui in Super User. Sentiti libero di cambiare o anche di tornare indietro se non sei d'accordo. In definitiva, ritengo che questa sia una domanda valida e valida (cc @slhck)
James Mertz,

Risposte:


2

Cambia / var / www

Ti consiglierei di modificare /etc/apache2/sites-enabled/000-defaulte cambiare e DocumentRoote Directorypuntare a qualcosa sulla falsariga di

DocumentRoot /home/USERNAME/web/

e

<directory /home/USERNAME/web>

invece di quelli con / var / www in essi

Userdirs

In alternativa, puoi abilitare Userdirs semplicemente

sudo mv /etc/apache2/mods-available/userdir.* /etc/apache2/mods-enabled/

Quindi puoi accedere alla tua /home/USERNAME/public_htmldirectory dahttp://127.0.0.1/~USERNAME

Nota: entrambi questi metodi richiedono il riavvio di apache, è possibile farlo con

/etc/init.d/apache2 restart

spero che questo possa essere d'aiuto


2
Buoni suggerimenti. Per semplicità, il userdirmodulo può essere abilitato con sudo a2enmod userdir.
slhck,

2

È possibile creare un gruppo di utenti con autorizzazioni di scrittura per la /var/wwwdirectory. Ad esempio www-users:

sudo addgroup www-users

Quindi, aggiungiti a quel gruppo:

sudo adduser $(whoami) www-users

Infine, assegna la proprietà al gruppo e imposta le autorizzazioni scrivibili per il gruppo:

sudo chgrp www-users /var/www
sudo chmod –R 775 /var/www
sudo chmod g+s /var/www

Ora, sarai in grado di creare e modificare i file /var/wwwpurché appartengano anche al tuo gruppo. Se hai bisogno di Apache per avere accesso in scrittura, puoi adduser www-data www-usersconcedergli anche le autorizzazioni di scrittura.


C'è un modo in cui questo potrebbe essere scritto come uno script, che viene eseguito dopo una nuova installazione del sistema? Perché penso che questo sia in definitiva l'obiettivo dell'OP.
James Mertz,

0

Questo è un problema comune e la migliore soluzione che ho trovato è vagabonda.

http://www.vagrantup.com

Fondamentalmente Vagrant è un software che si integra con la scatola virtuale e consente di far girare rapidamente una VM. È quindi molto facile mappare la directory / var / www sulla home del progetto. Eventuali modifiche apportate a quella directory, vengono immediatamente visualizzate dal vivo sul server Web.

Vantaggi vantaggiosi:

  • Standardizzare gli ambienti per tutti gli sviluppatori attraverso le immagini box.
  • Collegamento simbolico automatico di cartelle
  • Installazione / smontaggio rapido
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.