menu

Showing posts with label Ubuntu. Show all posts
Showing posts with label Ubuntu. Show all posts

How - Masalah saat instalasi server pertama kali


Sudah allow cors pada .htaccess tapi api tetap tidak memberikan response dengan benar?
secara default saat menginstall LAMP pertama kali headers memang selalu enabled tapi ada kemungkinan juga belum enabled secara default contohnya saat codedoct setup server ubuntu dengan EC2 milik AWS maka dari itu harus di enabled terlebih dahulu dengan cara,
$ sudo a2enmod headers

Muncul error seperti ini "GD Library extension not available with this PHP" install extension dengan cara,
// PHP5
$ sudo apt-get install php5-gd

// PHP5.6
$ sudo apt-get install php5.6-gd

// PHP7.2
$ sudo apt-get install php7.2-gd

Menggunakan framework Laravel, error 404 not found saat akan hit url selain page home/index?
masalah tersebut biasanya terjadi karena module "rewrite" belum terinstall pada server cara installnya,
$ sudo a2enmod rewrite
$ sudo service apache2 restart
kemudian cek config apache agar terlihat seperti ini,
<virtualhost>
        <directory dist-dev="" projectA-backoffice="" var="" www="">
           Options Indexes FollowSymLinks
           AllowOverride All
           Require all granted
        </directory>

    ServerAdmin webmaster@
    ServerName dev-admin.project-A.com
    ServerAlias www.dev-admin.project-A.com
    DocumentRoot /var/www/projectA-backoffice/dist-dev
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</virtualhost>

Pada server EC2 codedoct sering mendapati error seperti ini: "GPG error 'NO_PUBKEY'",
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <pubkey>
$ sudo apt-get update

===DONE!===

Engine - Install zeroMQ and binding PHP ZMQ (Ubuntu OS)


Tutorial kali ini codedoct akan sharing cara setup zeromq dan membinding php-zmq pada server ubuntu, server yang codedoct gunakan adalah ubuntu versi 16.04 dan php yang digunakan adalah versi 5.6.

Pertama yang dilakukan adalah menginstall zeromq dengan cara berikut,
# download file zeromq
$ wget https://github.com/zeromq/libzmq/releases/download/v4.2.2/zeromq-4.2.2.tar.gz

# unpack file tar.gz
$ tar xvzf zeromq-4.2.2.tar.gz

# update ubuntu
$ sudo apt-get update

# install dependency
$ sudo apt-get install -y libtool pkg-config build-essential autoconf automake uuid-dev

# create make file
$ cd zeromq-4.2.2
$ ./configure

# build and install
$ sudo make install

# install zeromq driver on linux
$ sudo ldconfig

# check installed
$ ldconfig -p | grep zmq

Jika sudah lanjutkan dengan membinding zmq dengan php pada server,
# clone file php-zmq
$ git clone git://github.com/mkoppanen/php-zmq.git

# cd to the directory
$ cd php-zmq

# create make file
$ phpize && ./configure

# install package
$ make && make install

Selanjutnya tambahkan zmq.so pada path berikut,
  • /etc/php/5.6/apache2/php.ini
  • /etc/php/5.6/cli/php.ini
seperti ini,


Jika terjadi error berikut,


ketikan code berikut pada terminal,
$ sudo apt-get install php5.6-dev


ketikan code berikut pada terminal,
$ sudo apt-get install -y pkg-config

===DONE!===

Engine - Deploy websocket server Laravel in EC2(AWS) part-2


Melanjutkan tutorial sebelumnya kita sudah mensetting port pada EC2 server dan menjalankan serverpilot. Nah tibalah pada masalah secure website yang menggunakan "https", ada dua cara untuk mengatasi masalah ini.

