Rabu, 12 Oktober 2011

linux


DIAL IN SERVER
(Proxy Server, DNS Server)

PENDAHULUAN

DNS SERVER
DNS adalah suatu bentuk database yang terdistribusi, dimana pengelolaan secara lokal terhadap suatu data akan segera diteruskan ke seluruh jaringan (internet) dengan menggunakan skema client-server. Suatu program yang dinamakan name server, mengandung semua segmen informasi dari database dan juga merupakan resolver bagi client-client yang berhubungan ataupun menggunakannya.
Struktur dari database DNS bisa diibaratkan dengan struktur file dari sebuah sistem operasi UNIX. Seluruh database digambarkan sebagai sebuah struktur terbalik dari sebuah pohon (tree) dimana pada puncaknya disebut dengan root node. Pada setiap node dalam tree tersebut mempunyai keterangan (label) misalnya, .org, .com, .edu, .net, .id dan lain-lainnya, yang relatif rerhadap puncaknya (parent). Ini bisa diibaratkan dengan relative pathname pada sistem file UNIX,seperti direktori bin, usr, var, etc dan lain sebagainya. Pada puncak root node dalam sebuah sistem DNS dinotasikan dengan "." atau "/" pada sistem file UNIX.

















Pada setiap node juga merupakan root dari subtree, atau pada sistem file UNIX merupakan root direktori dari sebuah direktori. Hal ini pada sistem DNS disebut dengan nama domain. Pada tiap domain juga memungkinkan nama subtree dan bisa berbeda pula, hal ini disebut subdomain atau subdirektori pada sistem file UNIX. Pada bagian subdomainjuga memungkinkan adanya subtree lagi yang bisa dikelola oleh organisasi yang berbeda dengan domain utamanya.

Cara Kerja Dns
DNS bekerja dengan  konsep client server, sebuah computer yang menjalankan fungsi server disebut DNS atau name server dan computer lain meminta penerjemahan hostname ke ip address disebut sebagai client DNS. DNS juga merupakan system database yang terdistribusi, sehingga memungkinkan setiap bagian dari database dikelola secara terpisah.











DNS umumnya diterapkan dengan menggunakan server terpusat yang disebut server DNS atau name server yang memiliki wewenang atau otoritas dalam mengelola beberapa nama domain dan mengacu ke beberapa domain lainnya yang dikelola server DNS lain .
Ketika computer client meminta informasi ip address suatu hostname ke nameserver, biasanya memalui port 53. kemudian nameserver mencoba menerjemahkan berdasarakan library resolv nya , apakah hostname  merupakan nama domain yang dikelola oleh namserver dan name server memberikan jawaban berdasarkan cache dari data informasi yang sama yang pernah ditanyakan sebelumnya dan berhasil dijawab.


BIND sebagai server DNS ( name server )

BIND ( Berkeley internet name domain) adalah salah satu aplikasi server DNS yang menjadi default aplikasi DNS dalam semua distribusi linux.. paket BIND itu berisi program server DNS yaitu /usr /bin/named yang bertanggung jawab dalam merespon pertanyaan client DNS., paket ini perlu kita install dan mengkonfigurasinya .
Paket Bind 9 adalah versi terbarunya.



PROXY

Didalam suatu jaringan komputer untuk terhubung ke internet setting proxy server ini merupakan langkah terhubungnya ke internet Fungsi dari proxy server ini guna menyimpan dokumen yang  diakses dari internet (original server)

Squid sebagai server proxy
Squid adalah salah satu implementasi dari proxy server yang juga menyimpan cache dari setiap respon dari data yang bersangkutan. Singkatnya squid menerima permintaan akses data (request) dari client, an kemudian meneruskan kealamat yang dituju (missal : www.yahoo.com), kemudian menyimpan data dari alamat (misal: www.yahoo.com) tersebut disimpan ke dalam direktori squid cache yang kemudian juga diteruskan ke client. Kegunaan squid bila ada permintaan yang sama ke www.yahoo.com, karena sudah ada datanya pada cache maka dapat langsung diberikan tanggapan dari squid server kita tanpa harus meneruskan request tersebut ke www.yahoo.com, ini akan mempercepat akses sehingga dapat menghemat bandwidth.

Topologi DNS
PERCOBAAN DNS SEVER
1.      Menginstal  BIND9
apt-get  install bind9

2.      edit file pada /etc/resolv.conf:
vim /etc/resolv.conf
#search eepis-its.edu
domain         comnet.eepis-its.edu
nameserver  localhost
nameserver  202.154.13.4
nameserver  202.154.13.5

3.      edit nama hostname ada direktori /etc/hostname
vim /etc/hostname
dialproxy

4.      konfigurasi file host.conf pada direktori : /etc/hosts.conf
vim /etc/hosts.conf
127.0.0.1         localhost.localdomain localhost          dialproxy ns   

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts






5.   mengkonfigursasi file-file  yang dibawa oleh BIND
a.       pada direktori /etc/bind/named.conf:
vim /etc/bind/named.conf
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local
include "/etc/bind/named.conf.options";
// 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 "localhost" {
            type master;
            file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
            type master;
            file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
            type master;
            file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
            type master;
            file "/etc/bind/db.255";
};
// zone "com" { type delegation-only; };
// zone "net" { type delegation-only; };
// From the release notes:
//  Because many of our users are uncomfortable receiving undelegated answers
//  from root or top level domains, other than a few for whom that behaviour
//  has been trusted and expected for quite some length of time, we have now
//  introduced the "root-delegations-only" feature which applies delegation-only
//  logic to all top level domains, and to the root domain.  An exception list
//  should be specified, including "MUSEUM" and "DE", and any other top level



//  domains from whom undelegated responses are expected and trusted.
// root-delegation-only exclude { "DE"; "MUSEUM"; };
include "/etc/bind/named.conf.local";







b.      pada direktori /etc/bind/named.conf.local:
vim /etc/bind/named.conf.local
//
// Do any local configuration here
//

zone "comnet.eepis-its.edu" IN {
            type master;
            file "db.comnet";
            allow-query { any; };
            allow-transfer (127.0.0.1;);
};
// reverse
zone "108.252.10.in-addr.arpa" IN {
            type master;
            file "/var/cache/bind/db.10.252.108";
            };
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

c.       pada direktori /etc/bind/named.conf.options
vim /etc/bind/named.conf.options
options {
            directory "/var/cache/bind";

            // If there is a firewall between you and nameservers you want
            // to talk to, you might need to uncomment the query-source
            // directive below.  Previous versions of BIND always asked
            // questions using port 53, but BIND 8.1 and later use an unprivileged
            // port by default.

            query-source address * port 53;

            // If your ISP provided one or more IP addresses for stable
            // nameservers, you probably want to use them as forwarders. 
            // Uncomment the following block, and insert the addresses replacing
            // the all-0's placeholder.

            forwarders {
                        202.154.13.4;
                        202.154.13.5;
            };

            auth-nxdomain no;    # conform to RFC1035

};











d.      buat file /etc/bind/db.0 dengan konfigurasi dibawah ini:
vim /etc/bind/db.0
;
; BIND reverse data file for broadcast zone
;
$TTL   604800
@        IN        SOA    localhost.              root.localhost. (
                                          1                            ; Serial
                                     604800                       ; Refresh
                                      86400                        ; Retry
                                    2419200                      ; Expire
                                     604800 )         ; Negative Cache TTL
;
@        IN        NS       localhost.

e.       buat file /etc/bind/db.127 dengan konfigurasi dibawah ini:
vim /etc/bind/db.127
;
; BIND reverse data file for local loopback interface
;
$TTL   604800
@        IN        SOA    localhost. root.localhost. (
                                          1                ; Serial
                                     604800           ; Refresh
                                      86400            ; Retry
                                    2419200          ; Expire
                                     604800 )         ; Negative Cache TTL
