Rabu, 05 Juli 2017

1548 Cannot load from mysql.proc. The table is probably corrupted

error seperti ini biasanya terjadi pada saat restore database dari Engine database yang lebih tinggi ke Engine database dengan versi lebih rendah misal database MySQL versi 5.5 di restore ke database MySQL versi 5.1

MySQL will sometimes return the error message “Cannot load from mysql.proc. The table is probably corrupted”. This happens due to schema changes required for different MySQL server versions. The simple fix to this problem is to run the mysql_upgrade command from the command line.

About mysql_upgrade

mysql_upgrade examines all tables across all databases for incompatibilities with the current version of MySQL Server. mysql_upgrade also upgrades the system tables so that you can take advantage of new privileges or capabilities that might have been added.

mysql_upgrade should be executed each time you upgrade MySQL. It supersedes the older mysql_fix_privilege_tables script, which should no longer be used.

mysql_upgrade executes the following commands to check and repair tables and to upgrade the system tables:

mysqlcheck --all-databases --check-upgrade --auto-repair

mysql < fix_priv_tables

Run mysql_upgrade From Command Line

To use mysql_upgrade, make sure your MySQL server is running and then invoke mysql_upgrade from the command line tool:

mysql_upgrade -uroot -p --force

You should then be prompted to enter the MySQL root's password and mysql_upgrade will check all the databases and tables and fix them where appropriate. You may need to specify the full path to the above command if it's not in the shell's search path.

On Debian 6 it should be loacted at:

/usr/bin/mysql_upgrade -uroot -p --force

On Mac's MAMP the default path is:

/Applications/MAMP/Library/bin/mysql_upgrade -uroot -p --force

On Windows it'll be where MySQL is installed and contained in the bin subdirectory. By default it should be located at:

"C:\Program Files\MySQL\MySQL Server\[*CHANGE TO MySQL SERVER*]\bin\mysqladmin" -u root shutdown

VICTORY!

After running mysql_upgrade, stop the server and restart it so that any changes made to the system tables are ensured to take effect.

All checked and repaired tables are marked with the current MySQL version number. This ensures that next time you run mysql_upgrade with the same version of the server, it can tell whether there is any need to check or repair the table again.

URL Sumber : http://www.myguysolutions.com/2013/10/30/how-to-resolve-mysql-error-code-1548-cannot-load-from-mysql-proc-the-table-is-probably-corrupted/

Selasa, 18 April 2017

Load Balance 2 ISP PCC Mode - Mikrotik

LOAD BALANCING PCC MODE

IP Gateway :

ISP 1 = 192.168.62.82
ISP 2 = 192.168.5.1

/ip firewall mangle
add action=mark-connection chain=input comment="" connection-state=new \
disabled=no in-interface="ether1-citranet" new-connection-mark=isp-1 passthrough=yes

add action=mark-connection chain=input comment="" connection-state=new \
    disabled=no in-interface="ether5-indihome" new-connection-mark=isp-2 passthrough=yes

add action=mark-routing chain=output comment="" connection-mark=isp-1 \
    disabled=no new-routing-mark=jalur-1 passthrough=no

add action=mark-routing chain=output comment="" connection-mark=isp-2 \
    disabled=no new-routing-mark=jalur-2 passthrough=no

add action=mark-connection chain=prerouting comment="" disabled=no \
    dst-address-type=!local in-interface="ether2-lokal" new-connection-mark=\
    isp-1 passthrough=yes per-connection-classifier=both-addresses-and-ports:2/0

add action=mark-connection chain=prerouting comment="" disabled=no \
    dst-address-type=!local in-interface="ether2-lokal" new-connection-mark=\
    isp-2 passthrough=yes per-connection-classifier=both-addresses-and-ports:2/1

add action=mark-routing chain=prerouting comment="" connection-mark=isp-1 \
    disabled=no in-interface="ether2-lokal" new-routing-mark=jalur-1 passthrough=yes

add action=mark-routing chain=prerouting comment="" connection-mark=isp-2 \
    disabled=no in-interface="ether2-lokal" new-routing-mark=jalur-2 passthrough=yes

/ip firewall nat
add chain=srcnat action=masquerade out-interface="ether1-citranet" comment="" disabled=no
add chain=srcnat action=masquerade out-interface="ether2-indihome" comment="" disabled=no
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.62.82 \
    routing-mark=jalur-1
add disabled=no distance=2 dst-address=0.0.0.0/0
gateway=192.168.5.1 \
    routing-mark=jalur-2

SELESAI !

