Re: [shell]supprimer un bloc de texte
dexinou a écrit : Bonjour à la liste, J’essai en vain de supprimer un bloc dans le virtualhost apache : #!/bin/sh echo Quel VirtualHost voulez-vous supprimer ? : read USER cat /root/vhost.conf | grep $USER sed -i '/VirtualHost/{:a; N; /\/VirtualHost/!ba; /'$USER'\.domaine.com/d }' /root/vhost.conf exit 0 voici le vhost.conf VirtualHost *:80 ServerName toto.domain.com ServerAdmin [EMAIL PROTECTED] DocumentRoot /var/www/vhosts/toto/ /VirtualHost VirtualHost *:80 ServerName tata.domain.com ServerAdmin [EMAIL PROTECTED] DocumentRoot /var/www/vhosts/tata/ /VirtualHost Comment supprimer le vhost du servername toto.domain.com avec sed? Donc supprimer le bloc à partir de VirtualHost * :80 jusqu’à /VirtualHost du ServerName toto.domain.com Merci pour l’aide car ça fait 1 semaine que je cherche en vain Hello, En fait, ce que tu cherches à faire existe déjà :-) VOila comment je fais sur mon serveur etch: Dans /etc/apache2/sites-available, tu mets 1 fichier par VH. # cat /etc/apache2/sites-available/xxx.fr VirtualHost *:80 ServerName xxx.fr DocumentRoot /var/www/xxx.fr/ ErrorLog /var/log/apache2/error.log CustomLog | /usr/bin/logger -p local7.info -t apache_access_log vhost_common Directory / Options FollowSymLinks AllowOverride None Order allow,deny Allow from all /Directory /VirtualHost Ensuite, tu l'actives en faisant: a2ensite xxx.fr En faisant ca, il te crée un lien symbolique de xxx.fr dans /etc/apache2/sites-enabled. Pour désactiver un VH, il suffit de faire a2dissite sur ton VH. Désolé, si ca ne répond pas directement à ta question, mais c'est toujours bon à savoir je pense :-) PS: Ces commandes ne marchent qu'en root et il faut reloader apache après. Bon courage :-) -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [shell]supprimer un bloc de texte
Bonjour, Marc Chantreux a écrit, jeudi 25 octobre 2007, à 07:53 : On Thu, Oct 25, 2007 at 03:50:55AM +0200, dexinou wrote: cat /root/vhost.conf | grep $USER sed -i '/VirtualHost/{:a; N; /\/VirtualHost/!ba; /'$USER'\.domaine.com/d }' /root/vhost.conf Heu, domain.com != domaine.com ? sed -i c'est un poil dangeureux pour de la config. je conseille de faire un cp qqpart. oui, ou « -i.bak » sed -i '/MotifA/,/MotifB/d' pourrait t'aider. Pas tellement, il faut détruire le bloc complet quand une ligne intermédiaire correspond ; par ailleurs, $USER peut figurer à la fin d'un autre nom, comme jean-paul.domain et paul.domain... sed -i .bak -e ' /VirtualHost\/{ :A;N;/\/VirtualHost\/!bA /[[:space:]]'$USER'\.domain\.com\/d }' vhost.conf (on suppose que les deux lignes Virtualhost sont distinctes). Éventuellement, on pourrait épargner des blocs commentés, etc. sed -i .bak -e ' /^[[:space:]]*VirtualHost\/{ :A;N;/^[[:space:]]*\/VirtualHost\/!bA /[[:space:]]*ServerName[[:space:]]\+'$USER'\.domain\.com\/d }' vhost.conf -- Jacques L'helgoualc'h -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
[hs] config Apache, sécur ité was: [shell]supprimer un bloc de texte
Thierry B wrote on Thu, Oct 25, 2007 at 09:09:15AM +0200 dexinou a écrit : Bonjour à la liste, J???essai en vain de supprimer un bloc dans le virtualhost apache : #!/bin/sh echo Quel VirtualHost voulez-vous supprimer ? : read USER cat /root/vhost.conf | grep $USER sed -i '/VirtualHost/{:a; N; /\/VirtualHost/!ba; /'$USER'\.domaine.com/d }' /root/vhost.conf exit 0 voici le vhost.conf VirtualHost *:80 ServerName toto.domain.com ServerAdmin [EMAIL PROTECTED] DocumentRoot /var/www/vhosts/toto/ /VirtualHost VirtualHost *:80 ServerName tata.domain.com ServerAdmin [EMAIL PROTECTED] DocumentRoot /var/www/vhosts/tata/ /VirtualHost Comment supprimer le vhost du servername toto.domain.com avec sed? Donc supprimer le bloc à partir de VirtualHost * :80 jusqu???à /VirtualHost du ServerName toto.domain.com Merci pour l???aide car ça fait 1 semaine que je cherche en vain Hello, En fait, ce que tu cherches à faire existe déjà :-) VOila comment je fais sur mon serveur etch: Dans /etc/apache2/sites-available, tu mets 1 fichier par VH. # cat /etc/apache2/sites-available/xxx.fr VirtualHost *:80 ServerName xxx.fr DocumentRoot /var/www/xxx.fr/ ErrorLog /var/log/apache2/error.log CustomLog | /usr/bin/logger -p local7.info -t apache_access_log vhost_common Directory / Options FollowSymLinks AllowOverride None Order allow,deny Allow from all À déconseiller fortement. Ça permet à l'administrateur du site virtuel en question, de placer un lien symbolique dans son espace, qui pointe vers la racine de la partition et d'en rendre une bonne partie de son contenu visible sur le web... A+ dom /Directory /VirtualHost Ensuite, tu l'actives en faisant: a2ensite xxx.fr En faisant ca, il te crée un lien symbolique de xxx.fr dans /etc/apache2/sites-enabled. Pour désactiver un VH, il suffit de faire a2dissite sur ton VH. Désolé, si ca ne répond pas directement à ta question, mais c'est toujours bon à savoir je pense :-) PS: Ces commandes ne marchent qu'en root et il faut reloader apache après. Bon courage :-) -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- +o-+ | P-mail:| E-mail: | | E.N.S.T. - Dep. TSI | [EMAIL PROTECTED] | | Dominique Asselineau | Phone: (33/0) 1 45 81 78 91 | | 46, rue Barrault | Fax: (33/0) 1 45 81 37 94 | | 75634 PARIS Cedex 13 - France| | +o-+ -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
[shell]supprimer un bloc de texte
Bonjour à la liste, Jessai en vain de supprimer un bloc dans le virtualhost apache : #!/bin/sh echo Quel VirtualHost voulez-vous supprimer ? : read USER cat /root/vhost.conf | grep $USER sed -i '/VirtualHost/{:a; N; /\/VirtualHost/!ba; /'$USER'\.domaine.com/d }' /root/vhost.conf exit 0 voici le vhost.conf VirtualHost *:80 ServerName toto.domain.com ServerAdmin [EMAIL PROTECTED] DocumentRoot /var/www/vhosts/toto/ /VirtualHost VirtualHost *:80 ServerName tata.domain.com ServerAdmin [EMAIL PROTECTED] DocumentRoot /var/www/vhosts/tata/ /VirtualHost Comment supprimer le vhost du servername toto.domain.com avec sed? Donc supprimer le bloc à partir de VirtualHost * :80 jusquà /VirtualHost du ServerName toto.domain.com Merci pour laide car ça fait 1 semaine que je cherche en vain
Re: [shell]supprimer un bloc de texte
On Thu, Oct 25, 2007 at 03:50:55AM +0200, dexinou wrote: cat /root/vhost.conf | grep $USER sed -i '/VirtualHost/{:a; N; /\/VirtualHost/!ba; /'$USER'\.domaine.com/d }' /root/vhost.conf sed -i c'est un poil dangeureux pour de la config. je conseille de faire un cp qqpart. sed -i '/MotifA/,/MotifB/d' pourrait t'aider. marc -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]