;
@        IN        NS       localhost.
1.0.0    IN        PTR     localhost.

f.       buat file /etc/bind/db.255 dengan konfigurasi dibawah ini:
vim /etc/bind/db.255
;
; BIND reverse data file for broadcast zone
;
$TTL   604800
@        IN        SOA    localhost. root.localhost. (
                                          1                ; Serial
                                     604800           ; Refresh
                                      86400            ; Retry
                                    2419200          ; Expire
                                     604800 )         ; Negative Cache TTL
;
@        IN        NS       localhost.












g.      buat file /etc/bind/db.local dengan konfigurasi dibawah ini:
vim /etc/bind/db.local
;
; BIND data file for local loopback interface
;
$TTL   604800
@        IN        SOA    localhost. root.localhost. (
                                          1                ; Serial
                                     604800           ; Refresh
                                      86400            ; Retry
                                    2419200          ; Expire
                                     604800 )         ; Negative Cache TTL
;
@        IN        NS       localhost.
@        IN        A         127.0.0.1


h.      buat file /etc/bind/db.root dengan konfigurasi dibawah ini:
vim /etc/bind/db.root
; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net.
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13

;; QUESTION SECTION:
;.                                              IN        NS

;; ANSWER SECTION:
.                                   518400            IN        NS       A.ROOT-SERVERS.NET.
.                                   518400            IN        NS       B.ROOT-SERVERS.NET.
.                                   518400            IN        NS       C.ROOT-SERVERS.NET.
.                                   518400            IN        NS       D.ROOT-SERVERS.NET.
.                                   518400            IN        NS       E.ROOT-SERVERS.NET.
.                                   518400            IN        NS       F.ROOT-SERVERS.NET.
.                                   518400            IN        NS       G.ROOT-SERVERS.NET.
.                                   518400            IN        NS       H.ROOT-SERVERS.NET.
.                                   518400            IN        NS       I.ROOT-SERVERS.NET.
.                                   518400            IN        NS       J.ROOT-SERVERS.NET.
.                                   518400            IN        NS       K.ROOT-SERVERS.NET.
.                                   518400            IN        NS       L.ROOT-SERVERS.NET.
.                                   518400            IN        NS       M.ROOT-SERVERS.NET.

;; ADDITIONAL SECTION:
A.ROOT-SERVERS.NET.    3600000          IN        A         198.41.0.4
B.ROOT-SERVERS.NET.    3600000          IN        A         192.228.79.201
C.ROOT-SERVERS.NET.    3600000          IN        A         192.33.4.12
D.ROOT-SERVERS.NET.    3600000          IN        A         128.8.10.90
E.ROOT-SERVERS.NET.     3600000          IN        A         192.203.230.10
F.ROOT-SERVERS.NET.     3600000          IN        A         192.5.5.241
G.ROOT-SERVERS.NET.    3600000          IN        A         192.112.36.4
H.ROOT-SERVERS.NET.    3600000          IN        A         128.63.2.53
I.ROOT-SERVERS.NET.      3600000          IN        A         192.36.148.17
J.ROOT-SERVERS.NET.      3600000          IN        A         192.58.128.30
K.ROOT-SERVERS.NET.    3600000          IN        A         193.0.14.129
L.ROOT-SERVERS.NET.     3600000          IN        A         198.32.64.12
M.ROOT-SERVERS.NET.    3600000          IN        A         202.12.27.33

;; Query time: 81 msec
;; SERVER: 198.41.0.4#53(a.root-servers.net.)
;; WHEN: Sun Feb  1 11:27:14 2004
;; MSG SIZE  rcvd: 436

i.        buat file /var/cache/bind/db.10.252.108 dengan konfigurasi dibawah ini:]
vim /var/cache/bind/db.10.252.108
$TTL 604800
@        IN        SOA    ns.comnet.eepis-its.edu. root.comnet.eepis-its.edu(
                        1          ;serial
                        604800               ;refresh
                        86400     ;retry
                        2419200    ;expire
                        604800    );minimum
                       
                        IN        NS       ns.comnet.eepis-its.edu.
14        IN        PTR     ns.comnet.eepis-its.edu.
9          IN        PTR     dosen.comnet.eepis-its.edu.
7          IN        PTR     Student.comnet.eepis-its.edu.
10        IN        PTR     samba.comnet.eepis-its.edu.
11        IN        PTR     apache.comnet.eepis-its.edu.
12        IN        PTR     proftpd.comnet.eepis-its.edu.
13        IN        PTR     postfix.comnet.eepis-its.edu.
176      IN        PTR     firewall.comnet.eepis-its.edu.

j.        buat file /var/cache/bind/db.comnet dengan konfigurasi dibawah ini:
vim /var/cache/bind/db.comnet
;
; BIND data file for local loopback interface
;
$TTL   604800
@        IN        SOA    ns.comnet.eepis-its.edu. root.comnet.eepis-its.edu. (
                             2005020304                       ; Serial
                                     604800                       ; Refresh
                                      86400                        ; Retry
                                    2419200                      ; Expire
                                     604800 )                     ; Negative Cache TTL
;
                        IN        NS                   ns.comnet.eepis-its.edu.
                        IN        MX      10        postfix.comnet.eepis-its.edu.
ns                     IN        A         10.252.108.14
dosen               IN        A         10.252.108.9
student                        IN        A         10.252.108.7
samba              IN        A         10.252.108.10
apache             IN        A         10.252.108.11
proftpd                        IN        A         10.252.108.12
postfix             IN        A         10.252.108.13
dialproxy         IN        A         10.252.108.14
firewall            IN        A       10.252.108.219
fileserver         IN        CNAME         samba
www               IN        CNAME         apache
ftp                   IN        CNAME         proftpd
mail                 IN        CNAME         postfix
pop3                IN        CNAME         postfix
smtp                IN        CNAME         postfix
imap                IN        CNAME         postfix
proxy               IN        CNAME         dialproxy

Untuk melihat percobaan DNS server berhasil dilakukian perintah route ip server dan ip isp.

PERCOBAAN DIAL PROXY

Untuk mempersiapkan dial proxy server, langkah yang perlu diperhatikan adalah sebagai berikut :
1. INSTALLASI PPP.
 install PPP
            apt-get install ppp
 install mgetty
         apt-get install mgetty

KONFIGURASI (DIALIN) :
1.      Buat group baru PPP dengan cara edit file /etc/group dan tambahkan baris di bawah ini pada akhir baris.
ppp:x:1001:

2.      Buat system user baru untuk koneksi dialin pppuser,gunakan shell command vipw, ubah baris user ppuser menjadi :
pppuser:x:1001:1001:,,,:/home/pppuser:/usr/sbin/ppplogin

3.      Buat file baru /usr/sbin/ppplogin :
#!/bin/sh
#/etc/ppp/ppplogin
# PPP login script
mesg n
stty -echo
exec /usr/sbin/pppd -detach modem debug crtscts

4.      Set atribut akses untuk file ini :
 debian:~# chmod 750 /usr/sbin/ppplogin
 debian:~# chown root:ppp /usr/sbin/

5.      Set atribut akses untuk direktori /etc/ppp/ :
debian:~# chmod 775 /etc/ppp
debian:~# chown root:root -R /etc/ppp

6.      Set atribut akses untuk /usr/sbin/pppd
debian:~# chmod 750 /usr/sbin/pppd
debian:~# chmod u+s /usr/sbin/pppd

7.      tambahkan baris ini pada akhir dari file /etc/inittab/ jika menggunakan COM1
S0:2345:respawn:/sbin/mgetty ttyS0

Atau baris dibawah ini bila menggunakan COM2
S0:2345:respawn:/sbin/mgetty ttyS1

