Date: Thu, 11 Jul 2002 13:07:57 +0300 From: Odhiambo Washington <wash@wananchi.com> To: Viktor Lazlo <viktorlazlo@telus.net> Cc: FBSD-Q <freebsd-questions@freebsd.org> Subject: Re: Shell Script gurus?? Message-ID: <20020711100757.GG74698@ns2.wananchi.com> In-Reply-To: <20020705001634.C21920-100000@njam.dhs.org> References: <20020705062435.GK56027@ns2.wananchi.com> <20020705001634.C21920-100000@njam.dhs.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--AH+kv8CCoFf6qPuz
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
* Viktor Lazlo <viktorlazlo@telus.net> [20020705 10:18]: wrote:
>
>
> > Hi Victor,
> >
> > That could have done it, except for the fact that after the first (.), we can
> > have com, net, org, biz, info, co.ke, go.ke, or.ke (as in wananchi.com)
> > What I wanted is to discard everything after the (.), not just com ;-)
> >
> > This one below does it:
> >
> > MYDOMAIN=`echo $domain_name | awk -F\. ' { print $1 } '`
>
> Just replace the com with .*:
>
> unbored=`echo $bored | sed -n 's/\..*//p'`
>
> But it doesn't really matter which you use, they both do the same thing.
>
> Cheers,
>
> Viktor
Hi Victor,
Let me ask a few questions while I still have your attention.
Please take a look at this script I have made and comment on it.
I know it's such a newbie thing, and even the PASSWORD line
doesn't work. It has no error checking <hehehee>.
The rest of the parts do work though.
I have a few problems with it:
1. I want it to enforce the entering of the popboxes
2. For some reason I cannot figure out, The line that does
for dom in $domain_name; do $PASSWORD $domain_name ${MYDOMAIN}pass1
doesn't work - because when I test the password after completion, if fails.
I think I am missing something. I want to make the initial password for freebsd.co.ke to be
freebsdpass1, for example.
3. Also, how can I make the script to modify the httpd.conf to add virtual host entry at the bottom?
My virtual host entry is something like this:
<VirtualHost *:80>
ServerName webmail.$domain_name
ServerAlias $domain_name
ServerAdmin admin@wananchi.com
DocumentRoot /usr/local/www/htdocs/virtual/$domain_name
ScriptAlias /cgi-bin/ "/usr/local/www/htdocs/virtual/$domain_name/cgi-bin/"
#CustomLog "| /usr/local/sbin/cronolog /var/log/apache/%Y/%m/%d/$MYDOMAIN.log" combined
<Directory /usr/local/www/htdocs/virtual/$domain_name/cgi-bin/>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
ErrorDocument 404 /missing.html
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
An experienced hand like you can help me with that, yes?
Thank you in advance.
-Wash
--
Odhiambo Washington <wash@wananchi.com> "The box said 'Requires
Wananchi Online Ltd. www.wananchi.com Windows 95, NT, or better,'
Tel: 254 2 313985-9 Fax: 254 2 313922 so I installed FreeBSD."
GSM: 254 72 743 223 GSM: 254 733 744 121 This sig is McQ! :-)
I have learned
To spell hors d'oeuvres
Which still grates on
Some people's n'oeuvres.
-- Warren Knox
--AH+kv8CCoFf6qPuz
Content-Type: application/x-sh
Content-Disposition: attachment; filename="domainplus.sh"
Content-Transfer-Encoding: quoted-printable
#!/usr/local/bin/bash=0A=0A#This script is meant to automate the administra=
tion of domains under Domain=0A# Plus!=0A=0AADDING=3D"/root/bin/vmail-sql/a=
dmin-tools/VE-domain add"=0ADEACTIVATE=3D"/root/bin/vmail-sql/admin-tools/V=
E-domain remove"=0AMAILUSER=3D"exim"=0APOPBOXES=3D"/root/bin/vmail-sql/admi=
n-tools/VE-domain popboxes"=0AFORWARDER=3D"/root/bin/vmail-sql/admin-tools/=
VE-forwarder add"=0APASSWORD=3D"/root/bin/vmail-sql/admin-tools/VE-passwd"=
=0A#MYDOMAIN=3D`echo $domain_name | awk -F\. ' { print $1 } '`=0AMYDOMAIN=
=3D`echo $domain_name | sed -n 's/\..*//p'`=0AVIRTUALS=3D"/usr/local/etc/ap=
ache/virtuals.conf"=0APROTODOCROOT=3D"/usr/local/www/htdocs/virtual/kaysalt=
.com"=0ADOCSDIR=3D"/usr/local/www/htdocs/virtual"=0A=0Awhile :=0Ado=0A=0Acl=
ear=0Aecho=0Aecho "1. Enter Domain into MySQL Db"=0Aecho "2. Create domain =
entry in Apache virtuals.conf"=0Aecho "3. Remove entry if you entered in er=
ror..."=0Aecho "9. Exit"=0Aecho=0Aecho -n Please select one choice:=0Aread =
choice=0A=0Acase "$choice" in=0A1) =0A clear=0A if [ $UID =3D 0 ]=0A =
then=0A echo Entering domain name in MySQL DB:=0A echo ""=0A echo "=
This script is very rudimentary and has no error checking"=0A echo "=
so be sure about what you are doing before touching that ENTER key!!"=0A =
echo ""=0A domain_name=3D=0A echo -n Please supply the d=
omain name to activate:=0A read domain_name=0A if [ $domain_n=
ame ]=0A then=0A echo ""=0A echo "Please type your own=
name for logging purposes, i.e Wash:"=0A read name=0A echo "=
"=0A echo "Please enter the number of mailboxes to allocate. The default is=
5."=0A echo "WARNING: You must enter a number here OR "unlimited" or we ab=
ort this"=0A echo "procedure at this point."=0A echo ""=0A read mail=
boxes=0A# ( date; echo ""; /bin/echo $domain_name; echo ""; \=0A ( da=
te; echo ""; echo Domain $domain_name was activated by: $name; \=0A =
echo -------------------------------------------------\=0A ---------=
----------- ; echo "") | tee -a /var/log/domainplus.log=0A for dom in $doma=
in_name; do $ADDING $domain_name $MAILUSER=0A done=0A echo "Assigning mailb=
oxes ........"=0A for dom in $domain_name; do $POPBOXES $domain_name $mailb=
oxes=0A done=0A echo "Adding default forwarder for $domain_name as vdom@wan=
anchi.com ....."=0A for dom in $domain_name; do $FORWARDER $domain_name _de=
fault_ vdom@wananchi.com=0A done=0A echo "Assigning the password....."=0A f=
or dom in $domain_name; do $PASSWORD $domain_name ${MYDOMAIN}pass1=0A =
done=0A fi=0A fi=0A ;;=0A2)=0A clear=0A if [ $UID =3D 0 ]=0A =
then =0A echo Creating document root files for this domain.=0A =
echo ""=0A for dom in $domain_name; do /bin/cp -Rp ${PROTODOC=
ROOT} ${DOCSDIR}/$domain_name=0A done=0A for dom in $domain_n=
ame; do /bin/mkdir /tmp/uebimiau/$domain_name=0A done=0A for dom in $domain=
_name; do /usr/sbin/chown www /tmp/uebimiau/$domain_name=0A done=0A =
echo ""=0A echo Process completed successfully.=0A echo ""=0A=
echo Now edit ${DOCSDIR}/$domain_name/config.php and substitute kay=
salt.com with $domain_name.=0A echo After that you have to add a VirtualHos=
t entry at the bottom of ${VIRTUALS},=0A echo then reload apache usi=
ng the command apachectl graceful.=0A echo "Now is the time to edit the fil=
e..."=0A for name in $domain_name; do /usr/bin/vi ${DOCSDIR}/$domain_name/c=
onfig.php=0A done=0A fi=0A ;;=0A=0A=0A3) clear=0A if [ $UID =3D 0 ]=0A then=
=0A echo We will now remove the domain name you entered in error.....=0A ec=
ho Please be careful next time...=0A domain_name=3D=0A echo -n Pleas=
e tell me the domain name to DEACTIVATE:=0A read domain_name=0A =
if [ $domain_name ]=0A then=0A echo Removing domain directories =
from /tmp/uebimiau ..=0A for dom in $domain_name; do /bin/rm -rf /tmp/uebim=
iau/$domain_name=0A done=0A for dom in $domain_name; do /bin/rm -rf ${DOCSD=
IR}/$domain_name=0A done=0A for dom in $domain_name; do ${DEACTIVATE} $doma=
in_name=0A done=0A echo The $domain_name was sucessfully deactivated. Bye.=
=0A fi=0A fi=0A ;;=0A9)=0A exit=0A ;;=0A*)=0A echo -n b | tr 'b' '\007'=0A =
echo Invalid choice. Please try again.=0A ;;=0Aesac=0Aecho=0Aecho -n Press =
Return to Continue...=0Aread wait=0Adone=0A
--AH+kv8CCoFf6qPuz--
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020711100757.GG74698>
