Sharing seputar Dunia Tkj dan Blogging ^^

Showing posts with label Server. Show all posts
Showing posts with label Server. Show all posts

Saturday, July 8, 2017

Cara Auto Delete Recycle Bin pada Samba 4





Menyambung dari postingan sebelumnya tentang cara mengaktifkan recycle bin pada samba 4 di ubuntu 14.04 Server, maka pada postingan kali ini saya akan memberikan tips berikutnya. Yaitu bagaimana cara auto delete file-file pada recycle bin tersebut. Karena jika tidak didelete, maka lama-lama bisa penuh space harddisk server kita.

File-file yang didelete hanyalah file-file yang sudah berumur 30 hari. Caranya mudah, kalian tinggal buat satu file bernama misalnya autodelrecycle.sh :

# nano /root/autodelrecycle.sh

nb : letak file ini bebas mau dimana saja.

Lalu didalamnya isikan ini :

#!/bin/bash

# cleanup recycle dir:
# delete all files with last access time
# older than a specific number of days and
# remove all empty subdirs afterwards.
#
# make sure you set recycle:touch = yes
# in your smb.conf.

# set vars
recycle_dir='/home/data/recycle'
lastaccess_maxdays=30

#executing timestamp
echo $(date '+%d%m%Y')

# execute commands
find $recycle_dir -atime +$lastaccess_maxdays -type f -delete
find $recycle_dir -type d ! -path $recycle_dir -empty -delete

nb : sesuaikan bagian recycle_dir dengan folder recycle kalian masing-masing. Kalian juga bisa ubah umur file-file yang ingin dihapus pada bagian lastaccess_maxdays.

Jika sudah simpan file dengan CTRL + X > Y > Enter.

Jangan lupa berikan hak akses executable pada script tersebut :

# chmod +x /root/autodelrecycle.sh

2. Selanjutnya kalian perlu buatkan jadwal crontabnya. Ini untuk menjadwalkan pengeksekusian script tersebut secara reguler. Misal disini saya akan membuat pengecekannya setiap 1 minggu sekali setiap hari senin pukul 00.00 (untuk lebih jelas soal penjadwalan cron, kalian bisa buka ini) . Maka kalian bisa ketikkan :

# crontab -e

Dibaris paling bawah tambahkan ini :

0 0 * * 1 sh /root/autodelrecycle.sh >> /var/log/samba/recycle.log

nb : sesuaikan letak file autodelrecycle.sh sama dengan saat kalian membuat file tersebut pertama kali.

Jika sudah simpan dengan CTRL + X > Y > Enter.

Script diatas sengaja saya buat agar setiap ada proses auto delete, prosesnya akan disimpan di log. Oleh karena itu kita perlu buat lognya terlebih dahulu :

# touch /var/log/samba/recycle.log

Untuk pengetesannya, nanti setiap minggu kalian bisa cek isi file /var/log/samba/recycle.log. Harusnya disana akan terlihat file-file mana saja yang didelete. Apabila tidak ada yang didelete hanya akan muncul tulisan tanggalnya saja. Tandanya itu scriptnya sudah dieksekusi, tapi belum ada file yang memenuhi syarat untuk dihapus. Untuk mengecek file /var/log/samba/recycle.log bisa gunakan perintah :

# more /var/log/samba/recycle.log

Semoga bermanfaat :)

Wednesday, June 28, 2017

Cara Setting SPF Record agar Email Tidak dianggap Spam




Salah satu cara agar email server kita tidak dianggap spam ketika mengirim ke Gmail atau Yahoo adalah dengan mengkonfigurasi yang namanya SPF (Sender Policy Framework) Record.

Simpelnya SPF Record ini adalah suatu aturan yang menyebutkan ip publik mana saja yang dianggap terpercaya untuk mengirim email atas nama domain tertentu. Misalnya domain rizal.com itu yang boleh mengirim email hanyalah server dengan ip publik 110.10.10.10. Ketika kita kirim email atas nama rizal.com, misal rizal@rizal.com, maka server email penerima (contoh : server gmail) akan mengecek apakah benar yang mengirim email ini berasal dari server dengan ip 110.10.10.10 berdasarkan SPF recordnya. Jika benar, maka email akan dianggap terpercaya dan tidak akan dimasukkan kedalam kategori spam. Apabila salah ip ataupun tidak ada SPF recordnya, maka email akan dianggap spam. Karena dianggap dikirim oleh server yang tidak terpercaya.

Ibaratnya ketika kita menunggu kiriman paket datang, si pengirim awalnya bilang "pokoknya paket ini harus diantar oleh JNE". Nah ketika paketnya datang, kita pun mengecek apakah benar dari JNE atau bukan. Apabila benar dari JNE, maka itu paket kita anggap benar. Apabila datangnya dari TIKI atau malah tidak diketahui siapa pengirimnya, maka kita patut curiga terhadap paket tersebut.

Untuk cara settingnya gampang, kalian cukup tambahkan 1 buah record di settingan DNS kalian. Sesuaikan dengan kalian pakai settingan DNSnya dimana. Biasanya 2, antara kalian pakai server DNS sendiri menggunakan Bind, atau kalian pakai DNS bawaan tempat kalian beli domain. Disini saya akan tunjukkan keduanya.

1. Jika pakai Bind

Kalian edit file forward zone domain kalian. Biasanya ada di /etc/bind/ untuk distro debian-based dan di /etc/named/ untuk distro redhat-based. Lalu tambahkan 1 baris di bagian forward zone (biasanya yang bernama db.namadomain atau namadomain.host) baris berikut :

dairikab.go.id. IN TXT "v=spf1 a mx a:mail.belajarnetwork.com ip4:116.206.196.2 -all"

nb : Sesuaikan mail.belajarnetwork.com dan 116.206.196.2 dengan domain dan ip email server kalian.

Jika sudah, simpan dan restart service bindnya. Sesuaikan dengan distro kalian masing-masing.

Biasanya untuk debian-based : service bind9 restart
Biasanya untuk redhat-based : service named restart

2. Jika pakai dns bawaan.

Kalian cukup tambahkan 1 record dengan kriteria :