8.      Restart init. agar ttyS0 dapat menerima incoming connection :
debian:~# init q

9.      Sekarang tambahkan baris ini  pada akhir dari file /etc/mgetty/login.config :
/autoPPP/ - - /usr/sbin/pppd auth +pap -chap login –detach
comment seluruh baris yang lain dari file ini

10.  Buat file /etc/ppp/options.ttyS0 jika menggunakan COM1 atau file /etc/ppp.options.ttyS1 jika menggunakan COM2
10.252.108.1:10.252.108.14
debug

Pada baris pertama terdapat 2 IPadress. IP pertama merupakan nomor IP server pada jaringan  sedangkan IP kedua merupakan Client
11.  Konfigurasi pada file /etc/ppp/papsecrets
# INBOUND connections

# Every regular user can use PPP and has to use passwords from /etc/passwd
*       hostname         ""         *

# UserIDs that cannot use PPP at all. Check your /etc/passwd and add any
# other accounts that should not be able to use pppd!
guest hostname         "*"       -
master hostname      "*"       -
root   hostname         "*"       -
support hostname     "*"       -
stats  hostname         "*"       -

# OUTBOUND connections

# Here you should add your userid password to connect to your providers via
# PAP. The * means that the password is to be used for ANY host you connect
# to. Thus you do not have to worry about the foreign machine name. Just
# replace password with your password.
# If you have different providers with different passwords then you better
# remove the following line.

#       *          password
#comnet       *          comnet                        *
*       *          ""         *

2. INSTALLASI SQUID.
   
  1. INTALLASI SQUID
apt-get install squid

  1. CONFIGURASI SQUID
 /etc/squid/squid.conf
#  TAG: hierarchy_stoplist
#We recommend you to use at least the following line.
hierarchy stoplist cgi-bin ?

#  TAG: no_cache
#We recommend you to use the following two lines.
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
#Suggested default:
refresh_pattern ^ftp:                        1440    20%     10080
refresh_pattern ^gopher:      1440    0%       1440
refresh_pattern .                   0          20%     4320
#Examples:
#acl myexample dst_as 1241
#acl password proxy_auth REQUIRED
#acl fileupload req_mime_type -i ^multipart/form-data$
#acl javascript rep_mime_type -i ^application/x-javascript$
#
#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563             # https, snews
acl SSL_ports port 873                    # rsync
acl Safe_ports port 80                                  # http
acl Safe_ports port 21                                  # ftp
acl Safe_ports port 443 563             # https, snews
acl Safe_ports port 70                                  # gopher
acl Safe_ports port 210                    # wais
acl Safe_ports port 1025-65535       # unregistered ports
acl Safe_ports port 280                    # http-mgmt
acl Safe_ports port 488                    # gss-http
acl Safe_ports port 591                    # filemaker
acl Safe_ports port 777                    # multiling http
acl Safe_ports port 631                    # cups
acl Safe_ports port 873                    # rsync
acl Safe_ports port 901                    # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

#  TAG: http_access
# http_access deny all
#
#Recommended minimum configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Only allow purge requests from localhost
http_access allow purge localhost
http_access deny purge
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
#
# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
# Example rule allowing access from your local networks. Adapt
# to list your (internal) IP networks from where browsing should
# be allowed
#acl our_networks src 192.168.1.0/24 192.168.2.0/24
#http_access allow our_networks
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
#  TAG: http_reply_access
http_reply_access allow all
#  TAG: icp_access
icp_access allow all
#  TAG: visible_hostname
visible_hostname dialproxy
  1. START
/etc/init.d/squid start
  1. RESTART
/etc/init.d/squid restart
  1. STOP
/etc/init.d/squid stop


ANALISA DAN KESIMPULAN


ANALISA

Untuk membangun DNS server konfigurasi pertama adalah instalasi BIND, dimana paket bind merupakan satu aplikasi server DNS yang menjadi default paket aplikasi DNS dalam semua distribusi linux. Paket BIND yang bertanggung jawab dalam merespon pertanyaan client DNS. Dan beberapa file yang perlu dikonfigurasi ulang seperti /etc/resolve.conf dengan resolve komputer dapat menterjemahkan nama komputer ke IP address. Client DNS disebut dengan resolvers dan DNS server disebut dengan name server. Resolvers atau client mengirimkan permintaan kename server berupa queries. Name server akan memproses dengan cara mengecek kelocal database DNS, menghubungi name server lainnya atau mengirimkan message failur jika ternyata permintaan client tidak ditemukan. Jika ada Resolvers menghubungi host yang dituju dengan menggunakan IP address yang diberikan name server (Forward Lookup Query).



KESIMPULAN


DNS adalah hasil pengembangan dari metode pencarian host name terhadap IP address di internet. Pada DNS client (resolver) mengirimkan queries ke Name Server (DNS). Name Server akan menerima permintaan dan memetakan nama komputer ke IP address Domain Name Space adalah pengelompokan secara hirarki yang terbagi atas root-level domains, top-level domains, second-level domains, dan host names.

















PERCOBAAN MENGGUNAKAN NSLOOKUP

Debian:~#nslookup 10.252.108.10
Server :  202.154.13.4
Address:  10.252.108.10
Name:     samba.comnet.eepis-its.edu


108.252.10.in-addr.arpa    name=ns. samba.comnet.eepis-its.edu

Debian:~#nslookup 10.252.108.11
Server :  202.154.13.4
Address:  10.252.108.11
Name:     apache.comnet.eepis-its.edu


108.252.10.in-addr.arpa    name =ns.apache.comnet.eepis-its.edu

Debian:~#nslookup 10.252.108.12
Server :  202.154.13.4
Address:  10.252.108.12
Name:     proftpd.comnet.eepis-its.edu


108.252.10.in-addr.arpa    name=ns.proftpd.comnet.eepis-its.edu

Debian:~#nslookup 10.252.108.13
Server :  202.154.13.4
Address:  10.252.108.13
Name:     postfix.comnet.eepis-its.edu


108.252.10.in-addr.arpa    name=ns.postfix.comnet.eepis-its.edu

Debian:~#nslookup 10.252.108.14
Server :  202.154.13.4
Address:  10.252.108.14
Name:     dialproxy.comnet.eepis-its.edu


108.252.10.in-addr.arpa    name=ns.dialproxy.comnet.eepis-its.edu

Debian:~#nslookup 10.252.108.219
Server :  202.154.13.4
Address:  10.252.108.219
Name:     firewall.comnet.eepis-its.edu


108.252.10.in-addr.arpa    name=ns.firewall.comnet.eepis-its.edu



PROFTPD


FTP merupakan bagian dari rangkaian atau kesatuan internet protocol yang dapat mentransfer file computer antara mesin-mesin dengan luas sistem pengoperasian yang berbeda. FTP terdapat 8 bit client-server protocol, mampu menangani segala tipe file tanpa memproses lebih jauh, missal MIME atau uun code. Bagaimanapun juga FTP memiliki keterlambatan yang tinggi, waktu antara permulaan request dan untuk menerima data yang diinginkan dapat diperpanjang dan kadang-kadang dibutuhkan login prosedur yang berkepanjangan.


FTP Server menggunakan port 21. Fungsi FTP adalah mempermudah dalam pembagian file-file, mempercepat secara tak langsung atau implicyt menggunakan komputer remote, melindungi user dari berbagai file storage system antar host.

Contoh aplikasi FTP server :
-          Proftpd
-          Vsftpd
-          Wuftpd

Contoh aplikasi FTP client
-          Lptp
-          ftp

PROSEDUR

1.     Konfigurasi pada  komputer FTP server

a. cek IP address
                #ifconfig

b. cek FTP server sudah terinstall atau belum
                #dpkg -1| grep proftpd

c. cek FTP server apakah sudah port 21
                #netstat – nlptu