Kamis, 09 Maret 2017

Enable php5 mcrypt pada Linux Ubuntu 14.04

Terkadang aplikasi php yang kita buat menggunakan tombol atau menggunakan menu-menu yang tidak dapat muncul pada halaman web padahal perintah a2enmod rewrite sudah di aktifkan dan Overrride all pada apache2.conf sudah di buka, dimana web server yang digunakan adalah linux ubuntu server 14.04.
ada cara yang harus aktifkan terlebih dahulu yaitu pada php5 mcryptnya, adapun caranya adalah sebagai berikut :

Login ke server Linux Ubuntu baik sebagai user biasa maupun sebagai super user ( root )
lalu jalankan perintah :

$ sudo php5enmod mcrypt && sudo service apache2 restart

atau

$ sudo php5enmod mcrypt
$ sudo service apache2 restart
 
selanjutnya refresh pada web browsernya

Kamis, 22 Desember 2016

Install Gammu SMS Gateway pada Linux Ubuntu

Panduan Pembuatan SMS Gateway di Linux Ubuntu

Hardware Requirement
Spesifikasi Minimum : Processor : Intel P4 1.8GHZ
RAM : 256MB
Hardisk : 80GB
Modem atau handphone kompabilitynya bisa di cek di
sini
Software Requirement
Kebutuhan Paket Software :
  1. Linux Ubuntu
  2. Apache 2.x.x
  3. PHP 5.x.x (with mysql, session, hash, json extension)
  4. PHP-CLI
  5. MySQL 5.x.x
  6. Gammu
  7. Kalkun
Instalasi
Install LAMP
  1. Install package ;
$ sudo tasksel install lamp-server
  1. Dalam proses instalasi akan di tanyakan untuk membuat passsword user dan password mysql
user : root
passwd : root
  1. Install PHP-CLI [penting]
$ sudo apt-get install php5-cli
  1. Install PHPMYADMIN [optional]
$ sudo apt-get install phpmyadmin
  1. Dalam proses instalasi akan di tanyakan passsword user dan password mysql
user : root
pass : root

Install GAMMU
  1. Update dan install aplikasi gammu dan gammu-smsd dengan perintah berikut ;
$ sudo apt-get update
$ sudo apt-get install gammu gammu-smsd
  1. Untuk melihat konfigurasi port device, gunakan perintah berikut :
$ dmesg | grep tty
[12321.308078] usb 5-3: GSM modem (1-port) converter now attached to ttyUSB0
[12321.308275] usb 5-3: GSM modem (1-port) converter now attached to ttyUSB1
  1. Konfigurasi Gammu terlebih dahulu ;
$ sudo gammu-config
  1. Isi dengan variabel seperti dibawah dan pilih Save ;
port = /dev/ttyUSB0 # disesuaikan
connection = at115200 # disesuaikan
synchronizetime = yes
logfile = /var/log/gammulog
logformat = textall
use_locking = # isi yes jika ingin resource modem di kunci
  1. Perintah diatas akan menyimpan file config dengan nama .gammurc di home user : ~/.gammurc
  2. Konfigurasi berkas /etc/gammu-smsdrc
[gammu]
port = /dev/ttyUSB0 # change this
connection = at115200 # change this

[smsd]
PIN = ''
service = sql
phoneid = Modem1
driver = native_mysql
DeliveryReport = sms
logfile = /var/log/smsdlog
debuglevel = 1 # change to 255 if you want to debug
sendtimeout = 30
checksecurity = 0
user = root # change this
password = root # change this
pc = localhost
database = kalkun
runonreceive = /var/www/kalkun/scripts/daemon.sh

  1. WARNING!! untuk menggunakan perintah gammu, matikan dulu service gammu-smsd. Pastikan dengan cara ;
$ sudo /etc/init.d/gammu-smsd stop
  1. Kemudian baru bisa cek identify modem dengan perintah ;
$ sudo gammu --identify
Device               : /dev/ttyUSB0
Manufacturer         : huawei
Model                : E220 (E220)
Firmware             : 11.117.10.02.00
IMEI                 : 351827014879XXX
SIM IMSI             : 510012541759XXX
  1. Untuk testing pengiriman SMS menggunakan perintah berikut ;
$ sudo gammu --sendsms text 0857257XXXXX
Enter the message text and press Ctrl+D:
test server
If you want break, press Ctrl+C...
Sending SMS 1/1....waiting for network answer..OK, message reference=3
  1. Untuk cek pulsa (ex.simpati) ;