Type : TXT record
Name/Domain : @ (jika tidak bisa diisi @, maka isilah dengan nama domain. Misal belajarnetwork.com)
Value/Content : "v=spf1 a mx a:mail.belajarnetwork.com ip4:116.206.196.2 -all"

Sesuaikan mail.belajarnetwork.com dan 116.206.196.2 dengan domain dan ip email server kalian.


3. Pengetesan

Untuk mengetes, kalian buka website dkimvalidator.com. Lalu kalian kirim email apapun dari email server kalian ke nama email random yang muncul disana.



Setelah kalian kirim email, kalian klik View Result, setelah itu pastikan di bagian SPF Information sudah terdeteksi settingan SPF kalian. Biasanya ditandai dengan pesan Result Code : pass.


Selamat, spf record sudah berhasil tersetting!

Sumber : www.cilsy.id

Tuesday, June 27, 2017

Instalasi dan Konfigurasi Lets Encrypt di Zimbra 8.7 OS Centos 7



Catatan penting sebelum mengikuti tutorial ini :

1. Tutorial ini hanya bisa dilakukan jika zimbra kalian sudah selesai terinstall dengan baik dan juga sudah terkonfigurasi domainnya dengan baik (sudah resolv/sudah bisa terhubung ke internet). Dan disini tidak dibahas bagaimana cara melakukan itu semua.
2. Domain untuk zimbra saya adalah mail.belajarnetwork.com
3. Kalian perhatikan betul-betul user yang digunakan setiap melakukan suatu perintah. Jika saya beri lambang root@mail ~# berarti perintah tersebut harus dilakukan sebagai user root. Sedangkan jika lambangnya zimbra@mail ~$ maka perintah tersebut harus dilakukan sebagai user zimbra.

Cara instalasi dan konfigurasi Lets encrypt cukup mudah, kalian tinggal ikuti step by step yang saya berikan dibawah ini dengan benar, maka seharusnya akan langsung terinstall dengan baik.

1. Pertama-tama kalian harus hentikan dulu beberapa service pada zimbra dengan perintah berikut :

root@mail ~# su - zimbra
zimbra@mail ~$ zmproxyctl stop
zimbra@mail ~$ zmmailboxdctl stop
zimbra@mail ~$ exit

2. Setelah itu kalian install letsencrypt dengan perintah berikut :

root@mail ~# git clone https://github.com/letsencrypt/letsencrypt
root@mail ~# cd letsencrypt
root@mail ~# ./letsencrypt-auto certonly --standalone

Akan ada beberapa pertanyaan yang muncul yang bisa kalian jawab sebagai berikut :

Enter Email Address : admin@belajarnetwork.com --> ini bebas
Agree/Cancel : A --> ini harus A
Share email with Electronic Frontier Foundation : N --> ini bebas, boleh juga Y.
Enter domain name : mail.belajarnetwork.com --> ini diisi dengan alamat lengkap zimbra kalian, jangan domainnya saja.


3. Setelah terinstall, kalian perlu melakukan sedikit modifikasi terhadap salah satu file sertifikat SSL nya yaitu chain.pem. Caranya dengan mengetikkan perintah berikut :

root@mail ~# cd /etc/letsencrypt/live/mail.belajarnetwork.com
root@mail ~# nano chain.pem

nb : ganti mail.belajarnetwork.com dengan domain kalian masing-masing.

Setelah terbuka filenya, kira-kira akan muncul seperti ini :


Kalian perlu tambahkan script tambahan tepat dibawah baris END CERTIFICATE. Script tambahannya bisa kalian ambil dari link berikut : https://www.identrust.com/certificates/trustid/root-download-x3.html. Kalian kopi saja script yang kalian dapatkan dari sana, lalu kalian tambahkan baris -----BEGIN CERTIFICATE----- diawal script dan -----END CERTIFICATE----- di akhir script. Kira-kira menjadi seperti ini :

-----BEGIN CERTIFICATE-----
disini isi script tambahan dari identrust
-----END CERTIFICATE-----

Setelah itu, kalian kopikan semua script tambahan tersebut ke dalam file chain.pem tadi. Tambahkannya tepat di bawah baris -----END CERTIFICATE-----.

Kira-kira formatnya menjadi seperti ini :

-----BEGIN CERTIFICATE-----
disini script bawaan dari chain.pem
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
disini isi script tambahan dari identrust
-----END CERTIFICATE-----


Jika sudah simpan file dengan CTRL + X > Y > Enter.

4. Lalu lakukan perintah berikut untuk menggabungkan SSL Lets encrypt ke zimbra :

root@mail ~# mkdir /opt/zimbra/ssl/letsencrypt
root@mail ~# cp /etc/letsencrypt/live/mail.belajarnetwork.com/* /opt/zimbra/ssl/letsencrypt/
root@mail ~# chown zimbra:zimbra /opt/zimbra/ssl/letsencrypt/*

nb : ganti mail.belajarnetwork.com dengan domain kalian masing-masing.

5. Lakukan verifikasi terlebih dahulu terhadap sertifikat-sertifikat yang terbaru. Pastikan muncul OK semuanya, jangan sampai ada yang error.

root@mail ~# su - zimbra
zimbra@mail ~$ cd /opt/zimbra/ssl/letsencrypt
zimbra@mail ~$ /opt/zimbra/bin/zmcertmgr verifycrt comm privkey.pem cert.pem chain.pem
zimbra@mail ~$ exit

6. Lakukan perintah berikut untuk membackup SSL zimbra bawaan (barangkali nanti diperlukan) dan juga mengubah SSL zimbra bawaan dengan SSL kita yang baru.

root@mail ~# cp -a /opt/zimbra/ssl/zimbra /opt/zimbra/ssl/zimbra.$(date "+%Y%m%d")
root@mail ~# cp /opt/zimbra/ssl/letsencrypt/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key

7. Terakhir lakukan deployment/instalasi SSL yang baru dan restart zimbra.

root@mail ~# su - zimbra
zimbra@mail ~$ cd /opt/zimbra/ssl/letsencrypt
zimbra@mail ~$ /opt/zimbra/bin/zmcertmgr deploycrt comm cert.pem chain.pem
zimbra@mail ~$ zmcontrol restart

8. Coba refresh browser kalian, lalu lihat bahwa sekarang dibagian pojok kiri atas sudah muncul notifikasi Verified By : Lets Encrypt.