d. jika belum terinstall maka install paket proftpd dengan cara :
      #apt-get install proftpd

Setelah terinstal peket proftpd selanjutnya adalah konfigurasi file proftpd untuk memberikan rule-rule ftp pada file /etc/proftpd/proftpd.conf, lakukan perintah berikut pada console

# vi /etc/proftpd/proftpd.conf

Setelah itu akan ditampilkan isi file konfigurasi proftpd.conf, kemudian edit/konfigurasi isi file sebagai berikut

# /etc/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
#

ServerName   "Debian"
ServerType   standalone
DeferWelcome   off

MultilineRFC2228  on
DefaultServer   on
ShowSymlinks   on

TimeoutNoTransfer  600
TimeoutStalled   600
TimeoutIdle   1200

DisplayLogin           welcome.msg
DisplayFirstChdir      .message
ListOptions            "-l"

DenyFilter   \*.*/

# Uncomment this if you are using NIS or LDAP to retrieve #passwords:
#PersistentPasswd  off

#Uncomment this if you would use TLS module:
#TLSEngine    on

#Uncomment this if you would use quota module:
#Quotas    on

#Uncomment this if you would use ratio module:
#Ratios    on

# Port 21 is the standard FTP port.
Port    21

#To prevent DoS attacks, set the maximum number of child #processes
#to 30.  If you need to allow more than 30 concurrent #connections
#at once, simply increase this value.  Note that this ONLY #works
#in standalone mode, in inetd mode you should use an inetd #server
#that allows you to limit maximum number of processes per # #service
#(such as xinetd)
MaxInstances   30

#Set the user and group that the server normally runs at.
User    nobody
Group    nogroup

#Umask 022 is a good standard umask to prevent new files and #dirs
#(second parm) from being group and world writable.
#Umask    022  022
#Normally, we want files to be overwriteable.
#AllowOverwrite   on

#Delay engine reduces impact of the so-called Timing Attack #described in
#http://security.lss.hr/index.php?page=details&ID=LSS-2004-#10-02
#It is on by default.
#DelayEngine    off

# A basic anonymous configuration, no upload directories.

 <Anonymous ~ftp>
   User    ftp
   Group    nogroup
#We want clients to be able to login with "anonymous" as well #as "ftp"

   UserAlias   anonymous ftp

#Cosmetic changes, all files belongs to ftp user

   DirFakeUser on ftp
   DirFakeGroup on ftp
   RequireValidShell  off
#
#Limit the maximum number of anonymous logins

   MaxClients   10

#We want 'welcome.msg' displayed at login, and '.message' #displayed
#in each newly chdired directory.

   DisplayLogin   welcome.msg
   DisplayFirstChdir  .message

#Limit WRITE everywhere in the anonymous chroot

   <Directory *>
      <Limit WRITE>
       DenyAll
      </Limit>
   </Directory>    
  
#
#   # Uncomment this if you're brave.
#   # <Directory incoming>
#   #   # Umask 022 is a good standard umask to prevent new
#         files and dirs
#   #   # (second parm) from being group and world writable.
#   #      Umask    022  022
#   #            <Limit READ WRITE>
#   #            DenyAll
#   #            </Limit>
#   #            <Limit STOR>
#   #            AllowAll
#   #            </Limit>
#   # </Directory>
#
</Anonymous>

Konfigurasi diatas adalah untuk memberikan rule-rule pada client yang akan melakukan ftp pada computer server, pada konfigurasi diatas anonymous diperbolehkan untuk melakukan ftp ke server ftp yang ditunjukkan pada konfigurasi berikut :

<Anonymous ~ftp>
user              ftp
group             nogroup
userAlias         anonymous ftp
RequireValidShell off
MaxClients        10
DisplayLogin            welcome.msg
DisplayFirstChdir .message
<Directory>
      <Limit WRITE>
      </Limit WRITE>
</Directory>
<Directory incoming>
Umask       022  022
      <Limit READ WRITE>
#     DenyAll
      </Limit>
     
<Limit STOR>
#     AllowAll
      </Limit>
            </Directory>
            </Anonymous>

Pada konfigurasi anonymous diatas adalah untuk memberikan izin kepada siapa saja yang ingin melakukan ftp ke komputer ftp server, folder atau file yang diperbolehkan diakses berada pada


2.   Konfigurasi pada komputer client
Pada computer cliet tidak diperlukan mngkonfigurasi file melainkan hanya menginstal paket ftp, untuk itu pada computer client lakukan prosedure sebagai berikut :

a. cek IP address
                #ifconfig

b. cek FTP client sudah terinstall atau belum
                #dpkg -1| grep ftp

c. jika paket ftp client belum terinstall maka install paket ftp dengan perintah :
                #apt-get install ftp

Dengan melakukan procedure diatas computer client selanjutnya dapat melakukan ftp ke computer, untuk melakukan ftp dari computer client ke computer server lakukan procedure berikut :

·         misalnya IP dari computer ftp server adalah 10.252.108.12 maka lakukan perintah FTP sebagai berikut :

#ftp 10.252.108.12
connected to 10.252.108.12 . comnet, eepis-its.edu
220proFTPD 1.2.10 server (debian) (10.252.108.12)
name (10.252.108.12 : root) : anonymous
331 guest login OK, send your complete e-mail as password
password:
331 password required for harun
231 user anonymous logged in
remote system is UNIX
using binary mode to transfer files.
ftp>ls
200 PORT command successful
150 opening ASCII mode data connection for file list
drwx------  ftp   (?)   4096  Jan    16    04:17 master
drwx------  ftp   (?)   4096  Jan    17    03:47 network
drwx------  ftp   (?)   4096  Jan    16    03:45 Multimedia
drwx------  ftp   (?)   4096  Jan    20    07:23 driver
drwx------  ftp   (?)   4096  Jan    16    03:44 video
226 transfer complete

·         untuk keluar dari ftp lakukan perintah sebagai berikut

ftp>quit


  1. Pada penerapan FTP diatas adalah dilakukan oleh computer client dengan login sebagai anonymous, jiga kita ingin melakukan ftp pada computer server dengan login tertentu sebagai user pada computer FTP server maka pada computer server harus dibuat user account untuk client dengan cara :

                        #adduser (user name)
         #adduser harun
Adding user harun...
Adding new group harun(1000).
Adding new user harun (1000) with group harun.
Creating home director /home/harun.
Copyng files from /etc/skel
Enter the new value,or press return for the default
      Full Name []:
      Room Number []:
      Work Phone []:
      Home Phone []:
      Other []:
Is the information correct? [y/n] y

Dari computer client dikoneksikan ke server dengan cara login menggunakan user yang telah dibuat oleh server.

#ftp (IP Server)
misal : #ftp 10.252.108.12
connected to 10.252.108.12 . comnet, eepis-its.edu
220proFTPD 1.2.10 server (debian) (10.252.108.12)
name (10.252.108.12 : root) : harun
331 password required for harun
230 user harun logged in
remote system is UNIX
using binary mode to transfer files.
ftp>ls
200 PORT command successful
150 opening ASCII mode data connection for file list
-rwx------ harun     (?)   600   Jan    16    04:17 tes.c
-rw-r—r—-- harun     (?)   0     Jan    17    03:47 tes.tes
drwxr-xr-x harun     (?)   4096  Jan    16    03:45 Chat
drwx------ harun     (?)   4096  Jan    20    07:23 Data
drwxr-xr-x harun     (?)   4096  Jan    16    03:44 public_html
226 transfer complete
ftp>quit

Buat file dengan perintah

                #vi (nama file)

-    Upload file dengan perintah :
ftp>mput (nama file)

-          Mengambil file dari FTP server :

