Saturday, February 27, 2016

Membangun Server Router,SSH server, DNS Server, LAMP Server dengan Ubuntu Server 15

om suastyastu

Disini kita akan membangun server dengan sistem operasi ubuntu server 15 khusnya untuk uji kopetensi 2016 paket 1 kalo enggak salah yang sudah mengganti eth0 dan eth1 dengan enp0s3 dan enp0s8.

Saat installasi saya sarankan anda sudah memilih paket yang ingin anda gunalakan untuk kali ini kita menggunakan paket openssh-server, dns-server, LAMP-server .
Karena anda akan mengetahuinya saat sudah diinstall anda tidak dapat menginstall paket melalui cd namun anda dapat melakukan installing paket melalui internet dengan mengupdate terlebih dahulu ubuntu anda dengan perintah apt-get update baru anda dapat menginstall paket dengan santai.
Disini saya akan menggunakan vim editor dari awal sampai akhir karena itu yang tidak bisa menggunakan bisa mengganti vi dengan nano atau anda mau belajar terlebih dahulu wkwkwkwk. ok langsung saja ke server.


gede@gedeubuntu:~$ sudo su
masukan password user anda

atau anda ingin membuat password root langsung sehingga anda dapat login langsung tanpa melallui user
root@gedeubuntu:/# sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@gedeubuntu:/#

setting router pada ubuntu server 15


edit file interface ubuntu server
root@gedeubuntu:/home/gede# vi /etc/network/interfaces
auto enp0s3
iface enp0s3 inet static
        address 192.168.12.14
        netmask 255.255.255.224
        network 192.168.12.0
        broadcast 192.168.12.31
        gateway 192.168.12.1
        dns-nameserver 192.168.100.1
        dns-search smkn2tb.web.id
auto enp0s8
iface enp0s8 inet static
        address 192.168.100.1
        netmask 255.255.255.248
        network 192.168.100.0
        broadcast 192.168.100.7
tambahan : jika anda ingin menambahkan nameserver anda dapat menambahkanya dengan di spasi lalu masukan ip
dns-nameserver 192.168.100.1 8.8.8.8

edit file sysctl

root@gedeubuntu:/home/gede# vi /etc/sysctl.conf

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1  hilangkan tanda pagar menjadi

net.ipv4.ip_forward=1  

edit file rc.local
tambahkan script iptables -t nat -A POSTROUTING -j MASQUERADE diatas exit 0
menjadi

# By default this script does nothing.

iptables -t nat -A POSTROUTING -j MASQUERADE

exit 0

restarlah networking agar konfigurasi dibaca sistem
dengan
root@gedeubuntu:/home/gede# service networking restart

lakukan pengujian terhadap konfigurasi yang anda buat
root@gedeubuntu:/home/gede# ping 192.168.12.14
PING 192.168.12.14 (192.168.12.14) 56(84) bytes of data.
64 bytes from 192.168.12.14: icmp_seq=1 ttl=64 time=0.322 ms
64 bytes from 192.168.12.14: icmp_seq=2 ttl=64 time=0.477 ms
64 bytes from 192.168.12.14: icmp_seq=3 ttl=64 time=0.686 ms
64 bytes from 192.168.12.14: icmp_seq=4 ttl=64 time=0.812 ms
64 bytes from 192.168.12.14: icmp_seq=5 ttl=64 time=0.766 ms
^C
--- 192.168.12.14 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4015ms
rtt min/avg/max/mdev = 0.322/0.612/0.812/0.187 ms
root@gedeubuntu:/home/gede# ping 192.168.100.1
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=1.40 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.483 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.748 ms
64 bytes from 192.168.100.1: icmp_seq=4 ttl=64 time=0.721 ms
64 bytes from 192.168.100.1: icmp_seq=5 ttl=64 time=0.366 ms
^C
--- 192.168.100.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4013ms
rtt min/avg/max/mdev = 0.366/0.743/1.401/0.360 ms
root@gedeubuntu:/home/gede#

catatan : jika konfigurasi sudah benar namun saat anda ping ip server sendiri unreachable coba restart komputer dengan perintah reboot,
jika ip server sudah dapat di ping namun saat ping client unreachable padahal configurasi ip di client sudah benar dan kabel normal coba lepas salah satu kabel yang terpasang pata enp0s3/enp0s8 lakukan perintah mii-tool dan perhatikan apakah benar kabel client tersambung dengan enp0s8 yang seharusnya adalah lan card tambahan
terjadi kesalahan membaca lan card onboard dan lan card tambahan sering terjadi.