Semoga bermanfaat :)

Sumber : www.cilsy.id

Sunday, April 23, 2017

Mengatasi Error Class Net_IDNA2 Not Found pada Roundcube



Ini adalah catatan singkat saya saat mengalami error beberapa hari yang lalu. Tiba-tiba webmail saya yang menggunakan Roundcube tidak bisa login. Hanya menampilkan halaman blank saja. Dan ini saya alami setelah saya mengupgrade versi php 5.5 saya ke versi 5.6.

Saat saya cek di file error.log apache dengan perintah berikut :

$ sudo tail -f /var/log/apache2/error.log

Muncul seperti ini :

PHP Fatal error:  Class 'Net_IDNA2' not found in /usr/share/roundcube/program/lib/Roundcube/bootstrap.php  

Maka cara mengatasinya sangat mudah. Kalian cukup menginstall satu paket php bernama php-intl dengan perintah berikut :

$ sudo apt-get install php5.6-intl

Setelah itu restart apache kalian :

$ sudo service apache2 restart

Dan seharusnya sekarang sudah tidak error lagi.

Semoga bermanfaat :)

Friday, April 21, 2017

Cara Upgrade PHP 5.5 ke PHP 5.6 di Ubuntu Server 14.04 LTS




Postingan singkat di malam hari ini karena ini hanyalah catatan kecil saya supaya tidak lupa di kemudian hari.

Ini ada beberapa sintaks yang dapat kalian eksekusi apabila ingin mengupgrade versi php 5.5 ke php 5.6 di Ubuntu 14.04 LTS. Caranya cukup mudah, kalian tinggal lakukan saja langkah-langkah berikut :

1. Tambahkan repository paket php 5.6 :

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update

2. Install paket-paket php 5.6 nya :

$ sudo apt-get install php5.6 php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml

3. Nonaktifkan PHP versi 5.5 dan juga jangan lupa aktifkan php versi 5.6 nya dengan perintah ini :

$ sudo a2dismod php5
$ sudo a2enmod php5.6

4. Terakhir restartlah webserver apache kalian :

$ sudo service apache2 restart

Cara mengeceknya bisa menggunakan script php.info. Ketikkan perintah berikut untuk membuat file php.info :

$ sudo nano /var/www/html/info.php

Lalu masukkan didalamnya script berikut :


Kemudian simpan dengan menekan CTRL + X > Y > Enter.

Test dari browser kalian ke alamat http://ipserver/info.php. Pastikan muncul kira-kira seperti ini dan dibagian paling atas ada versi php 5.6nya :


Semoga bermanfaat :)


Thursday, March 2, 2017

Mengaktifkan Modul PHP Imap di Apache Ubuntu 14.04 Server




PHP Imap adalah salah satu modul PHP yang dapat mengkoneksikan PHP dengan server mailbox POP3/IMAP. Modul ini biasanya terkait dengan layanan Mail Server dan Webmail dan wajib diinstall serta diaktifkan. Intinya sih supaya email masuk yang kalian terima juga dapat ditampilkan melalui browser. Seperti layaknya yahoo dan gmail dimana kita mengakses mereka melalui browser dan kita bisa melihat email-email yang masuk ke inbox kita.

Nah untuk menginstall modul php imap dan mengaktifkannya di Apache Ubuntu 14.04 Server caranya cukup mudah. Kalian cukup lakukan tiga perintah ini secara berurutan (lakukan dengan hak akses root/sudo) :

# apt-get install php5-imap
# php5enmod imap
# service apache2 restart

Perintah diatas adalah perintah untuk menginstall, mengaktifkan modulnya, sekaligus merestart service apache2 kalian. Seharusnya disini modul php imap kalian sudah berfungsi dengan baik.

Semoga bermanfaat :)

Saturday, February 25, 2017

Mengatasi Error Roundcube "Invalid request! No data was saved"



Beberapa hari yang lalu saya mengalami masalah yang unik namun sebenarnya sangat sepele. Ceritanya saya sedang menginstall layanan Mail server dan Webmail yang terdiri dari Postfix, Dovecot, Postfixadmin, dan juga Roundcube. Setelah berhasil install dan setup disana-sini, tibalah saatnya saya melakukan pengujian.

Saya mencoba login ke salah satu user email yang sudah saya buat ke Roundcube melalui web browser. Anggaplah saya mengakses alamat webmail saya di http://cilsy.id/roundcube. Namun sayangnya saya mendapati error seperti berikut :

Invalid request! No data was saved.

Jika kalian mengalaminya juga, cara mengatasinya sangat mudah. Kalian sebenarnya cukup mengakses ulang alamat webmail kalian menggunakan HTTPS, jangan HTTP. Jadi saya langsung mengakses ulang ke https://cilsy.id/roundcube dan akhirnya berhasil login.

Hal ini sebenarnya terjadi karena ada konfigurasi yang sudah kalian lakukan dimana memaksa bahwa login ke webmail dan email kalian harus menggunakan protocol HTTPS. Jadi sistem memang secara otomatis akan memblokir login melalui protokol HTTP.

Semoga bermanfaat :)

Sumber

Tuesday, December 6, 2016

Memasang Google Drive Cli di Server


Google drive adalah layanan cloudstorage milik Google, salah satu kelebihan google drive adalah kita diberikan layanan storage gratis berkapasitas 15 GB, juga google drive ini terintegrasi dengan layanan Google lainnya, seperti gmail.

Kita bisa gunakan google drive untuk mengunggah atau mengunduh berkas atau folder melalui browser. Adanya google drive client memberikan kemudahan kita dalam mensinkronisasi berkas yang berada dalam komputer kita ke server Google, tanpa harus melakukan pengunggahan, dan akan sangat berguna jika Anda ingin mengunggah banyak berkas atau berkas yang dalam jumlah besar.

Google drive client hadir diberbagai sistem operasi baik Windows, MacOS dan bahkan Android, terkecuali untuk GNU/Linux, Anda hanya bisa menggunakan alternatif yakni Insync.

Nah, bicara mengenai GNU/Linux yang tidak disediakan google drive client oleh Google. Kita akan menggunakankan alternatif lain, tidak menggunakan Insync, melainkan menggunakn Google drive CLI, bisa kita terapkan di server kita sebagai media backup.