ftp>mget (nama file)

  1. Pada contoh procedure akses server ftp diatas dilakukan oleh client yang memiliki sistem operasi unix, jika client windows ingin melakukan ftp ke computer ftp server maka prosesnya adalah sama dengan procedure yang dilakukan oleh sistem operasi unix, yaitu dengan mengetikkan perintah
FTP <IP_FTP_SERVER> pada command prompt (C:\) atau pada browser (misalnya IE) ketikan pada address dengan perintah FTP://<IP_FTP_SERVER>

·         Contoh FTP dari computer client dengan sistem operasi windows yang melakukan FTP ke computer FTP server dengan sistem operasi UNIX base menggunakan command prompt C:\

Click tombol START > RUN kemudian ketikkan cmd dan tekan enter atau klick tombol OK.
Selanjutnya akan tampil command prompt yang defaulnya berwarna hitam, kemudian ketikkan perintah sebagai berikut untuk melakukan FTP ke computer server (misalnya IP computer FTP server adalah 10.252.100.21)

C:\>ftp 10.252.100.21
Connected to 10.252.100.21.
220 localhost FTP server (Version 6.4/OpenBSD/Linux-ftpd-0.17) ready.
User (10.252.100.21:(none)): harun
331 Password required for harun.
Password:
230- Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
230- permitted by applicable law.
230 User harun logged in.
ftp>

sebenarnya perintah yang dilakukan pada client ftp yang menggunakan sistem operasi WINDOWS maupun UNIX tidak ada perbedaan dalam cara mengaksesnya, setelah melakukan ftp seperti pada procedure diatas yang sama saat melakukan ftp menggunakan sistem operasi UNIX kita dapat memberikan perintah-perintah ftp lainnya seperti ls,mget,mput dll, untuk mengetahui perintah-perintah (command) yang bisa diberikan pada lingkungan ftp dapat mengetikkan help pada console/command prompt seperti pada contoh dibawah :

ftp> help
Commands may be abbreviated.  Commands are:

!               delete          literal         prompt          send
?               debug           ls              put             status
append          dir             mdelete         pwd             trace
ascii           disconnect      mdir            quit            type
bell            get             mget            quote           user
binary          glob            mkdir           recv            verbose
bye             hash            mls             remotehelp
cd              help            mput            rename
close           lcd             open            rmdir
ftp>

·         Untuk melakukan FTP ke computer FTP server menggunakan browser maka kita dapat mengetikkan perintah sebagai berikut server (misalnya IP computer FTP server adalah 10.252.100.21)

Buka IE (internet Explorer) setelah itu ketikkan ftp://10.252.100.21 pada address bar browser IE, setelah itu akan ditampilkan kotak pesan untuk otoritas ftp client, yaitu client di minta untuk memasukkan username dan password seperti pada gambari dibawah :



 















Setelah username dan password yang kita berikan adalah valid maka akan ditampilkan data-data pada halaman browser sebagai berikut :



 



APACHE

I . Tujuan
-          Mahasiswa dapat menginstall dan mengkonfigurasi service httpd.
-          Mahasiswa dapat dapat menginstall php dan mengkombinasikan dengan service httpd
-          Mahasiswa dapat menginstall Mysql server dan dan dapat mengakses Mysql dengan script php.
II. Teori
Apache HTTP Server adalah software open source untuk HTTP web server yang dijalankan di platform sistem Unix-like seperti BSD, Linux, dan UNIX, Microsoft Windows dan lainnya. Apache dikembangkan dan dipelihara oleh komunitas terbuka yang bergabung dengan Apache Software Foundation.
Mulanya, Apache sekedar open source alternative untuk Netscape web server (kini dikenal sebagai Sun ONE). Kemudian berkembang dengan pesat dan melampaui semua jenis Unix based HTTP server lainnya dalam hal fungsionalitas dan kecepatan. Apache adalah HTTP server paling popular di Internet sejak April 1996 dan menguasai 57% pangsa pada bulan Mei 1999. Pada bulan August 2004 tercatat peningkatan menjadi 67%.
Apache piawai dengan fitur 'highly configurable error messages, DBMS-based authentication databases, and content negotiation'. Didukung beberapa GUIs memudahkan konfigurasi dan lebih intuitif. Apache medukung fitur yang diimplementasikan sebagai modul ter-kompilasi mulai dari server-side programming language support sampai dengan authentication schemes. Sejumlah bahasa pemrograman yang lazim digunakan seperti Perl, Python, dan PHP didukung Apache sepenuhnya.
Untuk membangun apache server ini kita membutuhkan beberapa paket yang ada di linux.Ada beberapa paket yang dibutuhkan diantaranya: APACHE, PHP4, MySQL Paket-paket ini di gunakan untuk membangun server agar dapat bekerja sesuai keinginan.
Apahce digunakan sebagai web server yang mengolah script php, php digunakan untuk melakukan proses-proses aritmatika, database dan lain-lainya, sedangkan MySQL digunakan untuk pembuatan database yang terhubung dengan halaman web yang dilakukan oleh script php.
Web Server Apache terdiri dari beberapa bagian, kode source apache asli dengan beberapa patch dan beberapa executable tambahan.
Sebaiknya kita gunakan Web Server Apache yang tergolong ‘stable version’, yang mungkin akan lebih mudah untuk dikompilasi dan akan menghasilkan daemon yang cukup stabil.
Beberapa direktori penting untukApache:
ÿ     cgi-bin/         -     direktori CGI scripts
ÿ     conf/                         -      konfigurasi file httpd server
ÿ     htdocs/                     -      main direktori untuk dokumen-dokumen
ÿ     logs/              -      direktori dengan log files
ÿ     other stuff (bin/, icons/, include/, proxy/, man/.....)
Menginstal server di Unix:
F   Paket dapat diinstall langsung jika memiliki package pre built
F   Jika tidak terdapat package tersebut, langkah-langkah yang dapat dilakukan:
¨      Download and unpack in siutable directory (ftp, uncompress, gunzip, tar...)
¨      Initial configuration
¨      Compile the server
¨      Install executable in system
¨      Further configuration files to reflect your environment
¨      Run httpd
Konfigurasi dasar Apache:
@   Server type standalone
@   Port 80
@   User www-data
@   Group www-data
@   ServerAdmin your email address
@   ServerRoot /etc/apache
@   ErrorLog /var/log/apache/error.log
@   LockFile /var/lock/apache.lock
@   PidFile /var/run/apache.pid
@   DocumentRoot /var/www
@   UserDir public_html
@   DirectoryIndex index.php index.html index.htm index.shtml index.cgi
@   ScriptAlias /cgi-bin/ /usr/lib/cgi-bin

Untuk membangun server ini kita membutuhkan beberapa paket yang ada di linux. Ada beberapa paket yang dibutuhkan diantaranya: Apache, PHP4, Mysql. Paket –paket ini digunakan untuk membangun server agar dapat bekerja sesuai keinginan.

Langkah-langkah menginstall paket APACHE, PHP dan MySQL:
APACHE
Proses Install
# apt-get install apache2
 Proses Start
# /etc/init.d/apache2 start
Proses Restart
# /etc/init.d/apache2 restart
Proses Stop
# /etc/init.d/apache2 stop

Pada intalasi apache ini secara default akan langsung dapa di jalankan dengan document kerja default yaitu pada /var/www untuk meltakkan halaman web kita, kita dapat mengubah halaman kerja di folder yang kita inginkan, dengan mengedit file configurasi yang berada di /etc/apache2/httpd.conf dengan menggantikan DocumentRoot [letak folder], setelah malakukan pengeditan file configurasi httpd.conf maka dilakukan restart service dari apache seperti pada perintah diatas yaitu /etc/init.d/apache2 restart. Secara default halaman web yang akan di load adalah halaman yang bernama index.php atau index.html