Yang pertama dengan menyediakan secure websocket server dengan code seperti dibawah,
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use React\EventLoop\Factory;
use React\Socket\SecureServer;
use React\Socket\Server;
use App\Http\Controllers\WebSocketController;
class WebSocketSecureServer extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'websocketsecure:init';
    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Command description';
    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }
    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        $loop   = Factory::create();
        $webSock = new SecureServer(
            new Server('0.0.0.0:8091', $loop),
            $loop,
            array(
                'local_cert'        => 'C:/xampp/apache/conf/ssl.crt/server.crt', // path to your cert
                'local_pk'          => 'C:/xampp/apache/conf/ssl.key/server.key', // path to your server private key
                'allow_self_signed' => TRUE, // Allow self signed certs (should be false in production)
                'verify_peer' => FALSE
            )
        );
        // Ratchet magic
        $webServer = new IoServer(
            new HttpServer(
                new WsServer(
                    new WebSocketController()
                )
            ),
            $webSock
        );
        $loop->run();
    }
}

Tapi saya tidak menganjurkan menggunakan cara diatas dikarenakan cara itu hanya berlaku untuk websocket yang menggunakan ratchet jika suatu saat kita akan menggunakan websocket lain maka kita harus mensetup untuk secure servernya juga, sangat merepotkan bukan?. Maka dari itu codedoct menyarankan untuk mensetting langsung pada servernya dengan cara mengalihkan secure connection "wss" ke unsecure connection "ws" dengan menggunakan server proxy.

Oke kita mulai saja setup secure connectionnya,
Pertama, silahkan enabled modul proxy nya terlebih dahulu dengan cara,
$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo a2enmod ssl
$ sudo service apache2 restart

Kemudian, karna saya menggunakan apache2 untuk menjalankan server web yang saya miliki maka buka apache.conf dengan cara,
$ vim /etc/apache2/apache2.conf

Selanjutnya tambahkan code dibawah pada baris paling atas,
ProxyRequests off
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off

ProxyPass /wss2/ ws://<ip public>:8080/

Setelah itu ubah connection websocket pada halaman client menjadi seperti ini,
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>user 1</title>
 </head>
 <body>
  <button onclick="register()">Register</button><br>
  <button onclick="send()">Send</button>

  <script>
   var conn = new WebSocket('wss://<url domain>/wss2/');

   conn.onopen = function(e) {
      console.log("Connection established!");
      setInterval(register, 60000);//1minute keep connection
   };

   conn.onmessage = function(e) {
      console.log(e.data);
   };

   function register() {
    conn.send(JSON.stringify({command: "register", userId: "1"}));
   }

   function send() {
    conn.send(JSON.stringify({command: "message", to: "2", from: "1", data: {message: "halo user 2"}}));
   }
  </script>
 </body>
</html>

Dan untuk mengetestnya kita tidak bisa menggunakan IP public dari server EC2 yang kita miliki karena jika dipaksa untuk mengakses dengan https maka secure connection websocket akan error karena ketidak mampuan dari server yang di akses melalui IP public untuk melakukan self-signed certificates.

Untuk itu kita harus menggunakan domain yang telah di integrasikan dengan sebuah CDN dalam hal ini codedoct menggunakan cloudflare bisa baca disini untuk setupnya.

Terakhir silahkan akses kembali page websocket anda menggunakan url domain anda dengan secure connection "https".

===DONE!===

Engine - Deploy websocket server Laravel in EC2(AWS) part-1


Pada tutorial sebelumnya kita sudah membuat sebuah engine chat/notifikasi menggunakan ratchet laravel, tutorial kali ini kita akan mendeploy engine tersebut ke server.

Server yang digunakan adalah EC2 instance dari AWS dengan OS Ubuntu 16.04.

Oke langsung saja kita mulai eksperimennya, pertama silahkan deploy terlebih dahulu project websocket kita ke server jika sudah coba jalankan websocket pada server dengan cara seperti di tutorial sebelumnya,
$ php artisan websocket:init
Dan coba akses di IP public server  dengan port yg sudah kita set menjadi misal 8080, hasilnya pasti akan error karena pada AWS kita harus membuka port tersebut terlebih dahulu agar bisa di akses dari public caranya,

