Sysadmin TJKT XI Instalasi dan Konfigurasi Aplikasi Server [DNS, WEB, DATABASE, FTP, MAIL] pada sistem operasi Redhat Enterprise Linux (RHEL) versi 9

DISUSUN OLEH:
A'FRIZAL SYEKHAN K.
XI TJKT B
No.Abs 1
Nisn:0072140151

📌 Pengertian Sysadmin (System Administrator)
Sysadmin adalah seseorang yang bertanggung jawab untuk mengelola, mengatur, dan memelihara sistem komputer dan jaringan, termasuk server, layanan, dan keamanan sistem. Dalam konteks pembelajaran TJKT XI, peran sysadmin adalah:

Menginstal, mengonfigurasi, memantau, dan memastikan aplikasi server berjalan dengan baik di sistem operasi berbasis Linux, khususnya RHEL 9.

🔧 Aplikasi Server yang Dikonfigurasi di RHEL 9:
1. DNS Server (Domain Name System)
Fungsi: Menerjemahkan nama domain (contoh: google.com) menjadi alamat IP.

Aplikasi: BIND9

Peran Sysadmin: Konfigurasi zona, domain forward dan reverse.

2. Web Server
Fungsi: Menyajikan halaman web kepada pengguna (HTML, PHP, dsb).

Aplikasi: Apache atau Nginx

Peran Sysadmin: Instalasi web server, konfigurasi virtual host, dan manajemen akses.

3. Database Server
Fungsi: Menyimpan dan mengelola data (digunakan oleh website atau aplikasi).

Aplikasi: MariaDB atau MySQL

Peran Sysadmin: Instalasi, membuat database dan user, serta mengatur hak akses.

4. FTP Server (File Transfer Protocol)
Fungsi: Mengelola transfer file antar komputer melalui jaringan.

Aplikasi: vsftpd

Peran Sysadmin: Konfigurasi akun FTP, pengaturan hak akses folder/file.

5. Mail Server
Fungsi: Mengirim dan menerima email melalui jaringan.

Aplikasi: Postfix (SMTP), Dovecot (IMAP/POP3)