PHP
Proses Install
# apt-get install php4
Untuk mengetahui service-service apa saja yang sedang diijinkan pada service php ini kita dapat membuat script php yang cukup pendek utnuk menampilkan service-service pada php yaitu dengan memanggil fungsi dari php sendiri phpinfo(); jadi kita dapat lansung menuliskan fungsi tersebut dihalaman web kita seperti di bawah ini :

<?
            phpinfo();
?>
Cukup dengan memanggil fungsi diatas kita dapat menampilkan halaman php yang berisi service yang dapat digunakan. Tanda <? Adalah tanda pembukaan untuk script php, seluruh yang berada setelah tanda <? Akan dikenal sebagai script php hingga ditemukan tanda penutup dari script php yaitu ?>, namun pada block <? Dan ?> dapat di sisipkan script html, jadi saat kita sisipkan script html pada block penulisan script php maka script html tetap akan dikenal sebagai script html.

MySQL
Proses Install
# apt-get install mysql-server

Mysql yang kita install disini di gunakan untuk proses databases yang dapat di akses melalui web, sehingga saat pembuatan halaman web menggunakan script php kita dapat membuat aplikasi database yang dapat diakses dimana saja melalaui halaman web jika mysql ini terinstall pada computer yang dapat diakses melului jaringan internet. Namun pada praktek ini tidak dilakukan pembuatan database.




III. Kofigurasi dan Hasil Percobaan
§  Konfigurasi httpd.conf
konfigurasi httpd.conf yang perlu adalah :
@   Port 80 => hasil dari konfigurasi ini adalah saat mengetikkan url pada browser tidak perlu menambahkan nomor port yang dituju, karena port 80 adalah port yang standar.
@   DocumentRoot /var/www/ => direktori ini adalah direktori tempat meletakkan dokumen-dokumen web yang akan dipublikasikan.
@   UserDir public_html => dengan meng-Enable option ini, maka setiap user di linux dapat membuat homepage mereka di home direktori mereka sendiri, yaitu pada direktori public_html. Untuk menghubungkan DocumentRoot ke public_html setiap user cukup menambahkan link dengan tanda “~/nama_user”.
§  Konfigurasi httpd.conf setelah php terinstall
@   Menambahkan module php (libphp4.so) pada httpd.conf dengan menuliskan “LoadModule php4_module” diikuti dengan direktori tempat libphp4.so tersimpan.
@    Menambahkan  “AddType application/x-httpd-php .php”.
Hasil dari konfigurasi di atas adalah httpd server dapat mengidentifikasi file berekstensi php, sehingga dapat tampil di browser.
§  Tes konektivitas php dengan mysql-server
@   Untuk mengetahui konektivitas dengan mysql dapat digunakan script php antara lain mysql-connect().
Contoh script :
<?
mysql_connect(“localhost”,”root”,”root”) or exit (“tidak terhubung”);
print “terhubung”;
?>
Apabila script php diatas dijalankan di browser dan menampilkan kata “terhubung” , maka mysql-server dapat diakses.
Sebaliknya bila tampil kata “tidak terhubung” ada kemungkinan service mysql-server tidak berjalan, ada kesalahan dalam penulisan user maupun password, atau tidak ada user yang dimaksud dalam user mysql.
Untuk mengakses web server apache dari komputer lain maka cukup mengetikkan di browser “http://no_ip_server”.









Screenshot setelah php terinstall :
















Screenshot WEB sederhana :



IV. Kesimpulan
Dengan apache dapat dibuat homepage yang berisi halaman-halaman web dinamis yang menggunakan script-script php dan database.
Service httpd yang semula tidak dapat memproses file berekstensi php harus dikonfigurasi ulang dengan menambahkan module serta filetype .php pada file konfigurasinya.



EMAIL

Tujuan:
  1. Agar Mahasiswa dapat mempelajari installasi dan konfigurasi pada Mail Server pada Linux Debian
  2. Untuk mengetahui kerja dari email server


Teori:
Email adalah salah satu metode yang digunakan untuk berkomunikasi melalui internet. Dengan email, seorang user dapat mengirimkan pesan ke berbagai macam komputer dengan sistem operasi yang berbeda-beda. Protokol yang digunakan untuk aplikasi email adalah Simple Mail Transfer Protocol (SMTP). Selain itu juga ada protokol lain yang dapat bekerja sama dengan SMTP yaitu POP dan IMAP.
Pada saat email dikirim melalui sendmail, email tersebut dikirim dari mail client untuk menuju mail server lalu masuk ke suatu antrian. Ketika email sudah berada pada puncak antrian, sendmail akan memerintahkan untuk mengirim email tersebut ke tujuan. Jika tidak dapat terhubung ke remote SMTP server, sendmail akan tetap menyimpannya ke dalam antrian dan akan mencoba untuk mengirimkannya kembali setiap beberapa jam.
Ada banyak alasan mengapa suatu pesan email akan dimasukkan ke dalam antrian.
Contohnya adalah :
·  Anda punya akses ke internet, dan anda mengirim email pada saat komputer
sedang tidak terhubung dengan internet
·  Komputer yang dituju tidak sedang terhubung dengan internet karena sesuatu
sebab
·  Remote host (server yang dituju) sedang mengalami perbaikan atau kerusakan
·  Tidak ada konekasi ke remote host
Jika salah satu dari kondisi di atas terjadi, seorang user butuh kepastian apakah emailnya dapat terkirim dengan sukses. Dengan membiarkan email masuk dalam antrian, maka sendmail akan dapat mengirimkannya kapan saja pada saat komputer sedang terhubung dengan internet.
            Ketika ada pesan yang masuk, maka pesan tersebut akan secara otomatis masuk ke dalam postfix. Walaupun proses download telah selesai oleh client, pesan tetap tersimpan di server. Penyimpanan ini terjadi terus sampai proses delete email oleh client.

POP atau Post Office Protocol adalah salah satu metode untuk mengambil dan mengirim email dari/ke remote machine. Protokolnya cukup sederhana, anda dapat melihat, mengambil dan membaca email dari komputer client. Dengan menggunakan POP anda dapat membaca dan mengirim email dari rumah atau dari tempat-tempat lain. Software-software seperti Netscape, Microsoft Outlook, Eudora, dan hampir semua software email mendukung penggunaan POP. Agar email di server dapat didownload ke komputer client, maka software di client software harus disetup dahulu agar menggunakan POP. Setelah itu email di server dapat didownload ke client sehingga semua email dipindahkan dari server ke client. Setelah proses download email selesai, email di serverpun dihapus.


IMAP
IMAP dikembangkan untuk memperbaiki kekurangan yang dimiliki oleh POP. IMAP dirancang untuk dapat digunakan baik untuk server maupun client. Dengan IMAP semua email di server tidak otomatis dihapus dari server meskipun proses download ke client sudah selesai. Untuk menghapus email dari server harus menunggu perintah dari user di client. Pada POP, semua email yang ada diserver didownload dalam waktu yang bersamaan, hal ini akan menjadi masalah jika akses jaringan internetnya lambat sekali. Sedangkan pada IMAP, email di server tidak harus didownload semua. IMAP menyediakan fasilitas agar email dapat didownload headernya saja atau bodynya saja. Email juga dapat disimpan ke folder yang berbeda, sehingga email dapat diorganisasi dengan baik. Kelebihan utama dari IMAP adalah bahwa IMAP mendukung mode offline, yaitu kita dapat menulis dan membaca email pada saat komputer sedang tidak terkoneksi ke internet.

MAILDIR, adalah box penyimpanan surat dalam bentuk folder, dibuat oleh Qmail atau Postfix. Disimpan pada direktori (misal nama user adalah dhoto) /home/dhoto/Maildir.  Nama user otomatis membentuk maildir. Dalam maildir, email-email yang yang telah diterima dibedakan statusnya pada tipe-tipe seperti current, new, old. Email-email itu dijadikan per-file.