Hadirnya tulisan ini, penulis akan membahas mengenai Google drive CLI yang mana telah penulis gunakan untuk membackup berkas penting dalam server, agar nantinya bisa disinkronisasikan ke komputer atau laptop penulis di rumah.

Langsung saja kita, mulai. Pertama-tama unduh terlebih dahulu Google Drive CLI Anda di:

https://github.com/prasmussen/gdrive

Pilih disesuaikan dengan arsitektur GNU/Linux mana yang Anda gunakan, jika Anda menggunakan 64bit unduh:

https://docs.google.com/uc?id=0B3X9GlR6EmbnQ0FtZmJJUXEyRTA&export=download

Jika 32bit unduh:

https://docs.google.com/uc?id=0B3X9GlR6EmbnLV92dHBpTkFhTEU&export=download

Perhatiaan dikarenakan tautan di atas bersumber dari google drive, kita tidak bisa memanfaatkan curl atau wget, Anda unduh manual di komputer Anda, lalu kemudian baru diunggah di server. Cara mengunggahnya, bisa gunakan scp saya mencontohkan menggunakn gdrive CLI 32bit:
$ scp gdrive-linux-386 akun@10.10.10.1:/home/akun
Atau gunakan artikel di bawah ini:
  1. http://www.linuxku.com/2016/09/cara-menyalin-berkas-di-server-tanpa.html
  2. http://www.linuxku.com/2016/05/menyalin-berkas-di-server-tanpa-root.html
Kemudian, Anda login server Anda dengan ssh. Jika Anda mengunggah menggunakan scp, lakukan perintah berikut:
$ sudo cp ~/gdrive-linux-386 /usr/bin/gdrive
$ sudo chmod +x /usr/bin/gdrive
Jika tidak, Anda bisa langsung unggah ke /usr/bin/gdrive, dan chmod +x.

Berikut ini daftar cara menggunakan gdrive CLI:

Untuk pertama kalinya, kita harus memberikan authorization akun kita ke gdrive CLI tersebut. Caranya Anda harus login dulu gmail Anda, kemudian ketik:
$ gdrive list
Lalu Anda akan diminati mengklik tautan untuk proses otorisasi akun, seperti gambar di bawah ini:
Kemduian klik allow:
Dan dapatkan kode verifkasinya:

Masukan kode verifikasi Anda:
Dan Anda akan melihat list dari gdrive Anda:
Jika sudah seperti gambar di atas artinya Anda telah sukses. Apa langkah selanjutnya?

Langkah selanjutnya adalah Anda bisa mengunduh berkas yang ada di google drive Anda, atau mengunggah atau singkronisasi. Anda bisa lihat caranya dengan mengetik: gdrive help.

Sampai di sini dulu, nantikan artikel selanjutnya pembahasan kita mengenai cara otomatis backup server ke google drive. Semoga bermanfaat :)

Tuesday, November 8, 2016

Menyembunyikan Versi Nginx dari Public


Memperbaharui suatu aplikasi adalah hal yang cukup penting demi mendapatkan fitur baru dan juga demi menambal kerentanan, bugs atau masalah pada versi sebelumnya. Akan tetapi memperbaharui aplikasi terkadang juga malah menimbulkan masalah baru, oleh karenanya terkadang kita juga tetap membiarkannya sampai benar-benar stabil.

Menjaga atau melindungi web server seperti Nginx adalah penting dilakukan, dan salah satu cara melindunginya yakni kita update secara berkala. Juga salah satu melindungi Nginx adalah menyembunyikan versinya ketika terjadi error dari suatu website, Nginx menampilkan versinya secara public. Hal ini perlu kita sembunyikan, mengapa? Karena dengan menampilkan versinya, hingga orang lebih mudah meretas kerentanan Nginx, tinggal liat versinya saja dan mencari tahu kelemahan dari versi tersebut.

Tutorial kali ini, penulis akan membahas tentang bagaimana cara menyembunyikan versi Nginx dari public. Perlu diketahui, tutorial ini dapat digunakan oleh distro manapun, akan tetapi penulis mempraktekan tutorial ini di Ubuntu Server 14.04.

Langsung saja kita mulai praktek, pertama-tama Anda login SSH Anda dan masuk kepengaturan Nginx.

Secara umum pengaturan Nginx seperti berikut:
$ nano /etc/nginx/nginx.conf
Jika Anda pengguna Ubuntu atau Debian gunakan nano sebagai editornya, jika Anda pengguna distro lain, gunakan vi atau vim.

Jika sudah langsung Anda cari kata " server_tokens " (tanpa petik dua), ubah menjadi " off " (tanpa petik dua).
server_tokens off; 
Lihat seperti gambar di bawah ini:
Jika sudah, langsung tutup nano atau vi atau vim Anda dan simpan. Lalu kita restart Nginx kita dengan cara berikut:
$ sudo service nginx restart
Khusus Anda pengguna Systemd
$ sudo systemctl restart nginx
Jika sudah langsung saja Anda tes dengan browser dan masukan direktori sembarang sampai Nginx error, maka hasilnya akan seperti gambar di bawah ini:

Mudah bukan? Semoga bermanfaat :)

Tuesday, October 11, 2016

Memanfaatkan PHP Built-in Server untuk Kebutuhan Pengembangan

Tulisan-tulisan sebelumnya linuxku.com banyak membahas mengenai web server yang umum digunakan yakni Apache dan Nginx. Jika Anda seorang PHP developer, tahukah bahwa sejak versi 5.4 PHP menyertakan server di dalamnya (Built-in Server)? Dengan kata lain kita tidak harus selalu bergantung pada web server untuk kebutuhan pengembangan (developing).


Maksudnya begini, pada saat kita membuat suatu proyek PHP biasanya kita harus meletakan proyek tersebut pada direktori htdocs, /srv/www, /etc/nginx/http, dan lain sebagainya yang dikenal dengan root directory. Sejak PHP versi 5.4 kita tidak perlu melakukan cara-cara tradisional seperti itu lagi. Kita bisa meletakan berkas proyek web kita pada sembarang direktori dan dapat menjalakannya di browser dengan bantuan PHP built-in server.

