Mengelola Service di Linux dengan systemd dan systemctl

Hai semuanya, apa kabar? Kali ini kita akan bahas salah satu pekerjaan penting yang dilakukan oleh SysAdmin, yaitu service management. Service yang dimaksud adalah yang menentukan aplikasi atau daemon apa saja yang berjalan saat sistem melakukan boot.

Apa Itu systemd & unit?

systemd adalah init-system dalam sistem Linux yang berperan sebagai pengatur utama dalam menentukan apa saja yang berjalan pada sistem Linux, mulai dari proses booting, service, hingga shutdown. systemd berfungsi untuk memastikan semua layanan berjalan dalam urutannya dan sesuai dengan kebutuhan sistem.

unit adalah setiap komponen yang dikelola oleh systemd dan tiap unit memiliki fungsi yang berbeda.

  • Service unit. Berperan untuk menjalankan aplikasi & daemon yang berjalan di background. Misalnya httpd.service (Apache Web Server).
  • Socket unit. Memulai service hanya ketika ada koneksi. Contohnya adalah cups.socket (printer).
  • Timer unit. Menjadwalkan eksekusi tugas, mirip dengan cron. Misalnya logrotate.timer untuk rotasi log rutin.
  • Path unit. Untuk memantau file/direktori, lalu men-trigger aksi ketika ada perubahan. Misalnya systemd-udev-trigger.path.
  • Target unit. Kumpulan unit lain yang dipakai untuk mengelompokkan service agar dapat diatur sekaligus. Misalnya multi-user.target (server mode- no GUI)

Pengujian: Apache

Untuk pengujian singkat, kita coba gunakan Apache Web Server.

  • Instalasi Apache dan buat testing page.

    sudo dnf install -y httpd
    $ echo "Hello World" | sudo tee /var/www/html/index.html
    Hello World

  • Menjalankan dan cek status service

    ~$ sudo systemctl start httpd
    ~$ systemctl status httpd
    ● httpd.service - The Apache HTTP Server
    Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; preset: disabled)
    Active: active (running) since Thu 2025-10-02 23:59:38 WIB; 6s ago

  • Mengaktifkan service saat boot

    $ sudo systemctl enable httpd
    Created symlink '/etc/systemd/system/multi-user.target.wants/httpd.service' → '/usr/lib/systemd/system/httpd.service'.

  • Konfigurasi firewall. RHEL menggunakan firewalld secara default.

    $ sudo firewall-cmd --add-service=http
    $ sudo firewall-cmd --add-service=http --permanent
    success
    success

  • Pengelolaan service:
    • Restart

      sudo systemctl restart httpd

      • Stop
        sudo systemctl stop httpd
      • Matikan dari startup
        sudo systemctl disable httpd
  • Testing akses halaman web
    Kita bisa cek dari CLI maupun dari web browser.
    CLI:

    $ curl 192.168.9.199
    Hello World

Web browser
image host

Penutup

Dengan menguasai perintah dasar systemctl dan konsep dari systemd, seorang SysAdmin diharapkan dapat melakukan manajemen atau kontrol yang efisien dan sesuai bagaimana service yang ada pada Linux agar berjalan dengan lancar, stabil, dan aman sesuai dengan kebutuhan.

Untuk tulisan kali ini cukup sampai di sini dulu ya. Sampai jumpa. Bye.

By Zaidan

Leave a Reply

Your email address will not be published. Required fields are marked *