Tampilkan postingan dengan label Ubuntu. Tampilkan semua postingan
Tampilkan postingan dengan label Ubuntu. Tampilkan semua postingan

Sabtu, Desember 13, 2014

How to Install SeedDMS on Ubuntu

SeedDMS is an open source document management system. In my opinion, its features are quite powerful, easy to use, but unfortunately lack of documentation. I guess the developers are too busy focusing on coding and forgetting how good documentation will help the others to install and use the application. After some trial and error, I’m finally able to install SeedDMS on my Ubuntu.

In this tutorial, I use latest Ubuntu server 14.10 (Utopic Unicorn) which can be downloaded via Ubuntu official website here and latest SeedDMS (version 4.3.13 ) which can be downloaded via sourceforge here. I assume you already installed Ubuntu and are familiar with Ubuntu environment.

Selasa, Agustus 26, 2014

How to Recover Seagate Central Data

Few weeks ago I purchased Seagate Central 4TB. My first intention was to store my movie collection so I can watch it wirelessly on my iOS devices and AppleTV. Since my movie collection only consume around 800GB of space, it still has a lot of room to store anything. So I decided to move all of my data from my conventional hard disk to Seagate Central.

It worked perfectly, until several days ago I can not locate this device on my Mac. I just realize that the led indicator kept blinking all the time. On my router, the led indicator for the device is turned off. So it means, the device was not connected to my local network.

Jumat, Desember 03, 2010

How to replace newline "\n" on Unix shell

I want to replace all new line characters on a file using Unix shell. Just found it is quite difficult to do it using sed command because sed operates line by line and never sees the newline endings. Yeah, instead of sed command, tr command is a solution for this.

Let say I want to replace '\n' character on file named sample.log with ' ' (space) character. Instead of using

sed -i 's/\n/ /g'

command which is failed, I use

cat sample.log | tr '\n' ' ' > sample.output

command. The result will be stored in sample.output file.

Jumat, Oktober 29, 2010

Memindahkan direktori data MySQL pada Ubuntu