Untuk menggunakan PHP built-in server Anda hanya perlu melakukan perintah berikut:
$ php -S localhost:8000
atau
$ php -S 127.0.0.1:8000
Parameter -S menunjukan arti bahwa kita menggunakan built-in server , lalu parameter setelahnya kita menuliskan nama domain atau IP lalu diikuti nomor port 8000.

Untuk port, Anda bebas mau menuliskan port berapa saja, yang terpenting adalah port tersebut tidak digunakan oleh aplikasi lain. Dan, khusus bagi Anda yang ingin menggunakan port 80. Gunakan sudo
$ sudo php -S localhost:80

Bagi Anda yang ingin menggunakan domain, Anda bisa tambahkan IP localhost di /etc/hosts
$ sudo nano /etc/hosts
Masukan
127.0.0.1 www.linuxku.com
Langsung saja Anda jalankan
$ sudo php -S www.linuxku.com:80
Dan Anda bisa membuka www.linuxku.com secara langsung di browser. Sampai di sini dulu artikel kali ini. Semoga bermanfaat :)

Saturday, October 1, 2016

Mengatasi Access denied for user 'root'@'localhost' di MySQL/Mariadb


Kita penulis mencoba memasang phpMyAdmin pada server bersistem operasi GNU/Linux dengan distro Ubuntu 16.04 LTS. Penulis mengalami suatu kendala, yakni munculnya galat (error) berupa pesan "Access denied for user 'root'@'localhost'". Biasanya ini diakibatkan karena username dan password untuk table phpMyAdmin salah atau tidak diberi akses. Padahal saat penulis login manual MySQL/Mariadb dengan CLI, penulis bisa masuk karena password dan username yang dimasukan benar. Nah, terjadi hal yang lucu di mana pada saat penulis masukan username/password yg sesuai tetap saja terjadi galat.


Pada tulisan ini saya mencoba berbagi tips mengenai permasalahan ketika Anda mengakses phpMyAdmin dengan akun root namun tertolak seolah Anda salah memasukan password.

Langsung saja berikut caranya. Pertama-tama, login MariaDB/MySQL:
$ sudo mysql -u root
Kemudian lalukan perintah berikut:
mysql > use mysql;
mysql > update user set plugin='' where User='root';
mysql > flush privileges;
Lalu kita keluar dari MariaDB/MySQL:
mysql > \q

atau

mysql > quit 
Lalu cobalah akses phpMyAdmin Anda dengan root jika sudah bisa artinya sudah sukses.

Semoga bermanfaat. :)

Thursday, September 29, 2016

Reset Password MySQL/Mariadb di GNU/Linux



Dikarenakan banyaknya akun yang kita gunakan kadang kala kita lupa dengan password suatu akun tersebut, dan celakanya kita masih menggunakan cara tradisional yakni hanya bermodal dihafal atau hanya mencatat pada catatan kecil di kertas, dan kebetulan password tersebut sedang Anda butuhkan. Tidak ada cara lain selain me-reset password.

Tulisan kali ini penulis akan memberikan sedikit tips-trick tentang cara bagaimana kita mereset password MySQL/Mariadb dengan perintah CLI (Command Line Inferface).
Langsung saja kita mulai praktek. Pertama-tama Anda matikan dulu service dari MySQL/Mariadb.
$ sudo service mysql stop
atau
$ sudo systemctl stop mysql
atau
$ sudo systemctl stop mariadb
Kemudian lakukan perintah berikut:
$ sudo mysqld_safe --skip-grant-tables &
Tunggu beberapa saat lalu tekan ENTER.
Lalu kita masuk ke MySQL/Mariadb nya:
$ mysql -u root mysql
Dan langsung saja Anda ganti password tersebut sesuai dengan keinginan Anda:
mysql > UPDATE user SET password=PASSWORD('PASSWORD_BARU_ANDA') WHERE user='root'
mysql > FLUSH PRIVILEGES;
Kemudian nyalakan kembali service MySQL/Mariadb Anda:
$ sudo service mysql stop
atau
$ sudo systemctl stop mysql
atau
$ sudo systemctl stop mariadb
Dan viola, password Anda sudah ter-reset dan Anda bisa kembali mengatur MySQL/Mariadb. Mudah bukan? Semoga bermanfaat :)

Tuesday, September 27, 2016

Me-redirect domain non-www ke www di Nginx


Terkadang kita membutuhkan suatu domain non-www (domain.com) di-redirect ke domain ber-www (www.domain.com). Ada banyak tujuan menggunakan domain dengan www, diantaranya adalah mengenai pemanfaatan CDN, optimasi cookies jika kita menggunakan subdomain, dan lain sebagainya. Jika kita perhatikan beberapa situs besar menggunakan www di domainnya, seperti google, facebook, dan lain sebagainya. Penulis tidak membicarakan lebih detail mengenai manfaat dari penggunaan domain ber-www Anda bisa baca lebih lengkap di sini http://www.yes-www.org/why-use-www/


Salah satu cara me-redirect suatu domain dari server yakni dengan memanfaatkan htaccess. Seperti yang telah kita ketahui bahwa Nginx tidak bisa membaca htaccess kita perlu membuatkan konfigurasinya. Nah, tulisan kali ini, penulis membahas mengenai redirect di Nginx.

Langsung saja, pertama-tama buka pengaturan Nginx Anda.

Pengguna Ubuntu/Debian
$ sudo nano /etc/nginx/sites-available/default
Pengguna Centos/Fedora/RHEL
$ sudo nano /etc/nginx/nginx.conf
Kemudian buat skrip seperti berikut:

server {
    listen 80;
    server_name domainku.com;
    return 301 $scheme://www.domainku.com$request_uri;
}

server {
    listen 80;
    server_name www.domainku.com;
} 
Perhatikan skrip di atas, pengaturan Nginx layaknya seperti bahasa pemrograman C, yakni fungsi awal dibaca lebih dahulu, jadi kita letakan server_name domain tanpa www diletakan diawal yang kemudian di-redirect permanent (lihat return 301) ke www.


Skrip di atas di gunakan untuk satu domain saja atau per-virtualhost. Jika Anda ingin membuat seluruh domain di redirect ke www. Bisa buat seperti skrip di bawah ini:
server {
    server_name "~^(?!www\.).*" ;
    return 301 $scheme://www.$host$request_uri;
}


