You are on page 1of 26

_________________________________________________________________________

TÀI LIỆU THIẾT KẾ CHI TIẾT

HỆ THỐNG WIFI PRODUCTION

Phiên bản: 1.1

23/10/2014

Copyright ©VIVAS
Page 1 of 26
_________________________________________________________________________
MỤC LỤC
1 LỊCH SỬ CẬP NHẬT TÀI LIỆU ..................................................................................... 4
2 MỤC ĐÍCH CỦA TÀI LIỆU ............................................................................................ 4
3 THÔNG TIN VẬT LÝ CỦA SERVER............................................................................. 5
3.1 Mô hình các thành phần hệ thống hiện tại: ................................................................. 5
3.2 Thông tin phần cứng thiết bị hệ thống Wifi Production ............................................. 6
3.2.1 FrontEnd Server ................................................................................................... 6
3.2.2 BackEnd Server ................................................................................................... 7
3.2.3 Database Server ................................................................................................... 8
3.2.4 Switch Access 19 ................................................................................................. 9
4 MÔ HÌNH TRIỂN KHAI HỆ THỐNG ............................................................................. 9
4.1 UE – User Equipment ............................................................................................... 10
4.2 Radio Access Network – RAN.................................................................................. 10
4.3 Aggregation Gateway................................................................................................ 10
4.4 SMP ........................................................................................................................... 10
5 CALL FOLLOW ............................................................................................................. 11
5.1 Login via http ............................................................................................................ 12
5.2 Logout via http .......................................................................................................... 16
6 CÀI ĐẶT VÀ CẤU HÌNH .............................................................................................. 17
6.1 Radius server ............................................................................................................. 17
6.2 Tomcat ....................................................................................................................... 17
6.3 Nginx ......................................................................................................................... 18
6.4 Database .................................................................................................................... 18
7 TRIỂN KHAI ỨNG DỤNG ............................................................................................ 18
7.1 Radius server và RadiusGate..................................................................................... 18
7.2 Captive Portal ............................................................................................................ 19
7.2.1 Portal Bách Khoa ............................................................................................... 19
7.2.2 Portal Thái Nguyên: ........................................................................................... 20
7.2.3 Portal Trà Vinh .................................................................................................. 21
7.3 Admin Portal ............................................................................................................. 22
7.4 SMPService ............................................................................................................... 23
7.5 SMPPromotion .......................................................................................................... 25

Copyright ©VIVAS
Page 2 of 26
_________________________________________________________________________
7.6 Thiết kế chi tiết CSDL Database Wifi Production .................................................... 26

Copyright ©VIVAS
Page 3 of 26
_________________________________________________________________________

1 LỊCH SỬ CẬP NHẬT TÀI LIỆU


ST Ngày cập Người cập nhật Nội dung cập nhật Phiên Ghi chú
T nhật bản

1 15/10/2014 Nguyễn Việt Hà Khởi tạo tài liệu V1.0

Bổ sung cài đặt và cấu hình Radius


2 23/10/2014 Phan Văn Tân server, mô hình hệ thống và V1.1
RadiusGate

2 MỤC ĐÍCH CỦA TÀI LIỆU


LLD mô tả thông tin về hệ thống Wifi Production, bao gồm các thành phần sau:

- Thông tin vật lý của server: vị trí, cấu hình mạng, thông số server…

- Hướng dẫn cài đặt, cấu hình, vận hành Radius server, radiusGate,

- Các thành phần cài đặt trên server: Hướng dẫn chi tiết cách cài đặt, cấu hình Nginx,
tomcat, database Oracle 11G R2.

- Thông tin các ứng dụng hiện tại: Thông tin chi tiết cách triển khai ứng dụng, các
keywork cần chú ý, tài liệu thiết kế CSDL hệ thống.

Copyright ©VIVAS
Page 4 of 26
_________________________________________________________________________

3 THÔNG TIN VẬT LÝ CỦA SERVER

3.1 Mô hình các thành phần hệ thống hiện tại:


Frontend Backend Database
10.84.69.8 10.84.80.9 10.84.80.204

User Portal
Bách Khoa
SMPService Database

User Portal
Thái Nguyên
Radius
Radius Gate
User Portal Server
Trà Vinh

Admin Portal IP:


VNPTWIFI 103.31.126.85

IP: IP:
103.31.126.85 103.31.126.85

NAS Trà Vinh (SC 7000) NAS Bách Khoa (SC7000)


IP: 113.176.85.4 IP: 172.19.0.253
Secret_key: vivas@travinh03102014 Secret_key: bachkhoa_wifi_secret
Virtual_server: sc_7000 Virtual_server: sc_7000
User_Portal: dhtv.vnptwifi.vn?zone=zone1 User_Portal: bachkhoa.vnptwifi.vn/?zone=zone1
Redirect: tn1.dhtv.vnptwifi.vn Redirect: bk1.bachkhoa.vnptwifi.vn
NAS Thái Nguyên (SC7000)
IP: 222.254.76.98
Secret_key: thainguyen_vnptwifi@123
Virtual_server: sc_7000
User_Portal: thainguyen.vnptwifi.vn/?zone=zone1
Redirect: tn1.thainguyen.vnptwifi.vn

Copyright ©VIVAS
Page 5 of 26
_________________________________________________________________________

3.2 Thông tin phần cứng thiết bị hệ thống Wifi Production


3.2.1 FrontEnd Server

Hình 1: Server HP ProLiant DL360p Gen8

FrontEnd Server là server HP ProLiant DL360p Gen8 có 24 core, nhân Intel(R) Xeon(R)
CPU E5-2620 0 @ 2.00GHz; Ở cứng bao gồm 2 ổ SAS 300G chạy raid 1; Bộ nhớ RAM
16GB; có 4 port Ethernet 1Gbps phía mặt sau.

Dán nhãn: WIFIBK-FE

Vị trí đặt: Tủ rack 2/4A/13/RU29

Serial: SGH250HVEB

Có 2 cổng mạng tương ứng trên Vlan 1069 Internet_Access:

- eth0: port 1/3 switch access 19

- eth1: port 1/4 switch access 19

Đang được cấu hình Bond0(mode Active-Backup) trên 2 cổng mạng eth0 và eth1.

Thông số bonding:

Bond ID Port members


bond0 eth0-1
Thông số IP
Port IP Netmask Gateway/Route
bond0 10.84.69.8 255.255.255.0 10.84.69.1

Copyright ©VIVAS
Page 6 of 26
_________________________________________________________________________

3.2.2 BackEnd Server


BackEnd Server là server HP ProLiant DL360p Gen8 có 24 core, nhân Intel(R) Xeon(R)
CPU E5-2620 0 @ 2.00GHz; Ở cứng bao gồm 2 ổ SAS 300G chạy raid 1; Bộ nhớ RAM
16GB; có 4 port Ethernet 1Gbps phía mặt sau.

Dán nhãn: WIFIBK-BE

Vị trí đặt: Tủ rack 2/4A/13/RU27

Serial:SGH250HVFE

Có 2 cổng mạng tương ứng trên Vlan 1080 Wifi_BackEnd:

- eth0: port 1/5 switch access 19

- eth1: port 1/6 switch access 19

Đang được cấu hình Bond0(mode Active-Backup) trên 2 cổng mạng eth0 và eth1.

Thông số bonding:

Bond ID Port members


bond0 eth0-1
Thông số IP
Port IP Netmask Gateway/Route
bond0 10.84.80.9 255.255.255.128 10.84.80.1

Copyright ©VIVAS
Page 7 of 26
_________________________________________________________________________

3.2.3 Database Server

Hình 2. Server HP ProLiant DL380p Gen8

Database Server là server HP ProLiant DL380p Gen8 có 12 chíp xử ý Intel, nhân Intel(R)
Xeon(R) CPU E5-2620 0 @ 2.00GHz ; Ở cứng bao gồm 2 ổ SAS 600G chạy Raid 1; Bộ
nhớ RAM 16GB; có 4 port Ethernet 1Gbps phía mặt sau.
Dán nhãn: WIFIBK-DB

Vị trí đặt: Tủ rack 2/4A/13/RU11-12

Serial: SGH307MV4R

Có 2 cổng mạng tương ứng trên Vlan 1280 Wifi_Infrastructure:

- eth0: port 1/17 switch access 19

- eth1: port 1/18 switch access 19

Đang được cấu hình Bond0(mode Active-Backup) trên 2 cổng mạng eth0 và eth1.

Thông số bonding:

Bond ID Port members


bond0 eth0-1
Thông số IP
Port IP Netmask Gateway/Route
bond0 10.84.80.204 255.255.255.224 10.84.80.193

Copyright ©VIVAS
Page 8 of 26
_________________________________________________________________________

3.2.4 Switch Access 19

Hình 3. OMNI Switch 6400-24 port

OmniSwitch 6400-U24 Alcatel có 24 port quang, 2 port combo, hỗ trợ layer 3, có khả năng
chuyển mạch 48 Gbps Full Duplex; hỗ trợ 16000 MAC; nguồn cung cấp là nguồn DC 48V.

4 MÔ HÌNH TRIỂN KHAI HỆ THỐNG


SMP

INTERNET

User-Portal Admin-Portal DB
10.84.69.8
FRONT-END SERVER

Si

172.19.0.254
SC7000
172.19.0.253
Access-Point

AAA Service Aplication-Service Radius Gate


10.84.80.9 10.84.80.204
BACK-END SERVER DB SERVER

END-USER

Mô hình trên bao gồm 4 phần chính:

- Thiết bị đầu cuối UE


- Thành phần truy nhập vô tuyến
- Aggregation Gateway
- Hệ thống quản lý SMP

Copyright ©VIVAS
Page 9 of 26
_________________________________________________________________________
4.1 UE – User Equipment
Thiết bị đầu cuối(UE) là những thiết bị hỗ trợ wifi như 3G smartphones, tablets and
laptops. Thiết bị đầu cuối sẽ được nhận thực qua web(Captive Portal) của Service
Management Platform.

4.2 Radio Access Network – RAN


Truy nhập vô tuyến (Radio Access Network - RAN) được tạo thành từ các Access
Point được quản lý bởi Access Controller. Các thiết bị hỗ trợ Wifi muốn truy nhập vào hệ
thống sẽ thông qua web portal để đăng nhập (captive portal).

- AccessPoint: Cung cấp môi trường truy cập không dây cho người dùng cuối. AP
được điều khiển bởi access controller ("Real" hay "virtual") và theo dõi, cấu hình
thông qua hệ thống quản lý mạng vô tuyến
- Access Controller: đóng vai trò điều khiển và quản lý tập trung các AP. Các AP có thể
kết nối đến AC thông qua lớp 2 hoặc lớp 3. Giao diện giữa AP và AC có nhiệm vụ
phát hiện AC khi kết nối một AP mới và tài firmware từ AC xuống AP ngay sau quá
trình kết nối AP với AC.

4.3 Aggregation Gateway


Aggregation Gateway đóng vai trò như một BRAS cho mạng WiFi, bao gồm các chức
năng chính sau đây:

 Tích hợp lưu lượng từ nhiều thiết bị Access Points


 Cung cấp kết nối mạng lớp 2 giữa các phiên WiFi
 Cấp và phân giải địa chỉ IP như vai trò của DHCP và NAT servers
 Thực thi chính sách chất lượng dịch vụ (QoS)
 Cung cấp kết nối mạng lớp 3 và định tuyến IP thông qua mạng xương sống của nhà
cung cấp dịch vụ Internet

4.4 SMP
Hệ thống quản lý dịch vụ (Service Management Platform - SMP) sẽ quản lý toàn bộ
dịch vụ khách hàng, tạo tài khoản, cơ chế tính cước, thanh toán như thẻ cào, thẻ credit…, một
trang web đăng nhập được đưa ra khi khánh hàng bắt đầu sử dụng dịch vụ
Hệ thống bao gồm các thành phần sau:

- Portal: Bao gồm User Portal và Admin Portal:

Copyright ©VIVAS
Page 10 of 26
_________________________________________________________________________
o User Portal (hay Captive Portal): Là trang để người dùng có thể đăng nhập,
quản lý tài khoản, mua gói cước và sử dụng dịch vụ
o Admin Portal: Cung cấp giao diện cho người quản trị có thể quản lý khách
hàng (tra cứu thông tin, lịch sử sử dụng dịch vụ, gia hạn,…); Quản lý các sản
phẩm, dịch vụ của WiFi (tạo service package, định nghĩa giá, policy,…); Quản
lý các voucher, PIN code;…
- Backend: Bao gồm AAA Service và Aplication Service
o AAA Service: (AAA – Authentication, Authorization and Accounting):
 Đóng vai trò là trung tâm xử lý các yêu cầu truy nhập, định nghĩa
chính sách sử dụng và tính cước.
 Giao tiếp với các Radius Client (AGW/AC…) thông qua các tham số
được chuẩn hóa
o Application Service:
 Thành phần chính xử lý các yêu cầu từ front end gửi xuống
- DB:

Bao gồm DB và AAA Back-end Service, trong đó AAA Back-end Service cần thao
tác trực tiếp với DB với tốc độ cao, do đó AAA Back-end Service được triển khai cùng với
DB Server

o DB: sử dụng cho dự án cài Oracle 11g, lưu trữ các thông tin về khách hàng,
gói cước, chính sách sử dụng, lịch sử sử dụng,….
o AAA Back-end Service:
 Xử lý các yêu cầu từ AAA Module
 Xử lý chính sách liên quan đến service profile mức session
 Kiểm soát lưu lượng truy cập của mỗi khách hàng

5 CALL FOLLOW
Trong phần này sẽ giới thiệu call-flow login/logout cơ bản cho mô hình xác thực thông
qua http và CoA:

Copyright ©VIVAS
Page 11 of 26
_________________________________________________________________________
5.1 Login via http
LOGIN FLOW

Mine
End-User Access Point AGW Captive Portal SMP

DHCP REQUEST

DHCP RESPONSE

HTTP REQUEST

HTTP 302 - Redirect Portal IP

Login page will display


Fill out Username/Password
Inform login successfully with OK buton to surf Internet

Press OK button

HTTP 302 – Redirect to AGW with username/password


Http://AGW-ip-address/login?username=xxx&password=yyy&dst=http://
RADIUS: Access-Request
google.com.vn
Username = xxx/User-Password = yyy/Acct-Session-Id = zzz
RADIUS: Access-Reply
Service Profile = ?
HTTP 302 – Redirect http://google.com.vn
RADIUS: Accounting-Start
Acct-Status-Type = Start/User-Name = xxx/Acct-Session-Id = zzz
RADIUS: Accounting-Response

Surf Internet

RADIUS: Interim-Update
Used-Time=?/Used-Capacity=?/Acct-Session-Id = zzz
RADIUS: Accounting-Response

