[root@ other]#wget –N http://downloads.sourceforge.net/openh323gk/gnugk-2.2.7-linux-x86.tar.gz?modtime=1207148631&big_mirror=0; tar zxf gnugk-2.2.7-linux-x86.tar.gz;cd gnugk-*; cp bin/gnugk /usr/sbin; mkdir -p /var/log/gk;touch /var/log/gk/cdr.log; cp gk.initd.redhat /etc/rc.d/init.d/gnugk;chmod 755 /etc/rc.d/init.d/gnugk; (備份資料庫)
[root@other]# vi /etc/rc.d/init.d/gnugk
LOGFILE=/var/log/gk/gk.log 更改成: LOGFILE=/var/log/gk/cdr.log (21行)
NDate=`date '+%Y%m%d-%k%M%S'` (取得系统当前日期,23行增加)
[ -f $LOGFILE ] && mv -f $LOGFILE $LOGFILE.bak 更改成: [ -f $LOGFILE ] && mv -f $LOGFILE $LOGFILE.$NDate.bak (40行)
[root@other]# mysqldump -u root -p mysql >/etc/gatekeeper/mysql_bak
[root@other]# rpm -e --nodeps (刪除rpm -qa |grep -i "mysql"列出的所有套件); rm -r -f /var/lib/mysql; rm -r -f /usr/lib/mysql; rm -r -f /usr/lib/mysql3; yum install mysql-* php-mysql libdbi-dbd-mysql MySQL-python mod_auth_mysql freeradius-mysql; service mysqld start; mysqladmin -u root password '****'; mysqladmin -u root -p create gk;
[root@other]# mysqladmin version -p
[root@other]# mysql -u root -p;
mysql> USE mysql; DELETE FROM user WHERE User = '';UPDATE user SET password=password('****') WHERE user='root'; INSERT INTO `user` VALUES ('localhost','root', password('****'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0); INSERT INTO `user` VALUES ('localhost','gkdba', password('****'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0); UPDATE user SET Show_db_priv='Y' WHERE user='gkdba'; FLUSH PRIVILEGES; ( 密碼是****)
mysql> DROP TABLE IF EXISTS `AliasData`;
CREATE TABLE `AliasData` (
`IDAlias` varchar(30) NOT NULL default '',
`IPAddr` varchar(30) NOT NULL default '',
`kind` tinyint(3) unsigned default NULL,
PRIMARY KEY (`IDAlias`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40000 ALTER TABLE `AliasData` DISABLE KEYS */;
LOCK TABLES `AliasData` WRITE;
INSERT INTO `AliasData` VALUES ('a','sigip:192.168.1.17:1720',0),('b','sigip:192.168.2.42:1720',0),('c','sigip:192.168.2.44:1720',0),('d','sigip:192.168.7.2:1720',0),('e','sigip:192.168.8.12:1720',0),('f','sigip:192.168.11.10:1720',0),('g','sigip:192.168.12.10:1720',0),('h','sigip:192.168.13.10:1720',0),('i','sigip:192.168.21.6:1720',0),('j','sigip:192.168.25.6:1720',0),('k','sigip:192.168.31.21:1720',0),('m','sigip:192.168.36.10:1720',0),('n','sigip:192.168.41.25:1720',0),('o','sigip:192.168.41.27:1720',0),('p','sigip:192.168.55.25:1720',0),('q','sigip:192.168.88.7:1720',0),('r','sigip:192.168.130.14:1720',0),('s','sigip:192.168.130.53:1720');
UNLOCK TABLES;
/*!40000 ALTER TABLE `AliasData` ENABLE KEYS */;
DROP TABLE IF EXISTS `IPNData`;
CREATE TABLE `IPNData` (
`IPN` varchar(20) NOT NULL default '',
`Password` varchar(20) NOT NULL default '',
`IPAddr` varchar(20) NOT NULL default '',
`kind` tinyint(3) unsigned default NULL,
PRIMARY KEY (`IPN`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40000 ALTER TABLE `IPNData` DISABLE KEYS */;
LOCK TABLES `IPNData` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `IPNData` ENABLE KEYS */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
[root@other]# yum install linuxdoc-tools;yum install openh323-devel pwlib-devel;
[root@other]#mkdir -p /etc/gatekeeper; vi /etc/gatekeeper/gkmysql.ini
##
## This example shows how to use MySQL as a backend database to
## authenticate the endpoints.
##
## In this example, the MySQL server is bl.citron.com.tw.
## There is a database named 'billing', which contains a table named 'IPNData'.
## There are (at least) four fields in the table: IPN, Password, IPAddr, Kind.
##
[Gatekeeper::Main]
Fourtytwo=42
Name=gktw
#NetworkInterfaces=61.221.141.106/29,10.0.16.1/24
#NetworkInterfaces=61.221.141.106/29
TimeToLive=600
EndpointIDSuffix=_gktw
[RoutedMode]
GKRouted=0
#GKRouted=1
H245Routed=0
CallSignalPort=1720
#CallSignalHandlerNumber=2
RemoveH245AddressOnTunneling=1
DropCallsByReleaseComplete=1
AcceptUnregisteredCalls=0
AcceptNeighborsCalls=1
SupportNATedEndpoints=1
[Proxy]
#Enable=1
#InternalNetwork=192.168.21.0/24,192.168.130.0/24,192.168.2.0/24,192.168.1.0/24,192.168.8.0/24,192.168.11.0/24,192.168.88.0/24,192.168.40.0/24
#T120PortRange=50000-59999
#RTPPortRange=50000-59999
#ProxyForNAT=0
#ProxyForSameNAT=0
#[Endpoint]
#[Endpoint::RewriteE164]
#E188=12
[Gatekeeper::Auth]
MySQLPasswordAuth=optional;RRQ
MySQLAliasAuth=required;RRQ
NeighborPasswordAuth=required
PrefixAuth=sufficient;ARQ,LRQ
default=allow
[Gatekeeper::Acct]
FileAcct=sufficient;start,stop
default=accept
[MySQLAuth]
;
; SELECT Password FROM IPNData WHERE IPN = %id AND Kind > 1
;
Host=localhost
Database=gk
User=gkdba
Password=adstella
Table=IPNData
#IDField=IPN
KeyField=IPN
#PasswordField=Password
DataField=Password
#ExtraCriterion=Kind > 1
[MySQLAliasAuth]
;
;SELECT IPAddr FROM IPNData WHERE IPN = %id AND Kind > 1
;
Host=localhost
Database =gk
User=gkdba
Password=adstella
Table=AliasData
#IDField=IDAlias
KeyField=IDAlias
#IPField=IPAddr
DataField=IPAddr
#ExtraCriterion=Kind > 1
[RasSrv::Neighbors]
[RasSrv::RRQFeatures]
AcceptGatewayPrefixes=1
[RasSrv::ARQFeatures]
CallUnregisteredEndpoints=1
ArjReasonRouteCallToGatekeeper=0
[RasSrv::GWPrefixes]
a=31,831
b=32,832,833,33
c=32,832,833,33
d=36,836
e=51,851
f=21,821
g=22,822
h=23,823
i=11,811
j=12,812
k=71,871
l=71,871
m=72
n=62,862
o=61,861
p=63,863
q=53,853
r=52,852
s=54,85
[RasSrv::RewriteE164]
#66=55
852001=85213539034790
[RasSrv::PermanentEndpoints]
192.168.1.17=a;31,831
192.168.2.42=b;32,832,833,33
192.168.2.44=c;32,832,833,33
192.168.7.2=d;36,836
192.168.8.12=e;51,851
192.168.11.10=f;21,821
192.168.12.10=g;22
192.168.13.10=h;23
192.168.21.6=i;11,811
192.168.25.6=j;12,812
192.168.31.21=k;71,871
192.168.31.30=l;71,871
192.168.36.10=m;72
192.168.41.25=n;62,862
192.168.41.27=o;61,861
192.168.55.25=p;63,863
192.168.88.7=q;53,853
192.168.130.14=r;52,852
192.168.130.53=s;54,854
[EP::Simona]
Capacity=7
GatewayPriority=1
[EP::Simona2]
Capacity=7
GatewayPriority=2
[EP::hp]
Capacity=7
GatewayPriority=1
[EP::VN]
Capacity=7
GatewayPriority=2
[CallTable]
GenerateNBCDR=TRUE
GenerateUCCDR=TRUE
DefaultCallTimeout=7200
[GkStatus::Auth]
rule=allow
[FileAcct]
DetailFile=/var/log/gk/cdr.log
Rotate=daily
RotateTime=23:59
[PrefixAuth]
5=allow ipv4:ALL
ALL=allow ipv4:ALL
# EOF -- by cwhuang
[root@other]# vi /etc/rc.d/init.d/gnugk
GKCONFIG=/etc/gatekeeper.ini (20行)更改為: GKCONFIG=/etc/gatekeeper/gkmysql.ini
LOGFILE=/var/log/gk/gk.log (21行)更改為: LOGFILE=/var/log/gk/cdr.log
[root@other]#wget -N http://www.gnugk.org/download/gkgui-0.11.tgz; tar zxf gkgui-0.11.tar;mv gkgui /var/www/html;service httpd restart;
[root@other]# vi /var/www/html/gkgui/GkGUI.java
} finally { gkUser = ""; gkPassword = ""; }; // no password (173行)更改成 } finally { gkUser = "gkdba"; gkPassword = "adstella"; }; // no password
[root@other]# chmod 444 /var/www/html/gkgui/*