Mudah bukan? Semoga bermanfaat :)

Thursday, September 22, 2016

Memonitoring MySQL/Mariadb dengan Mytop di Debian dan Ubuntu Server


Kegiatan memonitoring atau mengawasi suatu server adalah hal yang perlu demi menjaga kualitas dan performa yang diberikan. Tulisan lalu kita telah banyak membahas mengenai aplikasi monitoring untuk web server. Kali ini penulis akan membahas mengenai  aplikasi untuk memonitoring database server yang cukup banyak digunakan yakni MySQL atau Mariadb.

Untuk memonitoring MySQL/Mariadb kita menggunakan aplikasi FLOSS (Free/Libre Open Source Software) yakni mytop. Kabar baiknya mytop berada dalam official repository pada server berbasis Debian, Ubuntu atau derivatifnya.

Langsung saja kita pasang mytop dengan cara berikut:
$ sudo apt-get install mytop

Setelah selesai, cara masuk ke mytop ada 2 cara:
  1. Menggunakan cara:
    $ mytop --prompt
    lalu nanti Anda akan dimintai password root dari database server Anda.
  2. Menggunakan cara:
    $ mytop -u root -p'PasswordAnda'
Hasilnya Anda akan melihat seperti gambar di bawah ini:
Jika Anda ingin keluar dari mytop, tekan tombol q. Adapun berikut perintah lengkapnya:
Untuk menampilan perintah seperti gambar di atas, Anda bisa menekan tombol tanda tanya ?.

Semoga bermanfaat.

Thursday, September 15, 2016

Memasang Webmin di GNU/Linux Server

Webmin adalah aplikasi fasilitas administrasi berbasis web, yang mana hampir semua jenis servis, dan berbagai kustomasi dapat dilakukan oleh Webmin, mulai dari webserver, DNS, file sharing dan lain sebagainya, dan tentunya dengan webmin ia dapat mempermudah mengubah konfigurasi atau memanajemen GNU/Linux server yang sebelumnya dilakukan via console melalui ssh.

Tulisan kali ini kita akan membahas mengenai bagaimana cara pemasangan Webmin di server GNU/Linux distro yang umum dipakai sebagai server yakni; Debian, Ubuntu, Fedora, Centos, dan RHEL.

Tahap Pemasangan

Anda dapat mengunduhnya langsung dari sini: http://www.webmin.com/download.html dengan wget atau manual dari localhost.

Pengguna Debian dan Ubuntu
$ sudo apt-get install libauthen-pam-perl apt-show-versions
$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.810_all.deb
$ sudo dpkg -i webmin_1.810_all.deb
Pengguna Fedora/Centos/RHEL
$ sudo rpm -Uvh http://prdownloads.sourceforge.net/webadmin/webmin-1.810-1.noarch.rpm

Tahap Pengaturan

Pertama-tama kita ubah terlebih dahulu password root pada webmin, caranya adalah sebagai berikut:
$ sudo su
# /usr/share/webmin/changepass.pl /etc/webmin root PasswordAnda

Jangan lupa buka port 10000 dari firewall Anda. Jika Anda pengguna Debian/Ubuntu bisa melalui UFW.

Untuk masuk ke Webmin buka di browser menggunakan https, dan masukan tautan seperti di bawah ini:

https://192.168.1.100:10000/


Jika Anda mengalami error seperti gambar di atas, langsung saja klik "Install Update Now". Beberapa masalah bisa Anda lihat di sini: http://www.webmin.com/updates.html

Semoga bermanfaat :)

Tuesday, August 16, 2016

Memasang OwnCloud di Centos 6/7



OwnCloud termasuk dalam kategori Infrastructure as a Service (IaaS) Layanan awan, dengan ownCloud kita dapat menyimpan berkas, kontak, audio, galeri foto, kalender dan dokumen lainnya. Kita juga dapat mengakses berkas dan melakukan sinkronisasi berkas yang terdapat pada server ownCloud dengan perangkat mobile, desktop, atau peramban (browser).

Tulisan kali ini adalah kita akan membahas cara pemasangan OwnCloud di server berbasis Centos 6 dan Centos 7. Bagi Anda pengguna Fedora atau RHEL mungkin cara ini masih bisa dan berlaku bagi Anda. Khusus Fedora 21 ke atas jangan lupa ganti yum dengan dnf.

Persyaratan yang dibutuhkan sebelum Anda memasang OwnCloud adalah, adanya web server, Anda bisa melihat postingan lama di linuxku.com mengenai web server ini. Saat ini baru ada Nginx dan Apache saja:
  1. http://www.linuxku.com/2016/05/install-nginx-di-centos-7.html
  2. http://www.linuxku.com/2015/06/instalasi-webserver-apache-php-mysql-phpmyadmin-di-centos-7-rhel-7-debian-8-ubuntu-14-04.html
Sebagai tambahan:
  1. http://www.linuxku.com/2016/05/menerapkan-virtualhost-untuk-keperluan.html
  2. http://www.linuxku.com/2016/08/update-segera-php-53-ke-56-anda-di.html
Kemudian pasti Anda mengetahui di mana letak root directory pada virtual host Anda baik di Nginx ataupun Apache. Di sini saya menyarankan menggunakan Apache, karena biar kita dapat pasang OwnCloud dari repository.

Untuk menasang secara manual, kita dapat mengunduhnya menggunakan wget:
$ wget https://download.owncloud.org/community/owncloud-9.1.0.tar.bz2
$ tar -xvjf owncloud-9.1.0.tar.bz2
$ sudo mv owncloud /var/www/html/
Atau dari situs resminya:
https://owncloud.org/install/#instructions-server

Centos 6

$ sudo rpm --import https://download.owncloud.org/download/repositories/stable/CentOS_6/repodata/repomd.xml.key
$ sudo wget http://download.owncloud.org/download/repositories/stable/CentOS_6/ce:stable.repo -O /etc/yum.repos.d/ce:stable.repo
$ sudo yum clean expire-cache
$ sudo yum install owncloud

Centos 7

