<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>DevOps - Category - Dimas Maulana</title>
    <link>https://dimasmaulana.pages.dev/categories/devops/</link>
    <description>Dimas Maulana Website</description>
    <generator>Hugo 0.150.0 &amp; FixIt v0.4.3-20260130042349-e23a50d7</generator>
    <language>en</language>
    <lastBuildDate>Thu, 14 Nov 2024 08:40:11 +0700</lastBuildDate>
    <atom:link href="https://dimasmaulana.pages.dev/categories/devops/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Refreshing Your Virtual Machine List in VirtualBox on Windows via SSH CLI</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/refreshing-your-virtual-machine-list-in-virtualbox-on-windows-via-ssh-cli/</link>
      <pubDate>Thu, 14 Nov 2024 08:40:11 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/refreshing-your-virtual-machine-list-in-virtualbox-on-windows-via-ssh-cli/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Sometimes, when working with VirtualBox on Windows, you might encounter an issue where your virtual machine list doesn&amp;rsquo;t update correctly, even after making changes like unlocking an encrypted drive. This can be frustrating when you&amp;rsquo;re trying to manage your VMs.&lt;/p&gt;&#xA;&lt;p&gt;This article will guide you through a solution to refresh your VirtualBox VM list via the command line interface (CLI) accessed via SSH.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;the-problem&#34;&gt;&lt;span&gt;The Problem&lt;/span&gt;&#xA;  &lt;a href=&#34;#the-problem&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Let&amp;rsquo;s say you have a virtual machine stored on an encrypted drive. When Windows starts, the drive is locked. You can unlock the drive via SSH, but when you try to list your virtual machines using &lt;code&gt;vboxmanage&lt;/code&gt; within your SSH session, you might still get an &amp;ldquo;access denied&amp;rdquo; error.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unlocking Luks Encrypted Disk via SSH on Ubuntu Server</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/unlocking-luks-encrypted-disk-via-ssh-on-ubuntu-server/</link>
      <pubDate>Fri, 08 Nov 2024 11:29:59 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/unlocking-luks-encrypted-disk-via-ssh-on-ubuntu-server/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;This article provides a step-by-step procedure for unlocking and accessing a Luks encrypted disk using SSH on an Ubuntu server.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;install-dropbear&#34;&gt;&lt;span&gt;Install Dropbear&lt;/span&gt;&#xA;  &lt;a href=&#34;#install-dropbear&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To enable SSH access on your Ubuntu server, you&amp;rsquo;ll need to install Dropbear. Run the following commands:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resolving Missing OpenSSH Service Configuration After Uninstallation</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/resolving-missing-openssh-service-configuration-after-uninstallation/</link>
      <pubDate>Fri, 08 Nov 2024 10:27:57 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/resolving-missing-openssh-service-configuration-after-uninstallation/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;This article explains how to address a potential issue with OpenSSH configuration after uninstalling and reinstalling the service.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;the-problem&#34;&gt;&lt;span&gt;The Problem&lt;/span&gt;&#xA;  &lt;a href=&#34;#the-problem&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;When OpenSSH is uninstalled via the Installer, the configuration for the &lt;code&gt;sshd&lt;/code&gt; service might be removed. Even if you reinstall OpenSSH through the Feature option, the configuration may still be missing. This can prevent SSH from functioning properly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resolving SSH Key Loading Issues on Windows</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/resolving-ssh-key-loading-issues-on-windows/</link>
      <pubDate>Thu, 07 Nov 2024 22:34:09 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/resolving-ssh-key-loading-issues-on-windows/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;While SSH is commonly associated with Linux and Unix systems, it can also be configured on Windows. This guide focuses on resolving SSH key loading issues specifically for Windows environments.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;understanding-the-challenge&#34;&gt;&lt;span&gt;Understanding the Challenge&lt;/span&gt;&#xA;  &lt;a href=&#34;#understanding-the-challenge&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Similar to Linux/Unix, the default SSH configuration on Windows might only load keys authorized by administrators, typically stored in a location like &lt;code&gt;%ProgramData%\ssh\administrators_authorized_keys&lt;/code&gt;. This restricts user access unless they are explicitly added to the administrator-authorized keys.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rsync to Windows Open SSH</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/rsync-to-windows-open-ssh/</link>
      <pubDate>Wed, 06 Nov 2024 16:40:20 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/rsync-to-windows-open-ssh/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Attempting to perform an rsync operation from a Linux or macOS system to a Windows machine directly using the &lt;code&gt;rsync&lt;/code&gt; command will fail. This is because Windows does not have a built-in &lt;code&gt;rsync&lt;/code&gt; utility.&lt;/p&gt;&#xA;&lt;p&gt;A typical command like &lt;code&gt;rsync /source/ target-hostname:/mnt/e/target/&lt;/code&gt; will result in an error.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;solution&#34;&gt;&lt;span&gt;Solution&lt;/span&gt;&#xA;  &lt;a href=&#34;#solution&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Leverage the power of the Windows Subsystem for Linux (WSL) to enable rsync functionality on your Windows system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>NAT Setup Using Cisco Packet Tracer</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/nat-setup-using-cisco-packet-tracer/</link>
      <pubDate>Fri, 14 Jun 2024 14:53:23 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/nat-setup-using-cisco-packet-tracer/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;We will demonstrate a basic network address translation (NAT) setup, allowing multiple devices to access a server through various routers and wireless networks. This setup enables multiple devices from different locations to connect to a single server, making it a crucial component of many modern networks.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-adding-devices&#34;&gt;&lt;span&gt;Step 1: Adding Devices&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-adding-devices&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Open Cisco Packet Tracer and create the following devices:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Laptop0&lt;/li&gt;&#xA;&lt;li&gt;Smartphone0&lt;/li&gt;&#xA;&lt;li&gt;PC0&lt;/li&gt;&#xA;&lt;li&gt;Wireless Router0&lt;/li&gt;&#xA;&lt;li&gt;Wireless Router1&lt;/li&gt;&#xA;&lt;li&gt;Wireless Router2&lt;/li&gt;&#xA;&lt;li&gt;Server0&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-2-configuring-ip-addresses&#34;&gt;&lt;span&gt;Step 2: Configuring IP Addresses&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-2-configuring-ip-addresses&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Configure the IP addresses as follows:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Laptop0: DHCP (obtain an IP address from the router)&lt;/li&gt;&#xA;&lt;li&gt;Smartphone0: DHCP (obtain an IP address from the router)&lt;/li&gt;&#xA;&lt;li&gt;PC0: DHCP (obtain an IP address from the router)&lt;/li&gt;&#xA;&lt;li&gt;Wireless Router0: Internet IP - DHCP, Router IP - 192.168.1.1/24&lt;/li&gt;&#xA;&lt;li&gt;Wireless Router1: Internet IP - DHCP, Router IP - 192.168.2.1/24&lt;/li&gt;&#xA;&lt;li&gt;Wireless Router2: Internet IP - 10.0.0.100/8, Router IP - 192.168.0.1/24&lt;/li&gt;&#xA;&lt;li&gt;Server0: IP - 10.0.0.101/8&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-3-creating-connections&#34;&gt;&lt;span&gt;Step 3: Creating Connections&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-3-creating-connections&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Create the following connections:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Cable from PC0 (LAN port) to Wireless Router1 (LAN port)&lt;/li&gt;&#xA;&lt;li&gt;Cable from Wireless Router0 (Internet port) to Wireless Router2 (LAN port)&lt;/li&gt;&#xA;&lt;li&gt;Cable from Wireless Router1 (Internet port) to Wireless Router2 (LAN port)&lt;/li&gt;&#xA;&lt;li&gt;Cable from Wireless Router2 (Internet port) to Server0 (LAN port)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-4-testing-connectivity&#34;&gt;&lt;span&gt;Step 4: Testing Connectivity&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-4-testing-connectivity&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Test the connectivity by:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pinging from each device to Server0:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Laptop0&lt;/li&gt;&#xA;&lt;li&gt;Smartphone0&lt;/li&gt;&#xA;&lt;li&gt;PC0&#xA;All pings should be successful, indicating that NAT is working as expected.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-5-testing-web-browsing&#34;&gt;&lt;span&gt;Step 5: Testing Web Browsing&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-5-testing-web-browsing&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Test web browsing from each device to Server0:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Open a web browser on Laptop0 and access the IP address of Server0 (e.g., &lt;a href=&#34;http://10.0.0.101&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;http://10.0.0.101&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;The web page should load successfully.&lt;/li&gt;&#xA;&lt;li&gt;Repeat the same test with Smartphone0 and PC0.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;expected-results&#34;&gt;&lt;span&gt;Expected Results&lt;/span&gt;&#xA;  &lt;a href=&#34;#expected-results&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;All devices should be able to access the server through different routers and wireless networks, indicating that NAT is working as expected.&lt;/li&gt;&#xA;&lt;li&gt;This article demonstrates a basic NAT setup using Cisco Packet Tracer, where devices can access a server through different routers and wireless networks. The NAT allows devices on different subnets to communicate with each other.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Network Switching and Routing using Cisco Packet Tracer</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/network-switching-and-routing-using-cisco-packet-tracer/</link>
      <pubDate>Thu, 13 Jun 2024 15:05:20 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/network-switching-and-routing-using-cisco-packet-tracer/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;This guide uses Cisco Packet Tracer software to demonstrate switching and routing concepts, allowing users to explore and understand network architectures in a virtual laboratory environment. With this resource, users can design, build, test, and troubleshoot networks, experimenting with different scenarios and configurations in a risk-free setting.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;cross-over-cable&#34;&gt;&lt;span&gt;Cross Over Cable&lt;/span&gt;&#xA;  &lt;a href=&#34;#cross-over-cable&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#39;https://dimasmaulana.pages.dev/network-switching-and-routing-using-cisco-packet-tracer-cross-over.jpg&#39; alt=&#34;Cross Over Cable&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prioritizing Data Privacy for Secure Transmission with Port Forwarding</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/prioritizing-data-privacy-for-secure-transmission-with-port-forwarding/</link>
      <pubDate>Wed, 13 Sep 2023 10:30:34 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/prioritizing-data-privacy-for-secure-transmission-with-port-forwarding/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;introduction&#34;&gt;&lt;span&gt;Introduction&lt;/span&gt;&#xA;  &lt;a href=&#34;#introduction&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;In the world of secure data transmission, prioritizing data privacy is paramount. Two common approaches, Apache reverse proxy and port forwarding with &lt;code&gt;autossh&lt;/code&gt;, offer different solutions for transmitting data securely. In this article, we&amp;rsquo;ll explore the benefits of port forwarding with a primary focus on data privacy. We&amp;rsquo;ll also discuss how this approach can enhance the security of your sensitive information and compare it with the potential data privacy risks associated with Apache reverse proxy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Naming Conventions for Production Environments</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-production-environments-/</link>
      <pubDate>Tue, 06 Jun 2023 06:47:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-production-environments-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Naming conventions are a crucial aspect of software development, providing consistency and clarity in various stages of the development lifecycle. In this article, we will explore the most common naming conventions for production environments, focusing on GitLab CI/CD, GitHub Actions, domain names, branch names, Docker Compose files, and Dockerfile names.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Naming&lt;/th&gt;&#xA;          &lt;th&gt;Common Convention&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitLab CI/CD Convention&lt;/td&gt;&#xA;          &lt;td&gt;prod&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitHub Actions Convention&lt;/td&gt;&#xA;          &lt;td&gt;prod&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Domain Names&lt;/td&gt;&#xA;          &lt;td&gt;example.com&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Branch Names&lt;/td&gt;&#xA;          &lt;td&gt;main/master&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Docker Compose Files&lt;/td&gt;&#xA;          &lt;td&gt;docker-compose.yml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Dockerfile Names&lt;/td&gt;&#xA;          &lt;td&gt;Dockerfile&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;gitlab-cicd-convention&#34;&gt;&lt;span&gt;GitLab CI/CD Convention&lt;/span&gt;&#xA;  &lt;a href=&#34;#gitlab-cicd-convention&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;In GitLab CI/CD, the convention for naming pipeline stages in production environments commonly involves using &amp;ldquo;prod&amp;rdquo; as the keyword. This convention ensures that pipeline stages are easily identifiable and aligned with the production deployment process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Naming Conventions for Development Environments</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-development-environments-/</link>
      <pubDate>Tue, 06 Jun 2023 06:45:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-development-environments-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Naming conventions play a vital role in software development environments, providing consistency and clarity throughout the development process. In this article, we will explore the most common naming conventions for development environments, covering GitLab CI/CD, GitHub Actions, domain names, branch names, Docker Compose files, and Dockerfile names.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Naming&lt;/th&gt;&#xA;          &lt;th&gt;Common Convention&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitLab CI/CD Convention&lt;/td&gt;&#xA;          &lt;td&gt;dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitHub Actions Convention&lt;/td&gt;&#xA;          &lt;td&gt;dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Domain Names&lt;/td&gt;&#xA;          &lt;td&gt;dev.example.com&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Branch Names&lt;/td&gt;&#xA;          &lt;td&gt;dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Docker Compose Files&lt;/td&gt;&#xA;          &lt;td&gt;docker-compose.dev.yml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Dockerfile Names&lt;/td&gt;&#xA;          &lt;td&gt;Dockerfile.dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;gitlab-cicd-convention&#34;&gt;&lt;span&gt;GitLab CI/CD Convention&lt;/span&gt;&#xA;  &lt;a href=&#34;#gitlab-cicd-convention&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;When working with GitLab CI/CD, the most common convention for naming pipeline stages in development environments is to use &amp;ldquo;dev&amp;rdquo; as the keyword. This convention ensures compatibility and alignment with GitLab CI/CD&amp;rsquo;s pipeline system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Naming Conventions Stage vs Staging in Software Development</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-stage-vs-staging-in-software-development/</link>
      <pubDate>Tue, 06 Jun 2023 06:24:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-stage-vs-staging-in-software-development/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Naming conventions play a crucial role in software development, providing clarity and consistency in various aspects of the development lifecycle. When it comes to naming environments, such as staging, development, and production, there can be variations and debates around the usage of &amp;ldquo;stage&amp;rdquo; and &amp;ldquo;staging.&amp;rdquo; In this article, we&amp;rsquo;ll explore the differences and common practices surrounding these terms.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;defining-staging-and-development-environments&#34;&gt;&lt;span&gt;Defining Staging and Development Environments&lt;/span&gt;&#xA;  &lt;a href=&#34;#defining-staging-and-development-environments&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Naming&lt;/th&gt;&#xA;          &lt;th&gt;Common Convention&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitLab CI/CD Convention&lt;/td&gt;&#xA;          &lt;td&gt;stage&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitHub Actions Convention&lt;/td&gt;&#xA;          &lt;td&gt;staging&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Domain Names&lt;/td&gt;&#xA;          &lt;td&gt;staging.example.com&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Branch Names&lt;/td&gt;&#xA;          &lt;td&gt;staging&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Docker Compose Files&lt;/td&gt;&#xA;          &lt;td&gt;docker-compose.staging.yml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Dockerfile Names&lt;/td&gt;&#xA;          &lt;td&gt;Dockerfile.staging&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Staging environments are integral to the software development process, serving as a dedicated space for testing and validation before deploying to production. In most cases, &amp;ldquo;staging&amp;rdquo; is commonly used as a noun to represent this environment. It refers to a stable and controlled testing area where developers can ensure their applications are functioning correctly and meet the required standards.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring the Benefits and Considerations of Serverless Architecture</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/exploring-the-benefits-and-considerations-of-serverless-architecture/</link>
      <pubDate>Sat, 03 Jun 2023 19:32:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/exploring-the-benefits-and-considerations-of-serverless-architecture/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Serverless architecture has revolutionized the way we develop and deploy applications, offering numerous benefits such as cost-effectiveness, scalability, and reduced operational overhead. In this article, we&amp;rsquo;ll delve into the world of serverless architecture, discussing its advantages, challenges, and important considerations when working with different serverless vendors.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;understanding-serverless-architecture&#34;&gt;&lt;span&gt;Understanding Serverless Architecture&lt;/span&gt;&#xA;  &lt;a href=&#34;#understanding-serverless-architecture&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Serverless architecture, often referred to as Function-as-a-Service (FaaS), is a cloud computing model where developers can build and run applications without the need to manage underlying infrastructure. Key characteristics of serverless include:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting Up Nginx as a Reverse Proxy with Let&#39;s Encrypt and Fail2ban Using Docker Compose</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/setting-up-nginx-as-a-reverse-proxy-with-lets-encrypt-and-fail2ban-using-docker-compose/</link>
      <pubDate>Mon, 29 May 2023 05:25:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/setting-up-nginx-as-a-reverse-proxy-with-lets-encrypt-and-fail2ban-using-docker-compose/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;In this article, we will explore how to set up a powerful and secure web server environment using Nginx as a reverse proxy with Let&amp;rsquo;s Encrypt SSL certificates and Fail2ban for enhanced security. We&amp;rsquo;ll leverage Docker Compose to simplify the deployment process and enable easy management of our services. By the end of this guide, you&amp;rsquo;ll have a robust setup that includes SSL encryption and protection against malicious actors.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-prerequisites&#34;&gt;&lt;span&gt;1. Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before starting, ensure that you have a server or virtual machine running a supported operating system. Additionally, make sure your domain name is properly configured and pointing to your server&amp;rsquo;s IP address.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building and Deploying a React Application to Nginx HTML Folder using GitLab CI with Separate Runners</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/building-and-deploying-a-react-application-to-nginx-html-folder-using-gitlab-ci-with-separate-runners/</link>
      <pubDate>Fri, 26 May 2023 09:10:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/building-and-deploying-a-react-application-to-nginx-html-folder-using-gitlab-ci-with-separate-runners/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Deploying a React application involves building it on one server and deploying it to another. GitLab CI provides a robust solution for automating this process, allowing you to leverage different runners for the build and deployment stages. In this article, we will explore how to utilize GitLab CI to build a React application on a build server and deploy the built source to the Nginx HTML folder on a production server using separate runners.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configuring Apache in Docker Compose with Custom Log Settings and Size Limitation for Virtual Hosts</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/configuring-apache-in-docker-compose-with-custom-log-settings-and-size-limitation-for-virtual-hosts/</link>
      <pubDate>Sun, 21 May 2023 05:34:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/configuring-apache-in-docker-compose-with-custom-log-settings-and-size-limitation-for-virtual-hosts/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;In this article, we will explore how to configure an Apache web server running in a Docker Compose environment with custom log settings and size limitation specifically for virtual host logs. We&amp;rsquo;ll cover the steps to set up the necessary volume mounts, configuration files, and log rotation to ensure that virtual host logs are limited in size. This will help you effectively manage disk space and maintain clean and manageable log files for your Apache server.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploying Docker Compose Production YAML on GitLab CI/CD</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/deploying-docker-compose-production-yaml-on-gitlab-cicd/</link>
      <pubDate>Wed, 17 May 2023 08:01:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/deploying-docker-compose-production-yaml-on-gitlab-cicd/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;GitLab CI/CD provides powerful capabilities for automating the deployment of applications. Docker Compose is a popular tool for defining and managing multi-container Docker applications. In this blog post, we&amp;rsquo;ll explore how to deploy a Docker Compose production YAML file on GitLab CI/CD, even if the runner server and production server are not in the same location.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Understanding of Docker Compose and GitLab CI/CD concepts.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-setting-up-the-runner&#34;&gt;&lt;span&gt;Step 1: Setting up the Runner&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-setting-up-the-runner&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To begin, set up a dedicated runner on the runner server. This runner will handle the execution of the deployment pipeline. Ensure that Docker is installed and properly configured on the runner server.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lock Xubuntu Remotely From SSH</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/lock-xubuntu-remotely-from-ssh/</link>
      <pubDate>Fri, 05 May 2023 11:01:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/lock-xubuntu-remotely-from-ssh/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;In certain situations, such as when administering a remote server running Xubuntu, it can be useful to be able to lock the screen remotely. This can help ensure the security and privacy of the system, especially when multiple users have access to the server. In this blog post, we will walk you through the process of remotely locking the Xubuntu screen from SSH.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To follow this guide, you&amp;rsquo;ll need the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clone Multiple Github Repositories With Different Deployment Keys But The Same Username</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/clone-multiple-github-repositories-with-different-deployment-keys-but-the-same-username-copy/</link>
      <pubDate>Fri, 05 May 2023 08:20:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/clone-multiple-github-repositories-with-different-deployment-keys-but-the-same-username-copy/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Cloning multiple GitHub repositories with different deployment keys can be useful when you need to access multiple repositories using different SSH keys associated with the same GitHub account. This guide provides step-by-step instructions on how to clone multiple repositories with different deployment keys while using the same username. By following these steps, you can streamline your workflow and manage multiple repositories more efficiently.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-generate-deployment-keys&#34;&gt;&lt;span&gt;Step 1: Generate Deployment Keys&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-generate-deployment-keys&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To begin, generate a deployment key for each repository you want to clone. Use the &lt;code&gt;ssh-keygen&lt;/code&gt; command on your local machine to create a unique key for each repository.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automate Your VirtualBox VMs with Autostart</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/automate-your-virtualbox-vms-with-autostart/</link>
      <pubDate>Fri, 08 Oct 2021 18:23:23 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/automate-your-virtualbox-vms-with-autostart/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;This guide will walk you through setting up a system service to automatically launch your desired VirtualBox VMs, saving you precious time and effort.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;configure-autostart-properties&#34;&gt;&lt;span&gt;Configure Autostart Properties&lt;/span&gt;&#xA;  &lt;a href=&#34;#configure-autostart-properties&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Create a file named &lt;code&gt;autostart.properties&lt;/code&gt; in the folder &lt;code&gt;C:\Users\Admin\.VirtualBox&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Inside the file, define the following:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre&gt;&lt;code&gt;default_policy = deny&#xA;Admin = {&#xA;    allow = true&#xA;    startup_delay = 10&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;default_policy = deny&lt;/code&gt;: This sets the default policy to deny all autostarts.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Admin = { allow = true; startup_delay = 10 }&lt;/code&gt;: This allows the user &amp;ldquo;Admin&amp;rdquo; to start VMs with a 10-second delay.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;set-system-variable&#34;&gt;&lt;span&gt;Set System Variable&lt;/span&gt;&#xA;  &lt;a href=&#34;#set-system-variable&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Create a new system variable named &lt;code&gt;VBOXAUTOSTART_CONFIG&lt;/code&gt; and set its value to &lt;code&gt;C:\Users\Admin\.VirtualBox\autostart.properties&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;install-the-virtualbox-autostart-service&#34;&gt;&lt;span&gt;Install the VirtualBox Autostart Service&lt;/span&gt;&#xA;  &lt;a href=&#34;#install-the-virtualbox-autostart-service&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Navigate to the VirtualBox installation directory: &lt;code&gt;cd &amp;quot;C:\Program Files\Oracle\VirtualBox&amp;quot;&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Run the following commands:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre&gt;&lt;code&gt;.\VBoxAutostartSvc.exe install --user=Admin&#xA;.\VBoxManage.exe modifyvm &amp;#34;virtual-pc&amp;#34; --autostart-enabled on&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;Replace &lt;code&gt;&amp;quot;virtual-pc&amp;quot;&lt;/code&gt; with the actual name of your VM you want to autostart.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;check-and-start-the-service&#34;&gt;&lt;span&gt;Check and Start the Service&lt;/span&gt;&#xA;  &lt;a href=&#34;#check-and-start-the-service&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Use the &lt;code&gt;sc&lt;/code&gt; command to check the service status: &lt;code&gt;sc query VBoxAutostartSvcadmin-pcadmin&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Start the service: &lt;code&gt;sc start VirtualBox Autostart Service VBoxAutostartSvcadmin-pcadmin&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Congratulations!&lt;/strong&gt; Your VirtualBox VM is now set to autostart when your system boots.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Fail2ban Inside Docker with NET_ADMIN Capability</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/using-fail2ban-inside-docker-with-net-admin-capability/</link>
      <pubDate>Mon, 05 Oct 2020 09:55:49 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/using-fail2ban-inside-docker-with-net-admin-capability/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Fail2ban is a popular intrusion prevention tool designed to protect servers from brute-force attacks and other malicious activities by monitoring log files and taking proactive measures to block suspicious IP addresses. When running Fail2ban inside a Docker container, there are some additional considerations to ensure proper functionality. In this article, we will explore how to configure and run Fail2ban inside a Docker container, including the need for the &lt;code&gt;NET_ADMIN&lt;/code&gt; capability.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing Too many open files in system Error in Apache Docker Container</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/fixing-too-many-open-files-in-system-error-in-apache-docker-container/</link>
      <pubDate>Tue, 29 Sep 2020 17:18:26 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/fixing-too-many-open-files-in-system-error-in-apache-docker-container/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;If you encounter the &amp;ldquo;Too many open files in system&amp;rdquo; error in your Apache Docker container, it means that the system has reached the limit on the number of files it can open, and this is causing issues with Apache&amp;rsquo;s configuration. Here&amp;rsquo;s a step-by-step guide on how to resolve this problem.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-check-the-current-file-limit&#34;&gt;&lt;span&gt;1. Check the Current File Limit&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-check-the-current-file-limit&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;First, you need to check the current file limit on your system to understand the magnitude of the issue. To do this, run the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker Limit Quota Folder</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/docker-limit-quota-folder/</link>
      <pubDate>Wed, 09 Sep 2020 12:08:41 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/docker-limit-quota-folder/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;In this article, we will discuss how to create and mount a limited quota folder using Docker. This can be useful when you want to restrict the amount of disk space a specific folder can use within a Docker container.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before we begin, make sure you have Docker installed on your system. You can download and install Docker from the official Docker website (&lt;a href=&#34;https://www.docker.com/%29&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;https://www.docker.com/)&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Managing Essential Packages in Ubuntu with debfoster</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/managing-essential-packages-in-ubuntu-with-debfoster/</link>
      <pubDate>Wed, 12 Feb 2020 11:43:19 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/managing-essential-packages-in-ubuntu-with-debfoster/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;When using Ubuntu, it&amp;rsquo;s important to keep your system clean and organized by removing orphaned packages and unwanted dependencies. One useful tool for managing packages in Ubuntu is debfoster. In this article, we&amp;rsquo;ll explore how to use debfoster to keep only essential packages, remove unwanted dependencies, and maintain a tidy Ubuntu installation.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;installation&#34;&gt;&lt;span&gt;Installation&lt;/span&gt;&#xA;  &lt;a href=&#34;#installation&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;By default, debfoster may not be installed on your Ubuntu system. To install it, open a terminal and run the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker Port Still Open Despite UFW Blocking</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/docker-port-still-open-despite-ufw-blocking/</link>
      <pubDate>Sun, 25 Aug 2019 20:17:30 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/docker-port-still-open-despite-ufw-blocking/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;In some cases, users have reported issues where Docker containers continue to have open ports even after configuring the Uncomplicated Firewall (UFW) to block them. This can be a frustrating experience, but there are a few potential solutions to investigate.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-using-127001-as-the-host-ip&#34;&gt;&lt;span&gt;1. Using 127.0.0.1 as the Host IP&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-using-127001-as-the-host-ip&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;One possible cause for this issue is the configuration of the Docker container&amp;rsquo;s network settings. By default, Docker containers run in their own isolated network environment, separate from the host machine. When specifying a port in the format &lt;code&gt;127.0.0.1:12100&lt;/code&gt; in your Docker Compose &lt;code&gt;.env&lt;/code&gt; file, you are binding the container port to the loopback interface on the container itself, rather than the host machine. Consequently, UFW might not have any control over this loopback interface.&lt;/p&gt;</description>
    </item>
    <item>
      <title>UFW Not Starting on Boot in Ubuntu 18.04</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/ufw-not-starting-on-boot-in-ubuntu-18-04/</link>
      <pubDate>Sun, 18 Aug 2019 13:19:42 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/ufw-not-starting-on-boot-in-ubuntu-18-04/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;If you&amp;rsquo;re experiencing issues with the Uncomplicated Firewall (UFW) not starting on boot in Ubuntu 18.04, there are a few steps you can take to troubleshoot and resolve the problem. Here&amp;rsquo;s a step-by-step guide to fix the issue.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Please note:&lt;/strong&gt; Modifying system files requires administrative privileges. Make sure you have the necessary permissions before proceeding.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;editing-the-ufw-service-file&#34;&gt;&lt;span&gt;Editing the UFW Service File&lt;/span&gt;&#xA;  &lt;a href=&#34;#editing-the-ufw-service-file&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;Open a terminal or SSH session and log in to your Ubuntu 18.04 system.&lt;/li&gt;&#xA;&lt;li&gt;Use the following command to open the UFW service file in the Vim text editor:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo vim /lib/systemd/system/ufw.service&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Inside the Vim editor, locate the line that reads &lt;code&gt;Before=network.target&lt;/code&gt;. You need to remove this line from the file. To do so, move the cursor to that line, press &lt;code&gt;dd&lt;/code&gt; to delete the line, and then save the file and exit Vim by typing &lt;code&gt;:wq&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSHD Windows 10 Not Accepting Public Key</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/sshd-windows-10-not-accepting-public-key-/</link>
      <pubDate>Sun, 17 Mar 2019 16:10:44 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/sshd-windows-10-not-accepting-public-key-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If you&amp;rsquo;re experiencing issues with SSHD on Windows 10 not accepting your public key, there are a few steps you can take to troubleshoot the problem. Follow the steps below to resolve the issue.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-open-the-sshd-configuration-file&#34;&gt;&lt;span&gt;Step 1: Open the SSHD Configuration File&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-open-the-sshd-configuration-file&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To begin, open the SSHD configuration file using a text editor. In this example, we&amp;rsquo;ll use the Bash shell and the &lt;code&gt;vim&lt;/code&gt; editor. Open a command prompt and navigate to the following directory:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Docker HTTPD SSL Log Not Appearing</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/troubleshooting-docker-httpd-ssl-log-not-appearing/</link>
      <pubDate>Tue, 27 Mar 2018 12:32:35 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/troubleshooting-docker-httpd-ssl-log-not-appearing/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;When working with Docker containers and the Apache HTTP Server (httpd) in SSL mode, it is important to monitor and analyze the server logs for debugging and security purposes. However, in some cases, the SSL log might not show up as expected. This article aims to provide a solution to this problem by adding a custom log variable inside the virtual host configuration.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;problem&#34;&gt;&lt;span&gt;Problem&lt;/span&gt;&#xA;  &lt;a href=&#34;#problem&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The SSL log is not being generated or displayed when running the Apache HTTP Server within a Docker container. This can make it difficult to track and analyze server activity and troubleshoot potential issues.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Invalid IP Host Error in Docker Compose with HTTPD Container</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/troubleshooting--invalid-ip-host--error-in-docker-compose-with-httpd-container/</link>
      <pubDate>Tue, 27 Mar 2018 12:31:29 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/troubleshooting--invalid-ip-host--error-in-docker-compose-with-httpd-container/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;When working with Docker Compose, you may encounter an &amp;ldquo;Invalid IP Host&amp;rdquo; error when configuring the HTTPD (Apache) container. This error often occurs when the container&amp;rsquo;s network configuration conflicts with the port mappings specified in the &lt;code&gt;docker-compose.yml&lt;/code&gt; file. In this article, we will explore a common cause of this error and provide a solution by adjusting the network configuration using the &lt;code&gt;net&lt;/code&gt; parameter.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;understanding-the-invalid-ip-host-error&#34;&gt;&lt;span&gt;Understanding the &amp;ldquo;Invalid IP Host&amp;rdquo; Error&lt;/span&gt;&#xA;  &lt;a href=&#34;#understanding-the-invalid-ip-host-error&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The &amp;ldquo;Invalid IP Host&amp;rdquo; error message typically appears when running an HTTPD container in Docker Compose and indicates that the IP address provided for the container&amp;rsquo;s host is invalid or conflicting.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Cloudflare Error 522 or ERR_NETWORK Router Asus and Firewall DDOS Configuration</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/troubleshooting-cloudflare-error-522-or-err-network-router-asus-and-firewall-ddos-configuration/</link>
      <pubDate>Wed, 21 Feb 2018 12:40:31 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/troubleshooting-cloudflare-error-522-or-err-network-router-asus-and-firewall-ddos-configuration/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;When encountering Cloudflare Error 522 or ERR_NETWORK while using the internet, one possible cause could be the configuration of an Asus router with the Firewall DDOS feature enabled. This article aims to shed light on this issue and provide a solution for resolving it. However, it&amp;rsquo;s important to note that disabling the DDOS feature on the router may increase the risk of potential DDOS attacks from external sources.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;understanding-cloudflare-error-522-or-err_network&#34;&gt;&lt;span&gt;Understanding Cloudflare Error 522 or ERR_NETWORK&lt;/span&gt;&#xA;  &lt;a href=&#34;#understanding-cloudflare-error-522-or-err_network&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Cloudflare Error 522 or ERR_NETWORK is an HTTP error code that occurs when a TCP connection between the origin server and Cloudflare is unable to establish within a specific timeframe. This error often manifests as a prolonged loading time or complete unavailability of a website.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
