Anzeige:
Ergebnis 1 bis 10 von 10

Thema: Bashscript: Mehrzeiligen Text in eine Variable schreiben

  1. #1
    Registrierter Benutzer
    Registriert seit
    07.01.2002
    Ort
    Hünibach
    Beiträge
    48

    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:
    Code:
    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

  2. #2
    Registrierter Benutzer
    Registriert seit
    12.07.2002
    Beiträge
    27
    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
    665 the neighbour of the beast

    RTFM? Why should I read the fu**ing manual - I know how to f**k!

  3. #3
    Registrierter Benutzer
    Registriert seit
    26.12.2002
    Ort
    Matrix
    Beiträge
    194

    Re: Bashscript: Mehrzeiligen Text in eine Variable schreiben

    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

  4. #4
    Registrierter Benutzer Avatar von Warlord
    Registriert seit
    17.01.2004
    Ort
    Kargesloch
    Beiträge
    6

    Re: Re: Bashscript: Mehrzeiligen Text in eine Variable schreiben

    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

  5. #5
    Registrierter Benutzer
    Registriert seit
    07.01.2002
    Ort
    Hünibach
    Beiträge
    48
    ja das funktioniert bei mir sehr gut

    Hast du das Include-Modul geladen ??

  6. #6
    Registrierter Benutzer Avatar von Warlord
    Registriert seit
    17.01.2004
    Ort
    Kargesloch
    Beiträge
    6
    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

  7. #7
    Registrierter Benutzer Avatar von Warlord
    Registriert seit
    17.01.2004
    Ort
    Kargesloch
    Beiträge
    6
    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

  8. #8
    Registrierter Benutzer
    Registriert seit
    07.01.2002
    Ort
    Hünibach
    Beiträge
    48
    hehe ich habe es ohne sternchen

    gruss akula

  9. #9
    Registrierter Benutzer Avatar von Warlord
    Registriert seit
    17.01.2004
    Ort
    Kargesloch
    Beiträge
    6
    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

  10. #10
    Registrierter Benutzer
    Registriert seit
    07.01.2002
    Ort
    Hünibach
    Beiträge
    48
    also ich habe einfach alle *.akula.ch hosts in einer Datei und in dieser sind dann www und mail.akula.ch definiert

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •