Bagaimana jika Anda ingin menambahkan user hostpot Mikrotik?
Jawabannya mudah sekali, gunakan Winbox, tinggal klak-klik beberapa kali, selesai.
Tapi, bagaimana jika user hostpot yang ingin ditambahkan berjumlah ratusan atau mungkin ribuan?
Apakah Anda rela mengklak-klik ratusan atau ribuan kali? pasti tangan bakal pegel, dan ini sangat tidak efisien.
Nah, untuk mengatasi hal ini, Mikrotik telah menyediakan API (Application Program Interface) yang bisa digunakan untuk mengakses perintah-perintah mikrotik dari luar environment (lingkungan) mikrotik itu sendiri. Kita bisa menggunakan banyak bahasa pemrograman, antara lain PHP, Python, C, Ruby, Java, dan masih banyak lagi.
Dalam hal ini kita akan menggunakan PHP, pertama-tama unduh berkas Mikrotik API PHP Class (Rename menjadi file PHP), ini adalah PHP Class untuk menggunakan Mikrotik API, diambil dari halaman resmi Mikrotik.
Selanjutnya buat koding PHP untuk menambahkan User Hotspot (simpan dalam file tambah_user_hotspot.php).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| require ( 'routeros_api.class.php' ); // Ubah sesuai setting mikrotik hotspot Anda define( 'MIKROTIK_IP' , '192.168.88.1' ); define( 'MIKROTIK_USERNAME' , 'admin' ); define( 'MIKROTIK_PASSWORD' , '' ); define( 'SERVER' , 'all' ); define( 'PROFILE' , 'default' ); $API = new routeros_api(); // Aktifkan debug // $API->debug = true; if ( $API ->connect(MIKROTIK_IP, MIKROTIK_USERNAME, MIKROTIK_PASSWORD)) { // Data user dan password hotspot $user = array (1 => array ( 'name' => 'user1' , 'password' => 'pass1' ), 2 => array ( 'name' => 'user2' , 'password' => 'pass2' ), 3 => array ( 'name' => 'user3' , 'password' => 'pass3' ), 4 => array ( 'name' => 'user4' , 'password' => 'pass4' ), 5 => array ( 'name' => 'user5' , 'password' => 'pass5' ), ); foreach ( $user as $tmp ) { $username = "=name=" ; $username .= $tmp [ 'name' ]; $pass = "=password=" ; $pass .= $tmp [ 'password' ]; $server = "=server=" ; $server .=SERVER; $profile = "=profile=" ; $profile .=PROFILE; $API ->write( '/ip/hotspot/user/add' ,false); $API ->write( $username , false); $API ->write( $pass , false); $API ->write( $server , false); $API ->write( $profile ); $ARRAY = $API ->read(); // Debug variable (return value) //echo "<pre>"; //print_r($ARRAY); //echo "</pre>"; } $API ->disconnect(); } |
MIKROTIK_IP, adalah alamat IP dari Mikrotik yang dituju.
MIKROTIK_USERNAME, adalah username untuk login ke Mikrotik.
MIKROTIK_PASSWORD, adalah password untuk login ke Mikrotik.
SERVER, adalah parameter server untuk user yang bersangkutan, all berarti user ini active untuk semua hotspot (jika Anda memiliki lebih dari satu Hotspot).
PROFILE, adalah profile untuk user yang bersangkutan, biasanya digunakan untuk kategori user (pembatasan bandwidth, dan lainnya)
Variable $user adalah array data yang berisi informasi user dan password hotspot yang akan kita tambahkan ke Mikrotik, dalam hal ini saya menggunakan array biasa, Anda bisa menggunakan/mengambil data dari tempat lain, misalnya excel/csv atau query dari database lain.
Selanjutnya nyalakan servis API pada mikrotik, karena memang fitur API secara default tidak aktif. Secara default juga API menggunakan port 8728.
Masuk ke mikrotik dan jalankan perintah:
/ip service enable apiSelanjutnya jalankan skrip tambah_user_hotspot.php dan lihat hasilnya, Anda juga dapat menyalakan debug untuk melihat lebih jelas apa yang terjadi.
sumber :
http://back2arie.wordpress.com/2010/11/05/menambahkan-user-hotspot-mikrotik-secara-massal/