Directory public_html con uno script bash
venerdì, novembre 7 2008 - 36 Visualizzazioni
Mi è capitato spesso di dover mettere mano a server UNIX/Linux con una gestione dei VirtualHost di Apache compromessa da anni di utilizzo incontrollato del server da parte di amministratori
In particolare, in un caso recente mi sono ritrovato un centinaio di utenti dei quali una certa parte aveva la DocumentRoot nella propria home directory, altri invece ce l’avevano sotto /var/www/users/, cosa che io raccomando in quanto evita di avere problemi con SUEXEC nelle versioni di Apache precompilate.
Per sistemare una situazione così caotica ho deciso di mettere tutto correttamente sotto /var/www/users/ e mi si è presentata la necessità di creare automaticamente le directory mancanti e i relativi link simbolici alle varie home directory. L’ho fatto con un semplicissimo script in bash, che pubblico qui nel caso possa essere utile anche a qualcun altro. Ci ho messo anche un po’ di output per rendere il codice chiaro anche a chi è alle prima armi con la bash.
Attenzione! Alla riga 18 viene fatta la copia di un fast-cgi presente nella directory /var/www/users/ivan/. Ovvio che dovete sostituire ivan con il nome di un utente presente sul vostro server.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #!/bin/bash echo "Inizializzazione script..." for i in $( ls /home/ ); do echo " Sto processando '$i'" if [ -L /home/$i/public_html ]; then echo " Il link simbolico /home/$i/public_html esiste gia' ... salto!" else echo " Il link simbolico /home/$i/public_html non esiste: provo a crearlo ... " if [ -d /var/www/users/$i ]; then echo "La directory /var/www/users/$i esiste, non mi resta che linkarla ... " /bin/ln -s /var/www/users/$i /home/$i/public_html else echo " La directory /var/www/users/$i NON esiste, ora la creo ... " /bin/mkdir /var/www/users/$i echo " Copio il FAST-CGI ... " /bin/cp /var/www/users/ivan/fast-cgi /var/www/users/$i/ echo " Sistemo i permessi per la directory creata ... " /bin/chown -R $i:$i /var/www/users/$i /bin/chmod 700 /var/www/users/$i echo " Creo il link simbolico ... " /bin/ln -s /var/www/users/$i /home/$i/public_html fi fi done Condividi:
Taggato come Open source, Tips & Tricks, apache, shell, sistemaScritto da Ivan Agliardi
Altri Articoli Interessanti
Gli ultimi dal Social
gusions
pensa al futuro dell'opensource
@Replica
gabrielbutoeru
Gabriel recupera la password e capisce qualche cosa in più su Chrome OS
@Replica
mcastel
qualche riflessione sul sistema operativo di #Google http://tinyurl.com/laquuc (Qaiku)
@Replica
andreaolivato
Gnome-do 0.8.2 con le Docklets su Gentoo : VIDEO http://bit.ly/UcC8g
@Replica
andreaolivato
Stallman: il software libero non deve dipendere da #Mono http://punto-informatico.it/2657922/PI/News/stallman-liberatevi-mono.aspx
@Replica
Sito webCompletamente Funzionante
GalleryCompletamente Funzionante
Social NetworkCompletamente Funzionante
Server JabberProblemi liste contatti
Servizio MailCompletamente Funzionante
Servizio di RicercaCompletamente Funzionante