Masuk ke halaman service EC2,


Kemudian pada bagian bawah halaman akan terlihat bagian security groups seperti ini,


Klik launch-wizard-2 karena itu merupakan settingan yang codedoct pakai, maka akan terlihat seperti gambar dibawah,


Buka tab Inbound seperti diatas kemudian klik button edit, dan akan muncul popup seperti gambar dibawah,


Tambahkan Custom TCP dan isi seperti baris paling bawah pada gambar diatas dan terakhir klik button "save"

Sekarang buka kembali page IP public kita pada browser beserta portnya dan pasti akan terbuka, selanjutnya apakah kita akan menjalankan websocket pada terminal ssh terus-menerus? tentu tidak karena ssh sendiri akan time out dan server websocket kita akan mati dengan sendirinya, oleh sebab itu kita akan menjalankan server websocket pada background processing menggunakan "supervisor" caranya mudah,

Pertama, install terlebih dahulu supervisornya,
$ sudo apt-get install supervisor
$ sudo service supervisor restart

Selanjutnya buat sebuah folder / directory pada server sebagai tempat menyimpan file configurasi supervisor kita, kita akan buat folder baru dengan nama supervisor pada path /var/www/ kemudian pada folder tersebut buat file bernama websocket.conf dan buat folder dengan nama logs dengan cara,
$ mkdir logs
$ vim websocket.conf

Kemudian isi file tersebut dengan code berikut, untuk beberapa sintax ubuntu bisa lihat disini,
[unix_http_server]
file = /tmp/supervisor.sock

[supervisord]
logfile          = ./logs/supervisord.log
logfile_maxbytes = 50MB
logfile_backups  = 10
loglevel         = info
pidfile          = /tmp/supervisord.pid
nodaemon         = false
minfds           = 1024
minprocs         = 200

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl = unix:///tmp/supervisor.sock

[program:ratchet]
command                 = php artisan websocket:init
directory               = /var/www/project-websocket
process_name            = Ratchet
numprocs                = 1
autostart               = true
autorestart             = true
user                    = root
stdout_logfile          = ./logs/info.log
stdout_logfile_maxbytes = 1MB
stderr_logfile          = ./logs/error.log
stderr_logfile_maxbytes = 1MB

Terakhir, jalankan websocket.conf dengan supervisor,
$ sudo supervisord -c websocket.conf
Jika tidak ada error muncul silahkan keluar dari ssh server dan coba test kembali websocket project kita dengan mengakses IP public beserta portnya, hasilnya websocket server tetap running meskipun ssh sudah tertutup.

===DONE===

DevOps - Integration server with cloudflare


Pada tutorial sebelumnya kita sudah membuat server dengan menggunakan layanan cloud server AWS yaitu EC2.

Tutorial kali ini, kita akan bereksperimen untuk memetakan beberapa site yang kita buat pada server EC2 menjadi beberapa subdomain menggunakan CDN (cloudflare). sebelum memulai tutorial ini silahkan buat setting cloudflare dulu dengan cara lihat disini,

Oke langsung saja kita mulai tutorialnya,
Pertama, install dulu server webnya, dalam hal ini kita akan menggunakan apache yang bisa diinstall pada ubuntu caranya mudah
sudo apt-get update
sudo apt-get install apache2

Jika sudah coba cari pada browser IP public server anda yang dapat dilihat pada Public DNS (IPv4) jika anda menggunakan AWS,


Maka akan muncul seperti gambar berikut pada browser Anda,


Jika muncul berarti Apache sudah berhasil diinstall, selanjutnya masuk ke server AWS dan masuk ke path /var/www pada folder www buat folder baru dengan nama website_1 dan website_2, pada masing-masing folder tersebut buat file index.html dan isi dengan text terserah anda tapi berbeda satu sama lain, misal file index.html pada folder website_1 kita isi dengan "test 1" dan file index.html pada folder website_2 kita isi dengan "test 2".

Jika sudah sekarang masuk ke path /etc/apache2/site-available/ buat file baru dengan nama website1.conf dan website2.conf dan isi dengan code berikut,

website1.conf
<VirtualHost *:80>

ServerAdmin webmaster@
ServerName website1.codedoct.com
ServerAlias www.website1.codedoct.com
DocumentRoot /var/www/website_1
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

website2.conf
<VirtualHost *:80>

ServerAdmin webmaster@
ServerName website2.codedoct.com
ServerAlias www.website2.codedoct.com
DocumentRoot /var/www/website_2
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Setelah itu enable config site yang baru dan reload apache dengan cara,
sudo a2ensite website1.conf
sudo a2ensite website2.conf
sudo service apache2 reload

Selanjutnya maping IP public di hosts server dengan cara masukan code berikut pada file /etc/hosts,
123.123.123.123 webiste1.codedoct.com
123.123.123.123 website2.codedoct.com

Terakhir mapping subdomain pada CDN (cloudflare) dengan cara, silahkan buka terlebih dahulu akun cloudflare anda dan masuk ke menu DNS yang terletak pada atas halaman sehingga akan tampak seperti ini,


Dan sekarang masukan nama subdomain dan IPv4 address (IP Public) anda sehingga akan tampak seperti gambar dibawah,


Lakukan hal yang sama untuk website2 seperti pada gambar diatas, jika sudah silahkan buka di browser anda kedua website tadi sehingga akan tampak seperti pada gambar dibawah,

website 1


website 2


===DONE!===

How - Mengganti port apache pada ubuntu



Sudah hampir akhir bulan mei dan codedoct sama sekali belom release artikel apapun, haha..

Saat ini codedoct sedang sibuk mendalami ilmu-ilmu baru yang sudah direncanakan tutorialnya akan dibuat pada website ini, salah satu ilmu yang akan dishare adalah docker(tunggu saja tanggal mainnya).

Oke pada tutorial kali ini codedoct akan menshare trick baru yg nanti akan sangat berguna dalam bermain docker, yaitu trick mengganti port apache default pada ubuntu.

Pertama, coba lihat dulu list port yang ada pada ubuntu anda dengan cara,
sudo netstat -tulpn

Tampilannya akan tampak seperti ini,


Selanjutnya untuk mengganti port tersebut, tinggal edit saja file ports.conf pada path /etc/apache2/ caranya,
sudo vim /etc/apache2/ports.conf

Secara default akan terbuka file seperti ini,
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80


        Listen 443



        Listen 443


# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Kemudian ganti saja Listen 80 menjadi port yang diinginkan, misal saya ganti menjadi 2305,
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 2305


        Listen 443



        Listen 443


# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Setelah itu edit juga file 000-default.conf pada path /etc/apache2/sites-enabled/
dari,
<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

menjadi,
<VirtualHost *:2305>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

Terakhir restart apache,
sudo service apache2 restart

Sehingga tampilannya akan tampak seperti ini,


===DONE!===

How - Install LAMP server di ubuntu 16.04 LTS



Hello everyone,,

Kali ini codedoct akan membagikan sedikit pengalaman tentang ubuntu 16.04.. yup, belum lama ini ubuntu telah merilis versi terbarunya yaitu 16.04 LTS codedoct pun tertarik untuk mencobanya untuk keperluan development,

Dan setelah ubuntu 16.04 LTS sudah terinstall pada tablet Acer Iconia W700 codedoct pun mencoba untuk menginstall beberapa aplikasi pendukung untuk development, dalam hal ini yaitu LAMP server, apa itu LAMP server? lihat disini.

Setelah mencoba menginstall LAMP server dengan cara ini, terjadi masalah serperti ini,

Pada saat codedoct mencoba untuk restart service apache2 terjadi error seperti ini,



Kemudian codedoct mencoba untuk membuat halaman php info pada dir /var/www/html/ tapi hasilnya blank, alias halaman php sama sekali tidak bisa di display atau hanya menampilkan layar putih,

Selanjutnya codedoctpun mencoba menginstall phpmyadmin kemudian mengetesnya dengan membuka url localhost/phpmyadmin hasilnya serperti ini,


Setelah mengetahui beberapa error yang ditunjukkan codedoct pun berasumsi ada masalah pada php yang telah terinstall, setelah mencari tahu sana-sini akhirnya codedoct banyak membaca artikel bahwa default php ubuntu 16.04 LTS adalah php7.0,

Kemudian codedoct mencoba untuk menginstall ulang LAMP server dengan mengikuti cara pada page website ini.

Dan hasilnya sama saja, php7.0 tidak bekerja dengan baik, oke selanjutnya codedoct mencoba untuk menginstall php5.6 dan juga php7.0 secara bersamaan dengan code seperti ini,
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

Setelah itu menonaktifkan php7.0 dan mengaktifkan php5.6
sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart

Dan hasilnya tara......!!

it work,.,.,

Kemudian codedoct mencoba untuk menonaktifkan php5.6 dan mengaktifkan php7.0
sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart

Dan hasilnya tara.....!

it work to.,.,.

Akhirnya codedoct menyimpulkan bahwa untuk dapat untuk menjalankan php7.0 pada LAMP server ubuntu 16.04 LTS anda juga harus menginstall php5.6. Codedoct tidak tahu alasannya, dan codedoct juga tidak tahu hasilnya jika LAMP server ini diinstall pada ubuntu 16.04 LTS dengan menggunakan komputer tipe lain,, mungkin teman-teman ada yang sudah mencobanya?

===DONE!===

How - Setting id_rsa


Id_rsa merupakan kumpulan string yang digunakan sebagai identitas dari sebuah komputer, Id_rsa ini sering digunakan untuk mempermudah akses ssh dari suatu komputer ke komputer lain, atau mungkin ke suatu server sehingga tidak diperlukan lagi authentifikasi username dan password.

Setting id_rsa ini digunakan untuk OS Ubuntu.

Oke langsung saja tutorialnya,

Pertama ketikkan code berikut pada terminal untuk membuat id_rsa
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa

Chmod digunakan untuk file permission baca disini.

Masukkan passphrase jika diperlukan untuk menambah tingkat keamanan id_rsa jika tidak tekan enter saja.

Sehingga akan tampil seperti ini,


Selanjutnya pastikan komputer/server tujuan yang akan di ssh sudah memiliki folder .ssh juga pada home jika belum lakukan kembali cara untuk membuat id_rsa diatas pada komputer/server tujuan.

Kemudian jika komputer/server tujuan sudah memiliki folder .ssh cek apakah ada file authorized_keys?, jika ada ketikkan code berikut
ssh-copy-id <username_tujuan>@<host/IP_tujuan>

Code diatas digunakan jika komputer/server tujuan yang sudah memiliki file authorized_keys sehingga kita hanya perlu mengcopy id_rsa.pub komputer sumber ke file authorized_keys komputer/server tujuan.

Jika belum ada file authorized_keys ketikkan code berikut,
cat .ssh/id_rsa.pub | ssh <username_tujuan>@<host/IP_tujuan> 'cat >> .ssh/authorized_keys'

Code diatas digunakan jika komputer/server tujuan yang belum memiliki file authorized_keys sehingga kita harus membaca id_rsa.pub komputer sumber kemudian membuat file authorized_keys pada komputer/server tujuan yang selanjutnya mengcopy id_rsa.pub sumber ke tujuan.

Terakhir masukkan authentifikasi komputer/server tujuan

Untuk lebih memahaminya silahkan praktekkan sendiri.
Untuk lebih memahami sintax ubuntu silahkan baca disini.