Peran Sysadmin: Mengatur domain email, mengelola user email dan protokol pengiriman/penerimaan.

  1. Karena ini hanya praktek jadi kalian harus punya aplikasi VirtualBox dan Iso RHEL9-nya.Langsung saja kita ke cara pertama yaitu buka aplikasi VirtualBox-nya lalu klik New di halaman utama kemudian masukan iso RHEL9 yang sudah ada jika sudah di next saja seperti pada gambar dibawah ini!


  2. Jika sudah di next,di next lagi saja seperti pada gambar dibawah ini!

  3. Jika sudah di next,seakarang kita mengatur Base Memory hardware,untuk hal itu kalian sesuaikan jika suadah di next saja seperti pada gambar dibawah ini!

  4. Seperti pada step sebelumnya namun disini mengatur Hard Disk hadware ,disesuaikan saja ya lalu di next saja seperti pada gambar dibawah ini!

  5. Jika sudah di next ,langsung di next lagi saja seperti pada gambar dibawah ini!

  6. Jika sudah di next ,ubah Storage nya menngunakan iso-nya lalu klik ok seperti pada gambar dibawah ini!

  7. Jika sudah ,langsung di Start saja kemudian tunggu sebentar jika sudah masuk, pilih bagian atas seperti pada gambar dibawah!

  8. Jika sudah ,tunggu beberapa saat sampai masuk ke bagian pemilihan bahasa,untuk bahasa disesuaikan saja langsung continue saja seperti pada gambar dibawah ini!

  9. Jika sudah,akan masuk ke bagian ini dan dibagian ini ada beberapa yang harus disetting/ubah seperti pada gambar dibawah ini!

  10. Masuk ke Instalation Destination tidak diubah tapi masuk langsung klik Done diatas biar ke baca oleh sistemnya seperti pada gambar dibawah ini!

  11. JIka sudah didone,masuk ke bagian Software Selection dan ubah Server with GUI menjadi Server biasa lalu klik Done saja seperti pada dua gambar dibawah ini!

  12. jika sudah didone,dibagian User Setting Masuk ke User Creation dan buat root password jika sudah Done saja,jika sudah masuk ke Create User untuk membuat user dan password jika sudah Done saja seperti pada empat gambar dibawah ini!

  13. Jika sudah,langsung Begin Instalation Lalu tunggu beberapa saat karena butuh waktu untuk instasi nya jika sudah langsug Reboot System saja seperti pada tiga gambar dibawah ini!

  14. Jika sudah direboot system,langsung login menggunakan root jika sudah buat user baru dan passwordnya untuk nantinya di ubah ke super user jika sudah membuat user baru masukan perintah vi /etc/sudoers untuk mengubah user tadi menjadi super user jika sudah masuk cari root ALL=(ALL) ALL dan %wheel ALL=(ALL) ALL dengan cara klik tombol panah kebawah keyboard jika sudah ketemu tambahkan catatan di bawah root ALL=(ALL) ALL dan %wheel ALL=(ALL) ALL nama user yag tadi di buat contoh afrizal ALL=(ALL) ALL jika sudah langsung keluar saja dari halaman dengan cara klik tombo esc di keyboard lalu ketik :wq! kemudian exit seperti pada tiga gambar dibawah ini!

  15. Jika sudah keluar dari halaman tersebut dan exit,login kembali menggunakan user tadi yang sudah diubah ke super user jika sudah masukan perintah sudo -i agar kita bisa menjadi admin/host masukan password yg sama seperti pada gamabar di bawah ini!

  16. Jika sudah,sekarang langkah selanjutnya adalah Akifasi repository dengan cara register terlebih dahulu akun redhat kalian ke developers dengan cara masuk ke browser cari developers.redhat.com lalu login kan saja akun redhatnya Dengan akun ini, akan mendapatkan Red Hat Developer Subscription, yaitu langganan gratis yang bisa dipakai untuk development/testing. seperti pada dua gambar di bawah ini!

  17. Jika sudah,kembali ke RHEL lalu Register dengan perintah sudo subscription-manager register masuk menggunakan user dan passwor akun redhat jika berhasil maka akan muncul "The system has been registered with ID: XXXXXXXXX".Setelah sistem terdaftar dan punya langganan aktif, aktifkan repository default:
    sudo subcription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms
    sudo subcription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms
    sudo subcription-manager repos --enable=codeready-builder-for-rhel-9-x86_64-rpms
    seperti pada gambar dibawah ini!

  18. Jika sudah,sekarang kita akan menginstall/update repository (opsional) dengan perintah sudo dnf cleaan all lalu sudo dnf update -y lalu tunggu,karena ini menggupdate keseluruhan jadi cukup lama menunggunya,jika sudah akan ada tulisan Complete! seperti pada beberapa gambar dibawah ini!

  19. jika sudah,sekarang kita akan mengecek daftar repository yang tersedia dengan perintah dnf repolist seperti pada gambar dibawah ini!

  20. jika muncul masalah ini saat register
    penyebab-nya akun belum menyetujui Terms & Conditions di website Red Hat. Ini wajib dilakukan pertamakali setelah daftar akun Red Hat Developer.
    cara mengatasinya yaiti pergi ke browser dan cari console.redhat.com login dengan akun,disitu kamu akan melihat halaman yang berisi Terms and Conditions, dan di bawahnya ada tombol "I Accept" atau "Submit".✅ Klik dan setujui syarat dan ketentuannya.

  21. Jika sudah langgkah selanjutnya adalah menginstall ssh server/aktifasi server dengan cara cek terlebih dahulu dengan perintah rpm -q openssh-server kalau hasilnya seperti package openssh-server is not installed, maka kamu perlu menginstalnya.untuk menginstal gunakan perintah sudo dnf install -y openssh-server seperti pada gambar dibawah ini!

  22. Jika sudah,kita akan Aktifkan dan Jalankan SSH Service lalu cek statusnya dengan perintah
    sudo systemctl enable sshd
    sudo systemctl start sshd
    sudo systemctl status sshd
    seperti pada gambar dibawah ini!

  23. Jika sudah,kita akan Izinkan SSH di Firewall dengan perintah Kalau firewall sedang aktif, kalian perlu membuka port SSH (22):
    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload
    seperti pada gambar dibawah ini!

  24. Jika sudah coba masuk mengunakan ipaddress di remote(PuTTY) gunakan port 22 lalu open seperti pada gambar di bawah ini!

  25. Jika sudah diopen coba  login dengan user yang tersedia seperti pada gambar dibawah ini!

  26. Langkah selanjutnya adalah install dan konfigurasi dns server,pertama-tama Masuk kedalam super user dengan perintah sudo su atau sudo -i, lalu masukkan perintah sudo dnf install bind bind-utils -y jika sudah sekarang konfigurasi file utama BIND dengan perintah sudo nano /etc/named.conf jika sudah masuk pastikan bagian ini sudah seuai
    listen-on port 53 { any; };
    allow-query { any; };

    *Kalau hanya 127.0.0.1, berarti hanya bisa diakses dari localhost. Ubah jadi any atau IP jaringanmu.
    seperti pada gambar di bawah ini


  27. Jika sudah langkah selanjutnya adalah membuat zona DNS,Misalnya kita mau buat DNS untuk domain namakamu.local. masi dalam nano /etc/named.conf scroll kebawah dan Tambahkan ini di akhir file /etc/named.conf:

    zone "tkjb-1.lab" {
             type master;
             file "tkjb-1.lab.zone" ;
             allow-query { any; };
             allow-transfer { none; };
    };


    zone "30.168.192.in-addr.arpa" {
             type master;
             file "30.168.192.in-addr.arpa.zone" ;
             allow-query { any; };
             allow-transfer { none; };
    };

    Seperti pada gamabar dibawah ini!

    Verifikasi sintaksis file /etc/named.conf:
    named-checkconf
    Jika tidak muncul apa apa, artinya sintaksis sudah benar.

  28. Selanjutnya adalah Buat File Zona DNS
    Membuat  file zone untuk forward dengan  nama file sesuai dengan yang dibuat dalam named.conf,/var/named/tkjb-1.lab.zone dengan menggunakan  perintah nano.Contoh isinya:

    $TTL 8h
    @ IN SOA ns1.tkjb-1.lab. admin.tkjb-1.lab. (
                              2025050701 ; serial number
                              1d         ; refresh period
                              3h         ; retry period
                              3d         ; expire time
                              3h )       ; minimum TTL

                      IN NS   ns1.tkjb-1.lab.

    @                  IN A    192.168.30.101
    ns1               IN A    192.168.30.101
    www             IN A    192.168.30.101
    mail              IN A    192.168.30.101
    lms               IN A    192.168.30.101
    cms              IN A    192.168.30.101
    ftp                IN A    192.168.30.101

    Seperti pada gambar dibawah ini!
    Tetapkan izin aman pada file zona yang hanya mengizinkan grup tertentu untuk membacanya:
    chown root:named /var/named/tkjb-1.lab.zone
    chmod 640 /var/named/tkjb-1.lab.zone

    Verifikasi sintaksis file /var/named/tkjb-30.lab.zone:
    named-checkzone tkjb-1.lab /var/named/tkjb-1.lab.zone
    seperti pada gambar dibawah ini!


  29. Selanjutnya adalah Membuat file  zona untuk reverse
    dengan nama file 30.168.192.in-addr.arpa.zone dengan perintah nano.Contoh isinya:

    $TTL 8h
    @ IN SOA ns1.tkjb-1.lab. root.tkjb-1.lab. (
                              2025050701 ; serial number
                              1d         ; refresh period
                              3h         ; retry period
                              3d         ; expire time
                              3h )       ; minimum TTL

                      IN NS   ns1.tkjb-1.lab.

    101               IN PTR  ns1.tkjb-1.lab.
    101               IN PTR  ftp.tkjb-1.lab.
    101               IN PTR  lms.tkjb-1.lab.
    101               IN PTR  cms.tkjb-1.lab.
    101               IN PTR  www.tkjb-1.lab.
    101               IN PTR  tkjb-1.lab.
    101               IN PTR  mail.tkjb-1.lab.

    Seperti pada gambar dibawah ini!
    Tetapkan izin aman pada file zona yang hanya mengizinkan grup tertentu untuk membacanya:
    chown root:named /var/named/30.168.192.in-addr.arpa.zone
    chmod 640 /var/named/30.168.192.in-addr.arpa.zone

    Verifikasi sintaksis file /var/named/1.168.192.in-addr.arpa.zone:
    named-checkzone 30.168.192.in-addr.arpa /var/named/30.168.192.in-addr.arpa.zone
    Seperti pada gambar dibawah ini!


  30. Langkah selanjutnya adalah Mengaktifkan dan menjalankan Bind (Berkeley Internet Name System) dengan perintah systemctl enable named lalu systemctl start named
  31. Jika sudah sekarang Menambahkan  DNS eksternal
    dengan IP server pada konfigurasi DNS resolver dengan bertujuan agar  ip lokal  dapat mengakses domain lokal . Mengedit file /etc/resolv.conf dengan perintah nano /etc/resolv.conf seperti pada gambar dibawah ini!


  32. Jika sudah langsung Restart named saja dengan perintah systemctl restart named 
  33. Jika sudah Cek apakah dns server sudah berjalan dengan baik atau belum Cek dengan nslookup di redhat seperti pada gambar di bawah ini!
    Coba juga nslookup di commandpromt
    Cek juga dengan ping domain dan ip di client (cmd windows).
    Bisa cek di browser jika sudah punya atau install web server.

  34. Jika sudah sekarang kita masuk ke bagian instalasi dan konfigurasi web server(apache).Pertama-tama Update SIstem,Selalu update paket-paket sistem sebelum instalasi untuk memastikan kestabilan dengan perintah sudo dnf update -y
  35. Jika sudah,Install Web Server Apache (httpd),Apache adalah web server open-source paling populer. Untuk menginstalnya di RHEL, jalankan dengan perintah sudo dnf install httpd -y
  36. Setelah instalasi selesai, aktifkan dan jalankan Apache dengan perintah sudo systemctl enable httpd lalu systemctl start httpd
  37. Lalu cek status Apache dengan perintah sudo systemctl status httpd seperti pada gambar dibawah ini!
    Jika sudah running dan active, itu artinya apache atau web server sudah berjalan.

  38. Jika sudah sekarang konfigurasi firewall (buka port) dengan perintah:
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload

  39. Jika sudah uji web server,buka browser dan akses IP server kamu (misalnya http://192.168.1.101) atau domain lokal, seperti tkjb-1.lab.Jika berhasil, kamu akan melihat halaman default Apache dengan tulisan “Test Page for Apache HTTP Server”.Seperti pada dua gambar dibawah ini!

  40. Jika sudah sekarang kita menambahkan konten Web.Secara default, Direktori web berada di /VAR/WWW/HTML.Disitu kita bisa menambahkan konten untuk web server dengan menambahkan file index.html disitu dengan perintah:
    nano /var/www/html/index.html

    Tulis HTML sederhana dalam nano tersebut,Contoh:

    <!DOCTYPE html>
    <html>
    <head>
        <title>Selamat Datang</title>
    </head>
    <body>
        <h1>Berhasil Menginstall Web Server di RHEL!</h1>
    </body>
    </html>

    Seperti pada gambar dibawah ini!
    Simpan dengan cara CTRL+O enter,CTRL+X

  41. Lalu coba akses lagi dibrowser seperti pada gambar dibawah ini!

  42. Jika sudah sekarang kita akan install dan konfigurasi database server(MariaDB).
    Sebelum instalasi pastikan sistem RHEL kalian sudah update dengan perintah sudo dnf update -y ,pastikan sudah login sebagai user dengan akses sudo dan pastikan juga sudah memiliki akses internet jika sudah install mariadb dengan perintah sudo dnf install mariadb-server -y lalu tunggu proses hingga selesai.

  43. Jikq sudah langkah selanjutnya adalah aktifkan dan jalankan  layanan mariadb dan cek status layan dengan perintah:
    sudo systemctl enable mariadb
    sudo systemctl start mariadb
    sudo systemctl status mariadb
    Seperti pada gambar dibawah ini!
    ✅ Jika muncul status active (running), maka MariaDB berhasil dijalankan.

  44. Jika sudah sekarang kita akan konfigurasi keamanan awal dengan perintah sudo mysql_secure_installation
    Ikuti instruksi di terminal. Rekomendasi jawaban:
    -Set root password? Yes
    -Remove anonymous users? Yes
    -Disallow root login remotely? Yes
    -Remove test database? Yes
    -Reload privilege tables now? Yes

  45. Jika sudah akses MariaDB dan Konfigurasi Database dengan cara Login ke MariaDB sebagai root dengan perintah sudo mysql -u root -p lalu masukan password yang tadi kalian buat saat proses mysql_secure_installation seperti pada gambar dibawah ini!

  46. Jika sudah sekatang kita akan install scripting language(php) sebelum melakukan instalasi pastiakan  sistem RHEL kalian sudah up to date dengan perintah sudo dnf update -y ,pastikan sudah login sebagai user dengan akses sudo dan pastikan juga sudah memiliki akses internet.

  47. Jika sudah aktifkan repository AppStream (kalau belum aktif),PHP biasanya tersedia di repository AppStream RHEL
    sudo dnf module list php 
    Perintah diatas akan menampilkan daftar versi PHP yang tersedia seperti contoh gambar di bawah ini!

  48. Jika sudah sekarang pilih dan aktifkan versi PHP yang diinginkan misalnya mau pakai PHP 8.1 dengan perintah:
    sudo dnf module reset php 
    sudo dnf module enable php:8.1
    Seperti pada gambar di bawah ini!

  49. Jika sudah sekarang install PHP dan beberapa modul umum+Ekstensi untuk WordPress&Moodle dengan perintah:
    sudo dnf install -y php php-cli php-fpm php-mysqlnd php-opcache php-xml \php-gd php-curl php-mbstring php-json php-zip php-soap php-intl php-sodium
    Seperti pada gambar dibawah ini!

  50. Jika sudah cek versi PHP dengan perintah php -v seperti pada gambar di bawah ini!

  51. Jika sudah uji coba PHP dengan web server(opsional) dengan cara buat file uji coba di/var/www/html/ contoh:echo "<?php phpinfo(); ?>" | sudo tee/var/www/html/afrizal.php jika sudah coba cek di browser menggunakan ip/domain contoh http//:192.168.30.101/afrizal.php seperti pada gambar dibawah ini!

  52. Jika sudah sekarang kita akan install dan konfigurasi mail server (postfix dan dovecot).Sebelum menginstall pasrtikan sistem RHEL Kalian sudah update terlebih dahulu dengan perintah sudo dnf update -y.Jika sudah install paket yang di perlukan dengan perintah sudo dnf install postfix dovecot -yb.

  53. Konfigurasi Postfix, Backup File konfigurasi dengan perintah sudo cp /etc/postfix/main.cf /etc/postfix/main.cf.bak jika sudah edit file konfigurasi utama di nano dengan perintah sudo nano /etc/postfix/main.cf lalu tambahkan atau modifikasi baris berikut:
    myhostname = mail.example.com
    mydomain = example.com
    myorigin = $mydomain
    inet_interfaces = all
    inet_protocols = ipv4
    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
    home_mailbox = Maildir/
    smtpd_banner = $myhostname
    ESMTP $mail_name
    mynetworks = 127.0.0.0/8 [::1]/128
    relay_domains = $mydestination

    Cari satu-persatu dalam file tesebut sengan dengan cara ctrl+w, bisa dilihat contoh gambar di bawah ini!

  54. Jika sudah sekarang aktifkan dan mulai Postfix dengan perintah:
    sudo systemctl enable postfix
    sudo systemctl start postfix
    sudo systemctl status postfix
    Seperti pada gambar dibawah ini!

  55. Sekarang kita akan konfigurasi Dovecot, backup terlebih dahulu file konfigurasi dengan perintah sudo cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bak.
  56. Konfigurasi Maildir menggunakan nano dengan perintah sudo nano /etc/dovecot/conf.d/10-mail.conf cari dan ubah di dalam file nano tersebut mail_location = maildir:~/Maildir seperti pada gambar di bawah ini!

  57. Jika sudah sekarang konfigurasi Authentication dengan perintah sudo nano /etc/dovecot/conf.d/10-auth.conf Pastikan menggunakan autentikasi plaintext untuk testing (jangan gunakan di lingkungan produksi tanpa enkripsi):
    disable_plaintext_auth = no
    auth_mechanisms = plain login
    Seperti pada gambar dibawah ini!



  58. Sekarang Aktifkan IMAP dan POP3 dengan perintah sudo nano /etc/dovecot/conf.d/10-master.conf Pastikan layanan seperti ini:
    service imap-login {
      inet_listener imap {
       port = 143
      }
    }


    service pop3-login {
      inet_listener pop3 {
       port = 110
      }
    }


    Seperti pada gambar dibawah ini!

  59. Jika sudah sekarang Aktifkan dan Mulai Dovecot dengan perintah:
    sudo systemctl enable dovecot
    sudo systemctl start dovecot
    sudo systemctl status dovecot
    Seperti pada gambar dibawah ini!

  60. Jika sudah  buat pengguna dan uji coba dengan perintah:
    sudo adduser username
    sudo passwd username

  61. Jika sudah buat Maildir untuk pengguna dengan perintah:
    sudo mkdir -p /home/username/Maildir
    sudo chown -R username:username /home/username/Maildir

  62. Konfigurasi Firewall (Opsional).Jika menggunakan firewall, buka port yang diperlukan:
    sudo firewall-cmd --permanent --add-service=smtp
    sudo firewall-cmd --permanent --add-service=imap
    sudo firewall-cmd --permanent --add-service=pop3
    sudo firewall-cmd --reload


  63. Jika sudah sekarang kita akan menginstall CMS(wordpress).Sebelum instalasi pastikan sistem RHEL kalian sudah update dengan perintah sudo dnf update -y ,pastikan sudah login sebagai user dengan akses sudo dan pastikan juga sudah memiliki akses internet pastikan juga Web Server Apache,Database server mariadb,php,sudah dalam status aktif.

  64. Update semua paket dengan perintah:
    sudo dnf update -y
    sudo dnf install -y wget unzip

  65. Buat setup database untuk wordpress,login ke mariadb dengan perintah sudo mysql -u root -p lalu buat database dan user contoh:
    CREATE DATABASE wordpress_db;
    CREATE USER 'wp_user'@'localhost'IDENTIFIED BY 'passwordmu321';
    GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    (ganti wordpress_db, wp_user, dan passwordku123 sesuai kebutuhan)

  66. Jika sudah Download dan Setup Wordpress:
    -Pindah direktori ke web server dengan perintah cd /var/www/html
    -Hapus file index default (jika ada) dengan perintah sudo rm -f index.html
    -Download WordPress dengan perintah sudo wget https://wordpress.org/latest.zip
    -sudo unzip latest.zip
    -sudo mv wordpress/* .
    -sudo rm -rf wordpress latest.zip
    -Jika sudah Atur permission dengan beberapa perintah di bawah ini:
    sudo chown -R apache:apache /var/www/html/
    sudo chmod -R 755 /var/www/html/

  67. Jika sudah sekarang kita konfigurasi WordPress
    -Buat Salinan file konfigurasi dengan perintah cp wp-config-sample.php wp-config.php
    -Edit wp-config.php dengan perintah sudo nano wp-config.php lalu ubah di bagian database:
    define( 'DB_NAME', 'wordpress_db' );
    define( 'DB_USER', 'wp_user' );
    define( 'DB_USER', 'wp_user' );
    define( 'DB_PASSWORD', 'password' );
    define( 'DB_HOST', 'localhost' );
    -Jika sudah Restart httpd dengan perintah systemctl restart httpd

  68. Akses WordPress via Browser menggunakan http://your-server-ip/ seperti pada gambar dibawah ini!

    Isi site tittle, username, dan password seperti pada gambar dibawah ini!

    Install wordpress

    Jika sudah sukses, klik login

    Setelah login, akan muncul halaman admin


Komentar

Postingan Populer