Cara Import Database di phpMyAdmin

No Comments

Mampir ngopi dulu dimari…

Baru-baru ini saya mencoba melakukan import database sql ke phpMyAdmin di localhost. Hanya saja ketika menguploadnya terjadi error, yaitu:

error sql query
Drop table if exists `nama_tabel`;
#1046 no database selected

Seperti ini gambarnya:

#1046 no database selected

Ternyata solusinya adalah membuat database kosong terlebih dahulu di phpMyAdmin.

Caranya bisa dilihat seperti pada gambar dibawah ini:

create database di phpMyAdmin

Setelah database selesai dibuat, klik database tersebut (di sebelah kiri phpMyAdmin), kemudian import database .sql-nya.

Bisa dilihat seperti pada gambar berikut:

import database phpMyAdmin

Sekian tulisan pendek saya mengenai cara import database di phpmyadmin ini.

Semoga bermanfaat,

iKONs

Categories: Uncategorized Tags: ,

Install OpenVPN di Linux Debian Wheezy

4 Comments

Sesuai dengan salah satu janji saya sebelumnya ke seorang teman, kali ini saya akan membahas cara Install OpenVPN di Linux Debian Wheezy, bisa di server sendiri atau di vps sewaan, yang penting bukan punya orang tanpa ijin 😛

Pertama download OpenVPN di sini.

Ekstrak file openvpn-version.tar.gz kemudian jalankan ini di dalam foldernya:

./configure
make
sudo make install

Jika ada error seperti ini:
“configure: error: no acceptable C compiler found in $PATH”
Install compiler di Debian dengan cara:

sudo apt-get install build-essential

Sebelum mengulang perintah ./configure, biasanya ketika melakukan compile source selalu ada dependency yang dibutuhkan agar prosesnya bisa selesai. Untuk OpenVPN di Ubuntu diperlukan beberapa library yang harus diinstall, diantaranya:
1. sudo apt-get install libssl-dev
2. sudo apt-get install liblzo2-dev
3. sudo apt-get install libpam0g-dev

Setelah install library di atas lanjutkan ./configure kembali, kemudian make dan sudo make install.

Oke, OpenVPN telah terinstall di server.

Agar OpenVPN dapat berjalan ada beberapa hal yang kita perlukan, diantaranya:
  1. File konfigurasi server (server.conf)
  2. File konfigurasi klien (klien.conf)
  3. CA cert
  4. Private key dan Public key untuk server dan klien
Lanjut...

Di sisi server.

I. Pertama, bikin dulu file server.conf. contohnya dapat dilihat di sini. dibawah ini adalah file server.conf di server saya:
port 1194                            #listening port
proto udp                            #protokol yang digunakan
dev tun                              #ip tunneling
server 10.80.0.0 255.255.255.0       #ip subnet untuk server dan klien
ifconfig-pool-persist ipp.txt        #reconnect akan membuat ip klien tidak berubah
push "redirect-gateway"              #routing semua trafik data klien ke server
push "dhcp-option DNS 10.80.0.1"     #routing DNS klien ke server
client-to-client                     #antara klien satu dgn yang lain bisa berkomunikasi
duplicate-cn                         #satu public key bisa digunakan banyak klien
keepalive 10 120                     #ping tiap 10 detik sekali, maks 120 detik akan disconnect
cipher AES-128-CBC                   #enkripsi yang digunakan
comp-lzo                             #trafik data yang lewat akan dikompres
user nobody                          #drop privilege
group nogroup                        #drop privilege
persist-key                          #agar klien dapat reconnect setelah restart
persist-tun                          #agar klien dapat reconnect setelah restart
status openvpn-status.log            #log status openvpn server
log    openvpn.log                   #log openvpn server
verb 3                               #log level (verbose)
ca ca.crt                            #CA cert
cert ikons-server.crt                #Public key server
key ikons-server.key                 #Private key server
dh dh.pem                            #parameter Diffie-Helman
tls-auth ta.key 0                    #mengamankan koneksi openvpn dari dos dan flooding

