Using kickstart sounds good to me. I think we should
keep separate
the different steps:
1. Create a base image of the OS
2. Install the
apps and dependencies
3. Do local configurations
4. Create deployable virtual machine
If each of these steps are isolated, different people can be
responsible for the different steps.
I have reorganized the project page into sections and incorporated
lots of input from Jeremy at
<http://iptel.org/bundle/project>http://iptel.org/bundle/project
We now need to create a project plan, split into responsibilities,
and take some key decisions.
I think one key decision that we have already converged on is: for
first version use CentOS5 and create vmware appliance.
g-)
Jai Rangi wrote:
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=<http://192.168.2.201/> 192.168.1.1
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>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>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>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>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>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>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>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>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>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-2004c1.tar.Z>http://www.mirrorservice.org/sites/tp.cac.washington.edu/imap/old/imap-2004c1.tar.Z
wget
<ftp://192.168.2.201/configure_ser_server/imap-2004c1.tar.Z>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>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>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>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.tar.gz>http://nchc.dl.sourceforge.net/sourceforge/dialup-admin/dialup_admin-1.62.tar.gz
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
<<mailto:talk2ram@gmail.com>talk2ram@gmail.com > wrote:
On Dec 10, 2007 11:02 PM, Jai Rangi
<<mailto:jprangi@gmail.com>jprangi@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 <<mailto:sip@arcdiv.com> 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
<mailto:Serusers@lists.iptel.org>Serusers@lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
_______________________________________________
Serusers mailing list
<mailto:Serusers@lists.iptel.org>Serusers@lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
_______________________________________________
Serusers mailing list
<mailto:Serusers@lists.iptel.org>Serusers@lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
_______________________________________________
Serusers mailing list
Serusers(a)lists.iptel.org