konfigurasi SSH sever ubuntu server 15



install ssh server dengan
root@gedeubuntu:/etc# apt-get install openssh-server openssh-client
tekan y

masuk ke dalam direktori ssh
dengan

root@gedeubuntu:/home/gede# cd /etc/ssh/

coba lihat isi dalam direktori ssh dengan ls

root@gedeubuntu:/etc/ssh# ls
moduli            ssh_host_dsa_key.pub    ssh_host_ed25519_key.pub
ssh_config        ssh_host_ecdsa_key      ssh_host_rsa_key
sshd_config       ssh_host_ecdsa_key.pub  ssh_host_rsa_key.pub
ssh_host_dsa_key  ssh_host_ed25519_key    ssh_import_id

jika anda ingin mengubah port yang digunakan pada ssh anda harus mengedit file sshd_config  dengan

root@gedeubuntu:/etc/ssh# vi sshd_config

lalu ubah pada port 22 sesuai dengan yang anda inginkan misal
# What ports, IPs and protocols we listen for
Port 22    
menjadi
Port 1734

dan hilangkan tanda pagar pada #ListenAddress 0.0.0.0 menjadi
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
ListenAddress 0.0.0.0

dan jika anda ingin anda dapat login root langsung tanpa melalui user pada saat melakukan sftp ataupun remote server ubahlah
PermitRootLogin without-password 
menjadi 
PermitRootLogin yes

contoh

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
#without-password
StrictModes yes

restart lah ssh anda dengan
root@gedeubuntu:/etc/ssh# service ssh restart
lakukan testing ssh dengan putty

konfigurasi DNS server pada Ubuntu server 15



instal bin9 dengan
root@gedeubuntu:/etc# apt-get install bind9
tekan y

masuk kedalam direktori bind9 dengan
root@gedeubuntu:/etc/ssh# cd /etc/bind/

coba lihat isi direktori bind dengan perintah ls
root@gedeubuntu:/etc/bind# ls
bind.keys  db.empty    named.conf.default-zones  zones.rfc1918
db.0       db.local    named.conf.local
db.127     db.root     named.conf.options
db.255     named.conf  rndc.key

copi lah file db.local menjadi file db.wesite anda, contoh
root@gedeubuntu:/etc/bind# cp db.local db.smk

dan coba lihat lagi dengan ls
root@gedeubuntu:/etc/bind# ls
bind.keys  db.255    db.root     named.conf.default-zones  rndc.key
db.0       db.empty  db.smk      named.conf.local          zones.rfc1918
db.127     db.local  named.conf  named.conf.options

copi lagi file db.127 menjadi db.ip anda, contoh
root@gedeubuntu:/etc/bind# cp db.127 db.ip

coba lakukan ls lagi
root@gedeubuntu:/etc/bind# ls
bind.keys  db.255    db.local  named.conf                named.conf.options
db.0       db.empty  db.root   named.conf.default-zones  rndc.key
db.127     db.ip     db.smk    named.conf.local          zones.rfc1918

edit file named.conf.default-zones dengan
root@gedeubuntu:/etc/bind# vi named.conf.default-zones
ubah localhost menjadi domain yang anda ingin buat
ubah file db.local menjadi file sudah anda copi tadi
ubah 127 menjadi 3 oktet ip pertama tapi dibalik misalnya ip 192.168.100.1 kita ambil menjadi 100.168.192
ubah file db.127 menjadi file yang sudah anda copi tadi
sehingga menjadi

// prime the server with knowledge of the root servers
zone "." {
        type hint;
        file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "smkn2tb.web.id" {
        type master;
        file "/etc/bind/db.smk";
};

zone "100.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.ip";
};

zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};