Bước 1: Client kết nối Wifi, gửi bản tin dhcp_req tới AGW/AC để yêu cầu địa chỉ IP
Bước 2: AGW/AC gửi bản tin dhcp_reply cấp địa chỉ IP cho client
Bước 3: Người dùng kết nối Internet (vào trang google.com …)
Bước 4: AGW/AC redirect người dùng đến trang Captive Portal của hệ thống SMP
Bước 5: Captive Portal trả về trang chủ cho người dùng
Bước 6: Người dùng điền thông tin đăng nhập vào trang Captive portal (thông tin đăng nhập
có thể là cặp username/password hoặc là mã truy cập). Nếu thông tin truy cập đúng, chuyển
sang bước 7, nếu thông tin truy cập sai sẽ hiển thị thông tin truy cập sai trên Captive Portal.
Bước 7: Captive Portal gửi redirect link cho người dùng, cấu trúc redirect link như sau:
http://{AGG/AC_IP}/login?username=….&password=….&dst=google.com.vn.
Ví dụ:
http://192.168.183.1/login?username=1416;975;0&password=uz5jrs88fcs50ydf7z2l7908324
d563bc69441a76f7fbb71dee7afb1398a&dst=http://google.com.vn?res=success&popup=false

Copyright ©VIVAS
Page 12 of 26
_________________________________________________________________________
Trong đó 192.168.183.1 là địa chỉ IP của AGW/AC, các tham số cần chú ý là username và
password cũng như dst(trang trả về cho người dùng khi đăng nhập thành công hiện tại là
google.com.vn). Các tham số này được cấu hình cụ thể trong file configuration.properties
trong tomcat của portal trong thư mục :
Trên production triển khai tại bách khoa có cấu hình như sau:
Trong thư mục /opt/WEB/tomcat9091/portalbachkhoa/SMPFrontEnd/WEB-INF/classes,
view file configuration.properties ta thấy:
sendredirect.dst=http://google.com.vn?res=success&popup=false
sendredirect.protocol=http://
sendredirect=bachkhoa.vnptwifi.vn/login?
logout.url=http://bk1.bachkhoa.vnptwifi.vn/logout // link direct gửi cho AGW/AC khi
logout
ip_access=113.190.46.190
zone1=bk1
Ở đây ta không sử dụng địa chỉ IP do có nhiều AP nên ta sử dụng zone để group các AP lại,
theo như cấu hình trên production thì zone1=bk1, khi đó link redirect AGG cần cấu hình là
bk1.bachkhoa.vnptwifi.vn
Bước 8: Người dùng redirect theo link đã được gửi tới AGW/AC
Bước 9: Trên cơ sở thông tin gửi từ client, AGW/AC gửi bản tin Radius_req tới AAA server
(trong bản tin Radius_req bao gồm cả username, password của người dùng).
Access-Request packet from host 172.19.0.253 port 45275, id=46, length=238
NAS-Port-Type = Wireless-802.11
Calling-Station-Id = "20:7C:8F:75:BA:26"
Called-Station-Id = "hotspot_BK"
NAS-Port-Id = "bridge_vlan250"
User-Name = "1493;8750;0"
NAS-Port = 2151725540
Acct-Session-Id = "8040b9e4"
Framed-IP-Address = 10.0.8.99
Mikrotik-Host-IP = 10.0.8.99
User-Password = "y9ao0lwzdfimv3d81tl8967630f2ddd8d1c60bfacb34ec4d53adf1c47b92"
Service-Type = Login-User
WISPr-Logoff-URL = "http://10.0.8.1/logout"
NAS-Identifier = "MikroTik"

Copyright ©VIVAS
Page 13 of 26
_________________________________________________________________________
NAS-IP-Address = 172.19.0.253

Hiện tại username của người dùng đã được mã hóa, ví dụ tài khoản tra_truoc_tan, pass:
123456 sẽ được mã hóa dưới dạng "1493;8750;0" và pass là: User-Password =
"y9ao0lwzdfimv3d81tl8967630f2ddd8d1c60bfacb34ec4d53adf1c47b92", password này đã
được mã hóa khác so với password trong database để bảo mật. Password mà AC/AWG gửi
lên được gộp thêm với ValidSession, theo như password ở trên thì nó gồm 2 phần, phần đầu
“y9ao0lwzdfimv3d81tl” chính là validSession còn phần còn lại chính là password đã được
mã hóa và lưu trong DB. Cần lưu ý vấn đề này trog quá trình troubleshoot.
Tiếp đó, AAA server sẽ check thông tin người dùng gửi lên (chứng thực, phân quyền …).
Nếu người dùng được phép truy cập Internet (theo 1 policy nào đó), sẽ chuyển đến bước 10.2,
Nếu người dùng không được truy cập Internet, chuyển sang bước 10.1
Bước 10.1: AAA server gửi bản tin Access_reject, người dùng không được phép truy cập
Internet.
Bước 10.2: AAA server gửi bản tin Access_accept, người dùng được phép truy cập Internet
theo 1 policy đã được định nghĩa trong bản tin access_accept đồng thời chuyển sang bước 11.
Sending Access-Accept of id 46 to 172.19.0.253 port 45275
User-Name = "1493;8750;0"
Session-Timeout = 1410065407
Acct-Session-Id = "8040b9e4" //AGW/AC sẽ gửi lại tham số này khi gửi bản tin
accounting start lên
Mikrotik-Xmit-Limit = 0
WISPr-Bandwidth-Max-Up = 512000
Mikrotik-Xmit-Limit-Gigawords = 1
WISPr-Bandwidth-Max-Down = 5000000
Trong bản tin access-accept, server trả về cho người dùng profile của người dùng như user-
name, băng thông đường lên, đường xuống tối đa, session tính cước…. Các thông tin này
được radiusGate trả về cho Radius server (xem trong autl_perl.pl)
Bước 11: AGW/AC gửi link truy cập internet thành công cho người dùng ( vd: link redirect
sang trang google.com)
Bước 12: AGW/AC gửi bản tin acct-start đến AAA server để bắt đầu tính cước cho phiên
truy cập, chú ý rằng các bản tin tính cước đều là các bản tin accouting request, tuy nhiên có 3