Secara default, data MySQL pada Ubuntu terletak pada direktori /var/lib/mysql. Direktori ini berisi semua database mysql termasuk tabel-tabel yang ada di dalamnya. Jika sisa ruang pada partisi /var penuh, tentunya akan mengganggu operasional MySQL ini. Langkah-langkah berikut ini akan menjelaskan bagaimana caranya memindahkan data tersebut ke direktori lain. Semua langkah dibawah akan dijalankan melalui terminal dan menggunakan priveledge root.
  1. Mematikan service Mysql
  2. user@ubuntu# sudo /etc/init.d/mysql stop
    atau
    user@ubuntu# service mysql stop
  3. Buat direktori tujuan. Dalam contoh ini akan menggunakan /ext/mysql
  4. user@ubuntu# sudo  mkdir /ext/mysql

  5. Salin semua isi file pada /var/lib/mysql ke /ext/mysql
  6. user@ubuntu# sudo cp -R /var/lib/mysql /* /ext/mysql
  7. Set ownership dari /ext/mysql 
  8. user@ubuntu# sudo  chown -R mysql:mysql /ext/mysql
  9. Ubah konfigurasi Mysql pada /etc/mysql/my.cnf 
  10. user@ubuntu# sudo  vi /etc/mysq/my.cnf
    Cari variable datadir. Variabel ini sebelumnya berisi /var/lib/mysql. Ganti nilai variabel datadir dengan /ext/mysql

    datadir = /ext/mysql

  11. Pada Ubuntu, ada service yang bernama AppArmor. Service ini berfungsi sebagai aplikasi keamanan untuk membatasi akses aplikasi pada area tertentu. Pada kasus ini aplikasi MySql dibatasi aksesnya ke direktori-direktori yang sudah ditentukan. Konfigurasi AppArmor untuk MySQL bisa dilihat di /etc/apparmor.d/usr.sbin.mysqld

  12. Buka file /etc/apparmor.d/usr.sbin.mysqld  
    user@ubuntu# sudo  vi /etc/apparmor.d/usr.sbin.mysqld
    Ubah semua nilai /var/lib/mysql menjadi /ext/mysql.
    /ext/mysql/ r,  
    /ext/mysql/** rwk,
    Konfigurasi diatas memberikan akses aplikasi MySql untuk membaca direktori /ext/mysql dan memberikan akses baca, tulis, dan lock ke semua file yang berada di direktori tersebut.

  13. Restart service AppArmor
  14. user@ubuntu# sudo /etc/init.d/apparmor restart
    atau
    user@ubuntu# sudo service apparmor restart

  15. Jalankan service MySql

  16. user@ubuntu# sudo  /etc/init.d/mysql start
    atau
    user@ubuntu# service mysql start
Nah, sekarang Mysql sudah dapat digunakan seperti biasa. Jika tidak ada masalah, direktori lama /var/lib/mysql bisa dihapus.

Note: Versi Ubuntu yang digunakan adalah 10.10 dengan versi MySQL 5.1.49-1ubuntu8

Jumat, November 27, 2009

Format Partisi di Linux

Karena sudah terbiasa meformat hard disk menggunakan aplikasi GUI di Ubuntu, jadinya nggak pernah ngutak-ngatik gimana caranya memformat menggunakan shell. Dalam kasus kali ini, aku ingin memformat hard disk dengan menggunakan file system ext4 dan memasangnya di PC yang menggunakan Ubuntu Server yang nggak ada Desktop nya alias versi text. Setelah melakukan pencarian di Google (ternyata banyak artikel yang aku temukan tidak berkaitan dengan apa yang aku cari), akhirnya aku menemukan artikel yang cukup relevan. Ternyata hanya diperlukan dua perintah saja: fdisk, dan mkfs.ext4.

Berikut langkah-langkahnya:
  1. Membuat partisi baru dengan fdisk
  2. Dalam kasus ini, hard disk yang aku pasang dikenali sebagai /dev/sdb, dan aku hanya ingin membuat satu partisi saja. Perintahnya adalah sebagai berikut (pastikan menjalankan fdisk dalam priveledge root):
    root@liley-II# fdisk /dev/sdb

    The number of cylinders for this disk is set to 38166.
    There is nothing wrong with that, but this is larger than 1024,
    and could in certain setups cause problems with:
    1) software that runs at boot time (e.g., old versions of LILO)
    2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)

    Command (m for help): n
    Command action
    e extended
    p primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-38166, default 1):
    Using default value 1
    Last cylinder, +cylinders or +size{K,M,G} (1-38166, default 38166):
    Using default value 38166

    Command (m for help): t
    Selected partition 1
    Hex code (type L to list codes): 83

    Command (m for help): w
    The partition table has been altered!

    Calling ioctl() to re-read partition table.
    Syncing disks.

  3. Format partisi yang sudah dibuat dengan menggunakan perintah mkfs.ext4 (untuk file system ext3 atau ext2 bisa menggunakan perintah mkfs.ext3 dan mkfs.ext2)
  4. Partisi yang sudah dibuat sebelumnya, dalam contoh ini dikenali sebagai /dev/sdb1.
    Perintah yang dijalankan adalah seperti berikut:
    root@liley-II# mkfs.ext4 /dev/sdb1
    mke2fs 1.41.9 (22-Aug-2009)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    2444624 inodes, 9770492 blocks
    488524 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=0
    299 block groups
    32768 blocks per group, 32768 fragments per group
    8176 inodes per group
    Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000, 7962624

    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done

    This filesystem will be automatically checked every 33 mounts or
    180 days, whichever comes first. Use tune2fs -c or -i to override.

  5. Melakukan mount partisi yang telah dibuat ke dalam sistem
  6. Partisi baru yang telah siap digunakan. Untuk melakukan mount ke dalam sistem, bisa dilakukan secara manual atau menambahkan entry baru di /etc/fstab agar bisa di-mount secara otomatis setelah boot up.

    Dalam contoh ini, aku akan melakukan mount partisi ke direktori /ext (pastikan bahwa direktori /ext telah dibuat).

    Untuk melakukan mount secara manual, jalankan perintah berikut:
    root@liley-II# mount -t ext4 /dev/sdb1 /ext

    Atau bisa juga dengan menambahkan entry di /etc/fstab agar bisa di-mount secara otomatis. Dalam kasus ini, /etc/fstab yang aku miliki berisi:
    # /etc/fstab: static file system information.
    #
    # Use 'blkid -o value -s UUID' to print the universally unique identifier
    # for a device; this may be used with UUID= as a more robust way to name
    # devices that works even if disks are added and removed. See fstab(5).
    #
    #
    proc /proc proc defaults 0 0
    # / was on /dev/sda1 during installation
    UUID=2a927340-4561-419a-809a-e48b4925d093 / ext4 errors=remount-ro 0 1
    # swap was on /dev/sda5 during installation
    UUID=bc428fbf-8cbe-4fc6-ba6d-d4d7ec3bb4a1 none swap sw 0 0
    /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
    /dev/sdb1 /ext ext4 defaults 0 1

Minggu, September 13, 2009

SSH Tanpa Password

Tulisan ini mungkin sudah masuk kategori ketinggalan jaman banget, secara protokol SSH sudah digunakan dari jaman dulu kala. Namun tak ada salahnya juga sih, siapa tahu ada sebagian orang yang belum mengetahui tekniknya.

Secara konvensional jika seseorang melakukan login menggunakan protokol SSH ke suatu server, akan muncul prompt password. Prompt password ini mungkin akan dirasa cukup merepotkan jika orang tersebut adalah admin yang menangani mesin server yang lumayan banyak. Terlebih lagi jika password dari masing-masing username pada masing-masing mesin tersebut berbeda-beda dan susah untuk diingat.

Dengan menggunakan public/private key, maka memungkinkan untuk login menggunakan protokol SSH tanpa perlu memasukkan password. Agar lebih aman, private key yang dimiliki dapat diatur apakah memiliki passphrase atau tidak. Jika passphrase dikosongkan, maka tidak perlu memasukkan password lagi ketika melakukan login. Jika mekanisme ini diaplikasikan pada kasus diatas, maka admin tidak perlu lagi memasukkan password atau hanya perlu memasukkan passphrase yang sama ketika login ke semua mesin server yang ditangani oleh admin tersebut.

Berikut ini adalah langkah-langkahnya:
  1. Login ke client yang akan digunakan untuk login ke mesin server

  2. Membuat pasangan public/private key yang akan digenerate secara random menggunakan perintah ssh-keygen -t dsa atau ssh-keygen -t rsa tergantung tipe key yang akan digenerate apakah menggunakan protokol RSA atau DSA. Dari info yang aku peroleh, protokol DSA lebih aman.
  3. Output dari perintah diatas jika menggunakan perintah ssh-keygen -t dsa akan kira-kira akan seperti berikut:
    $ ssh-keygen -t dsa
    Generating public/private dsa key pair.
    Enter file in which to save the key (/home/test/.ssh/id_dsa):
    Created directory '/home/test/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/test/.ssh/id_dsa.
    Your public key has been saved in /home/test/.ssh/id_dsa.pub.
    The key fingerprint is:
    78:2d:16:3a:72:48:ea:c9:49:2b:2e:86:99:27:b6:b9 test@anwyn
    The key's randomart image is:
    +--[ DSA 1024]----+
    | |
    | |
    | . . |
    | o . o o |
    | o o = S . |
    | + + o + . |
    |oo* |
    |B+o |
    |+Eo |
    +-----------------+


    Masukkan nama file untuk menyimpan private key atau kosongkan untuk menyimpannya ke dalam file default (biasanya di $HOME/.ssh/id_dsa). Kosongkan passphrase yang diminta agar tidak muncul prompt ketika sudah digunakan nantinya.

    Public key secara default akan disimpan dengan nama id_dsa.pub dan disimpan di folder .ssh pada home directory.

  4. Login ke server tujuan dan salin isi public key yang telah digenerate sebelumnya ke dalam file authorized_keys yang ada di folder .ssh pada home directory. Untuk lebih mudahnya dapat dilakukan perintah berikut untuk memudahkan proses penyalinan:
ssh-copy-id -i [letak public key] username@targetserver
Pada proses diatas akan muncul prompt password untuk user username pada mesin targetserver. Masukkan password yang sesuai dan selanjutnya akan muncul keterangan bahwa public key telah ditambahkan kedalam target server.

Sekarang setiap kali login ke mesin server tujuan dengan username yang telah ditentukan, tidak akan muncul prompt password. Login menggunakan protokol SSH tanpa password sudah bisa dilakukan.

Notes tambahan:
- Masing-masing user dapat membuat pasangan public/private keynya sendiri, dan satu private key hanya digunakan oleh satu user. Sementara public key dapat ditambahkan ke user-user lain pada mesin-mesin yang lain. Cara diatas hanya berlaku untuk user tententu pada mesin server tujuan. Untuk memungkinkan akses SSH tanpa password ke user lain di mesin yang sama atau di mesin yang lain, dapat menggunakan perintah ssh-copy-id.