Archiv verlassen und diese Seite im Standarddesign anzeigen : Bashscript: Mehrzeiligen Text in eine Variable schreiben
Hallo Leute
Ich schreibe ein Programm, dass mir die Kudenverwaltung auf meinem Server vereinfacht. Dazu schreibe ich z.B. die VirtualHost Konfig in die httpd.conf
Wie kann ich aber nun bei der Zuweisung der variable $virtual_host mehrzeiligen Text einfuegen ?
Im Moment mache ich es mit echo Statements:
apache () {
`echo '<VirtualHost 193.109.216.54>' >> $APACHE_CONFIG`
`echo " ServerAdmin webmaster@$domain" >> $APACHE_CONFIG`
`echo " DocumentRoot /home/httpd/html/$domain" >> $APACHE_CONFIG`
`echo " ServerName www.$domain" >> $APACHE_CONFIG`
`echo " ErrorLog /var/log/apache/$domain-error.log" >> $APACHE_CONFIG`
`echo " ErrorLog /var/log/apache/all-error.log" >> $APACHE_CONFIG`
`echo " CustomLog /var/log/apache/$domain-access.log combined" >> $APACHE_CONFIG`
`echo " CustomLog /var/log/apache/all-access.log combined" >> $APACHE_CONFIG`
`echo "</VirtualHost>" >> $APACHE_CONFIG`
}
aber das ist nicht unbedingt elegant
gruss akula
buffer_7
08-08-2003, 11:48
Mahlzeit,
wenn Du eine Variable elegannter füllen willst, versuch es doch mal mit einem HERE-Dokument. Müsste auch funktionieren. und ist eleganter.
$APACHE_CONFIG=`cat << ENDE
<VirtualHost 193.109.216.54>
ServerAdmin webmaster@$domain
DocumentRoot /home/httpd/html/$domain
ServerName www.$domain
ErrorLog /var/log/apache/$domain-error.log
ErrorLog /var/log/apache/all-error.log
CustomLog /var/log/apache/$domain-access.log combined
CustomLog /var/log/apache/all-access.log combined
</VirtualHost>
ENDE
`
Hoffe, das ist das was Du gesucht hast.
mfg
buffer_7
Original geschrieben von akula
Ich schreibe ein Programm, dass mir die Kudenverwaltung auf meinem Server vereinfacht. Dazu schreibe ich z.B. die VirtualHost Konfig in die httpd.conf
da gibt es bessere varianten. schreibe in die httpd.conf eine Include anweisung:
Include /verzeichnis/*.conf
in dieses verzeichnis kopierst du dann die einzelnen config-schnipsel für die einzelnen vhosts, d.h. pro kunde am besten ein config-file. so musst du nicht mehr in der hauptconfig rumscheiben, einfach files reinkopieren oder herauslöschen.
-j
Hallo
Include /verzeichnis/*.conf
Hallo hat zwar alles nichts mehr mit Shell-Skript zu tun.
Aber funktioniert das bei Dir mit dem * ?
Ich bekomme eine Fehlermeldung:
*.conf failed
MfG Torsten
ja das funktioniert bei mir sehr gut
Hast du das Include-Modul geladen ??
Hi
>Hast du das Include-Modul geladen ??
WAS?
Also das Include funktioniert ja, aber ich muss jede Datei genau mit dem
Namen angeben. Das ist natürlich doof.
LoadModule includes_module /usr/lib/apache/1.3/mod_include.so
Meinst Du das?
Nur halt mit dem Sternchen nicht.
Ich will jetzt nämlich auch alles hier vereinfachen und evtl. Skripte zum Anlegen
dafür erstellen. Damit die anderen Mitarbeiter das auch eunrichten können.
MfG Torsten
So erstmal Hallo an alle,
bin ja neu hier. Fange gerade an mit Bash und Shell.
Zu dem Thema eben: Habe es nun so gelöst.
Skript:
echo "<VirtualHost *>" > $2
echo " ServerAdmin tp@domain.de" >> $2
echo " DocumentRoot /var/www/$1" >> $2
echo " ServerName www.$1.de" >> $2
echo " ServerAlias $1.de" >> $2
echo " ErrorLog /var/log/apache/$1_error.log" >> $2
echo " CustomLog /var/log/apache/$1_access.log common" >> $2
echo " ScriptAlias /cgi-bin/ /var/www/$1/cgi-bin/" >> $2
echo "" >> $2
echo " <Directory /var/www/$1/cgi-bin/>" >> $2
echo " AllowOverride None" >> $2
echo " Options ExecCGI FollowSymLinks" >> $2
echo " Order allow,deny" >> $2
echo " Allow from all" >> $2
echo " </Directory>" >> $2
echo "</VirtualHost>" >> $2
echo "Include /etc/apache/vhosts/$2" >> /etc/apache/httpd.conf
Und nun kann ich an der Konsole eingeben:
./virtual-host-include domain domain.conf
Was haltet Ihr davon?
MfG Torsten
hehe ich habe es ohne sternchen
gruss akula
Hi,
>hehe ich habe es ohne sternchen
Na ohne Deine Anleitung wär ich auch nie darauf gekommen.
1. Problem ist aber schon mal:
Was tun wenn ich als Serveralias dann noch eine .com Doamin eintargen
muss. Oder wenn es drei Serveraliasse gibt?
Haste da vielleicht auch schon n Plan
MfG Torsten
also ich habe einfach alle *.akula.ch hosts in einer Datei und in dieser sind dann www und mail.akula.ch definiert
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.