Copyright ©VIVAS
Page 14 of 26
_________________________________________________________________________
loại là start, interim-update và stop. Quan sát log của radius server ta sẽ thấy điều này quy
định ở trường Acct-Status-Type
Accounting-Request packet from host 172.19.0.253 port 53937, id=47, length=154
Acct-Status-Type = Start //Loại bản tin accounting
NAS-Port-Type = Wireless-802.11
Calling-Station-Id = "20:7C:8F:75:BA:26" //Địa chỉ MAC của người dùng
Called-Station-Id = "hotspot_BK"
NAS-Port-Id = "bridge_vlan250"
User-Name = "1493;8750;0"
NAS-Port = 2151725540
Acct-Session-Id = "8040b9e4" //session tính cước
Framed-IP-Address = 10.0.8.99 //địa chỉ IP người dùng
Mikrotik-Host-IP = 10.0.8.99
Event-Timestamp = "Oct 1 2014 23:27:27 ICT"
NAS-Identifier = "MikroTik"
Acct-Delay-Time = 0
NAS-IP-Address = 172.19.0.253

Bước 13: AAA server gửi bản tin acct-ack đến AGW/AC báo hiệu đã nhận được bản tin acct-
start. Đây chỉ là bản tin ACK Accounting Response, không có thông số đi kèm.

Copyright ©VIVAS
Page 15 of 26
_________________________________________________________________________
5.2 Logout via http
LOGOUT FLOW

End-User
Mine Access Point AGW Captive Portal SMP

Surf Internet

RADIUS: Interim-Update
Used-Time=?/Used-Capacity=?/Acct-Session-Id = zzz

RADIUS: Accounting-Response

Press Log-out button

HTTP 302 – Redirect to AGW with username/password


Http://AGW-ip-address/logout

Http://AGW-ip-address/logout

HTTP 302 – Redirect Captive Portal

RADIUS: Accounting-Stop
Username=?/Acct-Session-Id=?/Used-Time=?/Used-Capacity=?

RADIUS: Accounting-Response

Bước 1: Client click nút logout trên trang captive portal


Bước 2: Captive portal gửi link redirect cho người dùng. Link redirect có cấu trúc như sau:
http://{AGG/AC_IP}/logout?, trên production hiện tại đang dùng là
“http://bk1.bachkhoa.vnptwifi.vn/logout”
Bước 3: Người dùng redirect tới link đã được gửi bởi captive portal
Bước 4: AGW/AC dựa trên thông tin người dùng gửi đến, gửi bản tin acct-stop đến AAA
server (trong bản tin acct-stop chứa cả username, session-id, và các thông tin khác liên quan
đến dung lượng download, upload, thời gian kết nối ….)
Accounting-Request packet from host 172.19.0.253 port 51709, id=151, length=202
Acct-Status-Type = Stop //Loại bản tin accounting request
Acct-Terminate-Cause = Lost-Service
NAS-Port-Type = Wireless-802.11

Copyright ©VIVAS
Page 16 of 26
_________________________________________________________________________
Calling-Station-Id = "20:7C:8F:75:BA:26"
Called-Station-Id = "hotspot_BK"
NAS-Port-Id = "bridge_vlan250"
User-Name = "1493;8750;0" //Username đã được mã hóa
NAS-Port = 2151725540
Acct-Session-Id = "8040b9e4" //session tính cước
Framed-IP-Address = 10.0.8.99 //Địa chỉ Ip của user
Mikrotik-Host-IP = 10.0.8.99
Event-Timestamp = "Oct 2 2014 00:18:44 ICT"
Acct-Input-Octets = 9901268
Acct-Output-Octets = 189388584
Acct-Input-Gigawords = 0
Acct-Output-Gigawords = 0
Acct-Input-Packets = 103981
Acct-Output-Packets = 153451 //Dung lượng đã sử dụng = Acct-Output-Packets - Acct-Input-
Packets
Acct-Session-Time = 3076 //Thời gian kết nối của user
NAS-Identifier = "MikroTik"
Acct-Delay-Time = 0
NAS-IP-Address = 172.19.0.253

