Sounds good,
Here is the script. Its been a while that we have used it. We might need to
modify something. I can look into it later. Let me know if this is something
you are looking for.
************************
#!/bin/sh
# Need to add /bin/sh path
# This script will install the softwares required to build softswitch.
# Sysrequirements FC5, DELL 1950,
# Jai
# 12/11/06
HOSTNAME=`hostname`
TEMPLATE=192.168.1.1 <http://192.168.2.201/>
if [ "`id -u`" != "0" -o `hostname` != "$HOSTNAME" ]; then
printf "NEED TO BE ROOT AND TO RUN ON $HOSTNAME\n"
exit 0
fi
echo "You are ROOT on Make sure you know what are you doing,
Press ENTER to continue"
read
echo "Server name = $HOSTNAME"
echo "FTP Server = $TEMPLATE"
echo "Press ENTER to start"
read
printf "PROCEEDING WITH INSTALLATION OF Softswitch on ${HOSTNAME} ...\n\n"
printf "ARE YOU SURE YOU WANT TO CONTINUE (Y/N)?"
read X
if [ "x$X" != "xY" ]; then
printf "aborting. Press Y or N \n"
exit 0
fi
printf "\n"
mkdir //home/switch
ln -s /home/switch /usr/local/
cd /usr/local/src
echo "------INSTALLING freeradius -----------------------------"
printf "Do you want to INSTALL FREERADIUS (Y/N)?"
read X
if [ "x$X" == "xY" ]; then
cd /usr/local/src/
wget
ftp://ftp.freeradius.org/pub/radius/old/freeradius-1.1.2.tar.gz
tar zxvf freeradius-1.1.2.tar.gz
cd freeradius-1.1.2
./configure
make
make install
#cd ..
echo "enable digest auth in radiusd.conf, configure clients.conf, create
radius db and import tables."
else
printf "OK YOU Pressed N that means you don't want free radius. No Problem
\n"
fi
echo "------ radius client lib -----------------------------"
printf "Do you want to radius client lib (Y/N)?"
read X
if [ "x$X" == "xY" ]; then
cd /usr/local/src/
wget
http://download.berlios.de/radiusclient-ng/radiusclient-ng-0.5.2.tar.gz
tar zxvf radiusclient-ng-0.5.2.tar.gz
cd radiusclient-ng-0.5.2
./configure
make
make install
#vi /etc/ld.so.conf
# /usr/local/lib
cat "/usr/local/lib" > /etc/ld.so.conf.d/radius-i386.conf
ldconfig
cd ..
else
printf "OK YOU did not Pressed Y that means you don't want radius client
lib. I don't care, I am just a script \n"
fi
echo "------ MEDIAPROXY -------------------"
printf "Do you want to Mediaproxy (Y/N)?"
read X
if [ "x$X" == "xY" ]; then
cd /usr/local/src/
wget
http://mediaproxy.ag-projects.com/old/mediaproxy-1.4.2.tar.gz
tar mediaproxy-1.4.2.tar.gz
mv mediaproxy /usr/local/mediaproxy
#cp mediaproxy.ini.sample mediaproxy.ini
#vi mediaproxy.ini
# edit the options as per our envi.
cd /usr/local/mediaproxy/
wget ftp://$TEMPLATE/configure_ser_server/configfiles/mediaproxy.ini
cp /usr/local/mediaproxy/boot/mediaproxy.other /etc/init.d/mediaproxy
/etc/init.d/mediaproxy start
cd /usr/local/src/
else
printf "OK YOU did not Pressed Y that means you dont want Mediaproxy. I dont
care, But remember SIP users wont be able to talk \n"
fi
echo "------ ser -------------------"
printf "Do you want to INSTALL SER (Y/N)?"
read X
if [ "x$X" == "xY" ]; then
## We make changes in the Makefile for all the modules, build our own tar
and store it on our ftp server.
#wget
http://ftp.iptel.org/pub/ser/0.9.6/src/ser-0.9.6_src.tar.gz
cd /usr/local/src/
wget ftp://$TEMPLATE/configure_ser_server/ser-0.9.6_bingo.tar.gz
echo "Press ENTER to start"
read
tar zxvf ser-0.9.6_bingo.tar.gz
echo "Press ENTER to start"
read
cd ser-0.9.6
pwd
#cd modules/acc
#vi Makefile
#remove comment from sql and radius lines
#vi Makefile
#remove *_radius from exclude list
make all
make install
cd /usr/local/etc/ser/
wget ftp://$TEMPLATE/configure_ser_server/configfiles/ser.cfg
else
printf "OK YOU did not Pressed Y that means you don't want a softswitch you.
Just playing with me HUHH, OK \n"
fi
#
http://www.openser.org/docs/openser-radius-1.0.x.html
# ----------------------------------------------
echo "------ APACHE -------------------"
printf "Do you want to INSTALL APACHE (Y/N)?"
read X
if [ "x$X" == "xY" ]; then
cd /usr/local/src/
wget
http://www.axint.net/apache/httpd/httpd-2.2.3.tar.gz
tar zxvf httpd-2.2.3.tar.gz
cd httpd-2.2.3
./configure --enable-shared=max --enable-module=rewrite --enable-module=so
--with-apxs2
make
make install
else
printf "OK YOU did not Pressed Y that means you dont want APACHE. You might
need this for serweb. \n"
fi
echo "------ IMAP -------------------"
printf "Do you want to INSTALL IMAP, (Y/N)?"
read X
if [ "x$X" == "xY" ]; then
cd /usr/local/src/
cd /usr/local/src/
#wget
http://www.mirrorservice.org/sites/tp.cac.washington.edu/imap/old/imap-2004…
wget ftp://192.168.2.201/configure_ser_server/imap-2004c1.tar.Z
tar zxf imap-2004c1.tar.Z
cd imap-2004c1
make slx SSLTYPE=none
cd c-client/
cp c-client.a /usr/lib
cp rfc822.h mail.h linkage.h /usr/include/
else
printf "OK YOU did not Pressed Y that means you dont want APACHE. You might
need this for serweb. \n"
fi
echo "------ PHP 4.xx -------------------"
printf "Do you want to INSTALL PHP 4.xx, If you dont install this then DONT
complain if your serweb doesnt work (Y/N)?"
read X
if [ "x$X" == "xY" ]; then
cd /usr/local/src/
wget
http://museum.php.net/php4/php-4.3.10.tar.gz
tar zxvf php-4.3.10.tar.gz
cd php-4.3.10
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
--with-imap
make
make install
cp php.ini-dist /usr/local/lib/php.ini
cd /usr/local/apache2/
wget ftp://$TEMPLATE/configure_ser_server/configfiles/httpd.conf
#vi /usr/local/apache2/conf/httpd.conf
# AddType application/x-httpd-php .php .phtml
# LoadModule php4_module libexec/libphp4.so
#
# modify the index.html line and add index.php to the list
#
# Listen 81
/usr/local/apache2/bin/apachectl start
else
printf "OK YOU did not Pressed Y that means you refused to install PHP. You
will need this for serweb. \n"
fi
echo "------ PHP 4.xx -------------------"
printf "Do you want to INSTALL PHP 4.xx, If you dont install this then DONT
complain if your serweb doesnt work (Y/N)?"
read X
if [ "x$X" == "xY" ]; then
cd /usr/local/src/
wget
http://ftp.iptel.org/pub/serweb/serweb-0.9.6.tar.gz
tar zxvf serweb-0.9.6.tar.gz
mv serweb-0.9.6 serweb
# next few line have been taken care of httpd.conf in apache installation.
#vi /usr/local/apache2/conf/httpd.conf
#Alias /serweb "/usr/local/serweb/html/"
#<Directory "/usr/local/serweb/html">
# AllowOverride None
# Options None
# Order allow,deny
# Allow from all
#</Directory>
cd /usr/local/serweb/config
#vi config*
modify all config files are per your env.
#edit:
#vi /usr/local/etc/ser/ser.cfg
#fifo_mode=666
#Send daily missed calls
#Crontab line:
#5 0 * * * /usr/local/bin/php
/usr/local/serweb/scripts/cron_job/send_daily_missed_calls.php
#Server monitoring
#Crontab line:
#* * * * * /usr/local/bin/php
/usr/local/serweb/scripts/cron_job/read_ser_moni.php
else
printf "OK YOU did not Pressed Y that means you refused to install PHP. You
will need this for serweb. \n"
fi
echo "------ DIALIP_ADMIN -------------------"
printf "Do you want to INSTALL DIALUP_ADMIN (Y/N)?"
read X
if [ "x$X" == "xY" ]; then
cd /usr/local/src/
wget
http://nchc.dl.sourceforge.net/sourceforge/dialup-admin/dialup_admin-1.62.t…
tar zxvf dialup_admin-1.62.tar.gz
mv dialup_admin /usr/local/radiusadmin
#vi /usr/local/apache2/conf/httpd.conf
#Alias /radius "/usr/local/radiusadmin/htdocs/"
#<Directory "/usr/local/radiusadmin/htdocs">
# AllowOverride None
# Options None
# Order allow,deny
# Allow from all
#</Directory>
#cd /usr/local/radiusadmin/sql
# import all sql queries to radius database
#cd /usr/local/radiusadmin/conf
# modify config files
**********************
On Dec 10, 2007 9:15 PM, ram <talk2ram(a)gmail.com> wrote:
On Dec 10, 2007 11:02 PM, Jai Rangi <jprangi(a)gmail.com> wrote:
Preparing Kickstart file is a good idea.
How about running a post installation script in the kickstart file. We
have done this a lots on time in FC*. The process should be something like
this,
1. Build a default kickstart file that will install all the required
packages for all the ser components.
2. The kickstart file have an option to run a post installation script.
3. Now we need to have one zip file of all the components we want to
install related to ser. (ser, werbwer, sems, sipp, sppsak etc). That file
can be placed either on the CDs or can be downloaded from somewhere. All the
components can be packaged in the one zip file of they can be downloaded
separately.
4. The script can be interactive.
yes that will be the idea, for the CD install
after install of OS, we can run post install script to compile rest all
required for
SER ( or compile already for the same OS Distro and move them directly to
the respective Directory)
BTW I have a small postinstallation shell script like that, and I can
share that.
post to group, may be if require people may use.
ram
-Jai
On Dec 10, 2007 3:42 AM, SIP < sip(a)arcdiv.com> wrote:
Greger V. Teigre wrote:
[removed sems, semsdev, and serdev from cc]
SIP wrote:
> Something I noted about the project. While I am all for a virtual
image
> for testing purposes and getting things up
and running while we're
> creating this project, I think the ultimate goal should be
something
> like an ISO that's ready to go on a
server. There are many of us in
the
> systems world who have not bought into the
whole virtualisation
> marketing gimmick when it comes to system deployment, and for the
casual
> home user who's less comfortable with
using VMs for an actual
production
> system (which is, to be honest, a lot of
people), it might be
easier in
> the long term to get everything the way we
want it and then make an
ISO
> that's ready to drop onto whatever
machine with all the components
we need.
>
Ok. When you say "ISO that's ready to drop onto", do you have a
particular procedure in mind?
g-)
Something like taking a kickstart file and making an installable
livecd
from it (something similar to the LiveCD berlios project). I don't
KNOW
of one that works to create installable ISOs in CentOS, but I'm sure
there must be... somewhere... maybe....?
N.
_______________________________________________
Serusers mailing list
Serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
_______________________________________________
Serusers mailing list
Serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers