Konfigurasi Lengkap Server Debian 12

  

Download Debian 12 Bookworm CD Netinst disini dan DVD disini

A. Konfigurasi IP address

Melihat ip :

ip a

Mengedit konfigurasi ip address

nano /etc/network/interfaces


Edit dan tambahkan konfigurasi berikut

auto enp0s3
iface enp0s3 inet dhcp
auto enp0s8
iface enp0s8 inet static
address 192.168.10.1/24

Menyimpan konfigurasi ( ctrl + x -> y -> enter )
Merestart konfigurasi IP

systemctl restart networking


B. Mengkonfigurasi repository

nano /etc/apt/sources.list

Anda bisa menambahkan daftar repository lokal Indonesia.

Tambahkan tulisan berikut ini ke dalam editor

deb http://kebo.pens.ac.id/debian/ bookworm main contrib

Jika Anda menggunakan repositori lokal offline bisa ganti alamat url dengan alamat IP

deb http://10.10.10.1/debian/ bookworm main contrib

Selanjutnya lakukan update repository untuk mendapatkan pembaharuan

apt-get update

Jika terjadi gagal/error update repository, coba reboot system operasi

reboot


C. Install Web server (apache2)

apt install apache2 -y


E. DNS SERVER (bind9)

Misal :
Nama Domain : lksjatim.org
IP Server : 192.168.10.1

1. Install bind9

apt-get install bind9 bind9utils dnsutils

2. Masuk ke directory /etc/bind

cd /etc/bind

3. Edit file named.conf.default-zones

nano named.conf.default-zones

4. Tambahkan sintaks berikut di baris terakhir

zone"lksjatim.org"{
    type master;
    file"/etc/bind/";
};
zone"10.168.192.in-addr.arpa"{
    type master;
    file"/etc/bind/www.127";
};


5. Copy db.local menjadi www.local

cp db.local www.local

# File ini disebut forward lookup zone

6. Copy db.127 menjadi www.127

cp db.local www.127

# File ini disebut reverse lookup zone

7. Lanjut edit file www.local

nano www.local

Ganti localhost dengan nama domain kita lksjatim.org

@       IN      SOA     lksjatim.org. root.lksjatim.org. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      lksjatim.org.
@       IN      A       192.168.10.1
@       IN      A       192.168.10.1
NS      IN      A       192.168.10.1
www     IN      A       192.168.10.1
mail    IN      A       192.168.10.1



8. Lanjut edit file www.127

nano www.127

Ganti localhost dengan nama domain kita lksjatim.org

@       IN      SOA     lksjatim.org. root.lksjatim.org. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      lksjatim.org.
10      IN      PTR     lksjatim.org.


9. Tes di server debian :

nslookup lksjatim.org

10. Lakukan restart bind9

systemctl restart bind9


11. Tes di computer client

Setting IP Address Gateway dan DNS sesuai IP Server: 

IP Address : 192.168.10.2/24
Gateway : 192.168.10.1
DNS : 192.168.10.1

12. Buka browser kemudian ketik alamat http://lksjatim.org

F. Mail server

1. Install menggunakan dovecot

apt install postfix dovecot-imapd dovecot-pop3d -y

Untuk konfigurasi ketik

sudo dpkg-reconfigure postfix

2. Ikuti langkah-langkah selanjutnya

  • Pertama pilih Internet Site
  • System mail name isi dengan nama domain misalnya lksjatim.org
  • Pada bagian Root and postmaster.... kosongkan saja.
  • Pada Other destionations to accept ..... biarkan default.
  • Force synchronous updates no
  • Pada bagian Local networks tambahkan dengan IP network dan 0/0 dibelakang 128 (tambahkan spasi) 
  • Misal : 192.168.10.0/24 [::ffff:127.0.0.0]/104 [::1]/128 0/0
  • Use procmail for local delivery no
  • Mailbox size limit 0
  • Local address extension character "+"
  • Internet Protocol ipv4

3. Pengaturan Postfix

nano /etc/postfix/main.cf


Edit bagian ini

myhostname = lksjatim.org


Tambahkan pada baris bagian paling bawah

home_mailbox = Maildir/


4. Pengaturan dovecot

nano /etc/dovecot/dovecot.conf

Hilangkan hashtag (#) pada bagian listen dan edit sehingga menjadi

listen = *

5. Buka dan edit bagian berikut, hilangkan hashtag (#) :

nano /etc/dovecot/conf.d/10-auth.conf

disable_plaintext_auth = no


6. Selanjutnya lakukan edit juga bagian ini (hilangkan #):

nano /etc/dovecot/conf.d/10-main.conf

mail_location = maildir:~/Maildir


Berikan comment (#) di mail_location di bawahnya

#mail_location = mbox:~/mail:INBOX=/var/mail/%u

7. Tambah user :

adduser user1

adduser user2

8. Membuat directory penyimpanan Maildir

maildirmake.dovecot /etc/skel/Maildir

9. Restart postfix

systemctl restart postfix

10. Restart dovecot

systemctl restart dovecot


11. Mengirim email dari user1 ke user2 ketik perintah berikut :

telnet 192.168.56.2 25
atau
telnet lksjatim.org 25

Trying 192.168.56.2...
Connected to 192.168.56.2.
Escape character is '^]'.
220 lksjatim.com ESMTP Postfix (Debian/GNU)
mail from: user1
250 2.1.0 Ok
rcpt to: user2
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Halo, ini email dari user1
.
250 2.0.0 Ok: queued as 3A613616
quit
221 2.0.0 Bye
Connection closed by foreign host.


12. Melihat inbox email di user2 ketik perintah berikut :

telnet 192.168.56.2 110
atau
telnet lksjatim.org 110

Trying 192.168.56.2...
Connected to 192.168.56.2.
Escape character is '^]'.
+OK Dovecot (Debian) ready.
user user2
+OK
pass user2
+OK Logged in.
stat
+OK 1 384
retr 1
+OK 384 octets
Return-Path: <user1@lksjatim.com>
X-Original-To: user2
Delivered-To: user2@lksjatim.com
Received: from unknown (unknown [192.168.56.2])
        by lksjatim.com (Postfix) with SMTP id 446E4954
        for <user2>; Mon, 13 Jan 2025 02:57:46 -0800 (PST)
Message-Id: <20250113105752.446E4954@lksjatim.com>
Date: Mon, 13 Jan 2025 02:57:46 -0800 (PST)
From: user1@lksjatim.com

Halo, ini email dari user1
.
quit


G. Install roundcube


1. Terlebih dahulu install mariadb-server sebagai database

apt install mariadb-server -y

2. Selanjutnya install roundcube

apt install roundcube -y

3. Masuk dan edit file berikut

nano /etc/roundcube/config.inc.php

$config['imap_host'] = 'lksjatim.org'; // isi dengan nama domain utama
$config['imap_server'] = 'lksjatim.org:25';  // isi dengan nama domain utama dan port 25 untuk SMTP server
$config['smpt_user'] = ''; // dikosongkan
$config['smpt_pass'] = ''; // dikosongkan


4. Buat VirtualHost di Apache

cd /etc/apache2/sites-available

5. Copy file 000-default.conf menjadi mail.conf

cp 000-default.conf mail.conf

Tambahkan kode ini 

ServerName mail.lksjatim.org

DocumentRoot /usr/share/roundcube

6. Mengaktifkan file config

a2ensite mail.conf

systemctl reload apache2

7. Untuk melakukan pengetesan webmail buka alamat berikut di browser

http://mail.lksjatim.org

Untuk pengujian, nonaktifkan nameserver 8.8.8.8 pada /etc/resolv.conf


H. SSH SERVER

1. Install paket ssh :

apt-get install openssh-server -y

2. Setting konfigurasi :

nano /etc/ssh/sshd_config

3. Ubah port 22 : port 1734

4. Hapus tanda pagar (#) pada baris ini dan edit

PermitRootLogin yes

reboot


I. DHCP SERVER

1. Install DHCP Server

apt-get install isc-dhcp-server

2. Edit file dhcpd.conf

nano /etc/dhcp/dhcpd.conf

3. Cari baris “A Slightly different" dan edit


subnet 172.10.10.0 netmask 255.255.255.0{
  range 172.10.10.100 172.10.10.200;
  option domain-nameserver 172.10.10.1;
  option routers 172.10.10.1;
  option broadcast-address 172.10.10.255;
  default-lease-time 600;
  max-lease-time;
}

4. Edit pengaturan interface ethernet

nano /etc/default/isc-dhcp-server

5. Ubah berikut

INTERFACESv4="enp0s8";

systemctl restart isc-dhcp-server


K. Konfigurasi SSL (HTTPS)

1. Install openssl dan ssl-cert

apt-get install openssl ssl-cert

2. Selanjutnya buat folder ssl untuk meletakkan sertifikat SSL

mkdir /etc/apache2/ssl

3. Masuk ke direktori ssl

cd /etc/apache2/ssl

4. Kemudian buat sertifikat di folder yang sudah kita buat

openssl req -x509 -newkey rsa:2048 -keyout apache.key -out apache.crt -nodes -days 365

Country Name (2 letter code) [AU]: ID 
State or Province Name (full name) [Some-State]: East Java
Locality Name (eg, city) []: Tulungagung
Organization Name (eg, company) [Internet Widgits Pty Ltd]: SMK NU
Organizational Unit Name (eg, section) []: TKJ
Common name (e.g. server FQDN or YOUR name) []: Anton Arizal 
Email Address []: antonarizal@gmail.com

5. Aktifkan model ssl dengan perintah

a2enmod ssl

6. Selanjutnya masuk ke directory /etc/apache2/sites-available dengan perintah

cd /etc/apache2/sites-available

7. Setelah itu konfigurasi file default-ssl.conf dengan mengetikkan perintah 

nano default-ssl.conf

8. Cari kata SSLCertificateFile dan SSLCertificateKeyFile. Kedua file tersebut arahkan ke file yang sudah kita buat tadi yaitu apache.key dan apache.crt. yaitu /etc/apache2/ssl/apache.key dan /etc/apache2/ssl/apache.crt

SSLCertificateFile      /etc/apache2/ssl/apache.cert

SSLCertificateKeyFile   /etc/apache2/ssl/apache.key


9. Selanjutnya aktifkan file default-ssl.conf dengan perintah 

a2ensite default-ssl.conf

 10. Lakukan reload apache2 dengan perintah

sytemctl reload apache2 


11. Buka browser di client kemudian ketika alamat : https://lksjatim.org

Referensi :

https://medium.com/tekaje-id/debian-10-http-secure-dengan-apache2-dan-ssl-5a1d5767a5


L. Install Database Server 

apt install mariadb-server -y

Catatan :

Login ke database MySql

mysql -u -root -p

Membuat database

create database nama_database

Menampilkan database 

show databases

Membuat user

create user 'nama_user'@'localhost' identified by '123456'

Mengatur hak akses

grant all privileges on nama_database.* to 'nama_user'@'localhost';

flush privileges 


J. PHPMYADMIN

Phpmyadmin digunakan untuk melakukan pengelolaan database melalui web

Sebelumnya install mariadb-server

Kemudian install phpmyadmin

apt-get install phpmyadmin

Masuk ke mysql

sudo mysql -u root -p

buat username dan password mysql

mysql> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password';

Note: admin adalah nama username untuk login ke phpmyadmin
Buat hak akses untuk untuk username admin :


mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Keluar dari mysql

mysql> exit

Edit file /etc/apache2/apache2.conf

Tambahkan kode berikut di baris akhir

Include /etc/phpmyadmin/apache.conf

Simpan kemudian restart apache2

systemctl restart apache2

Buka di browser http://192.168.10.1/phpmyadmin


Posting Komentar

Lebih baru Lebih lama