simpan dengan nama file server.conf (atau terserah selera masing2)

II. Kedua, yang perlu dilakukan adalah membuat CA cert, Private dan Public key server.
Download dulu Easy RSA di sini. atau download langsung di terminal:

git clone https://github.com/OpenVPN/easy-rsa
buka saja folder /easy-rsa/easyrsa3/, di dalamnya ada file executable ./easyrsa
Setelah itu inisialisai PKI dengan CA cert-nya dengan cara:
./easyrsa init-pki
./easyrsa build-ca
masukkan password dan nama/domain server.
setelah selesai maka file ca.crt dapat dilihat di folder /easy-rsa/easyrsa3/pki/
buat parameter Diffie-Helman:
./easyrsa gen-dh
tunggu sampai selesai, file dh.pem dapat dilihat di folder /easy-rsa/easyrsa3/pki/
lalu buat Private key dan Public key server dengan cara:
./easyrsa build-server-full ikons-server nopass
perintah diatas menghilangkan password sehingga ketika server reboot maka openvpn dapat langsung berjalan.
masukkan password yang telah dimasukkan ketika membuat ca.crt diatas. 
file ikons-server.key dapat dilihat di folder /easy-rsa/easyrsa3/pki/private/
file ikons-server.crt dapat dilihat di folder /easy-rsa/easyrsa3/pki/issued/

buat file ta.key dengan cara:
openvpn --genkey --secret ta.key

Setelah itu setting ip forwarding  di server dengan cara:
nano /etc/sysctl.conf
dan ubah salah satu parameter didalamnya seperti berikut:
net.ipv4.ip_forward=1
kemudian lakukan:
sudo sysctl -p /etc/sysctl.conf
dan untuk koneksi di server yang sedang berjalan lakukan juga:
echo 1 > /proc/sys/net/ipv4/ip_forward

lakukan juga iptables terhadap koneksi yang sedang berjalan, lakukan satu persatu:
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT   
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

masukkan iptables dan ip forwarding diatas ke dalam file rc.local agar ketika server reboot, iptables dapat langsung berjalan. caranya:
nano /etc/rc.local
 
#!/bin/sh -e
......

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT   
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

exit 0

kemudian agar DNS request para klien dapat dilakukan oleh server, maka harus diinstall DNSmasq di server.

apt-get install dnsmasq resolvconf
rubah file konfigurasinya dengan cara:
nano /etc/dnsmasq.conf
dan ubah parameter berikut:
listen-address=127.0.0.1,10.8.0.1
bind-interfaces
jangan lupa juga di server di setting DNS server yang digunakan di file /etc/network/interfaces.
nano /etc/network/interfaces
ubah menjadi seperti:
 
# The primary network interface
auto eth0
iface eth0 inet static
        address xxx.xxx.xxx.xxx
        netmask 255.255.255.0
        gateway xxx.xxx.xxx.xxx
        dns-nameservers 208.67.222.222 8.8.4.4 8.8.8.8

DNS yang saya gunakan adalah dari OpenDNS dan Google DNS.
oh iya masukkan juga DNSmasq di rc.local, caranya:

nano /etc/rc.local
masukkan ini persis diatas parameter exit 0:
/etc/init.d/dnsmasq restart

setting di sisi server telah selesai, reboot server.
copy semua file mulai dari server.conf, ca.crt, ikons-server.crt, ikons-server.key, dh.pem dan ta.key ke dalam satu folder, saran saya taruh saja di folder /etc/openvpn/.

jalankan openvpn di server dengan cara:
sudo openvpn /etc/openvpn/server.conf
setelah openvpn jalan, akan ada file openvpn.log, openvpn-status.log dan ipp.txt sesuai dengan file konfigurasi server.conf.

klo mau, masukkan juga ke file rc.local agar openvpn dapat berjalan setelah server reboot.