===DONE!===

Syntax - Syntax ubuntu


Untuk menunjang tutorial Ruby on rails yang menggunakan OS Ubuntu maka disini akan saya share beberapa syntax terminal pada Ubuntu beserta cara penggunaannya yang sering digunakan untuk programming.

Structure file
//for go to the folder
cd name_folder

//To user home
cd

//back 1 path folder
cd ..

//show list folder
ls

//show list folder with detail
ll

//show path active
pwd

Operation file
//move or cut file or folder
mv name_file_or_folder

//copy file or folder
cp name_file_or_folder

//remove file
rm name_file

//remove empty folder
rmdir name_folder

//remove folder and contains
rm -rf name_folder

//make folder
mkdir name_folder

//show file content
cat name_file

//change access permissions? read this
chmod

//change owner file or group
chown

//copy file to server or different computer with scp
scp username@IP:path/to/file(source) path/to/destination
or
scp path/to/file(source) username@IP:path/to/destination

Vim
//before inserting code click Esc first

//open file with vim
vim name_file

//save vim
:w

//just quit vim
:q

//save and quit
:wq

//force quit
:q!

Nano
//exit
Ctrl + X

//write or save
Ctrl + O

/find
Ctrl + W

//replace
Ctrl + \

//cut text
Ctrl + K

//get help
Ctrl + G

Apache
//show error log apache
tail -f /var/log/apache2/error.log

Play with Ubuntu
//running with user active
sudo

//install application ubuntu
sudo apt-get install name_application_ubuntu

//update application ubuntu
sudo apt-get update

Download - Instalasi komputer baru (ubuntu)


Postingan kali ini akan menampilkan daftar software yang wajib codedoct download saat install komputer pertama kali dengan OS ubuntu.

Berikut list software beserta cara installnya,

Shutter
/*shutter merupakan aplikasi yang sering saya gunakan untuk mengcrop layar komputer, 
jika di windows aplikasi ini sama dengan snipping tool*/

//pertama tambah repository ppa terlebih dahulu untuk menginstall shutter
sudo add-apt-repository -y ppa:shutter/ppa

//update all apt
sudo apt-get update

//install shutter
sudo apt-get install shutter

Kolourpaint
/*kolour pain adalah aplikasi yang sangat berguna untuk editing gambar
jika di windows aplikasi ini sama dengan paint*/

//update all apt first
sudo apt-get update

//install kolourpaint4
sudo apt-get install kolourpaint4

Steam
/*tidak lengkap jika tidak ada game yang bisa dimainkan, hehe*/
//update all apt first
sudo apt-get update

//install steam
sudo apt-get install steam

Vim
/*vim merupakan text editor basic pada ubuntu yang sangat saya sukai*/
//update first
sudo apt-get update to make sure you have the latest sources.list

//install vim
sudo apt-get install vim

Sublime-text
/* sama seperti vim sublime merupakan aplikasi text editor */
//add some repository
sudo add-apt-repository ppa:webupd8team/sublime-text-3

//update first
sudo apt-get update

//install sublime-text3
sudo apt-get install sublime-text-installer

What is - File Permissions


Cara mengerti file permissions (hak akses)

Hak akses Aksi Nomor Output
Read view 4 r
Write edit 2 w
Execute execute 1 x

Cara perhitungan
misal: 775
  • 7(angka pertama) => user = owner
  • 7(angka kedua) => user = group
  • 5(angka ketiga) => user = other
- Angka pertama = 7 berarti:
  user = owner mendapatkan hak akses: 7(4+2+1) => rwx
- Angka kedua = 7 berarti:
  user = group mendapatkan hak akses: 7(4+2+1) => rwx
- Angka ketiga = 5 berarti:
  user = other mendapatkan hak akses: 5(4+0+1) => r-x

Jadi output hak akses 775 adalah
rwxrwxr-x

===DONE!!!===