$ sudo rpm --import https://download.owncloud.org/download/repositories/stable/CentOS_7/repodata/repomd.xml.key
$ sudo wget http://download.owncloud.org/download/repositories/stable/CentOS_7/ce:stable.repo -O /etc/yum.repos.d/ce:stable.repo
$ sudo yum clean expire-cache
$ sudo yum install owncloud-files
Kemudian masuk ke mysql:
$ sudo mysql -u root -p
Dan buat database misalnya Owncloud:
CREATE DATABASE owncloud;

Lalu kemudian jalankan browser Anda masukan IP Address atau Domain Anda dengan slash owncloud. Contoh:

http://127.0.0.1/owncloud

Lalu buat username dan password, Administrasi Anda dan koneksikan dengan mysql server. Seperti gambar di bawah ini:
Klik Finish Setup, dan tunggu sampai Anda bisa login seperti gambar berikut:

Semoga bermanfaat :)

Thursday, August 11, 2016

Mengaktifkan HTTP/2 di Nginx


Teknologi kian hari kian meningkat seiring perkembangan zaman. Tak luput pula berkembangnya teknologi pada HTTP (Hypertext Transfer Protocol). HTTP ini adalah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia. Penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokumen hiperteks, yang kemudian membentuk World Wide Web.

HTTP/2 memegang peranan penting bagi masa depan Internet yang menawarkan akses lebih cepat dan aman berkat teknologi kompresi dan enkripsi yang lebih efisien. Perbedaan mendasar HTTP 1.1 dengan HTTP/2 terletak pada cara kerjanya, dimana HTTP 1.1 hanya menggunakan satu koneksi ketika menampilkan suatu halaman situs, sehingga elemen resource seperti file HTML, file CSS, gambar dan file JavaScript yang terdapat dalam situs tersebut diminta secara satu persatu.

Kelebihan HTTP/2

  1. Mengurangi latensi hingga dapat mempercepat loading speed di browser.
  2. Kompatibel dengan HTTP 1.1 karena dibangun berdasarkan HTTP 1.1

Kebutuhan:

Memiliki sertifikat SSL, bisa Anda baca:
  1. http://www.linuxku.com/2016/08/membuat-sertifikat-self-signed-ssl_4.html
  2. http://www.linuxku.com/2016/07/memasang-ssl-lets-encrypt-untuk-apache.html
Kabar baiknya sejak versi 1.9.5 Nginx sudah memberikan dukungan pada HTTP/2. Kabar buruknya tidak semua distro GNU/Linux yang dikhususkan untuk server mendapatkan versi tersebut, oleh karena itu Anda membutuhkan upgrading.

Dalam artikel di sini penulis tidak menjelaskan panjang lebar mengenai HTTP/2 kelebihan berserta manfaatnya, fokus tulisan di sini yakni tentang cara menerapkan HTTP/2 pada Nginx. Untuk informasi lebih jauh mengenai HTTP/2 ini, Anda bisa baca referensi di bawah pada subjudul "Sumber".

Menerapkan Nginx dengan HTTP/2

Perlu diketahui bahwa penulis di sini tidak menyertakan untuk pengguna Ubuntu 14.04 atau ke bawahnya, hanya untuk versi Ubuntu 16.04. Meskipun di Ubuntu 14.04 bisa Anda gunakan Nginx mainline tapi penulis tidak menyarankan. Di Ubuntu 16.04, Nginx memasuki versi 1.10.x ini artinya Anda bisa menggunakan fasilitas module HTTP2 dari Nginx.

Langsung saja, untuk pengguna Ubuntu 16.04, bisa langsung pada Nginx dari official repository:
$ sudo apt install nginx
Untuk pengguna Centos 6/7, Anda perlu menambahkan lumbung (repository).
$ sudo nano /etc/yum.repos.d/nginx.repo
Lalu masukan:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
Kemudian lansung install Nginx tersebut:
$ sudo yum install nginx

Untuk pengguna Ubuntu 16.04, masuk ke direktori  /etc/nginx/sites-available/ di sesuaikan dengan Virtualhost Anda. Penulis asumsikan di vhost default:
$ sudo nano /etc/nginx/sites-available/default
Untuk pengguna Centos 6/7, masuk ke direktori /etc/nginx/
$ sudo nano /etc/nginx/nginx.conf

Lebih lanjut Anda bisa baca pada tulisan sebelumnya:
http://www.linuxku.com/2016/05/menerapkan-virtualhost-untuk-keperluan.html

Langkah selanjutnya untuk seluruhnya (Ubuntu maupun Centos) masukan skrip seperti contoh di bawah ini:
server {

listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;

ssl_certificate      cert.pem;
ssl_certificate_key  cert.key;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
}
Kemudian cek konfigurasi Nginx Anda apakah sudah benar atau belum? Dengan cara:
$ sudo nginx -t
Jika terdapat pesan berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Jika sudah sukses langsung saja Anda restart Nginx tersebut:
$ sudo service nginx restart

Untuk mengetahui apakah situs Anda sudah menggunakan HTTP/2 atau belum bisa gunakan tool di bawah ini:
https://tools.keycdn.com/http2-test 
Contohnya pada https://situsali.com, sudah menggunakan HTTP/2
Untuk linuxku.com memang belum menggunakan teknologi HTTP/2, karena website ini menggunakan blogspot.
Semoga bermanfaat :)

Sumber:

  • http://blog.arijulianto.com/2015/09/teknologi-baru-web-www-http-2.html
  • http://internetsehat.id/2015/02/setelah-16-tahun-selamat-datang-http2/
  • http://selular.id/news/2015/11/dibandingkan-http-1-1-apa-keunggulan-internet-protocol-http2/
  • https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-with-http-2-support-on-ubuntu-16-04
  • http://serverfault.com/questions/730810/installing-nginx-1-9-on-centos7-vps
  • http://stackoverflow.com/questions/28524512/which-web-servers-support-http-2
  • https://bjornjohansen.no/enable-http2-on-nginx
  • https://blog.cloudflare.com/open-sourcing-our-nginx-http-2-spdy-code/

Tuesday, August 9, 2016

Update Segera PHP 5.3 ke 5.6 Anda di Centos 6


Menjaga keamanan suatu situs adalah hal yang sangat perlu dilakukan, apalagi situs Anda merupakan situs yang terkenal dan ramai pengunjung. Salah satu mengamankan situs adalah mengupdatenya.

