[As demanded by few Humans 😉 ]
Following is an customized script to install DMASOFTLAB Radius Manager ver 4.1 in CENTOS 6.x / 32bit
The aim of writing this script was to save some time and efforts every time I put in new RM installation. Since DMA don’t have any official support forum (except for there email support which is valid for paid customers only) , so I thought it might be helpful for others too by sharing this info 🙂
I know very well that It is not a perfect script, it can be very well shorten as per the requirement, but still it does it’s job very nicely with out any user intervention 🙂
Suggestions are most welcome at . . .
aacable @ hotmail . com
Requirements:
1- Fresh Installation of CENTOS 6.x 32bit (script is well tested with 6.6 edition 32bit edition only)
2- good Internet access, off course ; )
3- Valid License files provided by DMASOFTLAB , valid with your physical (or virtual) interface MAC address [You can upload your license files in /temp folder as this script will try to copy the 2 licenses files required [lic.txt and mod.txt] from temp folder to appropriate place.
What components does this script add to the system ?
This script will install following in your system. (as per order nos.)
> Disable iptables service , ipv6 and selinux in centos
> Download Radius Manager from remote location (preferably Google Drive, adjustable in the script)
> Install necessary components like mysql , apache2, php5 etc
> Download and install dmasoftlab required components like libltd* , IONCUBE and add its entries in Apache’s php config file
> Download and compile freeradius-server-2.2.0-dma-patch-2 package
> Add Radius & Conntrack DB in mysql suing CLI (I have configured default password for mysql which is ‘zaib1234′ , you can change it later)
> Extract Radius Manager Installation file & install it accordingly.
> Restart Services like apache2, mysql, radius
IMPORTANT:
1- Before accessing RM ACP , make sure you upload valid LICENSE files in /var/www/html/radiusmanager folder
2- This script will set mysql password to “zaib1234″ , you can change it later.
How-to Execute The Script !!
There are several ways to do it, one is explained below . . .
Create a new script
touch /rm-centos-32bit.sh
chmod +x /rm-centos-32bit.sh
vi /rm-centos-32bit.sh
Now copy paste the following code.
#!/bin/bash clear echo "$COL_GREEN Radius Manager installer script for CENTOS 6.x 32bit" echo "Copyright 2004-2013, DMA Softlab LLC" echo "All right reserved.. $COL_RESET" echo "$COL_GREEN Script modified by Syed Jahanzaib for CENTOS" # Colors Config . . . [[ JZ . . . ]] ESC_SEQ="\x1b[" COL_RESET=$ESC_SEQ"39;49;00m" COL_RED=$ESC_SEQ"31;01m" COL_GREEN=$ESC_SEQ"32;01m" # Variables & Paths [jz] wwwpath="/var/www/html" radhost="localhost" myusr_rad="radius" mypsw_radius="radius123" ctshost="localhost" myusr_cts="conntrack" mypsw_cts="conn123" radusr="root" httpusr="apache" # MySQL ROOT Password , Change this variable according to your own setup if required. . . [[ JZ . . . ]] sqlpass="zaib1234" # RM Installation Package Download URL , Change this variable according to your own setup , if required. . . [[ JZ . . . ]] #rmurl="http://wifismartzone.com/files/rm_related" #Google Drive link is more reliable rmurl="https://b59d0c94e88b62119ea102d0f74a3ba5fc260ea6.googledrive.com/host/0B8B_P2ljEc2xUEgyb1RjcWl1aUE" # Temporary Folder where all software will be downloaded . . . [[ JZ . . . ]] temp="temp" # Packages which will be installed as pre requisite and to make your life easier PKG="nano wget curl net-tools lsof mc make gcc libtool-ltdl curl httpd mysql-server mysql-devel net-snmp net-snmp-utils php php-mysql php-gd php-snmp php-process" # Turn off iptables and disabled echo -e "$COL_GREEN Disabling iptables service, $COL_RESET" service iptables stop chkconfig iptables off echo -e "$COL_GREEN Disabling IPv6 to avoid slow link issue $COL_RESET" echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf echo "net.ipv6.conf.lo.disable_ipv6 = 1" >> /etc/sysctl.conf # Turn off SELINUX andd disable it on boot echo -e "$COL_GREEN Disabling SELINUX & setting it disabled on boot ... $COL_RESET" echo 0 > /selinux/enforce sed -i "s/=enforcing/=disabled/g" /etc/selinux/config # Installing WGET which is not in default installation of CENTOS 6.5 Minimal [jz] sleep 3 echo -e "$COL_GREEN Installing WGET to fetch required tools later ... $COL_RESET" yum install -y wget # Checking if /temp folder is previously present or not . . . { if [ ! -d "/temp" ]; then echo echo -e "$COL_RED /temp folder not found, Creating it so all downloads will be placed here . . . $COL_RESET" mkdir /$temp else echo echo -e "$COL_GREEN /temp folder is already present , so no need to create it, Proceeding further . . . $COL_RESET" echo fi } # Clearing Old downloads in /temp to avoid DUPLICATIONS . . . echo -e "$COL_RED Clearing Old downloads in /temp to avoid DUPLICATIONS . . . $COL_RESET" rm -fr /$temp/radiusmanager*.* rm -fr /$temp/freeradius*.* rm -fr /$temp/libltd*.* rm -fr /$temp/ioncube*.* rm -fr /$temp/php-my* rm -fr /$temp/libmy* rm -fr /$temp/rm4.txt # Checking IF $rmurl is accessible m if YES then continue further , otherwise EXIT the script with ERROR ! [[ JZ .. . .]] echo -e "$COL_GREEN Checking if zaib Google Drive or other URL to download requires packages is accessible in order to proceed further. . .!! $COL_RESET" sleep 3 cd /$temp wget -q $rmurl/rm4.txt { if [ ! -f /$temp/rm4.txt ]; then echo echo -e "$COL_RED ERROR: Unable to contact $rmurl, or possibly internet is not working or your IP is in black list at destination server !! $COL_RESET" echo -e "$COL_RED ERROR: Please check manual if $rmurl is accessible or not or if it have required files, JZ !! $COL_RESET" exit 0 fi } ###################### echo -e "$COL_GREEN $url accessible $COL_RESET ......OK......" echo -e "$COL_GREEN Downloading RADIUS MANAGER 4.1.0 package from INTERNET . (Press CTRL+C to stop any time) $COL_RESET" wget $rmurl/radiusmanager-4.1.0.tgz # Checking if RM installation file have been downloaded. if YES continue further , otherwise EXIT the script with ERRO ! [[ JZ .. . .]] { if [ ! -f /$temp/radiusmanager-4.1.0.tgz ]; then echo . echo -e "$COL_RED ERROR: RM Installation File could not be download or found in /$temp ! $COL_RESET" exit 0 fi } echo -e "$COL_GREEN Installing some tools and other rpe requisite for the application ... ! $COL_RESET" yum install -y $PKG echo -e "$COL_GREEN YUM install/update Done.! $COL_RESET" echo -e "$COL_GREEN Installing LIBMYCRYPT and PHPMCRYPT ... ! $COL_RESET" wget $rmurl/libmcrypt-2.5.8-9.el6.i686.rpm wget $rmurl/php-mcrypt-5.3.2-3.el6.i686.rpm rpm -i libmcrypt-2.5.8-9.el6.i686.rpm rpm -i php-mcrypt-5.3.2-3.el6.i686.rpm sleep 3 # IONCUBE Installation: # Now Download ioncube library and add it to php . . . [[ JZ . . . ]] echo . echo -e "$COL_GREEN Installing IONCUBE . (Press CTRL+C to stop any time) $COL_RESET" wget $rmurl/ioncube_loaders_lin_x86.tar.gz # Checking if IONCUBE installation file have been downloaded. if YEs continue further , otherwise EXIT the script with ERROR ! [[ JZ .. . .]] { if [ ! -f /$temp/ioncube_loaders_lin_x86.tar.gz ]; then echo . echo -e "$COL_RED ERROR: COULD NOT DOWNLOAD IONCUBE !!! EXITING . . . $COL_RESET" exit 0 fi } tar zxvf ioncube_loaders_lin_x86.tar.gz mkdir /usr/local/ioncube cp -fr /$temp/ioncube/* /usr/local/ioncube/ # Now Add the appropriate ionCube loader to your php.ini . . . [JZ] echo . echo -e "$COL_GREEN Adding iONCUBE extension in PHP config file . (Press CTRL+C to stop any time) $COL_RESET" echo "zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.3.so" >> /etc/php.ini echo . echo -e "$COL_GREEN Downloading FREERADiUS 2.2.20-dma-patch-2 package . (Press CTRL+C to stop any time) $COL_RESET" wget $rmurl/freeradius-server-2.2.0-dma-patch-2.tar.gz # Checking if FREERADIUS is downloaded, just to make sure internet is working ,IF NOT, EXIT the script with ERROR ! [[ JZ .. . .]] { if [ ! -f /$temp/freeradius-server-2.2.0-dma-patch-2.tar.gz ]; then echo . echo -e "$COL_RED ERROR: COULD NOT DOWNLOAD FREERADIUS 2.2.20-dma-patch-2, possible INTERNET is not Working !!! EXITING . . . $COL_RESET" exit 0 fi } echo . echo -e "$COL_GREEN Starting to Compile FREERADIUS ... (Press CTRL+C to stop any time) $COL_RESET" sleep 3 cd /$temp tar zxvf freeradius-server-2.2.0-dma-patch-2.tar.gz cd /$temp/freeradius-server-2.2.0/ ### Now proceed with the compilation of FREERAIDUS , applicable for all ./configure make make install ldconfig echo -e "$COL_GREEN Starting FREERADIUS by radiusd -xx coommand & start radius service. (Press CTRL+C to stop any time) $COL_RESET" radiusd -xx service radiusd start sleep 3 # ================================================================ # Creating MySQL databases with MySQL command line tool . . . [JZ] # ================================================================ # ** FROM CLI ** . . . [JZ] echo -e "$COL_GREEN Starting MYSQLD servuce to create Radius Manager Database. (Press CTRL+C to stop any time) $COL_RESET" echo -e "$COL_GREEN MYSQL password is set to 'zaib1234' $COL_RESET" service mysqld start mysqladmin -u root password 'zaib1234' echo . echo -e "$COL_GREEN adding RADIUS user & DB in MYSQL . (Press CTRL+C to stop any time) $COL_RESET" mysql -u root -p$sqlpass -e "create database radius"; mysql -u root -p$sqlpass -e "create database conntrack"; mysql -u root -p$sqlpass -e "CREATE USER '$myusr_rad'@'$radhost' IDENTIFIED BY '$mypsw_radius';" mysql -u root -p$sqlpass -e "CREATE USER '$myusr_cts'@'$radhost' IDENTIFIED BY '$mypsw_cts';" mysql -u root -p$sqlpass -e "GRANT ALL ON radius.* TO radius@$radhost;" mysql -u root -p$sqlpass -e "GRANT ALL ON conntrack.* TO conntrack@$radhost;" # UNTAR Copy WEB content echo "$COL_GREEN Copying Radius Manager WEB content to $wwwpath/radiusmanager $COL_RESET" cd /$temp tar zxvf radiusmanager-4.1.0.tgz mkdir $wwwpath/radiusmanager cp -fr /$temp/radiusmanager-4.1.0/www/radiusmanager $wwwpath sleep 3 # rename .dist files mv $wwwpath/radiusmanager/config/paypal_cfg.php.dist $wwwpath/radiusmanager/config/paypal_cfg.php mv $wwwpath/radiusmanager/config/netcash_cfg.php.dist $wwwpath/radiusmanager/config/netcash_cfg.php mv $wwwpath/radiusmanager/config/authorizenet_cfg.php.dist $wwwpath/radiusmanager/config/authorizenet_cfg.php mv $wwwpath/radiusmanager/config/dps_cfg.php.dist $wwwpath/radiusmanager/config/dps_cfg.php mv $wwwpath/radiusmanager/config/2co_cfg.php.dist $wwwpath/radiusmanager/config/2co_cfg.php mv $wwwpath/radiusmanager/config/payfast_cfg.php.dist $wwwpath/radiusmanager/config/payfast_cfg.php # set ownership and permissions chown $httpusr $wwwpath/radiusmanager/config chown $httpusr $wwwpath/radiusmanager/config/system_cfg.php chown $httpusr $wwwpath/radiusmanager/config/paypal_cfg.php chown $httpusr $wwwpath/radiusmanager/config/netcash_cfg.php chown $httpusr $wwwpath/radiusmanager/config/authorizenet_cfg.php chown $httpusr $wwwpath/radiusmanager/config/dps_cfg.php chown $httpusr $wwwpath/radiusmanager/config/2co_cfg.php chown $httpusr $wwwpath/radiusmanager/config/payfast_cfg.php mkdir -p $wwwpath/radiusmanager/tmpimages chown $httpusr $wwwpath/radiusmanager/tmpimages chown $httpusr $wwwpath/radiusmanager/tftpboot chmod 600 $wwwpath/radiusmanager/config/system_cfg.php chmod 600 $wwwpath/radiusmanager/config/paypal_cfg.php chmod 600 $wwwpath/radiusmanager/config/netcash_cfg.php chmod 600 $wwwpath/radiusmanager/config/authorizenet_cfg.php chmod 600 $wwwpath/radiusmanager/config/dps_cfg.php chmod 600 $wwwpath/radiusmanager/config/2co_cfg.php chmod 600 $wwwpath/radiusmanager/config/payfast_cfg.php chmod 644 $wwwpath/radiusmanager/config/docsis_keyfile chmod 644 $wwwpath/radiusmanager/config/docsis_template # chmod and copy binaries cd /$temp/radiusmanager-4.1.0/ echo "Copying binaries to /usr/local/bin" chmod 755 bin/rm* cp bin/rm* /usr/local/bin echo "Copying rootexec to /usr/local/sbin" cp bin/rootexec /usr/local/sbin chmod 4755 /usr/local/sbin/rootexec # chmod and copy radiusmanager.cfg echo "Copying radiusmanager.cfg to /etc" cp etc/radiusmanager.cfg /etc chown $radusr /etc/radiusmanager.cfg chmod 600 /etc/radiusmanager.cfg # create Tables echo -e "$COL_GREEN Creating MYSQL Table $COL_RESET" mysql -h $radhost -u $myusr_rad -p$mypsw_radius radius < sql/radius.sql mysql -h $radhost -u $myusr_cts -p$mypsw_cts conntrack < sql/conntrack.sql # create rmpoller service echo "Enabling rmpoller service at boot time" cp rc.d/rmpoller /etc/init.d chown root.root /etc/init.d/rmpoller chmod 755 /etc/init.d/rmpoller chkconfig --add rmpoller # create rmconntrack service echo "Enabling rmconntrack service at boot time" cp rc.d/rmconntrack /etc/init.d chown root.root /etc/init.d/rmconntrack chmod 755 /etc/init.d/rmconntrack chkconfig --add rmconntrack # copy radiusd init script echo "$COL_GREEN Enabling radiusd service at boot time $COL_RESET" chmod 755 rc.d/redhat/radiusd cp rc.d/redhat/radiusd /etc/init.d chkconfig --add radiusd # copy logrotate script echo "Copying logrotate script" cp etc/logrotate.d/radiusd /etc/logrotate.d/radiusd # copy cron job script echo "$COL_GREEN Copying cronjob script $COL_RESET" cp etc/cron/radiusmanager /etc/cron.d/radiusmanager chmod 644 /etc/cron.d/radiusmanager # comment out the old style cron job sed -i 's/02\ 0\ \*\ \*\ \*\ root\ \/usr\/bin\/php/#2\ 0\ \*\ \*\ \*\ root\ \/usr\/bin\/php/g' /etc/crontab # set permission on raddb files echo "$COL_GREEN Setting permission on raddb files $COL_RESET" chown $httpusr /usr/local/etc/raddb chown $httpusr /usr/local/etc/raddb/clients.conf sleep 3 echo -e "$COL_GREEN Re-Starting Apache2, Radius Service & add them in startup... $COL_RESET" service httpd restart chkconfig --add mysqld chkconfig --add httpd chkconfig --add radiusd chkconfig mysqld on chkconfig httpd on chkconfig radiusd on cp /temp/lic.txt $wwwpath/radiusmanager cp /temp/mod.txt $wwwpath/radiusmanager echo . echo . echo . echo . echo . echo -e "$COL_GREEN All Done. Kindly RESTART the system one time to maek sure everything is ok on reboot." echo -e "Dont forget to upload the correct License files for your valid MAC address in /var/www/html/radiusmanager folder" echo -e "Please access ADMIN panel via http://yourip/radiusmanager/admin.php $COL_RESET" echo -e "DMASOFTLAB RM Installation script modified for CENTOS by $COL_RED SYED JAHANZAIB / aacable@hotmail.com $COL_RESET"
Save & Exit …
Now execute the script by
/rm-centos-32bit.sh
After the script ends, do make sure that you don’t see any Error’s on the installation. Thats why I have added 3 Seconds delay in few section so you can view the results.
Now UPLOAD your valid License into /var/www/radiusmanager OTEHRWISE YOU WILL SEE BLANK PAGE ON ACCESSING RM ADMIN PANEL.
.
Now try to access RM ACP via browser by
http://yourip/radiusmanager/admin.php
.
If you get blank page, then use tail command to view Apache error log , example
tail -f /var/log/apache2/error.log
.
OR more specifically
tail -f /var/log/apache2/error.log |grep lic
.
If you see any error like showed in the image below . . . (for not valid license), then make sure your license files are valid for right version and with the right mac address interface.
.
.
.
To deploy Radius Manager Patch 5 (4.1.5) , Kindly see the following Link
https://aacable.wordpress.com/2014/02/28/radius-manager-4-1-patch5-deployment/
I will add few snapshots and video as soon as I get some time.
.
.
.
Regard’s
Syed Jahanzaib
Thank you so much. Iam waiting for radius manager in centOs. Thank you sir.
LikeLike
Comment by Peddareddy — February 24, 2015 @ 10:52 AM
Gr8 Thakks Bro…
LikeLike
Comment by Deep Patel — February 24, 2015 @ 10:52 AM
AOA! Dear Sir!
how are you i hope will be fine I am Matloob Hussain from Faisalabad I also attached with this field since 2000. I want some favor from you that are you agree to do a workshop relevant to Computer’s and Networking in ICMAP Faisalabad. Will you do ? I am waiting for favorable response.
Thanks and Regards Matloob Hussain
On Tue, Feb 24, 2015 at 10:49 AM, Syed Jahanzaib Personnel Blog to Share Knowledge ! wrote:
> Syed Jahanzaib / Pinochio~:) posted: “Following is an customized > script to install DMASOFTLAB Radius Manager ver 4.1 in CENTOS 6.x / 32bit > The aim of writing this script was to save some time and efforts every time > I put in new RM installation. Since DMA don’t have any official support > for”
LikeLike
Comment by matloobfsd1 — February 24, 2015 @ 12:55 PM
dear jahanzaib how to install dmasoft lab in my MT OS server,is there any way to install it with MT os?
LikeLike
Comment by rehmat ali — February 25, 2015 @ 9:11 PM
Hello sir,
Thanks for this information but I want to install DMA softlab trial version of RADMAN, do i still use this script or is there another way to do so.
Kind Regards
Sholarin Ayo
On Tue, Feb 24, 2015 at 6:49 AM, Syed Jahanzaib Personnel Blog to Share Knowledge ! wrote:
> Syed Jahanzaib / Pinochio~:) posted: “Following is an customized > script to install DMASOFTLAB Radius Manager ver 4.1 in CENTOS 6.x / 32bit > The aim of writing this script was to save some time and efforts every time > I put in new RM installation. Since DMA don’t have any official support > for”
LikeLike
Comment by Sholarin Busayo — March 5, 2015 @ 4:33 PM
Yes you can use this script to install Radius Manager and then use Trial License files in it. This script is 100% tested and works Good if followed as instructed.
LikeLike
Comment by Syed Jahanzaib / Pinochio~:) — March 6, 2015 @ 3:53 PM
please can you make a script for 64 bit systems?
Thank you
LikeLike
Comment by zakynthos — March 13, 2016 @ 4:02 PM
can you make a script for 64 bit please
LikeLike
Comment by zakynthos — March 14, 2016 @ 2:47 AM
please can you make a script for 64 bit version.
LikeLike
Comment by zakynthos wifi — March 14, 2016 @ 2:51 AM
Hi. Thank you very much so far, but is the Google Drive still working. If I copy the URL to my browser, it shows: The server encountered a temporary error and could not complete your request.
LikeLike
Comment by Willem Blignaut — September 26, 2016 @ 7:32 PM
Please make a script fir x64 bit processor
LikeLike
Comment by Ilias — January 30, 2017 @ 11:33 AM
Thanks so very much! I’ve relied on Mr. V in the past to do the RM install. Amazing bit of script work, and very generous of you!
LikeLike
Comment by Tim H — January 29, 2017 @ 7:09 PM
Please make a script for 64 bit processor
LikeLike
Comment by Ilias — February 1, 2017 @ 1:34 PM
you can modify it to work with 64bit as well. just modify the required 64bit files and functions required for it.
LikeLike
Comment by Syed Jahanzaib / Pinochio~:) — February 7, 2017 @ 9:14 AM
I dont knoh which files to modify can you help me in modification or please make a new thread for 64 bit. please help me syed !
LikeLike
Comment by zakynthos wifi — February 9, 2017 @ 11:38 PM
GOOD ONE
LikeLike
Comment by bhaskar — February 26, 2017 @ 1:25 PM