Bước 5: AAA server gửi bản tin acct-ack tới AGW/AC.


Bước 6: AGW/AC trả lại cho người dùng trang logout thành công

6 CÀI ĐẶT VÀ CẤU HÌNH


6.1 Radius server

cấu hình radius


server.docx

6.2 Tomcat

Cài đặt và cấu hình


Tomcat

Copyright ©VIVAS
Page 17 of 26
_________________________________________________________________________
6.3 Nginx

Cài đặt và cấu hình


Nginx

6.4 Database

Cài đặt và cấu hình


db Oracle 11G R2

7 TRIỂN KHAI ỨNG DỤNG


7.1 Radius server và RadiusGate

- Với radius server, hiện tại log được ghi vào file /opt/radius_log/rad_server.log, khi
debug hay cần search thông tin người dùng thì tìm kiếm tại file này. Thực tế khi cần
debug xem log trực tiếp thì gõ lệnh “radius –X”.
- Với radiusGate, log được ghi trong thư mục /opt/RadiusGate/ server chứa DB để xem
cụ thể các tham số mà RadiusGate trả về cho radius server. Câu lệnh xem log là:
+ tailf /opt/RadiusGate/nohup.out
- Khi cần restart lại radius, chạy file restart.sh trong thư mục /opt/freeradius/etc/raddb/
- Restart Radius Gate
+ Lấy tiến trình đang hoạt động:
ps axu | grep RadiusGateh => Có id
+ Stop tiến trình:
kill -9 <Id vừa tìm được ở lệnh trên>
+ Khởi động ứng dùng bằng lệnh:
nouhup java -jar SMPRadiusGate.jar &

Copyright ©VIVAS
Page 18 of 26
_________________________________________________________________________
7.2 Captive Portal
7.2.1 Portal Bách Khoa
Triển khai portal cho người dùng Bách Khoa trên cả hai tomcat9091 và tomcat9092. (path =
/opt/WEB). Server FE

File war: SMPFrontEnd.war

File deploy tại + path/tomcat9091/portalbachkhoa/SMPFrontEnd

+ path/tomcat9092/portalbachkhoa/SMPFrontEnd

Link portal: http://bachkhoa.vnptwifi.vn

Ta chú ý những file cấu hình sau:

* cat /opt/WEB/tomcat9091/portalbachkhoa/SMPFrontEnd/WEB-INF/classes/service.properties

api.url=http://10.84.80.9:9091/SMPService/ServiceAPI
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
default.partner.id=1
Trong đó:

Key api.url: Url gọi tới api service xử lý của hệ thống (server BE)

Key encrypt.key: Mã bí mật được sinh cho hệ thống.

Key default.partner.id: ID của đối tác tương ứng. (Bách Khoa, Thái Nguyên, Trà Vinh…)

* cat /opt/WEB/tomcat9091/portalbachkhoa/SMPFrontEnd/WEB-INF/classes/configuration.properties

encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
count.login.invalid=5
record.each.page=5
#Unit are minute ~ 30'
time.lock.account=30
sendredirect.dst=http://google.com.vn?res=success&popup=false
sendredirect.protocol=http://
sendredirect=bachkhoa.vnptwifi.vn/login?
logout.url=http://bk1.bachkhoa.vnptwifi.vn/logout
ip_access=113.190.46.190
zone1=bk1
Trong đó:

- Key count.login.invalid: Số lần user có thể đăng nhập trước khi bị khóa tài khoản do đăng
nhập sai user/password

- Key time.lock.accout: Thời gian khóa tài khoản

Copyright ©VIVAS
Page 19 of 26
_________________________________________________________________________
- Key sendredirect…: Tổng hợp đường link user được forward tới khi click vào truy cập
internet

- Key logout.url: Url logout cho user. Chú ý cần có tiền tố zone1 ở trước đường link truy cập
vào portal.

7.2.2 Portal Thái Nguyên:


Triển khai portal cho người dùng Thái Nguyên trên cả hai tomcat9091 và tomcat9092. (path
= /opt/WEB). Server FE

File war: TNSMPFrontEnd.war

File deploy tại + path/tomcat9091/portalthainguyen/TNSMPFrontEnd

+ path/tomcat9092/portalthainguyen/TNSMPFrontEnd

Link portal: http://thainguyen.vnptwifi.vn

Ta chú ý những file cấu hình sau:

* cat /opt/WEB/tomcat9091/portalthainguyen/TNSMPFrontEnd/WEB-INF/classes/service.
properties

api.url=http://10.84.80.9:9091/SMPService/ServiceAPI
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
default.partner.id=18
Trong đó:

Key api.url: Url gọi tới api service xử lý của hệ thống (server BE)

Key encrypt.key: Mã bí mật được sinh cho hệ thống.