setelah ini lanjut ke sisi hatiku, eh maksud saya sisi klien.

Di sisi klien

I. Pertama, buat dulu file konfigurasinya, contohnya dapat dilihat di sini. berikut adalah file konfigurasi di pc saya sebagai klien:
client                   #bilang ke server, ini adalah klien       
dev tun                  #ip tunneling
proto udp                #protokol yang digunakan udp
remote ip-server 1194    #ganti ip-server dan port sesuai dengan ip/domain server
resolv-retry infinite    #agar klien selalu ping server
nobind                   #agar klien tidak binding ke port server
user nobody              #drop privilege klien
group nogroup            #drop privilege klien
persist-key              #agar koneksi tersambung kembali ketika reconnect
persist-tun              #agar koneksi tersambung kembali ketika reconnect 
tls-auth ta.key 1        #mengamankan koneksi openvpn dari dos dan flooding
cipher AES-128-CBC       #enkripsi yang digunakan koneksi openvpn
comp-lzo                 #kompresi data trafik 
ca ca.crt                #CA cert
cert ikons-klien01.crt   #public key klien
key ikons-klien01.key    #private key klien

simpan dengan nama klien.conf (atau terserah selera masing2).

II. Kedua,
buat Private key dan Public key untuk klien dengan cara:

./easyrsa build-client-full ikons-klien01 nopass
masukkan password sesuai dengan file ca.crt diatas.
setelah selesai file ikons-klien01.key dapat dilihat di folder /easy-rsa/easyrsa3/pki/private/
dan file ikons-klien01.crt dapat dilihat di folder /easy-rsa/easyrsa3/pki/issued/

setelah selesai copy file klien.conf, ca.crt, ikons-klien01.key, ikons-klien01.crt dan ta.key ke komputer/gadget klien.

biasanya saya menggunakan openvpn klien di OS Windows dan di hp android, sedangkan linux install dari source. semuanya bisa didapatkan di sini.

cara koneksi openvpn di linux:

sudo openvpn klien.conf

seperti ini hasilnya jika sudah terkoneksi:
OpenVPN koneksi klien

coba saja lihat ip publik anda, jika sudah berubah menjadi ip publik server OpenVPN berarti sudah berhasil.

semoga bermanfaat,

salam hangat.
iKONs

Categories: Uncategorized Tags: ,

Cara menggunakan scp (Secure Copy)

No Comments

Sambil nyantai di atas kereta api dan melihat istri sedang mengambil foto-foto pemandangan sebaiknya saya menulis sepatah dua patah kata di blog ini, yang pertama muncul di kepala ini adalah cara menggunakan scp (Secure Copy).

Secure Copy (SCP) adalah merupakan metode transfer file secara aman berdasarkan protokol SSH dan secara standar berjalan di port 22.

Walaupun sekarang saya lebih sering menggunakan SFTP yang lebih simpel dan ada GUI-nya (Filezilla) tapi SCP ini tetap menarik untuk dipelajari, terutama para admin yang perlu memindahkan file-file diantara server dengan aman melalui terminal/konsol.

Langsung saja ke beberapa yang sering saya gunakan.

      1. Memindahkan file dari remote host ke local host kita:
        scp [email protected]:/direktori/remotehost/file.txt /direktori/di/localhost/
      2. Memindahkan file dari local host ke remote host:
        scp file.txt [email protected]:/direktori/di/remotehost/
      3. Menggunakan SCP dengan port selain 22 (standar):
        scp -P 442 file.txt [email protected]:/direktori/di/remotehost
      4. Merubah enkripsi yang digunakan SCP:
        scp -c blowfish file.txt 

        [email protected]:/direktori/di/remotehost
        *secara standar enkripsinya mengikuti yang digunakan oleh ssh (/etc/ssh/sshd_config). biasanya perubahan enkripsi dilakukan hanya ketika kecepatan yang didapatkan kecil sekali.
        blowfish --> aes --> 3des (blowfish tercepat, 3des paling lamban).