Bagi pengguna Centos 6.x dalam official repository hanya menyertakan versi PHP 5.3.3 Anda bisa lihat di (http://mirror.centos.org/centos/6/os/x86_64/Packages/). PHP versi 5.3 terbilang sudah cukup lama, di samping itu dukungan keamanannya sudah tidak didukung lagi, karena PHP 5.3 keamanannya hanya didukung sampai dengan tanggal 14 Agustus 2014 (bisa Anda lihat di http://php.net/eol.php)

Perhatikan gambar di bawah ini:
Terlihat gambar di atas bahwa official Repository pada Centos 6 hanya menyertakan versi PHP sampai dengan 5.3.3.

Penulis menyarankan menggunakan PHP 5.6 Mengapa? Karena PHP 5.6 ini masih didukung hingga akhir tahun 2016 (http://php.net/supported-versions.php)
Untuk memasang PHP 5.6, Pertama-tama Anda perlu memasang dahulu epel-release:
$ sudo yum install epel-release
Kemudian Anda pasang remi repostory:

$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Dan Anda bisa langsung memasang PHP versi 5.6 dengan cara berikut:
$ sudo yum install --enablerepo=remi-php56 php php-common
Sekarang Anda bisa lihat PHP versi Anda dengan perintah:
$ php -v

Semoga bermanfaat :)

Sumber:
  • http://www.phptherightway.com/#use_the_current_stable_version
  • https://updraftplus.com/php-version-matter/
    http://www.pixelite.co.nz/article/how-why-you-should-update-php-to-55-with-drupal/
  • http://stackoverflow.com/questions/21502656/upgrading-php-on-centos-6-5-final
  • Gambar: http://blog.infolink.com.br/wp-content/uploads/php5.6.jpg

Tuesday, August 2, 2016

Memanfaatkan VNC untuk Keperluan Remote Server di Ubuntu 14.04/16.04



VNC adalah kependekan dari Virtual Network Computing, yakni suatu koneksi antar sistem yang membolehkan kita mengakses keyboard, mouse dalam berinteraksi dengan desktop environment layaknya seperti kita mengakses komputer. Hal ini menjadikan lebih mudah me-remote server yang mana bagi mereka yang tidak terbiasa dengan perintah-perintah (command line) di GNU/Linux.

Dalam tutorial kali ini, penulis memberikan pemaparan mengenai pemasangan berserta konfigurasi guna memanfaatkan VNC sebagai keperluan remoting server berbasis GUI. Di sini penulis menggunakan Ubuntu server 16.04 dan menggunakan TightVNC sebegai remote servernya, yang mana TightVNC itu adalah aplikasi yang cepat dan andal dalam hal penangan remoting via VNC.

Tahap Pemasangan

Penulis di sini menggunakan desktop environment (DE) XFCE, penulis asumsikan bahwa Anda belum memasang XFCE jadi pertama-tama kita pasang dahulu XFCE. Sebelumnya untuk memastikan semua daftar paket dalam lokal tersingkronisasi dengan lumbung, maka kita perlu meng-update-nya terlebih dahulu.
$ sudo apt-get update
Kemudian baru kita pasang XFCE:
$ sudo apt install xfce4 xfce4-goodies
Lalu, langkah selanjutnya langsung saja kita pasang TightVNC server:
$ sudo apt install tightvncserver
Setelah tahap pemasangan TightVNC server, langsung saja kita jalankan:
$ vncserver
Untuk pertama kali, Anda akan dimintai membuat password. Ada dua kriteria password yang pertama password untuk mengakses penuh; kemudian yg kedua password untuk view-only artinya Anda hanya dapat melihat tanpa bisa memfungsikan mouse dan keyboard untuk mengakses komputer yang sedang Anda remote tersebut.

Opsional saja membuat password untuk metode view-only, dalam contoh tutorial ini penulis menuliskan password untuk metode tersebut.

Perlu diketahui untuk mematikan vncserver tesebut adalah sebagai berikut:
$ vncserver -kill :1
Jika sudah selesai semua, langsung kita tes pada mesin atau localhost, di sini saya menggunakan distro Arch Linux sebagai client VNC untuk tahap pengetesan dengan menggunakan TigerVNC. Anda bisa menggunakan VNC client lainnya seperti RealVNC, UltraVNC, dan lain sebagainya.

Untuk me-remote-nya diperlukan IP atau domain, dan jangan lupa masukan port TightVNC, port defaultnya adalah 5901. Berikut contohnya:
Kemudian Anda akan dimintai password yang sebelumnya telah Anda buat tersebut.
Dan hasilnya akan seperti gambar di bawah ini:

Tahap Pengaturan

Perlu diketahui bahwa TightVNC server tidak berjalan pada startup, artinya begitu server di restart maka TightVNC server tidak berjalan. Di sini penulis berikan sedikit tips cara membuat TightVNC server sebut berjalan pada startup.

Untuk pengguna Ubuntu 14.04. Pertama-tama buat dahulu berkas di /etc/init.d/
$ sudo nano /etc/init.d/vncserver
Kemudian isi dengan skrip di bawah ini:
#!/bin/bash
PATH="$PATH:/usr/bin/"
export USER="ali"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"
. /lib/lsb/init-functions
case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISP$
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;
stop)
log_action_begin_msg "Stopping vncserver for user '${USER}' on localhost:${DISP$
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;
restart)
$0 stop
$0 start
;;
esac
exit 0
Dan lakukan perintah berikut, agar TightVNC dapat berjalan di startup.
$ sudo update-rc.d vncserver defaults
Untuk pengguna Ubuntu 16.04 karena sudah menggunakan Systemd jadi kita perlu membuat berkas di direktori /etc/systemd/system/ dengan nama apapun dot service contohnya:
$ sudo nano /etc/systemd/system/vncserver@.service
Dan isi dengan skrip di bawah ini:
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=ali
PAMName=login
PIDFile=/home/ali/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target
Kemudian simpan dan lakukan daemon-reload:
$ sudo systemctl daemon-reload
Dan langsung saja kita jadikan TightVNC tersebut dapat berjalan di startup dengan cara berikut:
sudo systemctl enable vncserver@1.service
Semoga bermanfaat. :)

Sumber:
  • https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-14-04
  • https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-16-04