Key default.partner.id: ID của đối tác tương ứng. (Bách Khoa, Thái Nguyên, Trà Vinh…)

* cat /opt/WEB/tomcat9091/portalthainguyen/TNSMPFrontEnd/WEB-INF/classes/configuration.
properties

encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
count.login.invalid=5
record.each.page=5
#Unit are minute ~ 30'
time.lock.account=30
sendredirect.dst=http://google.com.vn?res=success&popup=false
sendredirect.protocol=http://
sendredirect=thainguyen.vnptwifi.vn/login?
logout.url=http://tn1.thainguyen.vnptwifi.vn/logout
ip_access=113.190.240.238
zone1=tn1

Copyright ©VIVAS
Page 20 of 26
_________________________________________________________________________
Trong đó:

- Key count.login.invalid: Số lần user có thể đăng nhập trước khi bị khóa tài khoản do đăng
nhập sai user/password

- Key time.lock.accout: Thời gian khóa tài khoản

- Key sendredirect…: Tổng hợp đường link user được forward tới khi click vào truy cập
internet

- Key logout.url: Url logout cho user. Chú ý cần có tiền tố zone1 ở trước đường link truy cập
vào portal.

7.2.3 Portal Trà Vinh


Triển khai portal cho người dùng Trà Vinh trên cả hai tomcat9091 và tomcat9092. (path =
/opt/WEB). Server FE

File war: TVSMPFrontEnd.war

File deploy tại + path/tomcat9091/portaltravinh/TVSMPFrontEnd

+ path/tomcat9092/portaltravinh/TVSMPFrontEnd

Link portal: http://dhtv.vnptwifi.vn

Ta chú ý những file cấu hình sau:

* cat /opt/WEB/tomcat9091/portaltravinh/TVSMPFrontEnd/WEB-INF/classes/service. properties

api.url=http://10.84.80.9:9091/SMPService/ServiceAPI
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
default.partner.id=19
Trong đó:

Key api.url: Url gọi tới api service xử lý của hệ thống (server BE)

Key encrypt.key: Mã bí mật được sinh cho hệ thống.

Key default.partner.id: ID của đối tác tương ứng. (Bách Khoa, Thái Nguyên, Trà Vinh…)

* cat /opt/WEB/tomcat9091/portaltravinh/TVSMPFrontEnd/WEB-INF/classes/configuration. properties

encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
count.login.invalid=5
record.each.page=5
#Unit are minute ~ 30'
time.lock.account=30
sendredirect.dst=http://google.com.vn?res=success&popup=false

Copyright ©VIVAS
Page 21 of 26
_________________________________________________________________________
sendredirect.protocol=http://
sendredirect=dhtv.vnptwifi.vn/login?
logout.url=http://tv1.travinh.vnptwifi.vn/logout
ip_access=113.190.240.238
zone1=tv1
Trong đó:

- Key count.login.invalid: Số lần user có thể đăng nhập trước khi bị khóa tài khoản do đăng
nhập sai user/password

- Key time.lock.accout: Thời gian khóa tài khoản

- Key sendredirect…: Tổng hợp đường link user được forward tới khi click vào truy cập
internet

- Key logout.url: Url logout cho user. Chú ý cần có tiền tố zone1 ở trước đường link truy cập
vào portal.

7.3 Admin Portal

Triển khai Admin Portal cho người quản trị trên tomcat9093 (path = /opt/WEB). Server FE

File war: SMPBackEnd.war

File deploy tại: path/tomcat9093/adminportal/SMPBackEnd

Link Admin Portal: http://admin.vnptwifi.vn

Ta chú ý những file cấu hình sau:

* cat /opt/WEB/tomcat9093/adminportal/SMPBackEndEnd/WEB-INF/classes/service. properties

api.url=http://10.84.80.9:9091/SMPService/ServiceAPI
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
default.partner.id=3
Trong đó:

Key api.url: Url gọi tới api service xử lý của hệ thống (server BE)

Key encrypt.key: Mã bí mật được sinh cho hệ thống.

Key default.partner.id: ID của đối tác tương ứng. (Bách Khoa, Thái Nguyên, Trà Vinh…)

* cat /opt/WEB/tomcat9091/portaltravinh/TVSMPFrontEnd/WEB-INF/classes/configuration. properties

count.login.invalid=5
#Unit are minute ~ 30'
time.lock.account=30

Copyright ©VIVAS
Page 22 of 26
_________________________________________________________________________
record.each.page=5
#la partner cua system admin, co the chon ds partner
partner.admin.id=0
#default cho cac frontend la back khoa
default.partner.id=1
Trong đó:

- Key count.login.invalid: Số lần user có thể đăng nhập trước khi bị khóa tài khoản do đăng
nhập sai user/password

- Key time.lock.accout: Thời gian khóa tài khoản

- Key partner.admin.id: ID của partner system admin.

- Key default.partner.id: ID của đối tác tương ứng. (Bách Khoa, Thái Nguyên, Trà Vinh…)

7.4 SMPService
Triển khai core ServiceAPI của hệ thống trên tomcat9091 (path = /opt/WEB). Server BE