lalu kita edit file hasil copi tadi pertama hasil copi db.local
ubah localhost menjadi domain yang ingin anda buat dan jika anda ingin menambahkan subdomain anda dapat melakukannya dengan cara seperti dibawah
contoh subdomain gede.smkn2tb.web.id

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     smkn2tb.web.id. root.smkn2tb.web.id. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      smkn2tb.web.id.
@       IN      A       127.0.0.1
@       IN      AAAA    ::1
@       IN      A       192.168.100.1
www     IN      A       192.168.100.1
ftp     IN      A       192.168.100.1
mail    IN      A       192.168.100.1
gede    IN      A       192.168.100.1
subdomain       IN      A       192.168.100.1

lalu ubah juga file hasil copi file db.127 dengan
root@gedeubuntu:/etc/bind# vi db.ip
ubah localhost menjadi domain anda
dan ubah 1.0.0 menjadi oktet terakhir ip anda
dan lanjutan subdomain contoh gede
menjadi

;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     smkn2tb.web.id. root.smkn2tb.web.id. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      smkn2tb.web.id.
1.0.0   IN      PTR     smkn2tb.web.id.
1       IN      PTR     smkn2tb.web.id.
1       IN      PTR     www.smkn2tb.web.id.
1       IN      PTR     ftp.smkn2tb.web.id.
1       IN      PTR     mail.smkn2tb.web.id.
1       IN      PTR     gede.smkn2tb.web.id.
1       IN      PTR     subdomain.smkn2tb.web.id.

lakukan perestaran pada bind9 dengan
root@gedeubuntu:/etc/bind# service bind9 restart
lakukan testing pada domain dan subdomain dengan ping atau nslookup ip dan domain

root@gedeubuntu:/etc/bind# ping smkn2tb.web.id
PING smkn2tb.web.id (192.168.100.1) 56(84) bytes of data.
64 bytes from ftp.smkn2tb.web.id (192.168.100.1): icmp_seq=1 ttl=64 time=0.402 ms
64 bytes from ftp.smkn2tb.web.id (192.168.100.1): icmp_seq=2 ttl=64 time=0.425 ms
64 bytes from ftp.smkn2tb.web.id (192.168.100.1): icmp_seq=3 ttl=64 time=2.04 ms
^C
--- smkn2tb.web.id ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2008ms
rtt min/avg/max/mdev = 0.402/0.956/2.041/0.767 ms

root@gedeubuntu:/etc/bind# ping subdomain.smkn2tb.web.id
PING subdomain.smkn2tb.web.id (192.168.100.1) 56(84) bytes of data.
64 bytes from smkn2tb.web.id (192.168.100.1): icmp_seq=1 ttl=64 time=0.367 ms
64 bytes from smkn2tb.web.id (192.168.100.1): icmp_seq=2 ttl=64 time=0.780 ms
^C
--- subdomain.smkn2tb.web.id ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 0.367/0.573/0.780/0.207 ms

root@gedeubuntu:/etc/bind# nslookup smkn2tb.web.id
Server:         192.168.100.1
Address:        192.168.100.1#53

Name:   smkn2tb.web.id
Address: 192.168.100.1
Name:   smkn2tb.web.id
Address: 127.0.0.1

root@gedeubuntu:/etc/bind# nslookup 192.168.100.1
Server:         192.168.100.1
Address:        192.168.100.1#53

1.100.168.192.in-addr.arpa      name = gede.smkn2tb.web.id.
1.100.168.192.in-addr.arpa      name = mail.smkn2tb.web.id.
1.100.168.192.in-addr.arpa      name = www.smkn2tb.web.id.
1.100.168.192.in-addr.arpa      name = ftp.smkn2tb.web.id.
1.100.168.192.in-addr.arpa      name = smkn2tb.web.id.
1.100.168.192.in-addr.arpa      name = subdomain.smkn2tb.web.id.

jika sudah seperti diatas berarti sudah benar

catatan: jaka terjadi failed pada saat restart berarti ada kesalahan pada named.conf.default-zone atau named.conf.local biasanya bagi yang tidak tau mereka melakukan konfigurasi pada dua file ini sehingga terjadi tabrakan data namun bisa juga anda tidak sengaja mengetik selain script diatas sehingga sistem bind9 menjadi error saat membaca file tersebut
pengisian dns-nameserver ip anda dan dns-search domain anda  pada interfaces sangat berpengaruh pada konfigurasi dns server jadi jangan lupa diisi

konfigurasi LAMP web sever dengan subdomain pada ubuntu server 15