Semoga tulisan saya kali ini mengenai cara menggunakan scp (Secure Copy) dapat bermanfaat 🙂

Salam hangat,

iKONs

 

 

 

Categories: Uncategorized Tags: ,

Cara Menggunakan Cron di Linux (Crontab)

2 Comments

Di post sebelumnya disini, bisa kita lakukan otomatisasi atau terjadwal (scheduled task)

Di Linux telah ada utility namanya cron untuk melakukan sebuah perintah secara otomatis berkala.

Pertama kita simpan dulu perintahnya di sebuah file:

echo tar -cvpf /home/ikons/backup/fullbackup.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=/home/ikons/backups . > autobackup.sh
Kemudian setting permission file autobackup.sh ke 750:

chmod 750 /lokasi/file/autobackup.sh

Setelah itu kita perlu melihat apa saja cron yang sedang berjalan di OS dengan cara:

crontab -l
Kalau tidak ada harusnya kosong, tetapi jika ada nanti ada tampilan seperti ini:

*/20 * * * * /program/skrip/yang/dijalankan/crontab

arti crontab diatas adalah tiap 20 menit sekali maka akan menjalankan program/skrip dimaksud.

di crontab ada 5 (lima) tanda bintang (*) yang artinya dari kiri ke kanan adalah:

  1. Menit
  2. Jam
  3. Hari (dalam bulan 0 - 30)
  4. Bulan
  5. Hari (dalam minggu 0 - 7)

Tanda bintang (*) bisa dikombinasikan atau diganti dengan:

  1. tanda (/) : artinya setiap kali sesuai dengan posisi tanda (*) , kalau di posisi paling kiri */30 * * * * berarti setiap 30 menit.
  2. tanda (,) : artinya bisa menjalankan dalam beberapa kali rentang waktu, misalnya * 1,3 * * * atau setiap pukul 01.00 dan 03.00.
  3. tanda (-) : artinya menjalankan selama rentang waktu tersebut, misalnya * * * * 2-4 atau setiap hari kedua sampai hari keempat dalam satu minggu.

Atau bisa juga dengan tanda @ yang akan melakukan cron tiap tengah malam, contohnya:

  • @yearly dan @annually : tiap tahun sekali pada tanggal 1 Januari.
  • @daily dan @midnight : tiap hari.
  • @monthly : tiap bulan.
  • @weekly : tiap minggu.
  • @hourly :tiap jam.
  • @reboot : menjalankan cron tiap reboot.

Untuk lebih jelasnya lihat contoh berikut:
*/20 * * * * /home/ikons/ganteng
30 */2 * * * /home/ikons/ganteng
0 * * * * /home/ikons/ganteng
@daily /home/ikons/makin/ganteng

yang artinya adalah tiap 20 menit maka ikons ganteng, tiap 2 jam lebih 30 menit maka ikons ganteng, tiap jam maka ikons ganteng dan tiap hari ikons makin ganteng hahaha...

wah sampai lupa ini cron-nya ditaruh dimana, caranya cukup simpel, jalankan:

crontab -e
lalu masukkan skrip autobackup dengan waktu yg diinginkan, contohnya:

@monthly /lokasi/file/autobackup.sh
atau

* 10,20 * * 1-5 /lokasi/file/autobackup.sh
Yang artinya adalah autobackup.sh dijalankan tiap bulan atau autobackup.sh dijalankan selama hari senin-jumat pada pukul 10.00 dan 20.00

Tentu saja program atau skrip yang bisa dijalankan oleh cron jangan sampai bentrok dengan program atau skrip yang jalan pada waktu yang sama.

Kreatifitas para admin menggunakan cron di Linux sangat diperlukan agar membuat pekerjaannya lebih ringan 🙂

Semoga bermanfaat.
Salam,
iKONs

*Catatan:
Format waktu adalah 24 jam.

Sumber:
https://library.linode.com/linux-tools/utilities/cron

Categories: Uncategorized