A. Konfigurasi IP address
Melihat ip :ip a
Mengedit konfigurasi ip address
nano /etc/network/interfaces
Edit dan tambahkan konfigurasi berikut
auto enp0s3iface enp0s3 inet dhcpauto enp0s8iface enp0s8 inet staticaddress 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 -yE. 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 ; Serial604800 ; Refresh86400 ; Retry2419200 ; Expire604800 ) ; Negative Cache TTL;@ IN NS lksjatim.org.@ IN A 192.168.10.1@ IN A 192.168.10.1NS IN A 192.168.10.1www IN A 192.168.10.1mail 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 ; Serial604800 ; Refresh86400 ; Retry2419200 ; Expire604800 ) ; 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
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.cfEdit 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/Maildir9. Restart postfix
systemctl restart postfix
10. Restart dovecot
systemctl restart dovecot
11. Mengirim email dari user1 ke user2 ketik perintah berikut :
Trying 192.168.56.2...Connected to 192.168.56.2.Escape character is '^]'.220 lksjatim.com ESMTP Postfix (Debian/GNU)mail from: user1250 2.1.0 Okrcpt to: user2250 2.1.5 Okdata354 End data with <CR><LF>.<CR><LF>Halo, ini email dari user1.250 2.0.0 Ok: queued as 3A613616quit221 2.0.0 ByeConnection closed by foreign host.
Trying 192.168.56.2...Connected to 192.168.56.2.Escape character is '^]'.+OK Dovecot (Debian) ready.user user2+OKpass user2+OK Logged in.stat+OK 1 384retr 1+OK 384 octetsReturn-Path: <user1@lksjatim.com>X-Original-To: user2Delivered-To: user2@lksjatim.comReceived: from unknown (unknown [192.168.56.2])by lksjatim.com (Postfix) with SMTP id 446E4954for <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.comHalo, ini email dari user1.quit
G. Install roundcube
apt install mariadb-server -y
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
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)
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