MBOX, adalah tempat penyimpanan dimana pesan-pesan tersebut sudah pernah dibuka dalam bentuk file. Disimpan pada direktori (misal nama user adalah dhoto) /var/spool/mail/dhoto. Email-email yang ada dijadikan satu file dengan nama user tersebut. Jika semakin lama semakin banyak email yang masuk maka kapasitas dari file tersebut semakin besar.

Langkah Percobaan :
  1. Cek apakah paket pertama terinstall
#dpkg –l | grep postfix
#netstat –nlptu | grep 25

ii  postfix  2.1.5-6  A high-performance mail transport agent
   ii  postfix-doc    2.1.5-6        Postfix documentation

  1. Menginstall paket
#apt-get install postfix

Reading Package Lists...
Building Dependency Tree...
postfix is already the newest version.
   0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

  1. Menjalankan paket
#/etc/init.d/postfix start
#/etc/init.d/postfix restart
#/etc/init.d/postfix stop

Starting mail transport agent: Postfix.

  1. Konfigurasi
#vi /etc/postfix/main.cf

 See /usr/share/postfix/main.cf.dist for a commented, more complete version

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = postfix.comnet.eepis-its.edu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = postfix, comnet.eepis-its.edu, postfix.comnet.eepis-its.edu, localhost.comnet.eepis-its.edu, localhost
relayhost =
mynetworks = 127.0.0.0/8 10.252.108.0/24
mailbox_command =
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
home_mailbox = Maildir/
                                       
  1. Cek apakah paket kedua terinstall
#dpkg –l|grep courier

ii  courier-authda 0.47-3 Courier Mail Server - Authentication daemon
ii  courier-base   0.47-3         Courier Mail Server - Base system
ii  courier-imap   3.0.8-3        Courier Mail Server - IMAP server
ii  courier-pop    0.47-3         Courier Mail Server - POP3 server

#netstat –nlptu | grep 143

tcp6     0     0 :::143      :::*      LISTEN     2897/couriertcpd


  1. Menginstall paket
#apt-get install courier-imap

Reading Package Lists...
Building Dependency Tree...
courier-imap is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

#apt-get install courier-pop

Reading Package Lists...
Building Dependency Tree...
courier-pop is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

  1. Menjalankan paket
#/etc/init.d/courier-imap start
#/etc/init.d/courier-pop start
#/etc/init.d/courier-imap restart
#/etc/init.d/courier-pop restart
#/etc/init.d/courier-imap stop
#/etc/init.d/courier-pop stop

Starting Courier IMAP server: imapd.
Starting Courier POP server: popd.

  1. Membuat Maildir di /etc/skel
#maildirmake /etc/skel/Maildir


Testing email di Windows :
  1. Lakukan adduser di server email, semisal: # adduser dhoto.
  2. Cobalah buka outlook express di sisi client.
  3. Ikuti petunjuk dalam konfigurasinya  yakni isikan nickname, email anda yang sudah anda buat dengan domain seperti di server, gunakan protocol emailnya, dll.
Misal :
Display name: dhoto
email : dhoto@comnet.eepis-its.edu
protokol dapat menggunakan POP3 atau IMAP.
Incoming dan outgoing :
Mail.comnet.eepis-its.edu
password :*******









TOPOLOGI





PENJELASAN IMAP POP3 SMTP

Fungsi SMTP mengirim data antar mail server yang dibatasi firewall, sedangkan POP3 dan IMAP mengirim data antara mailserver dan client. POP3 mengambil paket email dari mail server sehingga data pada mail server kosong (spt POBOX pada POS), sedangkan IMAP hanya membaca email dari mailserver shg sewaktu-waktu dapat  membuka email lagi dari tempat lain.


KESIMPULAN

Mail Transport Agent yang digunakan dalam percobaan ini adalah Postfix yang memiliki keunggulan dibandingkan paket Sendmail

Sebagai Perantara digunakan paket Courier-imap dan Courier-pop yang menggunakan protocol IMAP / POP3

Pada POP, semua email yang ada diserver didownload dalam waktu yang bersamaan, sedangkan pada IMAP, email di server tidak harus didownload semua.




SAMBA SERVER

I.Tujuan

  • Mahasiswa dapat memahami manfaat/kegunaan dari Samba Server.
  • Mahasiswa dapat melakukan konfigurasi Samba server pada system
  • Mahasiswa dapat melakukan konfigurasi samba Primary Domain Controler (PDC)

II. Peralatan yang dibutuhkan
1.      PC yang terhubung ke system jaringan minimal 2 buah, 1 Debian PC untuk Samba Server, dan 1 Windows PC sebagai client.
2.      Program utama yang digunakan adalah :
·                                                                                 Samba_3.0.10-1_i386.deb
·                                                                                 Swat_3.0.10-1_i386.deb
·                                                                                 WinXP_SignOrSeal registry patch

III. Pendahuluan
                                                                                                                                                                                
Samba merupakan aplikasi UNIX yang memanfaatkan protocol SMB (Server Message Block). Sebagian system operasi memanfaatkan SMB dalam komunikasi client-server-nya, termasuk Windows dan OS/2. Samba memungkinkan mesin Linux berkomunikasi dengan menggunakan mesin Windows/Dos maupun OS/2. Samba dapat digunakan untuk :
  • Menghubungkan setiap mesin Unix (termasuk Linux ) dengan mesin Dos/Windows.
  • Menempatkan mesin Unix (Linux) sebagai Primary Domain Controller sebagaimana yang dilakukan oleh Windows NT/2000 Server.
Samba juga dapat digunakan untuk:
  • Berbagi (share) file dan printer pada semua komputer yang terhubung ke jaringan.
  • Membantu pengguna browsing di network neighborhood.
  • Memberikan otentikasi kepada setiap klien yang login kedalam domain pada suatu jaringan.

IV.  Struktur File Konfigurasi

   [global]
        workgroup = “Isikan Nama Work Group”
        null passwords = “Yes/No”
        password server = “Yes/None”
        pam password change = “Yes/No”
        passwd chat debug = “Yes/No”
        unix password sync = “Yes/No”
        domain logons = “Yes/No”
        preferred master = “Yes/No”
        domain master = “Yes/No”
        dns proxy = “Yes/No”
        winbind use default domain = “Yes/No”
        guest ok = “Yes/No”

       
[Share]
        path = “Isikan Path file yang akan di share”
        read only = “Yes/No”
        browseable = “Yes/No”
        create mask = 0600

 [printers]
   comment = All Printers
   path = “Isikan Path printer”
   printable = “Yes/No”                                  
   browseable = “Yes/No”

            Masing masing label di atas ditandai dengan kurung siku (tanda [ dan ]). Masing masing label memiliki satu bagian. Ada dua kategori bagian bagian tersebut, yaitu kategori global dan kategori share. Kategori global didefinisikan dengan label [global], sedangkan semua bagian yang lain masuk ke dalam kategori share.


 















Aplikasi samba biasanya dijalankan di daemon. Dua aplikasi utamanya adalah:
  1. smbd
Daemon yang memberikan layanan berbagi file dan printer dalam sebuah jaringan yang menggunakan protocol SMB. Smbd juga memberikan otentikasi dan otorisasi bagi klienya.
  1. nmbd
Daemon yang memanfaatkan Windows Internet Name Service’(WINS), dan membantu klien untuk browsing di network neighborhood.

Selain 2 daemon utama tadi, aplikasi samba juga mempunyai beberapa program pendukung yaitu :
  1. smbclient
Klien dengan tampilan mirip ftp untuk mengakses SMB resource share ( mengakses share file ).
  1. smbtar
Program yang mem-back-up data yang dishare. Mirip tar di Linux.
  1. nmblookup