$ sudo gammu --getussd *888#
Press Ctrl+C to break...
USSD received
Status : No action needed
Service reply : “Sisa Pulsa Anda Rp.4950. Penggunaan pulsa di periode ini Rp.11150. Aktif s.d. 14/05/2011. Cari t4 menarik dsekitarmu dgn TelkomselLacak. Hub *123*55#”
  1. Setelah itu, jalankan service gammu-smsd untuk aplikasi kalkun ;
$ sudo /etc/init.d/gammu-smsd start

Install Kalkun
Kalkun merupakan open source berbasis web SMS (Short Message Service) manajemen, itu menggunakan gammu-smsd (bagian dari keluarga gammu) sebagai mesin SMS gateway untuk menyampaikan dan mengambil pesan dari telepon / modem.
Fitur-fitur
  • Memiliki lebih dari satu pengguna (Multi User);
  • Threated SMS.
  • Memiliki lebih dari satu telepon / modem? Beberapa modem yang tepat bagi Anda.
  • Kirim SMS berulang kali (SMS Bomber);
  • Ingin membuat SMS berbasis masyarakat? Anggota SMS akan membantu Anda.
  • Forward SMS ke Email;
  • SMS Iklan untuk pesan Anda.
  • Lelah mengetik SMS yang sama lagi dan lagi? Template SMS adalah yang Anda butuhkan.
  • Ingin membuat program Anda sendiri tetapi tidak ingin menyentuh kode Kalkun? Script eksternal adalah solusinya.
  • Mari kita menendang spammer dengan Spam Filter.
  • Jawaban SMS secara otomatis dengan Autoreply Sederhana.
  • Kirim SMS dari aplikasi lain menggunakan API.


Tahapan Installasi
  1. Download aplikasi Kalkun di sini http://sourceforge.net/projects/kalkun/files
$ wget -c http://nchc.dl.sourceforge.net/project/kalkun/kalkun/X.X/kalkun_X.X.zip
  1. Buat folder web Kalkun dan ekstrak file ;
$ sudo mkdir /var/www/kalkun
$ sudo mv kalkun_X.X.zip /var/www/kalkun
$ cd /var/www/kalkun/
$ sudo unzip kalkun_X.X.zip
  1. Buat database kalkun
$ mysql -u root -p
mysql> CREATE DATABASE kalkun;
mysql> quit
  1. Edit config Kalkun database di /var/www/kalkun/application/config/database.php
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root"; // change this
$db['default']['password'] = "root"; // change this
$db['default']['database'] = "kalkun"; // change this
$db['default']['dbdriver'] = "mysql";
  1. Ekstrak example database struktur Gammu agar bisa di import, caranya ;
$ sudo gunzip /usr/share/doc/gammu/examples/sql/mysql.sql.gz
  1. Import konfig database struktur Gammu;
$ mysql kalkun -u root -p < /usr/share/doc/gammu/examples/sql/mysql.sql
  1. Konfigurasi path daemon di /var/www/kalkun/scripts/daemon.sh, menjadi dibawah ini ;
#!/bin/sh

# Configure this (use absolute path)
PHP=/usr/bin/php # php cli path
DAEMON=/var/www/kalkun/scripts/daemon.php # daemon.php path

# Execute
$PHP $DAEMON
           
  1. Jangan lupa juga cek path konfigurasi /var/www/kalkun/scripts/daemon.php dibagian;
$url = "http://localhost/kalkun";
  1. Buka web browser mengarah ke http://localhost/kalkun/ dan selanjutnya akan terjadi proses instalasi.
  2. Pada akhir instalasi ada pesan gagal untuk menghapus folder install, hapus secara manual ;
$ sudo rm -rf /var/www/kalkun/install
  1. Akses http://localhost/kalkun/ kembali dengan user dan pass default user=kalkun pass=kalkun.
Troubleshooting
Startup Daemon
Untuk menjalankan daemon setiap kali komputer restart, ketik perintah berikut ;
$ sudo update-rc.d gammu-smsd defaults


Log Membengkak
Agar log tidak membengkak, berikut tahapan untuk mengatasi hal tersebut, sebaiknya anda menggunakan hak akses superuser atau root :
  1. Sesuaikan tempat penyimpanan berkas log, misal di /etc/smsdlog
  2. Membuat berkas smsdlog di /etc/logrotate.d/
$ sudo vim /etc/logrotate.d/smsdlog
  1. Membuat berkas smsdlog di /etc/logrotate.d/ :