Mục đích: Xử lý toàn bộ yêu cầu từ FE gửi tới

File war: SMPService.war

File deploy tại: path/tomcat9091/webapps/SMPService

Link api service: http://10.84.80.9:9091/SMPService/ServiceAPI

Ta chú ý những file cấu hình sau:

* cat /opt/WEB/tomcat9091/webapps/SMPService/WEB-INF/jdbc.properties

jdbc.url=jdbc:oracle:thin:@10.84.80.204:1521:wifi
jdbc.username=radius
jdbc.password=radius1234
#Config worker
#s m H d m y
#0/X: run every X
#X : run at X
#Chay vao 0h0'0s 05 errery month
#export.bill.time=0 0 0 5 * * ?
#0h0m0s ngay 1 hang thang
export.bill.time= 0 0 3 1 * ?
#export.bill.to.file.time=0 0 0 5 * ?
export.group.bill.time= 0 0 1 1 * ?
export.bill.to.txt.file.time= 0 0 15 1 * ?
card.worker.time= 0 0 0 * * ?
#0h0m0s ngay 16 hang thang
check.bill.worker.time=0 0 0 16 * ?
report.total.customer.time= 0 30 0 * * ?
Trong đó:

Copyright ©VIVAS
Page 23 of 26
_________________________________________________________________________
Key jdbc.url: Url gọi tới api kết nối tới db oracle, chú ý IP, Port, SID

Key jdbc.username: Username account của ứng dụng trên db

Key jdbc.password: Password

Key export.bill.time: Config thời gian xuất cước cá nhân hàng tháng

Key export.group.bill.time: Config thời gian xuất cước nhóm hàng tháng

Key export.bill.to.txt.file.time: Config thời gian xuất cước ra file txt

Key card.worker.time: Config thời gian thay đổi trạng thái status của thẻ

Key check.bill.worker.time: Config thời gian chạy báo cáo biến động khách hàng

Key report.total.customer.time: Config thời gian tổng hợp báo cáo biến động hàng ngày

* cat /opt/WEB/tomcat9091/webapps/SMPService/WEB-INF/classes/configuration.properties

encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
count.login.invalid=5
record.each.page=5
#Unit are minute ~ 30'
time.lock.account=30
#number of thread for autoext
export.bill.number.thread=5
export.bill.to.file.number.thread=5
#Run mod: 0 production, 1: Test
export.bill.run.mod=0

card.worker.number.thread=2
#production mod
socket.server.host=10.84.80.204
export.txt.file.path=/opt/WEB/tomcat9091/webapps/SMPService/WEB-INF/file_export
socket.server.port=9090
Trong đó:

- Key count.login.invalid: Số lần user có thể đăng nhập trước khi bị khóa tài khoản do đăng
nhập sai user/password

- Key time.lock.accout: Thời gian khóa tài khoản

- Key export.bill.run.mod: Chọn mod run 0 trên production

- Key export.txt.file.path: Config đường dẫn chứa file cước txt của hệ thống.

Copyright ©VIVAS
Page 24 of 26
_________________________________________________________________________
* cat /opt/WEB/tomcat9091/webapps/SMPService/WEB-INF/classes/service.properties

api.promotion.url=http://localhost:9091/SMPPromotion/SMPPromotionAPI
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
#la partner cua system admin, co the chon ds partner
partner.admin=0
#default cho cac frontend la back khoa
default.partner.id=3
Trong đó:

- Key api.promotion.url: Url gọi tới api SMPPromotion của hệ thống

7.5 SMPPromotion
Triển khai core SMPPromotionAPI của hệ thống trên tomcat9091 (path = /opt/WEB). Server
BE

Mục đích: Xử lý các yêu cầu về tạo chiến dịch khuyến mại cho từng partner của hệ thống

File war: SMPPromotion.war

File deploy tại: path/tomcat9091/webapps/SMPPromotion

Link api service: http://10.84.80.9:9091/SMPPromotion/SMPPromotionAPI

Ta chú ý những file cấu hình sau:

* cat /opt/WEB/tomcat9091/webapps/SMPPromotion/WEB-INF/jdbc.properties

jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.dialect=org.hibernate.dialect.Oracle10gDialect
jdbc.show_sql=true
jdbc.url=jdbc:oracle:thin:@10.84.80.204:1521:wifi
jdbc.defaultNChar=true
jdbc.charSet=utf-8
jdbc.useUnicode=true
jdbc.characterEncoding=utf-8
#production mod:
jdbc.username=radius
jdbc.password=radius1234
Trong đó:

Key jdbc.url: Url gọi tới api kết nối tới db oracle, chú ý IP, Port, SID

Key jdbc.username: Username account của ứng dụng trên db

Key jdbc.password: Password

Copyright ©VIVAS
Page 25 of 26
_________________________________________________________________________
7.6 Thiết kế chi tiết CSDL Database Wifi Production

Tài liệu thiết kế chi


tiết CSDL Database Wifi

Copyright ©VIVAS
Page 26 of 26

You might also like