Program yang membantu mencari nama (names lookup) dengan memanfaatkan NetBios over TCP/IP. Nmblookup dapat digunakan untuk meresolve dari nama komputer ke nomer IP dan sebaliknya.
  1. smbpasswd
Program yang memungkinkan administrator mengatur password yang terenskripsi yang dipergunakan oleh samba server.
  1. smbstatus
Program yang meminitor status terakhir dari share resources yang diberikan oleh service samba.
  1. testparm
Program kecil untuk melakukan proses debug (memeriksa parameter) terhadap file konfigurasi samba (smb.conf)
  1. swat
Samba Web AdministrationTool ,program Bantu yang memberikan interface model web untuk mengadministrasi Samba. SWAT yang mempermudah edit smb.conf (file konfigurasi samba) mengatur resource share, melihat status samba terakhir, dengan dukungan-dukungan file help yang sangat bermanfaat.



IV. Langkah-langkah Percobaan
1.   Install samba PDC
samba:/#apt-get install samba

2. Konfigurasi file smb.conf
samba:/# vim /etc/samba/smb.conf

# Date: 2005/04/05 09:17:47

# Global parameters
[global]
        workgroup = KELOMPOK1
        server string = SAMBA/NT-PDC
        min password length = 0
        null passwords = Yes
        password server = None
        pam password change = Yes
        passwd program = /usr/bin/passwd %u; #cd /var/yp; make;
        passwd chat debug = Yes
        unix password sync = Yes
        log file = /var/log/samba/%m.log
        max log size = 50
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        add user script = /usr/sbin/useradd -d /dev/null -g 100 - /bin/false -M %u
  logon script = scripts/%U.bat
        domain logons = Yes
        os level = 65
        preferred master = Yes
        domain master = Yes
        dns proxy = No
        ldap ssl = no
        guest ok = Yes
        veto files = /Network Trash Folder/TheVolumeSettingsFolder/lost+found/

[printers]
        comment = All Printers
        path = /var/spool/samba
        printable = Yes
        browseable = No

[netlogon]
        path = /var/lib/samba/netlogon


[share]
        path = /root/home/kelompok1/arief
        read only = No
        browseable = Yes



Workgroup :  menunjukan workgroup atau domain dari jaringan kita, Jika di dalam jaringan yang kita gunakan adalah PDC yang mengelola domain “KELOMPOK 1” maka workgroup harus di isi dengan “KELOMPOK 1”
Server String : Memberikan Keterangan atau menunjukan deskripsi dari server kita
Host Allow :  Memberi batasan pada mesin akan alamat-alamat IP mana saja yang di izinkan untuk mengakses server samba kita
Socket options :  Memberi kita pilihan untuk mempercepat akses
Interfaces :  Menunjukan IP interfaces mana saja di server samba yang di beri hak mengakses server samba
Remote Browse Sync:  Berguna untuk sebuah jaringan yang kebetulan ada server windows NT di dalamnya.
Remote announce:  Memberikan alamat IP tempat server Samba akan mengumumkan daftar resource yang di miliki.
Local master:  menunjukan apa kita ingin menjadikan server samba sebagai master browser di dalam subnet kita.
OS Level:  Merupakan angka dari 0-255 yang menentukan level server samba kita.
Domain Master :  menunjukan apakah di dalam domain windows NT kita, server samba akan menjadi domain master server. Jawaban bolean yes or no saja
Prefered master:   Menentukan apalah server samba kita selalu menjadi master browser
Domain logons : Merupakan konfigurasi untuk menentukan  apakah kita ingin menjadikan server samba kita sebagai Primary Domain Controler (PDC)
Security:   Opsi ini mempengaruhi cara samba dan kliennya berinteraksi dan merupakan salah satu faktor terpenting dalam smb.conf

3.   Tes Konfigurasi dengan  testspram
samba:~# testparm /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Unknown parameter encountered: "encrypt password"
Ignoring unknown parameter "encrypt password"
Processing section "[homes]"
Processing section "[printers]"
Processing section "[netlogon]"
Processing section "[profiles]"
Loaded services file OK.
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions

# Global parameters
[global]
        workgroup = KELOMPOK1
        server string = Samba/NT-PDC
        password server = None
        log file = /var/log/samba/%m.log
        max log size = 50
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        logon path = \\%L\profiles\%U  //%L=domain name %U=user
        logon drive = H:                    //buat file server samba
        logon home = \\%L\%U
        domain logons = Yes
        os level = 65
        preferred master = Yes
        domain master = Yes
        dns proxy = No
        ldap ssl = no
        winbind use default domain = Yes
        guest ok = Yes
 [printers]
        comment = All Printers
        path = /var/spool/samba
        printable = Yes
        browseable = No
[netlogon]
        comment = Network Logon Service
        path = /var/lib/samba/netlogon
[share]
        path = /root/home/kelompok1/arief
        read only = No
        browseable = Yes


4.   Buat direktori baru untuk server
samba:~# useradd arief
samba:~# passwd arief
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
samba:~# smbpasswd -a arief
New SMB password:
Retype new SMB password:
Added user arief.
samba:~# useradd agus
samba:~# passwd agus
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
samba:~# smbpasswd -a agus
New SMB password:
Retype new SMB password:
Added user agus.

5.   Buat Pengenal Nama Computer Client Di Server
samba:~# useradd –d /dev/null –s /bin/false cisco2$
samba:~# smbpasswd -a  -m cisco2

6. Mengaktifkan service samba
samba:/# /etc/init.d/samba start
samba:/# /etc/init.d/samba restart
samba:/# /etc/init.d/samba stop

 Konfigurasi samba client pada Windows NT/XP
·         Buka local security  (Start -> All Programs -> Administrative Tools-> Local Security Policy). Untuk Windows NT
·         Buka Computer Name ((Start -> Control Pane -> Syste -> Computer Name). Untuk Windows XPl
·         Masukkan “Domain member: enkripsi digital atau  sign secure”. Disable.
·         Masukkan “Domain member: rubah password account mesin dengan disable”.
·         Masukkan “Domain member: Windows 2000 atau yang lebih tinggi”. Disable.
·         Sekarang bergabung domain sama seperti untuk Windows NT atau 2000. klik kanan MyComputer, pilih Properties, Computer Name dan Rubah. Atau klik table Network dan jalankan Network Wizard.

Masuk ke System Properties dan Klik Change


Masuk ke Computer name Change
Member Workgroup Off diganti dengan Domain sehinggan pada wakti Login, langsung ke Primary Domain Controler (PDC)


Mengakses Computer Samba Dari Windows Tanpa Domain Controll













Mengakses Computer Samba Dari Windows Dengan Domain Controll
(Menggunakan Software VMWare)


 













Tampilan Explorer Client Samba














V. Kesimpulan
Samba merupakan aplikasi unix yang memanfaatkan protocol SMB (Server Message Block). Samba memungkinkan mesin linux berkomunikasi dengan mesin Windows. Samba juga bisa digunakan untuk berbagi/share file dan printer pada semua komputer yang terhubung ke jaringan,  Meskipun tidak semua fungsi Windows Nt bisa digantikan oleh samba, tetapi hampir seluruh tugas pokok Windows NT PDC sudah bisa ditagani oleh samba. Berikut ini adalah beberapa tugas PDC yang bisa ditangani oleh samba :
·         Menyediakan layanan log on ke domain untuk klien Windows 95/98, NT, 2000, XP dengan menggunakan database password terpusat.
·         Memberikan hak administratif terhadap user – user domain tertentu.
·         Memberikan policy tertentu kepada workstation Windows 95/98, NT, 2000, XP.
·         Memberikan log on script kepada user – user yang melakukan log on ke domain.
·         Mengelola profile untuk user – user domain.
·         Melakukan validasi user yang menggunakan sistem lain melalui protokol SMB.