/var/log/smsdlog {
daily
missingok
rotate 7
compress
delaycompress
create 640 root root
endscript
}
  1. Selanjutnya membuat penjadwalan menggunakan perintah crontab :
$ sudo su
# crontab -e
  1. Isi dengan baris dibawah ini, agar daemon gammu-smsd di-restart setiap jam 06.50
50 6 * * * /etc/init.d/gammu-smsd restart
Error database struktur
Jika dilihat kembali pesan error-nya : Database structures version: 11, SMSD current version: 12, maka sebaiknya lakukan perintah dibawah ini pada database server yang digunakan dalam hal ini adalah MySQL.
$ mysql -u root -p
mysql> UPDATE `kalkun`.`gammu` SET `Version` = '12' WHERE `gammu`.`Version` =11;
mysql> quit

Connect/Disconnect di Kalkun
Connect/Disconnect di Kalkun hanya perkiraan dari waktu terakhir gammu-smsd mengupdate aktifitas dengan waktu sekarang. Defaultnya adalah 10 menit, bisa diganti di file /var/www/kalkun/application/config/kalkun_settings.php,
$config['modem_tolerant'] = ’10′;
Beberapa mungkin yang bisa di konfigurasi;
$config['sms_bomber'] = FALSE;
$config['enable_emoticons'] = FALSE;
$config['sms_advertise'] = FALSE;
$config['sms_advertise_message'] = "This is ads message";

Modem Tidak terdeteksi
Ketika melakukan perintah dmesg dan tidak menemukan modem terknoneksi, berikut langkah solusinya (ex. Modem Huawei e1550) ;
  1. Install package usb-modeswitch
$ sudo apt-get install usb-modeswitch
  1. Buat rule baru untuk udev:
$ sudo vim /etc/udev/rules.d/15-huawei-155x.rules
  1. Ketik dengan isian berikut :
SUBSYSTEM=="usb",
ATTRS{idProduct}=="1446",
ATTRS{idVendor}=="12d1",
RUN+="/lib/udev/modem-modeswitch --vendor 0x$attr{idVendor} --product 0x$attr{idProduct} --type option-zerocd"
  1. Simpan dan cabut modem dan colokkan kembali. Untuk keterangan idProduct dan idVendor dapat di temukan dari perintah berikut ;
$ sudo lsusb -v | less
Bus 005 Device 004: ID 12d1:1446 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E270 HSDPA/HSUPA Modem
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor               0x12d1 Huawei Technologies Co., Ltd.
  idProduct              0x1446 E220 HSDPA Modem / E270 HSDPA/HSUPA Modem
  bcdDevice            0.00
  iManufacturer           2 HUAWEI Technology
  iProduct                1 HUAWEI Mobile
 iSerial                 0
  bNumConfigurations      1

Memindahkan Port USB Modem, Service menjadi tidak berjalan
Kasus ini terjadi jika Anda memindah modem ke port USB yang lain. Maka service tidak akan berjalan, karena config masih mendeteksi lokasi port USB sebelumnya.
  1. Cek perubahan port menggunakan perintah wvdial :
$ sudo wvdialconf
$ cat /etc/wvdial.conf
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
; Phone = <Target Phone Number>
ISDN = 0
; Password = <Your Password>
New PPPD = yes
; Username = <Your Login Name>
Modem = /dev/ttyUSB1
Baud = 9600
  1. Tampak pada konfigurasi wvdial posisi modem pada ttyUSB1, kemudian ubah konfigurasi dan sesuaikan port USBnya pada file /root/.gammurc dan /etc/gammu-smsdlog.

Debugging Web Kalkun
Untuk mengidentifikasi error pada web Kalkun, aktifkan log debugging pada config Kalkun seperti cara berikut ;
$sudo vim kalkun/application/config/config.php
Ubah baris log_treshold menjadi seprti berikut
$config['log_threshold'] = 4;
Akses menggunakan browser dengan alamat berikut ;

Startup Daemon Bermasalah Ketika Restart Server
Kendala ini ketika server sms restart secara tidak sengaja karena masalah kelistrikan service gammu-smsd tidak bisa melakukan auto startup daemon padahal sudah kita set secara automatis. Hal ini bisa diakali dengan menambahkan script start service gammu pada file rc.local. Langkah-langkahnya sebagai berikut :
Hapus Auto Daemon gammu dengan perintah dibawah ini
$ sudo update-rc.d -f gammu-smsd remove
Kemudian edit file /etc/rc.local, kemudian tambahkan baris menjadi seperti dibawah ini
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sleep 10
/etc/init.d/gammu-smsd start
exit 0