pertama kita install dulu paket web server yaitu
root@gedeubuntu:/# apt-get install apache2 mysql-server php5
tekan y
dengan dokumen root pada /var/www/data tidak di /var/www/html/ disini kita akan meredirectkan subdomain anda menuju dokumen root bukan ke index apache2
pertama kita buat direktori data pada folder /var/www/
root@gedeubuntu:~# mkdir /var/www/data/

lalu kita setting up ownership dan permissions

root@gedeubuntu:~# chmod 777 /var/www/data

setelah itu upload file website wordpress ke /var/www/data dengan menggunakan winscp atau filezilla
sehingga menjadi
root@gedeubuntu:~# cd /var/www/data/
root@gedeubuntu:/var/www/data# ls
index.php        wp-blog-header.php    wp-includes        wp-settings.php
license.txt      wp-comments-post.php  wp-links-opml.php  wp-signup.php
readme.html      wp-config-sample.php  wp-load.php        wp-trackback.php
wp-activate.php  wp-content            wp-login.php       xmlrpc.php
wp-admin         wp-cron.php           wp-mail.php
root@gedeubuntu:/var/www/data#

setelah itu lakukan pengujian pada pc-client dengan mengetik subdomain ada pasti akan di redirectkan ke index apache2 karena itu kita harus membuat file untuk virtual hosts pada apache2 dengan cara
masuk kedalam direktori /etc/apache2/sites-available/
root@gedeubuntu:/var/www/data# cd /etc/apache2/sites-available/
lalu copi file 000-default.conf menjadi subdomain.conf
root@gedeubuntu:/etc/apache2/sites-available# cp 000-default.conf gede.smkn2tb.web.id.conf

lalu edit file gede.smkn2tb.web.id
root@gedeubuntu:/etc/apache2/sites-available# vi gede.smkn2tb.web.id.conf

lalu dalam file
hilangkan pagar pada ServerName www.example.com menjadi domain anda
ubah localhost pada ServerAdmin webmaster@localhost menjadi domain anda
tambahkan ServerAlias subdomain anda dibawah serveradmin atau dibawah servername
ubah DocumentRoot /var/www/html menjadi /var/www/data disini lah jika anda mau mengubah posisi folder index html
sehingga menjadi

<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.smkn2tb.web.id

        ServerAdmin webmaster@smkn2tb.web.id
        ServerAlias gede.smkn2tb.web.id
        DocumentRoot /var/www/data

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>


sekarang aktifkan file virtualhost dengan perintah a2ensite nama file
root@gedeubuntu:/etc/apache2/sites-available# a2ensite gede.smkn2tb.web.id.conf 

anda akan diminta untuk mereload apache2
root@gedeubuntu:/etc/apache2/sites-available# service apache2 reload

sekarang ulangi perintah a2ensite nama file
root@gedeubuntu:/etc/apache2/sites-available# a2ensite gede.smkn2tb.web.id.conf 
dan
Site gede.smkn2tb.web.id already enabled

tambahan : jika anda ingin mendisable configurasi virtual host anda dapat menggunakan a2dissite namafileconfigurasi

cekidot tinggal cek di browser client panggil subdomain anda

saat instaling wordpress anda membutuhkan sebuah database untuk wordpress itu sendiri anda dapat membuatnya dengan cara

pertama login dulu kedalam mysql-server
root@gedeubuntu:/etc# mysql -u root -p
masukan password mysql anda
maka

root@gedeubuntu:/etc# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.25-0ubuntu1 (Ubuntu)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

untuk membuat database gunakan perintah create database namadatabase;
ingat setiap perintah dalam mysql diakhiri dengan titik koma (;)
mysql> create database wordpress;
Query OK, 1 row affected (0.02 sec)

jika anda ingin melihat database apa saja yang sudah ada di mysql anda
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| wordpress          |
+--------------------+
4 rows in set (0.06 sec)

dan jika anda ingin keluar dari mysql dapat menggunakan perintah exit atau quit
mysql> exit;
Bye










catatan : jika pada saat installasi wordpess ada kesalahan biasanya jika folder data belum di chmod dan database wordpress belum dibuat


sekian saya ucapkan terima kasih sudah berkunjung  jika ada salah kata saya minta maaf. jangan lupa coment dan share ya

om santi,santi,santi om




No comments:

Post a Comment