sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #101448
Re: BASH: vil ikke sammenkæde strenge
Der er helt tydeligt rettigheds problemer.
jeg har et lille håb på at det kan komme til at virke så man som
almindelig bruger kan bruge programmet :|
Jeg har nok brug for hjælp til dette
koden ser nu så ledes ud
#¡/bin/bash4
set -x
USRNME=`whoami`
DOT='.'
MNDOMN='juac.dk'
USRDOMN=${1}
LNK=""
LNK=$(echo ${USRDOMN}${DOT}${USRNME}${DOT}${MNDOMN})
IP=$(echo 90${DOT}184${DOT}106${DOT}85)
DIR=${HOME}/PUBLIC_HTML
EMAIL=${2}
echo '$1=' ${1}
echo '$2=' ${2}
echo '$dot=' ${DOT}
echo '$usrnme=' ${USRNME}
echo '$MNDOMN=' ${MNDOMN}
echo '$USRDOMN=' ${USRDOMN}
echo '$LNK=' ${LNK}
echo '$ip= ' ${IP}
echo '$dir=' ${DIR}
if [ ! -d ${DIR} ];
then
mkdir ${DIR}
fi
mkdir "${HOME}/PUBLIC_HTML/${LNK}/"
mkdir "/usr/lib/cgi-bin/${LNK}"
echo "<VirtualHost *:80>
ServerAdmin ${EMAIL}
ServerName www.${LNK}
ServerAlias ${LNK}
DocumentRoot ${DIR}/${LNK}
# Set Document Root directory options
<Directory />
Options FollowSymlnks -Indexes Includes
# Allow use of .htaccess file
AllowOverride Limit FileInfo
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/${LNK}
# Set CGI-BIN directory options
<Directory /cgi-bin>
AllowOverride None
Options +ExecCGI -Multiviews +SymlnksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
CustomLog /var/log/apache2/access.log common
ErrorLog /var/log/apache2/error.log
</VirtualHost>" > /etc/apache2/sites-available/${LNK}
exec /usr/sbin/a2ensite ${LNK}
space=' '
echo "${IP}${space}www.${LNK}${space}${LNK}" >> /etc/hosts
exec /etc/init.d/apache2 reload
# end script
Outputet ser nu således ud:
tj@juac:~$ /usr/sbin/addsubdomain testxyz test
+++ whoami
++ USRNME=tj
++ DOT=.
++ MNDOMN=juac.dk
++ USRDOMN=testxyz
++ LNK=
+++ echo testxyz.tj.juac.dk
++ LNK=testxyz.tj.juac.dk
+++ echo 90.184.106.85
++ IP=90.184.106.85
++ DIR=/home/tj/PUBLIC_HTML
++ EMAIL=test
++ echo '$1=' testxyz
$1= testxyz
++ echo '$2=' test
$2= test
++ echo '$dot=' .
$dot= .
++ echo '$usrnme=' tj
$usrnme= tj
++ echo '$MNDOMN=' juac.dk
$MNDOMN= juac.dk
++ echo '$USRDOMN=' testxyz
$USRDOMN= testxyz
++ echo '$LNK=' testxyz.tj.juac.dk
$LNK= testxyz.tj.juac.dk
++ echo '$ip= ' 90.184.106.85
$ip= 90.184.106.85
++ echo '$dir=' /home/tj/PUBLIC_HTML
$dir= /home/tj/PUBLIC_HTML
++ '[' '!' -d /home/tj/PUBLIC_HTML ']'
++ mkdir /home/tj/PUBLIC_HTML/testxyz.tj.juac.dk/
++ mkdir /usr/lib/cgi-bin/testxyz.tj.juac.dk
mkdir: kan ikke oprette katalog '/usr/lib/cgi-bin/testxyz.tj.juac.dk':
Adgang nægtet
++ echo '<VirtualHost *:80>
ServerAdmin test
ServerName www.testxyz.tj.juac.dk
ServerAlias testxyz.tj.juac.dk
DocumentRoot /home/tj/PUBLIC_HTML/testxyz.tj.juac.dk
# Set Document Root directory options
<Directory />
Options FollowSymlnks -Indexes Includes
# Allow use of .htaccess file
AllowOverride Limit FileInfo
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/testxyz.tj.juac.dk
# Set CGI-BIN directory options
<Directory /cgi-bin>
AllowOverride None
Options +ExecCGI -Multiviews +SymlnksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
CustomLog /var/log/apache2/access.log common
ErrorLog /var/log/apache2/error.log
</VirtualHost>'
/usr/sbin/addsubdomain: line 48:
/etc/apache2/sites-available/testxyz.tj.juac.dk: Adgang nægtet
++ exec /usr/sbin/a2ensite testxyz.tj.juac.dk
ERROR: Site testxyz.tj.juac.dk does not exist!
Tak! Martin og alle andre:)
Thomas
Martin Kryger Ahrentsen wrote:
On 13-03-2011 12:35, Thomas Rosendal Jensen wrote:
Se følgende indlæg skrevet af mig 04-03-2011 18:17
Det hedder: "[TEKNIK] Webhotel til undervisningsbrug vha. flere sub
domains for hver elev."
Thomas
"Kristian Nørgaard" skrev i meddelelsen
news:ilggqs$aai$1@xxxxxxxxxxxx...
Umiddelbart har jeg heller ikke problemer når jeg kører det.
Men jeg er heller ikke helt overbevist hvad det er du gør når du kører.
Kan du ikke lave et (minimalt) eksempel, der viser præcist
1. Hvordan dit script ser ud
2. Hvordan du kalder det, med hvilke parametre
3. Hvilket output du får
/ Kristian
I stedet for at bruge echo '1' for hver kommando kan man med fordel
bruge set -x i starten af sit script. (lige efter #!/bin/bash )Så vil du
se hvordan de forskellige kommandoer/variabler bliver fortolket
Follow ups
References