<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Server Management Services | Cloud Management | Skynats</title>
	<atom:link href="https://www.skynats.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.skynats.com/blog</link>
	<description>Server Management and Cloud Management</description>
	<lastBuildDate>Mon, 28 Sep 2026 12:35:19 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.6</generator>

<image>
	<url>https://www.skynats.com/blog/wp-content/uploads/2023/08/Sknats-Logo-square-150x150.png</url>
	<title>Server Management Services | Cloud Management | Skynats</title>
	<link>https://www.skynats.com/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Create and Use an AWS KMS Key for Encryption in AWS</title>
		<link>https://www.skynats.com/blog/create-aws-kms-key/</link>
		
		<dc:creator><![CDATA[Jishnu V]]></dc:creator>
		<pubDate>Mon, 28 Sep 2026 12:35:19 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://www.skynats.com/blog/?p=17733</guid>

					<description><![CDATA[<p>Introduction Security is a critical part of managing workloads in AWS. AWS Key Management Service (AWS KMS) makes it easier to create and manage cryptographic keys that can be used to protect data across AWS services. AWS KMS Key Creation at a Glance Create an AWS KMS Key through the AWS KMS console by selecting [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/create-aws-kms-key/">How to Create and Use an AWS KMS Key for Encryption in AWS</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><b>Introduction</b></h2>
<p><span style="font-weight: 400;">Security is a critical part of managing workloads in AWS. <a href="https://www.skynats.com/aws-management-services">AWS Key Management Service</a> (AWS KMS) makes it easier to create and manage cryptographic keys that can be used to protect data across <a href="https://www.skynats.com/aws-management-services">AWS services</a>.</span></p>
<h3 class="PDq2pG_selectionAnchorContainer" dir="auto" data-section-id="2c85um" data-start="273" data-end="313"><span role="text"><strong data-start="277" data-end="313">AWS KMS Key Creation at a Glance</strong></span></h3>
<p dir="auto" data-start="315" data-end="561"><strong data-start="315" data-end="340">Create an AWS KMS Key</strong> through the AWS KMS console by selecting the key type, configuring administrators and key users, reviewing the key policy, and creating the key. The KMS key can then be used to protect data across supported AWS services.</p>
<h2><b>What is AWS KMS?</b></h2>
<p><span style="font-weight: 400;"><a href="https://www.skynats.com/aws-management-services">AWS Key Management Service</a> (KMS) is a managed service that allows you to create and control cryptographic keys used to protect data. AWS services can use KMS keys to encrypt data at rest, while KMS handles the underlying cryptographic operations and access control.</span></p>
<p><span style="font-weight: 400;">KMS keys can be used with services such as:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Amazon EC2 / EBS</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Amazon S3</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Amazon RDS</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Amazon EFS</span></li>
</ul>
<h2><b>Prerequisites</b></h2>
<p><span style="font-weight: 400;">Before creating the KMS key, make sure you have:</span></p>
<ol>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">An AWS account</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Access to the required AWS region</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">IAM permissions to create and manage KMS keys</span></li>
</ol>
<h1><b>Create a KMS Key Using AWS Console</b></h1>
<p><span style="font-weight: 400;">Log in to the AWS Management Console and open:</span></p>
<p><b>AWS KMS → Customer managed keys</b></p>
<p><span style="font-weight: 400;">Click: </span><b>Create key</b></p>
<h2><b>Select Key Type</b></h2>
<p><span style="font-weight: 400;">Under </span><b>Key type</b><span style="font-weight: 400;">, select: </span><b>Symmetric</b></p>
<p><span style="font-weight: 400;">Under </span><b>Key usage</b><span style="font-weight: 400;">, select: </span><b>Encrypt and decrypt</b></p>
<p><span style="font-weight: 400;">Then click: </span><b>Next</b></p>
<h2><b>Add Key Details</b></h2>
<p><span style="font-weight: 400;">Provide a meaningful alias. For example: </span><b>alias/prod-data-encryption</b></p>
<p><span style="font-weight: 400;">Click: </span><b>Next</b></p>
<h2><b>Configure Key Administrators</b></h2>
<p><span style="font-weight: 400;">AWS KMS allows you to specify which IAM users or roles can administer the key. Typical administrative permissions include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Enable key</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Disable key</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Schedule key deletion</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Change key policy</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Configure rotation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Manage aliases</span></li>
</ul>
<h2><b>Configure Key Users</b></h2>
<p><span style="font-weight: 400;">Next, select the IAM users or roles that should be allowed to use the key. The exact permissions required depend on how the key will be used. For an application that needs encryption and decryption, permissions may include:</span></p>
<p><b>kms:Encrypt</b></p>
<p><b>kms:Decrypt</b></p>
<p><b>kms:GenerateDataKey</b></p>
<p><b>kms:DescribeKey</b></p>
<p><span style="font-weight: 400;">For AWS services, the required permissions can vary depending on the service.</span></p>
<h2><b>Review the Key Policy</b></h2>
<p><span style="font-weight: 400;">AWS KMS uses a </span><b>key policy</b><span style="font-weight: 400;"> to control access to a KMS key. A simplified example looks like:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">{</span></p>
<p><span style="font-weight: 400;">  &#8220;Version&#8221;: &#8220;2012-10-17&#8221;,</span></p>
<p><span style="font-weight: 400;">  &#8220;Statement&#8221;: [</span></p>
<p><span style="font-weight: 400;">    {</span></p>
<p><span style="font-weight: 400;">      &#8220;Sid&#8221;: &#8220;Enable IAM User Permissions&#8221;,</span></p>
<p><span style="font-weight: 400;">      &#8220;Effect&#8221;: &#8220;Allow&#8221;,</span></p>
<p><span style="font-weight: 400;">      &#8220;Principal&#8221;: {</span></p>
<p><span style="font-weight: 400;">        &#8220;AWS&#8221;: &#8220;arn:aws:iam::123456789012:root&#8221;</span></p>
<p><span style="font-weight: 400;">      },</span></p>
<p><span style="font-weight: 400;">      &#8220;Action&#8221;: &#8220;kms:*&#8221;,</span></p>
<p><span style="font-weight: 400;">      &#8220;Resource&#8221;: &#8220;*&#8221;</span></p>
<p><span style="font-weight: 400;">    }</span></p>
<p><span style="font-weight: 400;">  ]</span></p>
<p><span style="font-weight: 400;">}</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">The root principal in a KMS key policy does not mean that the AWS account root user is the only person who can use the key. It establishes account-level control that can allow IAM policies to grant access. However, KMS policies should be designed carefully according to the principle of least privilege.</span></p>
<p><span style="font-weight: 400;">Click: </span><b>Finish</b></p>
<p><span style="font-weight: 400;">The KMS key is now created.</span></p>
<h2><b>Find the KMS Key ID</b></h2>
<p><span style="font-weight: 400;">After creating the key, open:</span></p>
<p><b>AWS KMS → Customer managed keys</b></p>
<p><span style="font-weight: 400;">You should see something similar to:</span></p>
<p><span style="font-weight: 400;">Alias</span></p>
<p><span style="font-weight: 400;">alias/prod-data-encryption</span></p>
<p><span style="font-weight: 400;">Key ID</span></p>
<p><span style="font-weight: 400;">12345678-abcd-1234-abcd-123456789012</span></p>
<p><span style="font-weight: 400;">Key ARN</span></p>
<p><span style="font-weight: 400;">arn:aws:kms:ap-south-1:123456789012:key/12345678-abcd-1234-abcd-123456789012</span></p>
<p><span style="font-weight: 400;">The </span><b>Key ID</b><span style="font-weight: 400;"> or </span><b>Key ARN</b><span style="font-weight: 400;"> can be used when configuring AWS services.</span></p>
<h2><b>Test the KMS Key</b></h2>
<p><span style="font-weight: 400;">Before attaching the key to production resources, you can verify that it is enabled. Run: </span></p>
<table>
<tbody>
<tr>
<td><b>aws kms describe-key &#8211;key-id alias/prod-data-encryption</b></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Look for: </span><b>&#8220;KeyState&#8221;: &#8220;Enabled&#8221;</b></p>
<p><span style="font-weight: 400;">You can also test encryption directly. Generate a data key:</span></p>
<table>
<tbody>
<tr>
<td><b>aws kms generate-data-key &#8211;key-id alias/prod-data-encryption &#8211;key-spec AES_256</b></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">AWS will return an encrypted data key and plaintext data key. Do not store or expose the plaintext data key unnecessarily.</span></p>
<h1><b>Conclusion</b></h1>
<p><span style="font-weight: 400;"><a href="https://aws.amazon.com/" target="_blank" rel="noopener"><span style="color: #999999;">AWS</span></a> KMS provides a centralized way to manage encryption keys and control access to encrypted data.</span></p>
<p><span style="font-weight: 400;">A typical implementation involves:</span></p>
<p><span style="font-weight: 400;">Create KMS Key</span></p>
<p><span style="font-weight: 400;">       ↓</span></p>
<p><span style="font-weight: 400;">Create Alias</span></p>
<p><span style="font-weight: 400;">       ↓</span></p>
<p><span style="font-weight: 400;">Configure Key Administrators</span></p>
<p><span style="font-weight: 400;">       ↓</span></p>
<p><span style="font-weight: 400;">Configure Key Users</span></p>
<p><span style="font-weight: 400;">       ↓</span></p>
<p><span style="font-weight: 400;">Configure Key Policy</span></p>
<p><span style="font-weight: 400;">       ↓</span></p>
<p><span style="font-weight: 400;">Enable Rotation</span></p>
<p><span style="font-weight: 400;">       ↓</span></p>
<p><span style="font-weight: 400;">Attach KMS Key to AWS Resource</span></p>
<p><span style="font-weight: 400;">       ↓</span></p>
<p><span style="font-weight: 400;">Test Encryption</span></p>
<p><span style="font-weight: 400;">       ↓</span></p>
<p><span style="font-weight: 400;">Monitor Usage with CloudTrail</span></p>
<p><span style="font-weight: 400;">The important point is that </span><b>creating a KMS key is only the first step</b><span style="font-weight: 400;">. The key must also be correctly integrated with the AWS service and the IAM/KMS policies must allow the required operations.</span></p>
<h3 class="PDq2pG_selectionAnchorContainer" dir="auto" data-section-id="hwspts" data-start="978" data-end="1023"><span role="text"><strong data-start="982" data-end="1023">Need Help With AWS KMS Configuration?</strong></span></h3>
<p dir="auto" data-start="1025" data-end="1254">AWS KMS requires careful configuration of encryption keys, permissions, and key policies. If you need help setting up or managing AWS encryption and security, Skynats can assist with <a href="https://www.skynats.com/aws-management-services">AWS infrastructure management</a> and <a href="https://www.skynats.com/contact-us">support</a>.</p>
<p dir="auto" data-start="1256" data-end="1297">Explore <a href="https://www.skynats.com/aws-management-services">AWS Cloud Management Services</a></p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/create-aws-kms-key/">How to Create and Use an AWS KMS Key for Encryption in AWS</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Install and Configure Node Exporter on a Linux Server</title>
		<link>https://www.skynats.com/blog/install-node-exporter-linux/</link>
		
		<dc:creator><![CDATA[Sourav AJ]]></dc:creator>
		<pubDate>Mon, 28 Sep 2026 10:35:02 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://www.skynats.com/blog/?p=17729</guid>

					<description><![CDATA[<p>Introduction Install Node Exporter on Linux to collect system-level metrics for effective server monitoring with Prometheus. Prometheus is a monitoring platform that collects metrics from configured targets. For Linux servers, Node Exporter is a monitoring agent installed on each server to collect system-level metrics such as CPU usage, memory utilization, disk space, filesystem statistics, network [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/install-node-exporter-linux/">How to Install and Configure Node Exporter on a Linux Server</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><b>Introduction</b></h2>
<p><strong data-start="105" data-end="139">Install Node Exporter on Linux</strong> to collect system-level metrics for effective server monitoring with Prometheus. Prometheus is a monitoring platform that collects metrics from configured targets. For Linux servers, Node Exporter is a monitoring agent installed on each server to collect system-level metrics such as CPU usage, memory utilization, disk space, filesystem statistics, network traffic, and system load. It exposes system metrics over <strong data-start="555" data-end="572">TCP port 9100</strong>, which the Prometheus server can access and scrape.</p>
<p><span style="font-weight: 400;">This guide explains how to install and configure Node Exporter on a Linux server and verify its connectivity from the Prometheus server.</span></p>
<p>If you need assistance with <a href="https://www.skynats.com/linux-server-management">Linux server monitoring</a>, Node Exporter installation, or ongoing server management, a managed server provider can handle the setup and monitoring for you.</p>
<p><strong>Node Exporter Installation at a Glance</strong></p>
<p><a href="https://www.skynats.com/blog/how-install-node-exporter-on-ubuntu/">Node Exporter</a> is installed on a <span style="color: #999999;"><a style="color: #999999;" href="https://www.linux.org/" target="_blank" rel="noopener">Linux</a></span> server to collect system metrics such as CPU, memory, disk, and network usage for Prometheus. The basic setup involves installing <a href="https://www.skynats.com/blog/how-to-install-node-exporter-on-a-client-for-prometheus-monitoring/">Node Exporter, configuring</a> it as a systemd service, allowing secure access to TCP port 9100, and verifying connectivity with the Prometheus server.</p>
<h2><b>Prerequisites</b></h2>
<p><span style="font-weight: 400;">To proceed with the setup, we need:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">root or sudo access to the Linux server.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Ensure that the server has network connectivity to the Prometheus server.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">TCP port </span><span style="font-weight: 400;">9100</span><span style="font-weight: 400;"> is allowed between the Linux server and Prometheus server.</span></li>
</ul>
<p>For security, port 9100 should preferably be accessible only from the Prometheus server or trusted monitoring network rather than being exposed publicly.</p>
<h2><b>Step 1: Download Node Exporter</b></h2>
<p><span style="font-weight: 400;">Download the Node Exporter package to a temporary directory:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">#cd /tmp</span></p>
<p><span style="font-weight: 400;">#wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-linux-amd64.tar.gz</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Extract the downloaded archive:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">tar -xvf node_exporter-linux-amd64.tar.gz</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Copy the binary file to </span><span style="font-weight: 400;">/usr/local/bin/</span><span style="font-weight: 400;">:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">cp node_exporter-*/node_exporter /usr/local/bin/</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Verify the installation using:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">node_exporter &#8211;version</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">The command should return the installed Node Exporter version.</span></p>
<h2><b>Step 2: Create a Dedicated Node Exporter User</b></h2>
<p><span style="font-weight: 400;">For security, run Node Exporter under a dedicated system user instead of the root user.</span></p>
<p><span style="font-weight: 400;">Create the user:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">useradd -rs /bin/false node_exporter</span><span style="font-weight: 400;"> </span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Set the ownership for the binary:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">chown node_exporter:node_exporter /usr/local/bin/node_exporter</span></td>
</tr>
</tbody>
</table>
<h2><b>Step 3: Create a Systemd Service</b></h2>
<p><span style="font-weight: 400;">Create a systemd service for Node Exporter to start automatically when the server boots and to provide standard service management through systemctl.</span></p>
<p><span style="font-weight: 400;">Create the service file:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">vim /etc/systemd/system/node_exporter.service</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Add the following:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">[Unit]</span></p>
<p><span style="font-weight: 400;">Description=Prometheus Node Exporter</span></p>
<p><span style="font-weight: 400;">Wants=network-online.target</span></p>
<p><span style="font-weight: 400;">After=network-online.target</span></p>
<p><span style="font-weight: 400;">[Service]</span></p>
<p><span style="font-weight: 400;">User=node_exporter</span></p>
<p><span style="font-weight: 400;">Group=node_exporter</span></p>
<p><span style="font-weight: 400;">Type=simple</span></p>
<p><span style="font-weight: 400;">ExecStart=/usr/local/bin/node_exporter</span></p>
<p><span style="font-weight: 400;">[Install]</span></p>
<p><span style="font-weight: 400;">WantedBy=multi-user.target</span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Save the file using </span><b>wq!</b><span style="font-weight: 400;"> and reload the systemd configuration:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">systemctl daemon-reload</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Enable the service to start automatically after reboot:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">systemctl enable node_exporter</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Start the service:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">systemctl start node_exporter</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Check the service status:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">systemctl status node_exporter</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">The service should show:</span></p>
<p><span style="font-weight: 400;">Active: active (running)</span></p>
<h2><b>Step 4: Verify Node Exporter Is Listening</b></h2>
<p><span style="font-weight: 400;">Node Exporter listens on TCP port </span><span style="font-weight: 400;">9100</span><span style="font-weight: 400;"> by default.</span></p>
<p><span style="font-weight: 400;">Check whether the port is listening:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">ss -lntp | grep 9100</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">A typical output will look similar to:</span></p>
<p><span style="font-weight: 400;">LISTEN 0 4096 *:9100 *:* users:((&#8220;node_exporter&#8221;,pid=1234,fd=3))</span></p>
<h2><b>Step 5: Test Node Exporter Locally</b></h2>
<p><span style="font-weight: 400;">Before testing connectivity from the Prometheus server, verify that Node Exporter is working locally.</span></p>
<p><span style="font-weight: 400;">Run:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">curl -v http://127.0.0.1:9100/metrics</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">If Node Exporter is working correctly, the command will return a large set of metrics.</span></p>
<p><span style="font-weight: 400;">For example:</span></p>
<p><span style="font-weight: 400;">node_cpu_seconds_total</span></p>
<p><span style="font-weight: 400;">node_memory_MemTotal_bytes</span></p>
<p><span style="font-weight: 400;">node_memory_MemAvailable_bytes</span></p>
<p><span style="font-weight: 400;">node_filesystem_size_bytes</span></p>
<p><span style="font-weight: 400;">node_network_receive_bytes_total</span></p>
<p><span style="font-weight: 400;">This response means that Node Exporter is installed and functioning correctly on the server.</span></p>
<h2><b>Step 6: Configure the Server Firewall</b></h2>
<p><span style="font-weight: 400;">The Prometheus server needs to access the TCP port on the monitored server.</span></p>
<p><span style="font-weight: 400;">For security reasons, port </span><span style="font-weight: 400;">9100</span><span style="font-weight: 400;"> should </span><b>not normally be exposed to the public internet</b><span style="font-weight: 400;">. Access should preferably be restricted to the private IP address of the Prometheus server or the trusted monitoring network.</span></p>
<h3><b>UFW</b></h3>
<p><span style="font-weight: 400;">If the server uses UFW and the Prometheus server has the private IP </span><span style="font-weight: 400;">10.0.1.23</span><span style="font-weight: 400;">:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">ufw allow from 10.0.1.23 to any port 9100 proto tcp</span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">You can verify the rule using: </span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">ufw status</span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3><b>Firewalld</b></h3>
<p><span style="font-weight: 400;">For servers using firewalld:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">firewall-cmd &#8211;permanent \</span></p>
<p><span style="font-weight: 400;">  &#8211;add-rich-rule=&#8217;rule family=&#8221;ipv4&#8243; source address=&#8221;10.0.1.23/32&#8243; port protocol=&#8221;tcp&#8221; port=&#8221;9100&#8243; accept&#8217;</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Reload the firewall:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">firewall-cmd &#8211;reload</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Verify the configuration:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">firewall-cmd &#8211;list-all</span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3><b>CSF</b></h3>
<p><span style="font-weight: 400;">If the server uses CSF, TCP port </span><span style="font-weight: 400;">9100</span><span style="font-weight: 400;"> needs to be permitted appropriately.</span></p>
<p><span style="font-weight: 400;">However, instead of allowing the port globally, access should preferably be restricted to the Prometheus server&#8217;s private IP.</span></p>
<p><span style="font-weight: 400;">You can do this by adding the following lines at the bottom of the </span><b>/etc/csf/csf.allow</b><span style="font-weight: 400;"> file:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">tcp|in|d=9100|s=10.0.1.23</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Note: CSF configuration can vary depending on how the server&#8217;s firewall policies are structured.</span></p>
<h2><b>Step 7: Configure the AWS Security Group</b></h2>
<p><span style="font-weight: 400;">If the Linux server is hosted on AWS EC2, the Security Group attached to the instance must also permit TCP port </span><span style="font-weight: 400;">9100</span><span style="font-weight: 400;">.</span></p>
<p><span style="font-weight: 400;">Add an inbound rule similar to:</span></p>
<p><span style="font-weight: 400;">Type:        Custom TCP</span></p>
<p><span style="font-weight: 400;">Port:        9100</span></p>
<p><span style="font-weight: 400;">Protocol:    TCP</span></p>
<p><span style="font-weight: 400;">Source:      10.0.1.23/32</span></p>
<p><span style="font-weight: 400;">If the Prometheus and monitored servers are located in different VPCs, through </span><b>VPC peering</b><span style="font-weight: 400;">, the appropriate VPC routes must also be configured between the two networks.</span></p>
<h2><b>Step 8: Test Connectivity from the Prometheus Server</b></h2>
<p><span style="font-weight: 400;">Once Node Exporter is running and the required firewall/network settings are configured, test connectivity from the Prometheus server.</span></p>
<p><span style="font-weight: 400;">For example, if the monitored server has the private IP </span><span style="font-weight: 400;">10.26.3.21</span></p>
<p><span style="font-weight: 400;">Run the following command from the Prometheus server:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">curl -v &#8211;connect-timeout 5 http://10.26.3.21:9100/metrics</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">If the connection is successful, Prometheus should be able to retrieve the Node Exporter metrics.</span></p>
<p><span style="font-weight: 400;">A successful connection should return a message similar to: </span></p>
<p><span style="font-weight: 400;">Connection to 10.26.3.21 9100 port [tcp/*] succeeded!</span></p>
<p>&nbsp;</p>
<h3><b>Troubleshooting Connection Failures</b></h3>
<p><span style="font-weight: 400;">If the connection times out, You can check whether connection attempts are reaching the monitored server using:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">tcpdump -ni any tcp port 9100</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">If no packets are observed, the issue is likely somewhere in the network path, such as routing, Security Groups, or NACLs. If packets reach the server but the connection is not established, investigate the local firewall or service configuration. </span></p>
<p><span style="font-weight: 400;">After checking everything, run the </span><span style="font-weight: 400;">curl</span><span style="font-weight: 400;"> test again from the Prometheus server.</span></p>
<h2><b>Conclusion</b></h2>
<p><span style="font-weight: 400;">Node Exporter provides the system-level metrics required for monitoring Linux servers through Prometheus. The installation involves deploying the Node Exporter binary, creating a dedicated system user, configuring a systemd service verifying that the exporter is listening on TCP port </span><span style="font-weight: 400;">9100</span><span style="font-weight: 400;">, and configure the local server to allow the  the Prometheus server to access the Node Exporter endpoint securely.</span></p>
<p>With the right configuration, Node Exporter can be an important component of a reliable Linux server monitoring setup.</p>
<h2 class="PDq2pG_selectionAnchorContainer" dir="auto" data-section-id="li01n0" data-start="7936" data-end="7982"><span role="text"><strong data-start="7939" data-end="7982">Need Help With Linux Server Monitoring?</strong></span></h2>
<p dir="auto" data-start="7984" data-end="8211">Setting up and maintaining server monitoring across multiple Linux servers can require ongoing configuration, security, and maintenance. Skynats can help with <a href="https://www.skynats.com/linux-server-management">Linux Server Support</a>, monitoring, and <a href="https://www.skynats.com/cpanel-server-management-services">infrastructure support</a>.</p>
<p dir="auto" data-start="8213" data-end="8269">Learn More About <a href="https://www.skynats.com/linux-server-management">Linux Server Services</a></p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/install-node-exporter-linux/">How to Install and Configure Node Exporter on a Linux Server</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SOC 2 vs ISO 27001 vs HIPAA: Which Compliance Do You Need?</title>
		<link>https://www.skynats.com/blog/soc-2-vs-iso-27001-vs-hipaa-which-compliance-do-you-need/</link>
		
		<dc:creator><![CDATA[Merin John]]></dc:creator>
		<pubDate>Tue, 22 Sep 2026 11:50:17 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://www.skynats.com/blog/?p=17725</guid>

					<description><![CDATA[<p>As businesses move more of their operations to the cloud, questions about compliance come up fast, especially from enterprise clients and healthcare partners. Three names come up again and again: SOC 2, ISO 27001, and HIPAA. They sound similar, but each serves a different purpose. This blog breaks them down in simple terms so you [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/soc-2-vs-iso-27001-vs-hipaa-which-compliance-do-you-need/">SOC 2 vs ISO 27001 vs HIPAA: Which Compliance Do You Need?</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="PDq2pG_selectionAnchorContainer" dir="auto" data-start="474" data-end="856">As businesses move more of their operations to the cloud, questions about compliance come up fast, especially from enterprise clients and healthcare partners. Three names come up again and again: SOC 2, ISO 27001, and <span style="color: #999999;"><a style="color: #999999;" href="https://www.hhs.gov/hipaa/index.html" target="_blank" rel="noopener">HIPAA</a></span>. They sound similar, but each serves a different purpose. This blog breaks them down in simple terms so you can figure out which one applies to your business.</p>
<h2 dir="auto" data-section-id="d4lz2f" data-start="2169" data-end="2186">What is SOC 2?</h2>
<p dir="auto" data-start="2188" data-end="2517">SOC 2 is an attestation examination and report rather than an ISO-style certification. An independent auditor examines a service organization&#8217;s controls against the AICPA Trust Services Criteria. These criteria cover security and, when included in the engagement, availability, processing integrity, confidentiality, and privacy.</p>
<p dir="auto" data-start="2519" data-end="2706">SOC 2 is commonly used by SaaS, cloud, technology, and other service organizations to provide customers and business partners with information about their controls and security practices.</p>
<p dir="auto" data-start="2708" data-end="2994">SOC 2 engagements may be <strong data-start="2733" data-end="2754">Type I or Type II</strong>. A Type I examination evaluates whether relevant controls are suitably designed and implemented at a specific point in time, while a Type II examination also evaluates the operating effectiveness of relevant controls over a defined period.</p>
<p dir="auto" data-start="2996" data-end="3123">Organizations preparing for security assessments can also strengthen their infrastructure through <a href="https://www.skynats.com/cyber-security-services">Managed Security Solutions</a></p>
<h2 dir="auto" data-section-id="1gqgqej" data-start="3125" data-end="3146">What is ISO 27001?</h2>
<p dir="auto" data-start="3148" data-end="3471">ISO 27001 is an internationally recognized standard that specifies requirements for establishing, implementing, maintaining, and continually improving an Information Security Management System (ISMS). Organizations can also choose to undergo an independent certification process to demonstrate conformity with the standard.</p>
<p dir="auto" data-start="3473" data-end="3743">ISO 27001 takes a structured, risk-based approach to information security. It can be applied by organizations of different sizes and across different industries, making it relevant for businesses that want to establish a formal information security management framework.</p>
<p dir="auto" data-start="3745" data-end="3933">Organizations working toward stronger information security can also consider compliance services to help address security policies, risk management, controls, and ongoing monitoring.</p>
<h2 dir="auto" data-section-id="u7do1n" data-start="3935" data-end="3952">What is HIPAA?</h2>
<p dir="auto" data-start="3954" data-end="4063">Unlike the other two, HIPAA is a U.S. federal law rather than a voluntary security standard or certification.</p>
<p dir="auto" data-start="4065" data-end="4394">HIPAA applies to covered entities and business associates that are subject to the HIPAA Rules. These requirements address areas such as privacy, security, and breach notification involving protected health information (PHI). Business Associate Agreements (BAAs) may also be required when a business associate relationship exists.</p>
<p dir="auto" data-start="4396" data-end="4609">Healthcare organizations and technology providers handling sensitive workloads should also consider appropriate managed security services to support ongoing security monitoring and infrastructure protection.</p>
<h2 dir="auto" data-section-id="1lidyrl" data-start="4611" data-end="4636">Which One Do You Need?</h2>
<p dir="auto" data-start="4638" data-end="4811">The right framework or regulatory requirement depends on your customers, market, industry, services, contractual obligations, and the type of data your organization handles.</p>
<ul data-start="4813" data-end="5368">
<li data-section-id="8qn7mz" data-start="4813" data-end="4924"><strong data-start="4815" data-end="4845">Selling to US enterprises:</strong> SOC 2 may be requested by customers as evidence of relevant security controls.</li>
<li data-section-id="1y0ugh6" data-start="4925" data-end="5061"><strong data-start="4927" data-end="4950">Expanding globally:</strong> ISO 27001 can provide a structured and internationally recognized approach to information security management.</li>
<li data-section-id="9nkmgp" data-start="5062" data-end="5229"><strong data-start="5064" data-end="5089">Handling health data:</strong> If your organization is subject to HIPAA as a covered entity or business associate, the applicable HIPAA requirements need to be addressed.</li>
<li data-section-id="1jlzyo7" data-start="5230" data-end="5368"><strong data-start="5232" data-end="5279">Serving multiple markets or customer types:</strong> Your organization may need to address more than one framework or regulatory requirement.</li>
</ul>
<p dir="auto" data-start="5370" data-end="5586">Many growing companies eventually pursue more than one, since the underlying security practices — such as access management, encryption, monitoring, risk management, and incident response — can overlap significantly.</p>
<p dir="auto" data-start="5588" data-end="5744">Organizations operating cloud workloads can also review their <a href="https://www.skynats.com/cyber-security-services">cloud security services</a> to strengthen infrastructure protection and security management.</p>
<h2 dir="auto" data-section-id="163jlkb" data-start="5746" data-end="5799">Can You Have SOC 2, ISO 27001, and HIPAA Together?</h2>
<p dir="auto" data-start="5801" data-end="6012">Yes. An organization can work toward SOC 2, ISO 27001, and applicable HIPAA requirements at the same time. These frameworks and requirements address different areas, although some security practices may overlap.</p>
<p dir="auto" data-start="6014" data-end="6189">For example, access management, security monitoring, risk management, incident response, encryption, and security policies may be relevant across multiple compliance programs.</p>
<p dir="auto" data-start="6191" data-end="6412">However, meeting one framework or requirement does not automatically mean that an organization meets the requirements of another. Businesses should evaluate their specific obligations and customer requirements separately.</p>
<h2><span style="font-weight: 400;">Side-by-Side Comparison</span></h2>
<p dir="auto" data-start="6191" data-end="6412">
<table>
<tbody>
<tr>
<td><b>Aspect</b></td>
<td><b>SOC 2</b></td>
<td><b>ISO 27001</b></td>
<td><b>HIPAA</b></td>
</tr>
<tr>
<td><b>Type</b></td>
<td><span style="font-weight: 400;">Audit report (attestation)</span></td>
<td><span style="font-weight: 400;">Certification</span></td>
<td><span style="font-weight: 400;">Legal requirement (US federal law)</span></td>
</tr>
<tr>
<td><b>Governing body</b></td>
<td><span style="font-weight: 400;">AICPA</span></td>
<td><span style="font-weight: 400;">ISO/IEC</span></td>
<td><span style="font-weight: 400;">U.S. Dept. of Health &amp; Human Services (HHS)</span></td>
</tr>
<tr>
<td><b>Mandatory or voluntary</b></td>
<td><span style="font-weight: 400;">Voluntary (market-driven)</span></td>
<td><span style="font-weight: 400;">Voluntary</span></td>
<td><span style="font-weight: 400;">Mandatory for covered entities/business associates</span></td>
</tr>
<tr>
<td><b>Who typically needs it</b></td>
<td><span style="font-weight: 400;">SaaS &amp; cloud service companies</span></td>
<td><span style="font-weight: 400;">Any organization, especially global/enterprise</span></td>
<td><span style="font-weight: 400;">Healthcare providers, insurers, and their vendors</span></td>
</tr>
<tr>
<td><b>What it covers</b></td>
<td><span style="font-weight: 400;">Security, availability, processing integrity, confidentiality, privacy</span></td>
<td><span style="font-weight: 400;">Full Information Security Management System (ISMS)</span></td>
<td><span style="font-weight: 400;">Protected Health Information (PHI)</span></td>
</tr>
<tr>
<td><b>Geographic relevance</b></td>
<td><span style="font-weight: 400;">Mainly US, globally accepted</span></td>
<td><span style="font-weight: 400;">International</span></td>
<td><span style="font-weight: 400;">US only</span></td>
</tr>
<tr>
<td><b>Proof of compliance</b></td>
<td><span style="font-weight: 400;">Auditor&#8217;s report (Type I/II)</span></td>
<td><span style="font-weight: 400;">3-year certificate + surveillance audits</span></td>
<td><span style="font-weight: 400;">Self-attested via risk assessments &amp; BAAs</span></td>
</tr>
<tr>
<td><b>Typical timeline</b></td>
<td><span style="font-weight: 400;">3–12 months</span></td>
<td><span style="font-weight: 400;">6–18 months</span></td>
<td><span style="font-weight: 400;">3–6+ months (ongoing)</span></td>
</tr>
<tr>
<td><b>Non-compliance consequence</b></td>
<td><span style="font-weight: 400;">Lost deals, reputational damage</span></td>
<td><span style="font-weight: 400;">Loss of certification, lost trust</span></td>
<td><span style="font-weight: 400;">Legal penalties, fines, criminal charges (severe cases)</span></td>
</tr>
</tbody>
</table>
<h2 class="PDq2pG_selectionAnchorContainer" dir="auto" data-section-id="8dtpi" data-start="10302" data-end="10315">Conclusion</h2>
<p dir="auto" data-start="10317" data-end="10428">SOC 2, ISO 27001, and HIPAA aren&#8217;t competing standards; they serve different purposes for different situations.</p>
<p dir="auto" data-start="10430" data-end="10738"><a href="https://www.skynats.com/soc-management">SOC 2</a> can provide customers with assurance about relevant controls at a service organization. <a href="https://www.skynats.com/iso-27001-compliance">ISO 27001</a> provides a structured framework for managing information security through an ISMS. <a href="https://www.skynats.com/hipaa-compliance">HIPAA</a> establishes legal requirements for covered entities and business associates that fall within its scope.</p>
<p dir="auto" data-start="10740" data-end="10993">Knowing your customers, your market, your contractual requirements, and the type of data you handle makes the compliance landscape clearer. In some cases, the right approach may involve more than one framework or regulatory requirement working together.</p>
<p dir="auto" data-start="10995" data-end="11153">If you&#8217;re unsure which security or compliance requirements may apply to your infrastructure, <a href="https://www.skynats.com/contact-us"><strong data-start="11088" data-end="11109">contact us </strong></a> to discuss your requirements with our team.</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/soc-2-vs-iso-27001-vs-hipaa-which-compliance-do-you-need/">SOC 2 vs ISO 27001 vs HIPAA: Which Compliance Do You Need?</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What Is CASB and How Does It Work? A Simple Guide to Cloud Security</title>
		<link>https://www.skynats.com/blog/what-is-casb-and-how-does-it-work-a-simple-guide-to-cloud-security/</link>
		
		<dc:creator><![CDATA[Merin John]]></dc:creator>
		<pubDate>Wed, 16 Sep 2026 13:04:21 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://www.skynats.com/blog/?p=17715</guid>

					<description><![CDATA[<p>Introduction Cloud services have become an important part of modern businesses. Employees use applications such as cloud storage, email, collaboration tools, and other online services every day.Using cloud services makes work easier and more flexible, but it also creates new security challenges. Sensitive company information can be exposed if employees use unauthorized applications or if [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/what-is-casb-and-how-does-it-work-a-simple-guide-to-cloud-security/">What Is CASB and How Does It Work? A Simple Guide to Cloud Security</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><b>Introduction</b></h2>
<p><span style="font-weight: 400;">Cloud services have become an important part of modern businesses. Employees use applications such as cloud storage, email, collaboration tools, and other online services every day.Using <a href="https://www.skynats.com/upcloud-management">cloud services</a> makes work easier and more flexible, but it also creates new security challenges. Sensitive company information can be exposed if employees use unauthorized applications or if an account is compromised.</span></p>
<p><span style="font-weight: 400;">This is where </span>Cloud Access Security Broker (CASB)<span style="font-weight: 400;"> comes in. A CASB helps organizations monitor and secure the way users access cloud applications and data. That is, it acts as a security layer between users and cloud service providers. </span></p>
<h2>What Is CASB? Quick Answer</h2>
<p>CASB (Cloud Access Security Broker) is a security solution that helps organizations monitor, control, and protect access to cloud applications and services. It acts as a security layer between users and cloud service providers, helping organizations enforce security policies as cloud services are accessed.</p>
<p>A CASB provides visibility into cloud usage, controls user access, protects sensitive data, and helps detect potential security threats. It can also help organizations manage Shadow IT, data loss, compliance requirements, and risky cloud activities.</p>
<p>In simple terms, CASB helps organizations maintain visibility and control over how employees use cloud services while protecting company data and applications.</p>
<h2><b>How Does CASB Work?</b></h2>
<p><span style="font-weight: 400;">CASB works between users and cloud service providers to enforce an organization&#8217;s security rules. It can discover which cloud applications employees are using, identify risky applications or activities, and apply appropriate security policies. For example, if an employee tries to upload confidential company information to an unauthorized cloud storage service, a CASB can detect the activity and take action based on the organization&#8217;s policy. Depending on the configuration, it may block the activity, generate an alert, or apply other security controls.</span></p>
<p><img data-dominant-color="e1eae3" data-has-transparency="true" style="--dominant-color: #e1eae3;" fetchpriority="high" decoding="async" class="alignnone size-medium wp-image-17718 has-transparency" src="https://www.skynats.com/blog/wp-content/uploads/2026/09/casb_architecture_diagram-300x212.avif" alt="" width="300" height="212" srcset="https://www.skynats.com/blog/wp-content/uploads/2026/09/casb_architecture_diagram-300x212.avif 300w, https://www.skynats.com/blog/wp-content/uploads/2026/09/casb_architecture_diagram-1024x723.avif 1024w, https://www.skynats.com/blog/wp-content/uploads/2026/09/casb_architecture_diagram-768x542.avif 768w, https://www.skynats.com/blog/wp-content/uploads/2026/09/casb_architecture_diagram-1536x1084.avif 1536w, https://www.skynats.com/blog/wp-content/uploads/2026/09/casb_architecture_diagram-2048x1446.avif 2048w, https://www.skynats.com/blog/wp-content/uploads/2026/09/casb_architecture_diagram-1200x847.avif 1200w, https://www.skynats.com/blog/wp-content/uploads/2026/09/casb_architecture_diagram-1980x1398.avif 1980w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<h2><b>Four Key Pillars of CASB</b></h2>
<p><span style="font-weight: 400;">According to Netskope, CASB is built around four major areas: </span>visibility, compliance, data security, and threat protection<span style="font-weight: 400;">. </span></p>
<ul>
<li style="font-weight: 400;" aria-level="1">Visibility:<span style="font-weight: 400;"> Helps organizations understand which cloud services, users, and devices are being used.</span></li>
<li style="font-weight: 400;" aria-level="1">Compliance:<span style="font-weight: 400;"> Helps businesses follow industry and data protection requirements.</span></li>
<li style="font-weight: 400;" aria-level="1">Data Security:<span style="font-weight: 400;"> Helps protect sensitive information using controls such as Data Loss Prevention (DLP).</span></li>
<li style="font-weight: 400;" aria-level="1">Threat Protection:<span style="font-weight: 400;"> Helps detect and prevent malware, ransomware, unauthorized access, and other cloud-based threats.</span></li>
</ul>
<p><img data-dominant-color="306598" data-has-transparency="true" style="--dominant-color: #306598;" decoding="async" class="alignnone size-medium wp-image-17720 has-transparency" src="https://www.skynats.com/blog/wp-content/uploads/2026/09/cloud_security_decorative_art_labeled-300x204.avif" alt="" width="300" height="204" srcset="https://www.skynats.com/blog/wp-content/uploads/2026/09/cloud_security_decorative_art_labeled-300x204.avif 300w, https://www.skynats.com/blog/wp-content/uploads/2026/09/cloud_security_decorative_art_labeled-1024x698.avif 1024w, https://www.skynats.com/blog/wp-content/uploads/2026/09/cloud_security_decorative_art_labeled-768x523.avif 768w, https://www.skynats.com/blog/wp-content/uploads/2026/09/cloud_security_decorative_art_labeled-1536x1046.avif 1536w, https://www.skynats.com/blog/wp-content/uploads/2026/09/cloud_security_decorative_art_labeled-2048x1395.avif 2048w, https://www.skynats.com/blog/wp-content/uploads/2026/09/cloud_security_decorative_art_labeled-1200x817.avif 1200w, https://www.skynats.com/blog/wp-content/uploads/2026/09/cloud_security_decorative_art_labeled-1980x1349.avif 1980w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<h2><b>Benefits of CASB</b></h2>
<p><span style="font-weight: 400;">One of the biggest advantages of CASB is better visibility and control over cloud usage. It can help organizations identify </span>Shadow IT<span style="font-weight: 400;">, which refers to cloud applications being used without proper approval from the IT team. </span></p>
<p><span style="font-weight: 400;">CASB can also help prevent data leaks, improve cloud security, support compliance, and detect suspicious activities. These benefits are especially useful for organizations with remote employees, multiple cloud applications, and employees using personal devices. </span></p>
<h4>Conclusion</h4>
<p class="isSelectedEnd">As businesses increasingly rely on cloud applications and services, managing <a href="https://www.skynats.com/google-cloud-management-services">cloud security</a> has become more complex. Employees may access multiple SaaS applications, share sensitive information across <span style="color: #999999;"><a style="color: #999999;" href="https://cloud.google.com/" target="_blank" rel="noopener">cloud platforms</a></span>, or use applications that have not been approved by the IT team.</p>
<p class="isSelectedEnd">A Cloud Access Security Broker (CASB) helps organizations gain greater visibility and control over these activities. It can help identify Shadow IT, protect sensitive data, enforce access and security policies, support compliance requirements, and detect potential cloud-based threats.</p>
<p class="isSelectedEnd">However, CASB should be considered as part of a broader <a href="https://www.skynats.com/cyber-security-services"><strong>cybersecurity strategy</strong></a> rather than as a standalone security solution. Organizations should evaluate their cloud environment, security requirements, compliance needs, and existing security tools before choosing a CASB solution.</p>
<h3>Secure Your Cloud Environment with the Right Cybersecurity Strategy</h3>
<p class="isSelectedEnd">Whether you&#8217;re using SaaS applications, cloud infrastructure, or remote-work environments, having the right security controls in place is essential.</p>
<p>Explore our <a href="https://www.skynats.com/cyber-security-services"><strong>cybersecurity solutions</strong></a> to learn how you can strengthen your organization&#8217;s security, protect critical data, and reduce cloud-related security risks.</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/what-is-casb-and-how-does-it-work-a-simple-guide-to-cloud-security/">What Is CASB and How Does It Work? A Simple Guide to Cloud Security</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Monitorix: Linux Server Monitoring, Setup and Configuration Guide</title>
		<link>https://www.skynats.com/blog/monitorix-linux-server-monitoring-setup-and-configuration-guide/</link>
		
		<dc:creator><![CDATA[Jishnu V]]></dc:creator>
		<pubDate>Thu, 03 Sep 2026 13:03:43 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://www.skynats.com/blog/?p=17709</guid>

					<description><![CDATA[<p>Keeping an eye on a Linux server is important, especially when the server is running applications, databases, websites, or other services. CPU usage suddenly becomes high. Memory starts running low. Disk space is almost full. Network traffic increases unexpectedly. Without a monitoring tool, finding the actual problem can take a lot of time. This is [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/monitorix-linux-server-monitoring-setup-and-configuration-guide/">Monitorix: Linux Server Monitoring, Setup and Configuration Guide</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p data-rm-block-id="block-1"><span style="font-weight: 400;">Keeping an eye on a <a href="https://www.skynats.com/linux-server-management">Linux server</a> is important, especially when the server is running applications, databases, websites, or other services. CPU usage suddenly becomes high. Memory starts running low. Disk space is almost full. Network traffic increases unexpectedly. Without a monitoring tool, finding the actual problem can take a lot of time.</span></p>
<p data-rm-block-id="block-2"><span style="font-weight: 400;">This is where </span><span style="color: #999999;"><a style="color: #999999;" href="https://www.monitorix.org/" target="_blank" rel="noopener"><b>Monitorix</b></a></span><span style="font-weight: 400;"> can help.</span></p>
<p data-rm-block-id="block-3"><span style="font-weight: 400;">Monitorix is a free and open-source monitoring tool designed to collect system and network information from Linux and UNIX-based systems. It presents the collected information through easy-to-understand graphs, making it much easier to see what is happening on your server.Monitorix is designed for monitoring Linux/UNIX servers and includes a built-in HTTP server for viewing monitoring graphs.</span></p>
<h2 data-rm-block-id="block-4"><b>Why Use Monitorix for Linux Server Monitoring?</b></h2>
<p data-rm-block-id="block-5"><span style="font-weight: 400;">One of the biggest advantages of Monitorix is its simplicity.</span></p>
<p data-rm-block-id="block-6"><span style="font-weight: 400;">Monitorix can help you:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-7"><span style="font-weight: 400;">Monitor CPU and memory usage.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-8"><span style="font-weight: 400;">Check system load and running processes.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-9"><span style="font-weight: 400;">Monitor disk usage and I/O activity.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-10"><span style="font-weight: 400;">Track network traffic.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-11"><span style="font-weight: 400;">Monitor disk temperatures and health.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-12"><span style="font-weight: 400;">Keep an eye on services such as SSH, FTP, SMTP, and others.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-13"><span style="font-weight: 400;">Monitor Apache and MySQL statistics.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-14"><span style="font-weight: 400;">View Fail2ban statistics.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-15"><span style="font-weight: 400;">Monitor multiple remote servers.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-16"><span style="font-weight: 400;">View historical data by day, week, month, or year.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-17"><span style="font-weight: 400;">Zoom into graphs when you need more detail.</span></li>
</ul>
<h3 data-rm-block-id="block-18"><b>Installing Monitorix on Almalinux</b></h3>
<p data-rm-block-id="block-19"><span style="font-weight: 400;">Let&#8217;s look at a basic installation process. Monitorix packages and dependencies may be available through the </span>EPEL repository<span style="font-weight: 400;">.<br />
</span><span style="font-weight: 400;">First, install EPEL.</span></p>
<table>
<tbody>
<tr>
<td>
<p data-rm-block-id="block-20"><span style="font-weight: 400;">yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm</span></p>
</td>
</tr>
</tbody>
</table>
<p data-rm-block-id="block-21"><b>Note:</b><span style="font-weight: 400;"> RHEL/CentOS package availability changes over time. For newer distributions, always check the current Monitorix and EPEL documentation before using an older installation command.</span></p>
<h3 class="PDq2pG_selectionAnchorContainer" data-section-id="1hkz5ew" data-start="2579" data-end="2637" data-rm-block-id="block-22"><span role="text"><strong data-start="2582" data-end="2637">How to Install Monitorix and Its Required Packages?</strong></span></h3>
<p data-rm-block-id="block-23"><span style="font-weight: 400;">After enabling EPEL, install the required dependencies:</span></p>
<table>
<tbody>
<tr>
<td>
<p data-rm-block-id="block-24"><span style="font-weight: 400;">yum install rrdtool rrdtool-perl perl-libwww-perl perl-MailTools perl-CGI perl-DBI perl-XML-Simple perl-Config-General perl-IO-Socket-SSL perl-HTTP-Server-Simple wget perl-FindBin perl-lib </span></p>
</td>
</tr>
</tbody>
</table>
<p data-rm-block-id="block-25"><span style="font-weight: 400;">Now install Monitorix:</span></p>
<table>
<tbody>
<tr>
<td>
<p data-rm-block-id="block-26"><span style="font-weight: 400;">yum install monitorix</span></p>
</td>
</tr>
</tbody>
</table>
<p data-rm-block-id="block-27"><span style="font-weight: 400;">If the installation completes successfully, Monitorix should now be available on your server.</span></p>
<h2 data-rm-block-id="block-28"><b>Configure Monitorix</b></h2>
<p data-rm-block-id="block-29"><span style="font-weight: 400;">The main configuration file is: </span><b>/etc/monitorix/monitorix.conf</b></p>
<table>
<tbody>
<tr>
<td>
<p data-rm-block-id="block-30"><span style="font-weight: 400;">vi /etc/monitorix/monitorix.conf</span></p>
</td>
</tr>
</tbody>
</table>
<p data-rm-block-id="block-31"><span style="font-weight: 400;">The configuration file allows you to control different parts of Monitorix.</span></p>
<p data-rm-block-id="block-32"><span style="font-weight: 400;">For example, you can enable or disable specific monitoring graphs and adjust settings according to your environment.</span></p>
<p data-rm-block-id="block-33"><span style="font-weight: 400;">Before making changes, it is a good idea to keep a backup of the original configuration:</span></p>
<table>
<tbody>
<tr>
<td>
<p data-rm-block-id="block-34"><span style="font-weight: 400;">cp /etc/monitorix/monitorix.conf /etc/monitorix/monitorix.conf.bak</span></p>
</td>
</tr>
</tbody>
</table>
<p data-rm-block-id="block-35"><span style="font-weight: 400;">That way, you can easily restore the original configuration if something goes wrong.</span></p>
<h2 data-rm-block-id="block-36">How to Start and Enable the Monitorix Service?</h2>
<p data-rm-block-id="block-37"><span style="font-weight: 400;">Once the configuration is ready, enable and start Monitorix to start automatically when the server boots:</span></p>
<table>
<tbody>
<tr>
<td>
<p data-rm-block-id="block-38"><span style="font-weight: 400;">systemctl enable monitorix</span></p>
<p data-rm-block-id="block-39"><span style="font-weight: 400;">systemctl start monitorix</span></p>
<p data-rm-block-id="block-40"><span style="font-weight: 400;">systemctl status monitorix</span></p>
</td>
</tr>
</tbody>
</table>
<p data-rm-block-id="block-41"><span style="font-weight: 400;">If everything is working correctly, you should see the service in an active state.</span></p>
<p data-rm-block-id="block-42">Monitorix will then begin collecting system information based on its configuration.</p>
<h2 data-rm-block-id="block-43"><b>Access the Monitorix Dashboard</b></h2>
<p data-rm-block-id="block-44"><span style="font-weight: 400;">Once Monitorix has started collecting data, open a web browser and visit:</span></p>
<table>
<tbody>
<tr>
<td>
<p data-rm-block-id="block-45"><span style="font-weight: 400;">http://Server-IP:8080/monitorix/</span></p>
</td>
</tr>
</tbody>
</table>
<p data-rm-block-id="block-46"><span style="font-weight: 400;">Keep in mind that it can take some time before meaningful graphs appear because Monitorix needs to collect data first.</span></p>
<h3 data-rm-block-id="block-47"><b>Monitoring Multiple Servers</b></h3>
<p data-rm-block-id="block-48"><span style="font-weight: 400;">Another useful feature is </span>Multihost monitoring<span style="font-weight: 400;">. If you manage several Linux servers, you can configure Monitorix to monitor remote systems and view their statistics from a central location.</span></p>
<h3 class="PDq2pG_selectionAnchorContainer" data-section-id="15mqi9i" data-start="4018" data-end="4066" data-rm-block-id="block-49">Monitor Multiple Linux Servers with Monitorix</h3>
<p data-start="4068" data-end="4261" data-rm-block-id="block-50">Another useful feature is <strong data-start="4094" data-end="4118">Multihost monitoring</strong>. If you manage several Linux servers, you can configure Monitorix to monitor remote systems and view their statistics from a central location.</p>
<p data-start="4263" data-end="4362" data-rm-block-id="block-51">This can be useful for administrators who need visibility into the performance of multiple servers.</p>
<p>When Do You Need Professional Server Management?</p>
<p data-start="4417" data-end="4566" data-rm-block-id="block-53">Monitorix can help you identify issues such as high CPU usage, memory pressure, disk activity, network traffic changes, and service-related problems.</p>
<p data-start="4568" data-end="4798" data-rm-block-id="block-54">However, monitoring a problem and resolving the underlying cause are two different things. Server performance issues may require detailed investigation, configuration changes, security checks, or ongoing server administration.</p>
<p data-start="4800" data-end="4999" data-rm-block-id="block-55">If your Linux server is experiencing performance issues, resource problems, security concerns, or service failures, <a href="https://www.skynats.com/server-management">Professional server support</a> can help identify and resolve the underlying issues.</p>
<h4 data-section-id="114wazr" data-start="5001" data-end="5018" data-rm-block-id="block-56">Final Thoughts</h4>
<p data-start="5020" data-end="5221" data-rm-block-id="block-57">Monitorix is a simple, lightweight, and open-source solution for <a href="https://www.skynats.com/linux-server-management">Linux server monitoring</a>. It provides useful graphs for CPU, memory, disk, network activity, and other system and service statistics.</p>
<p data-start="5223" data-end="5440" data-rm-block-id="block-58">For small and medium-sized environments, test servers, personal infrastructure, and Linux administration labs, Monitorix can provide a useful overview of server health without requiring a complicated monitoring stack.</p>
<p data-start="5442" data-end="5631" data-rm-block-id="block-59">If you need help with Linux server monitoring, troubleshooting, <a href="https://www.skynats.com/cyber-security-services">security</a>, optimization, or ongoing server management, <a href="https://www.skynats.com/">Skynats</a> can provide expert server management and <a href="https://www.skynats.com/contact-us">technical support</a>.</p>
<p data-rm-block-id="block-60">
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/monitorix-linux-server-monitoring-setup-and-configuration-guide/">Monitorix: Linux Server Monitoring, Setup and Configuration Guide</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is VAPT in Cyber Security? A Complete Guide</title>
		<link>https://www.skynats.com/blog/what-is-vapt-in-cyber-security-a-complete-guide/</link>
		
		<dc:creator><![CDATA[Thasneem KS]]></dc:creator>
		<pubDate>Wed, 02 Sep 2026 08:57:00 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://www.skynats.com/blog/?p=17705</guid>

					<description><![CDATA[<p>Cyberattacks are a matter of “when,” not “if.” Every website, application, and network has some weakness waiting to be discovered, either by a hacker who wants to exploit it or by a security professional who wants to fix it first. And that’s where VAPT becomes relevant.If you are investigating how to protect your business from [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/what-is-vapt-in-cyber-security-a-complete-guide/">What is VAPT in Cyber Security? A Complete Guide</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p data-rm-block-id="block-1"><span style="font-weight: 400;">Cyberattacks are a matter of “when,” not “if.” Every website, application, and network has some weakness waiting to be discovered, either by a hacker who wants to exploit it or by a security professional who wants to fix it first. And that’s where VAPT becomes relevant.</span><span style="font-weight: 400;">If you are investigating how to protect your business from cyber assaults, you must have heard this term. In this post, we&#8217;ll explore what VAPT is, how it works, why it’s important, and how to pick the best VAPT methodology for your organization.</span></p>
<h2 data-rm-block-id="block-2"><b>What Does VAPT Stand For?</b></h2>
<p data-rm-block-id="block-3"><span style="font-weight: 400;">VAPT stands for Vulnerability Assessment and Penetration Testing. This is in fact two different but complementary approaches to security testing rolled into one process:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-4"><span style="font-weight: 400;">Vulnerability Assessment (VA): A systematic review of systems, networks, and applications to identify, classify, and prioritize security weaknesses.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-5"><span style="font-weight: 400;">Penetration Testing (PT): A simulated cyberattack carried out by ethical hackers to actively exploit those weaknesses and determine how much damage a real attacker could cause.</span></li>
</ul>
<p data-rm-block-id="block-6"><span style="font-weight: 400;">Together, VAPT provides organizations with a complete picture of their security posture—not a list of potential flaws, but real evidence of which ones are exploitable.</span></p>
<h3 data-rm-block-id="block-7"><b>Vulnerability Assessment vs. Penetration Testing</b></h3>
<p data-rm-block-id="block-8"><span style="font-weight: 400;">People tend to use these terms interchangeably, but they serve different purposes:</span></p>
<table>
<tbody>
<tr>
<td data-rm-block-id="block-9"><b>Aspect</b></td>
<td data-rm-block-id="block-10"><b>Vulnerability Assessment</b></td>
<td data-rm-block-id="block-11"><b>Penetration Testing</b></td>
</tr>
<tr>
<td data-rm-block-id="block-12"><span style="font-weight: 400;">Goal</span></td>
<td data-rm-block-id="block-13"><span style="font-weight: 400;">Identify and list vulnerabilities.</span></td>
<td data-rm-block-id="block-14"><span style="font-weight: 400;">Exploit vulnerabilities to prove impact</span></td>
</tr>
<tr>
<td data-rm-block-id="block-15"><span style="font-weight: 400;">Approach</span></td>
<td data-rm-block-id="block-16"><span style="font-weight: 400;">Automated scanning tools</span></td>
<td data-rm-block-id="block-17"><span style="font-weight: 400;">Manual, human-driven testing</span></td>
</tr>
<tr>
<td data-rm-block-id="block-18"><span style="font-weight: 400;">Depth</span></td>
<td data-rm-block-id="block-19"><span style="font-weight: 400;">Broad but shallow </span></td>
<td data-rm-block-id="block-20"><span style="font-weight: 400;">Narrow but deep</span></td>
</tr>
<tr>
<td data-rm-block-id="block-21"><span style="font-weight: 400;">Output</span></td>
<td data-rm-block-id="block-22"><span style="font-weight: 400;">List of vulnerabilities with severity ratings</span></td>
<td data-rm-block-id="block-23"><span style="font-weight: 400;">Proof-of-concept attacks and real-world risk analysis</span></td>
</tr>
<tr>
<td data-rm-block-id="block-24"><span style="font-weight: 400;">Frequency</span></td>
<td data-rm-block-id="block-25"><span style="font-weight: 400;">Regular (monthly/quarterly)</span></td>
<td data-rm-block-id="block-26"><span style="font-weight: 400;">Periodic (annually or after major changes)</span></td>
</tr>
</tbody>
</table>
<p data-rm-block-id="block-27"><span style="font-weight: 400;">A vulnerability assessment might reveal that a server has a known vulnerability in an old version of software. A penetration test goes one step further—it attempts to actually get inside with that vulnerability, giving you a clear picture of what an attacker could access, steal, or damage.</span></p>
<h2 data-rm-block-id="block-28"><b>Why is VAPT important?</b></h2>
<ul>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-29"><span style="font-weight: 400;">Identifies security holes before hackers do. Proactive testing identifies vulnerabilities before they become breaches.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-30"><span style="font-weight: 400;">Secures sensitive data. Customer data, financial records, and intellectual property are protected.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-31"><span style="font-weight: 400;">Ensures compliance with regulations. Security testing is often a requirement for standards like <a href="https://www.skynats.com/iso-27001-compliance">ISO 27001</a>, <a href="https://www.skynats.com/pci-dss-compliance">PCI-DSS</a>, HIPAA, GDPR, and SOC 2.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-32"><span style="font-weight: 400;">Builds customer confidence. A strong security posture builds confidence in customers and partners.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-33"><span style="font-weight: 400;">Lowers financial risk. A VAPT engagement is far less expensive than the potential fines, downtime, and lost reputation resulting from a data breach.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-34"><span style="font-weight: 400;">Tests existing security controls. Ensures that firewalls, intrusion detection systems, and access control systems are working as intended.</span></li>
</ul>
<h2 data-rm-block-id="block-35"><b>Types of VAPT</b></h2>
<p data-rm-block-id="block-36"><span style="font-weight: 400;">VAPT is not a uniform process. It usually covers several areas of testing, depending on what needs to be tested:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-37"><span style="font-weight: 400;">Network VAPT: It tests the network infrastructure, both internal and external, such as firewalls, routers, and servers. </span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-38"><span style="font-weight: 400;">Web Application VAPT: Tests web apps and websites for vulnerabilities like SQL injection, cross-site scripting (XSS), and broken authentication.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-39"><span style="font-weight: 400;">Mobile Application VAPT: Tests Android and iOS apps for insecure data storage, weak encryption, and API vulnerabilities.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-40"><span style="font-weight: 400;">Cloud VAPT: Tests cloud environments (AWS, Azure, GCP) for misconfigurations and access control issues.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-41"><span style="font-weight: 400;">API VAPT: Testing APIs for authentication weakness, data exposure, and improper input validation.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-42"><span style="font-weight: 400;">Wireless Network VAPT: Checks Wi-Fi networks for rogue access points and encryption flaws.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-43"><span style="font-weight: 400;">Social Engineering Testing: Tests human susceptibility through phishing tests and pretexting exercises.</span></li>
</ul>
<h2 data-rm-block-id="block-44"><b> How Does the VAPT Process Work?</b></h2>
<p data-rm-block-id="block-45"><span style="font-weight: 400;">The phases of a typical VAPT engagement are</span></p>
<ol>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-46"><span style="font-weight: 400;">Scoping &amp; Planning: Identifying the systems, applications, and goals of the assessment.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-47"><span style="font-weight: 400;">Information Gathering (Reconnaissance): Collecting data on the target environment.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-48"><span style="font-weight: 400;">Vulnerability Scanning: This is the use of automated tools to identify known vulnerabilities.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-49"><span style="font-weight: 400;">Manual Penetration Testing: Ethical hackers try to exploit the vulnerabilities they find.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-50"><span style="font-weight: 400;">Risk Analysis and Prioritization: Prioritize vulnerabilities according to severity and potential impact on the business.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-51"><span style="font-weight: 400;">Reporting: Providing a full report of the findings, evidence, and recommendations for remediation.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-52"><span style="font-weight: 400;">Remediation Support: Helping the organization remediate identified issues.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-53"><span style="font-weight: 400;">Re-testing: Confirming that the defects have been fixed correctly.</span></li>
</ol>
<h2 data-rm-block-id="block-54"><b>How Often Should You Conduct VAPT?</b></h2>
<p data-rm-block-id="block-55"><span style="font-weight: 400;">Most security experts recommend a VAPT:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-56"><span style="font-weight: 400;">At least once or twice a year as a baseline.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-57"><span style="font-weight: 400;">After major infrastructure or application changes.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-58"><span style="font-weight: 400;">Following any security incident.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-59"><span style="font-weight: 400;">Before launching a new product or service.</span></li>
<li style="font-weight: 400;" aria-level="1" data-rm-block-id="block-60"><span style="font-weight: 400;">As required by compliance frameworks.</span></li>
</ul>
<h3 data-rm-block-id="block-61"><b>Conclusion</b></h3>
<p data-rm-block-id="block-62"><span style="font-weight: 400;">VAPT is not just a tick in the box for compliance. It is a critical, ongoing investment in your organization’s resilience to <a href="https://www.skynats.com/cyber-security-services">cyber assaults</a>. The combined reach of vulnerability assessment and the depth of penetration testing provide businesses with a realistic view of their actual security posture and the confidence to defend against evolving attacks.</span></p>
<p data-rm-block-id="block-62">At <a href="https://www.skynats.com/contact-us"><strong data-start="331" data-end="342">Skynats</strong></a>, our professional <a href="https://www.skynats.com/cyber-security-services"><strong data-start="361" data-end="378">VAPT services</strong></a> help businesses assess web applications, mobile applications, APIs, internal and external networks, and cloud environments. Our assessments are tailored to your environment and security requirements, helping identify potential vulnerabilities and providing recommendations to strengthen your overall security.</p>
<p data-rm-block-id="block-63"><span style="font-weight: 400;">If you haven’t done a VAPT assessment in a while, it’s time to get to work. Cybercriminals are constantly looking for vulnerabilities; find them before they do.</span></p>
<p data-rm-block-id="block-64"><span style="font-weight: 400;">Want to safeguard your business with a <a href="https://www.skynats.com/cyber-security-services">professional VAPT assessment</a>? Contact our security experts today. </span></p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/what-is-vapt-in-cyber-security-a-complete-guide/">What is VAPT in Cyber Security? A Complete Guide</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Resolve cPanel Disk Space Issues: Understanding &#8220;Other Usage&#8221;</title>
		<link>https://www.skynats.com/blog/how-to-resolve-cpanel-disk-space-issues-understanding-other-usage/</link>
		
		<dc:creator><![CDATA[Merin John]]></dc:creator>
		<pubDate>Fri, 24 Jul 2026 12:00:44 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://www.skynats.com/blog/?p=17694</guid>

					<description><![CDATA[<p>Introduction cPanel Disk Space Issues can disrupt your website&#8217;s normal operation by preventing file uploads, email delivery, backups, and other essential hosting tasks. One common cause is the &#8220;Other Usage&#8221; section in cPanel, which may show a significant amount of storage being used without clearly indicating what is consuming the space. This often makes it [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/how-to-resolve-cpanel-disk-space-issues-understanding-other-usage/">How to Resolve cPanel Disk Space Issues: Understanding &#8220;Other Usage&#8221;</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><b>Introduction</b></p>
<p class="PDq2pG_selectionAnchorContainer" data-start="184" data-end="611"><strong data-start="184" data-end="212">cPanel Disk Space Issues</strong> can disrupt your website&#8217;s normal operation by preventing file uploads, email delivery, backups, and other essential hosting tasks. One common cause is the <strong data-start="369" data-end="386">&#8220;Other Usage&#8221;</strong> section in cPanel, which may show a significant amount of storage being used without clearly indicating what is consuming the space. This often makes it difficult for website owners to identify the root cause of the problem.</p>
<p data-start="613" data-end="1153">The <strong data-start="617" data-end="634">&#8220;Other Usage&#8221;</strong> category typically includes hidden files, log files, temporary cache, system-generated files, and items stored in the Trash that may not be immediately visible through the File Manager. Understanding what contributes to this storage usage is the first step toward managing your hosting account more effectively. In this guide, we&#8217;ll explain what <strong data-start="981" data-end="998">&#8220;Other Usage&#8221;</strong> means, explore the common reasons behind <strong data-start="1040" data-end="1068">cPanel Disk Space Issues</strong>, and discuss what to look for before making any changes to your hosting environment.</p>
<h3 class="PDq2pG_selectionAnchorContainer" data-section-id="1l60rsc" data-start="882" data-end="926">Common Signs of cPanel Disk Space Issues</h3>
<p data-start="928" data-end="950">Explain symptoms like:</p>
<ul data-start="952" data-end="1111">
<li data-section-id="147us1g" data-start="952" data-end="976">Unable to upload files</li>
<li data-section-id="1x9txq9" data-start="977" data-end="1005">Emails not being delivered</li>
<li data-section-id="1bto4k5" data-start="1006" data-end="1023">Backup failures</li>
<li data-section-id="22vsor" data-start="1024" data-end="1049">WordPress update errors</li>
<li data-section-id="1nwle00" data-start="1050" data-end="1082">&#8220;Disk quota exceeded&#8221; messages</li>
<li data-section-id="r85lb5" data-start="1083" data-end="1111">Website performance issues</li>
</ul>
<h2><b>Prerequisites</b></h2>
<p><span style="font-weight: 400;">Before you begin, make sure you have:</span></p>
<ul>
<li data-section-id="1cr9s01" data-start="1283" data-end="1339">Access to your cPanel account to review storage usage.</li>
<li data-section-id="yc122i" data-start="1340" data-end="1390">A recent backup to prevent accidental data loss.</li>
<li data-section-id="b50brx" data-start="1391" data-end="1470">SSH access (if provided by your hosting provider) for advanced investigation.</li>
<li data-section-id="o79fsm" data-start="1471" data-end="1521">Appropriate permissions to manage hosting files.</li>
</ul>
<h2><b>What Causes &#8220;Other Usage&#8221;?</b></h2>
<p><span style="font-weight: 400;">The </span><b>Other Usage</b><span style="font-weight: 400;"> section may include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Large log files generated by applications or websites.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Files stored in the Trash folder.</span></li>
<li aria-level="1">Temporary application files</li>
<li data-section-id="1czvgus" data-start="1636" data-end="1660">Failed backup archives</li>
<li data-section-id="r7gtii" data-start="1661" data-end="1686">Website migration files</li>
<li data-section-id="1j4ubk3" data-start="1687" data-end="1702">Session files</li>
<li data-section-id="vuxh8k" data-start="1703" data-end="1740">Cache generated by CMS applications</li>
<li data-section-id="1vr2tc2" data-start="1741" data-end="1767">Large archived log files</li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Hidden files (also known as dotfiles).</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Temporary cache files.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">System-managed user files located in directories such as </span><b>/var</b><span style="font-weight: 400;"> and </span><b>/usr</b><span style="font-weight: 400;"> (depending on your hosting environment).</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Old backup files that are no longer needed.</span></li>
</ul>
<p><span style="font-weight: 400;">Since these files are not always visible in the Disk Usage interface, they can consume a significant amount of storage without user noticing.</span></p>
<h2><b>Steps to Resolve Disk Space Issues</b></h2>
<h3><b>Step 1: Clear Unnecessary Log Files</b></h3>
<p><span style="font-weight: 400;">Log files can grow over time and occupy a large amount of storage. Review old or unnecessary logs and remove them if they are no longer required for troubleshooting.</span></p>
<h3><b>Step 2: Empty the Trash</b></h3>
<p><span style="font-weight: 400;">Files moved to the Trash still consume disk space until they are permanently deleted. Open the File Manager, review the Trash folder, and empty it to free up storage.</span></p>
<h3><b>Step 3: Check Hidden Files</b></h3>
<p><span style="font-weight: 400;">Enable Show Hidden Files (dotfiles) in File Manager. Review hidden files carefully and remove only those that are safe to delete.</span></p>
<h3><b>Step 4: Review System-Managed User Files</b></h3>
<p><span style="font-weight: 400;">Some hosting environments store user-related files in directories such as </span><b>/var</b><span style="font-weight: 400;"> and </span><b>/usr</b><span style="font-weight: 400;">. If you have the required permissions, review these locations and remove unnecessary files with caution. If you don’t have necessary permissions then ask your hosting provider to do it. Avoid deleting system files unless you are certain they are no longer needed.</span></p>
<h3><b>Step 5: Remove Old Backups and Cache Files</b></h3>
<p><span style="font-weight: 400;">Delete outdated backup archives and clear unnecessary cache files created by your applications. This can free a significant amount of disk space.</span></p>
<h3><b>Step 6: Verify Disk Usage</b></h3>
<p><span style="font-weight: 400;">After cleaning up, revisit the Disk Usage page in cPanel to confirm that the available storage has increased and the &#8220;Other Usage&#8221; value has decreased.</span></p>
<h3><b>Conclusion</b></h3>
<p><span style="font-weight: 400;">The </span><b>&#8220;Other Usage&#8221;</b><span style="font-weight: 400;"> section in <a href="http://cPanel">cPanel</a> can sometimes hide the actual cause of high disk consumption, but resolving the issue is usually straightforward. Clearing old logs, emptying the Trash, checking hidden files, removing outdated backups, and reviewing system-managed files can help reclaim valuable storage space. Regularly monitoring disk usage and cleaning unnecessary files will help keep your hosting account running smoothly and prevent future storage-related problems.</span></p>
<h2 class="PDq2pG_selectionAnchorContainer" data-section-id="1jhpjby" data-start="1515" data-end="1563">Need Help Resolving cPanel Disk Space Issues?</h2>
<p data-start="1565" data-end="1967">If your hosting account continues to experience storage issues or the <strong data-start="1635" data-end="1652">&#8220;Other Usage&#8221;</strong> category keeps growing without a clear reason, our experienced engineers can help identify the underlying cause and recommend the right solution. From ongoing server monitoring to complete <a href="https://www.skynats.com/cpanel-server-management-services">cPanel Infrastructure Management</a>, Skynats provides 24/7 expert support to keep your hosting environment running smoothly.</p>
<p data-start="1969" data-end="2083"><strong data-start="1969" data-end="2020">👉 Explore our <a href="https://www.skynats.com/cpanel-server-management-services">Professional cPanel Management</a></strong> or <a href="https://www.skynats.com/contact-us"><strong data-start="2024" data-end="2038">Contact Us</strong></a> to speak with our server management experts.</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/how-to-resolve-cpanel-disk-space-issues-understanding-other-usage/">How to Resolve cPanel Disk Space Issues: Understanding &#8220;Other Usage&#8221;</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AWS CloudFormation Setup Guide: Create &#038; Manage Stacks</title>
		<link>https://www.skynats.com/blog/aws-cloudformation-setup-guide/</link>
		
		<dc:creator><![CDATA[Sajna VM]]></dc:creator>
		<pubDate>Mon, 13 Jul 2026 08:24:31 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://www.skynats.com/blog/?p=17662</guid>

					<description><![CDATA[<p>AWS CloudFormation Setup: A Step-by-Step Guide to Deploy Infrastructure as Code Quick Answer AWS CloudFormation Setup is the process of creating, deploying, and managing AWS infrastructure using reusable YAML or JSON templates.CloudFormation is widely used by organizations offering managed cloud infrastructure services to automate scalable and repeatable cloud deployments. Instead of manually configuring AWS resources, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/aws-cloudformation-setup-guide/">AWS CloudFormation Setup Guide: Create &#038; Manage Stacks</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 data-rm-block-id="block-1">AWS CloudFormation Setup: A Step-by-Step Guide to Deploy Infrastructure as Code</h1>
<h2 class="PDq2pG_selectionAnchorContainer" data-section-id="xgv4vw" data-start="1004" data-end="1019" data-rm-block-id="block-2">Quick Answer</h2>
<p data-start="1021" data-end="1364" data-rm-block-id="block-3"><strong data-start="1021" data-end="1049">AWS CloudFormation Setup</strong> is the process of creating, deploying, and managing AWS infrastructure using reusable YAML or JSON templates.CloudFormation is widely used by organizations offering <a href="https://www.skynats.com/cloud-management">managed cloud infrastructure services </a>to automate scalable and repeatable cloud deployments. Instead of manually configuring AWS resources, CloudFormation automates provisioning, updates, and deletions while maintaining consistency, reducing human error, and simplifying infrastructure management.</p>
<h2 data-section-id="mttc8l" data-start="1371" data-end="1401" data-rm-block-id="block-4">What Is AWS CloudFormation?</h2>
<p data-start="1403" data-end="1656" data-rm-block-id="block-5">AWS CloudFormation is Amazon Web Services&#8217; <strong data-start="1446" data-end="1478">Infrastructure as Code (IaC)</strong> service that automates cloud infrastructure deployment. Organizations using <a href="https://www.skynats.com/aws-management-services">AWS cloud management</a> can leverage CloudFormation to standardize, provision, and manage AWS resources efficiently.. It enables developers and system administrators to define cloud infrastructure using code rather than configuring resources manually through the AWS Management Console.</p>
<p data-start="1658" data-end="1897" data-rm-block-id="block-6">A CloudFormation template acts as a blueprint that describes the AWS resources your application requires. When you deploy the template, <a href="https://aws.amazon.com/" target="_blank" rel="noopener">AWS</a> automatically creates the resources in the correct order while resolving dependencies between them.</p>
<p data-start="1899" data-end="1931" data-rm-block-id="block-7">This approach makes deployments:</p>
<ul data-start="1933" data-end="2006">
<li data-section-id="1y9hd3z" data-start="1933" data-end="1941" data-rm-block-id="block-8">Faster</li>
<li data-section-id="1yf60ug" data-start="1942" data-end="1954" data-rm-block-id="block-9">Consistent</li>
<li data-section-id="q4iaj9" data-start="1955" data-end="1967" data-rm-block-id="block-10">Repeatable</li>
<li data-section-id="yd6omt" data-start="1968" data-end="1988" data-rm-block-id="block-11">Version-controlled</li>
<li data-section-id="zf1876" data-start="1989" data-end="2006" data-rm-block-id="block-12">Easier to scale</li>
</ul>
<p data-start="2008" data-end="2145" data-rm-block-id="block-13">Whether you&#8217;re deploying a single <a href="https://www.skynats.com/blog/how-to-copy-aws-s3-bucket-data-to-a-local-server/">Amazon S3 bucket</a> or an entire production environment, CloudFormation helps automate the entire process.</p>
<h2 data-section-id="fer65c" data-start="2152" data-end="2182" data-rm-block-id="block-14">Why Use AWS CloudFormation?</h2>
<p data-start="2184" data-end="2273" data-rm-block-id="block-15">Managing AWS infrastructure manually becomes increasingly difficult as environments grow.</p>
<p data-start="2275" data-end="2339" data-rm-block-id="block-16">CloudFormation simplifies infrastructure management by offering:</p>
<ul data-start="2341" data-end="2578">
<li data-section-id="s90fmi" data-start="2341" data-end="2371" data-rm-block-id="block-17">Infrastructure as Code (IaC)</li>
<li data-section-id="afg3ct" data-start="2372" data-end="2405" data-rm-block-id="block-18">Automated resource provisioning</li>
<li data-section-id="1m3bnx7" data-start="2406" data-end="2450" data-rm-block-id="block-19">Consistent deployments across environments</li>
<li data-section-id="1o5ry9s" data-start="2451" data-end="2482" data-rm-block-id="block-20">Easy rollback during failures</li>
<li data-section-id="1l3hb6a" data-start="2483" data-end="2518" data-rm-block-id="block-21">Version-controlled infrastructure</li>
<li data-section-id="1rugkw8" data-start="2519" data-end="2549" data-rm-block-id="block-22">Simplified disaster recovery</li>
<li data-section-id="ftsw2n" data-start="2550" data-end="2578" data-rm-block-id="block-23">Reduced operational errors</li>
</ul>
<p data-start="2580" data-end="2722" data-rm-block-id="block-24">For organizations managing multiple AWS environments, CloudFormation significantly improves operational efficiency and deployment reliability.</p>
<h2 data-section-id="gwcc2g" data-start="2729" data-end="2760" data-rm-block-id="block-25">How AWS CloudFormation Works</h2>
<p data-start="2762" data-end="2803" data-rm-block-id="block-26">CloudFormation follows a simple workflow:</p>
<ol data-start="2805" data-end="3075">
<li data-section-id="tvltt0" data-start="2805" data-end="2838" data-rm-block-id="block-27">Write a YAML or JSON template.</li>
<li data-section-id="jt5i83" data-start="2839" data-end="2869" data-rm-block-id="block-28">Upload the template to AWS.</li>
<li data-section-id="1kg0mfb" data-start="2870" data-end="2903" data-rm-block-id="block-29">Create a CloudFormation Stack.</li>
<li data-section-id="q6dsz6" data-start="2904" data-end="2946" data-rm-block-id="block-30">AWS provisions resources automatically.</li>
<li data-section-id="ie5mew" data-start="2947" data-end="2978" data-rm-block-id="block-31">Monitor deployment progress.</li>
<li data-section-id="1ue5p2y" data-start="2979" data-end="3016" data-rm-block-id="block-32">Update infrastructure when needed.</li>
<li data-section-id="1ss0qc2" data-start="3017" data-end="3075" data-rm-block-id="block-33">Delete the stack when resources are no longer required.</li>
</ol>
<p data-start="3077" data-end="3179" data-rm-block-id="block-34">This workflow ensures infrastructure remains reproducible and easy to manage throughout its lifecycle.</p>
<h2 data-section-id="vnhm2w" data-start="3186" data-end="3233" data-rm-block-id="block-35">Step 1: Sign In to the AWS Management Console</h2>
<p data-start="3235" data-end="3262" data-rm-block-id="block-36">Log in to your AWS account.</p>
<ol data-start="3264" data-end="3430">
<li data-section-id="y3u460" data-start="3264" data-end="3299" data-rm-block-id="block-37">Open the AWS Management Console.</li>
<li data-section-id="1evkjme" data-start="3300" data-end="3326" data-rm-block-id="block-38">Enter your credentials.</li>
<li data-section-id="prk461" data-start="3327" data-end="3373" data-rm-block-id="block-39">In the search bar, type <strong data-start="3354" data-end="3372">CloudFormation</strong>.</li>
<li data-section-id="19brrs5" data-start="3374" data-end="3430" data-rm-block-id="block-40">Select <a href="https://www.skynats.com/aws-management-services"><strong data-start="3384" data-end="3406">AWS CloudFormation</strong></a> from the services list.</li>
</ol>
<p data-start="3432" data-end="3540" data-rm-block-id="block-41">You&#8217;ll be redirected to the CloudFormation dashboard, where you can create and manage infrastructure stacks.</p>
<h2 data-section-id="1h9vcyb" data-start="3547" data-end="3589" data-rm-block-id="block-42">Step 2: Create a CloudFormation Template</h2>
<p data-start="3591" data-end="3652" data-rm-block-id="block-43">A template defines the infrastructure you want AWS to deploy.</p>
<p data-start="3654" data-end="3674" data-rm-block-id="block-44">Create a file named:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="contents">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0" data-rm-block-id="block-45"><code>s3-bucket.yaml</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class="" data-rm-block-id="block-46"><span style="font-family: NonBreakingSpaceOverride, 'Hoefler Text', 'Noto Serif', Garamond, 'Times New Roman', serif; letter-spacing: normal;">Example template:</span></div>
</div>
</div>
</div>
</div>
</div>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="contents">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="relative h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="pointer-events-none absolute inset-x-4 top-12 bottom-4">
<div class="pointer-events-none sticky z-40 shrink-0 z-1!">
<div class="sticky bg-token-border-light" data-rm-block-id="block-47"></div>
</div>
</div>
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0" data-rm-block-id="block-48"><code>AWSTemplateFormatVersion: <span class="ͼk">'2010-09-09'</span>
Description: Create an Amazon S3 Bucket

Resources:
  DemoBucket:
    Type: AWS::S3::Bucket</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="3863" data-end="3885" data-rm-block-id="block-49">Save the file locally.</p>
<h3 data-section-id="18co8ob" data-start="3887" data-end="3917" data-rm-block-id="block-50">Understanding the Template</h3>
<p data-start="3919" data-end="3942" data-rm-block-id="block-51">This template contains:</p>
<ul data-start="3944" data-end="4175">
<li data-section-id="n15s3j" data-start="3944" data-end="4008" data-rm-block-id="block-52"><strong data-start="3946" data-end="3974">AWSTemplateFormatVersion</strong> – Specifies the template version.</li>
<li data-section-id="1f1pvi8" data-start="4009" data-end="4066" data-rm-block-id="block-53"><strong data-start="4011" data-end="4026">Description</strong> – Explains the purpose of the template.</li>
<li data-section-id="1s1j8kn" data-start="4067" data-end="4119" data-rm-block-id="block-54"><strong data-start="4069" data-end="4082">Resources</strong> – Lists the AWS resources to create.</li>
<li data-section-id="byw2vg" data-start="4120" data-end="4175" data-rm-block-id="block-55"><strong data-start="4122" data-end="4141">AWS::S3::Bucket</strong> – Creates a new Amazon S3 bucket.</li>
</ul>
<p data-start="4177" data-end="4255" data-rm-block-id="block-56">Although simple, this demonstrates the core concept of <a href="https://www.skynats.com/blog/how-to-install-terraform/">Infrastructure as Code</a>.</p>
<h2 data-section-id="d8cdik" data-start="4262" data-end="4301" data-rm-block-id="block-57">Step 3: Create a CloudFormation Stack</h2>
<p data-start="4303" data-end="4361" data-rm-block-id="block-58">A Stack is a collection of AWS resources managed together.</p>
<p data-start="4363" data-end="4377" data-rm-block-id="block-59">To create one:</p>
<ol data-start="4379" data-end="4601">
<li data-section-id="tab9kk" data-start="4379" data-end="4414" data-rm-block-id="block-60">Open the CloudFormation console.</li>
<li data-section-id="1mzdu0j" data-start="4415" data-end="4441" data-rm-block-id="block-61">Click <strong data-start="4424" data-end="4440">Create Stack</strong>.</li>
<li data-section-id="1p8fv6e" data-start="4442" data-end="4486" data-rm-block-id="block-62">Choose <strong data-start="4452" data-end="4485">With new resources (Standard)</strong>.</li>
<li data-section-id="ep93nu" data-start="4487" data-end="4552" data-rm-block-id="block-63">Under <strong data-start="4496" data-end="4516">Specify template</strong>, select <strong data-start="4525" data-end="4551">Upload a template file</strong>.</li>
<li data-section-id="5sdanb" data-start="4553" data-end="4582" data-rm-block-id="block-64">Upload <strong data-start="4563" data-end="4581">s3-bucket.yaml</strong>.</li>
<li data-section-id="ptm0yi" data-start="4583" data-end="4601" data-rm-block-id="block-65">Click <strong data-start="4592" data-end="4600">Next</strong>.</li>
</ol>
<p data-start="4603" data-end="4668" data-rm-block-id="block-66">For beginners, uploading a template file is the easiest approach.</p>
<h2 data-section-id="dwnuf9" data-start="4675" data-end="4706" data-rm-block-id="block-67">Step 4: Specify Stack Details</h2>
<p data-start="4708" data-end="4743" data-rm-block-id="block-68">Provide the required configuration.</p>
<p data-start="4745" data-end="4753" data-rm-block-id="block-69">Example:</p>
<div class="TyagGW_tableContainer">
<div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1">
<table class="w-fit min-w-(--thread-content-width)" data-start="4755" data-end="4823">
<thead data-start="4755" data-end="4774">
<tr data-start="4755" data-end="4774">
<th class="last:pe-10" data-start="4755" data-end="4765" data-col-size="sm" data-rm-block-id="block-70">Setting</th>
<th class="last:pe-10" data-start="4765" data-end="4774" data-col-size="sm" data-rm-block-id="block-71">Value</th>
</tr>
</thead>
<tbody data-start="4796" data-end="4823">
<tr data-start="4796" data-end="4823">
<td data-start="4796" data-end="4809" data-col-size="sm" data-rm-block-id="block-72">Stack Name</td>
<td data-col-size="sm" data-start="4809" data-end="4823" data-rm-block-id="block-73">demo-stack</td>
</tr>
</tbody>
</table>
</div>
</div>
<p data-start="4825" data-end="4881" data-rm-block-id="block-74">Leave the remaining options unchanged for this tutorial.</p>
<p data-start="4883" data-end="4898" data-rm-block-id="block-75">Click <strong data-start="4889" data-end="4897">Next</strong>.</p>
<h2 data-section-id="3aldyl" data-start="4905" data-end="4938" data-rm-block-id="block-76">Step 5: Configure Stack Options</h2>
<p data-start="4940" data-end="4999" data-rm-block-id="block-77">CloudFormation offers several optional settings, including:</p>
<ul data-start="5001" data-end="5104">
<li data-section-id="1j4cynd" data-start="5001" data-end="5007" data-rm-block-id="block-78">Tags</li>
<li data-section-id="179blhx" data-start="5008" data-end="5025" data-rm-block-id="block-79"><a href="https://www.skynats.com/blog/how-do-i-assume-an-iam-role-using-the-aws-cli/">IAM permissions</a></li>
<li data-section-id="cgr0ge" data-start="5026" data-end="5050" data-rm-block-id="block-80">Rollback configuration</li>
<li data-section-id="14ngrpy" data-start="5051" data-end="5066" data-rm-block-id="block-81">Notifications</li>
<li data-section-id="10urdnk" data-start="5067" data-end="5083" data-rm-block-id="block-82">Stack policies</li>
<li data-section-id="1ora53o" data-start="5084" data-end="5104" data-rm-block-id="block-83">Monitoring options</li>
</ul>
<p data-start="5106" data-end="5162" data-rm-block-id="block-84">For a basic deployment, you can keep the default values.</p>
<p data-start="5164" data-end="5179" data-rm-block-id="block-85">Click <strong data-start="5170" data-end="5178">Next</strong>.</p>
<h2 data-section-id="1qlgt16" data-start="5186" data-end="5223" data-rm-block-id="block-86">Step 6: Review and Create the Stack</h2>
<p data-start="5225" data-end="5287" data-rm-block-id="block-87">Review all configuration settings carefully before deployment.</p>
<p data-start="5289" data-end="5303" data-rm-block-id="block-88">Once verified:</p>
<ol data-start="5305" data-end="5380">
<li data-section-id="32nlev" data-start="5305" data-end="5328" data-rm-block-id="block-89">Review the template.</li>
<li data-section-id="9cg86v" data-start="5329" data-end="5359" data-rm-block-id="block-90">Confirm the stack settings.</li>
<li data-section-id="i5whl8" data-start="5360" data-end="5380" data-rm-block-id="block-91">Click <strong data-start="5369" data-end="5379">Submit</strong>.</li>
</ol>
<p data-start="5382" data-end="5449" data-rm-block-id="block-92">CloudFormation immediately begins provisioning your infrastructure.</p>
<h2 data-section-id="1j54emq" data-start="5456" data-end="5488" data-rm-block-id="block-93">Step 7: Monitor Stack Creation</h2>
<p data-start="5490" data-end="5551" data-rm-block-id="block-94">You can monitor deployment progress from the <strong data-start="5535" data-end="5545">Stacks</strong> page.</p>
<p data-start="5553" data-end="5579" data-rm-block-id="block-95">Select your stack to view:</p>
<ul data-start="5581" data-end="5635">
<li data-section-id="1tedz" data-start="5581" data-end="5589" data-rm-block-id="block-96">Events</li>
<li data-section-id="odc4ep" data-start="5590" data-end="5601" data-rm-block-id="block-97">Resources</li>
<li data-section-id="bmghw" data-start="5602" data-end="5611" data-rm-block-id="block-98">Outputs</li>
<li data-section-id="l8fxdk" data-start="5612" data-end="5622" data-rm-block-id="block-99">Template</li>
<li data-section-id="jnuu7m" data-start="5623" data-end="5635" data-rm-block-id="block-100">Parameters</li>
</ul>
<p data-start="5637" data-end="5720" data-rm-block-id="block-101">The <strong data-start="5641" data-end="5651">Events</strong> tab displays every action CloudFormation performs during deployment.</p>
<p data-start="5722" data-end="5783" data-rm-block-id="block-102">Deployment completes successfully when the status changes to:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="contents">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0" data-rm-block-id="block-103"><code>CREATE_COMPLETE</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<h2 data-rm-block-id="block-104"><span style="font-size: 84px; font-weight: 800; letter-spacing: -0.0415625em;">Step 8: Verify the Created Resources</span></h2>
</div>
</div>
</div>
</div>
<p data-start="5855" data-end="5872" data-rm-block-id="block-105">After deployment:</p>
<ol data-start="5874" data-end="6024">
<li data-section-id="1fx1ujb" data-start="5874" data-end="5904" data-rm-block-id="block-106">Open the <strong data-start="5886" data-end="5899">Resources</strong> tab.</li>
<li data-section-id="1yasqx2" data-start="5905" data-end="5936" data-rm-block-id="block-107">Locate the Amazon S3 bucket.</li>
<li data-section-id="c3y7ga" data-start="5937" data-end="5967" data-rm-block-id="block-108">Open the Amazon S3 Console.</li>
<li data-section-id="13m5qsn" data-start="5968" data-end="6024" data-rm-block-id="block-109">Verify that the bucket has been created successfully.</li>
</ol>
<p data-start="6026" data-end="6113" data-rm-block-id="block-110">This confirms that CloudFormation deployed the infrastructure defined in your template.</p>
<h2 data-section-id="twf2x3" data-start="6120" data-end="6153" data-rm-block-id="block-111">Updating a CloudFormation Stack</h2>
<p data-start="6155" data-end="6243" data-rm-block-id="block-112">One of CloudFormation&#8217;s biggest advantages is that infrastructure updates are automated.</p>
<p data-start="6245" data-end="6263" data-rm-block-id="block-113">To update a stack:</p>
<ol data-start="6265" data-end="6426">
<li data-section-id="1ujnwlh" data-start="6265" data-end="6289" data-rm-block-id="block-114">Modify your template.</li>
<li data-section-id="1m2xs6z" data-start="6290" data-end="6319" data-rm-block-id="block-115">Select the existing stack.</li>
<li data-section-id="5cewi1" data-start="6320" data-end="6340" data-rm-block-id="block-116">Click <strong data-start="6329" data-end="6339">Update</strong>.</li>
<li data-section-id="15lx3s1" data-start="6341" data-end="6372" data-rm-block-id="block-117">Upload the revised template.</li>
<li data-section-id="1burz3a" data-start="6373" data-end="6404" data-rm-block-id="block-118">Review the proposed changes.</li>
<li data-section-id="1ik97cf" data-start="6405" data-end="6426" data-rm-block-id="block-119">Submit the update.</li>
</ol>
<p data-start="6428" data-end="6546" data-rm-block-id="block-120">CloudFormation only modifies the resources that require changes, minimizing downtime and reducing unnecessary updates.</p>
<h2 data-section-id="9tyotr" data-start="6553" data-end="6586" data-rm-block-id="block-121">Deleting a CloudFormation Stack</h2>
<p data-start="6588" data-end="6674" data-rm-block-id="block-122">When infrastructure is no longer needed, CloudFormation can clean it up automatically.</p>
<p data-start="6676" data-end="6682" data-rm-block-id="block-123">Steps:</p>
<ol data-start="6684" data-end="6746">
<li data-section-id="r70fgr" data-start="6684" data-end="6704" data-rm-block-id="block-124">Select the stack.</li>
<li data-section-id="1132o1s" data-start="6705" data-end="6725" data-rm-block-id="block-125">Click <strong data-start="6714" data-end="6724">Delete</strong>.</li>
<li data-section-id="10pik5s" data-start="6726" data-end="6746" data-rm-block-id="block-126">Confirm deletion.</li>
</ol>
<p data-start="6748" data-end="6848" data-rm-block-id="block-127">CloudFormation removes all associated resources unless a resource has a retention policy configured.</p>
<p data-start="6850" data-end="6937" data-rm-block-id="block-128">Automatic cleanup helps prevent unused resources from generating unnecessary AWS costs.</p>
<h2 data-section-id="1287vw4" data-start="6944" data-end="6975" data-rm-block-id="block-129">CloudFormation Best Practices</h2>
<p data-start="6977" data-end="7056" data-rm-block-id="block-130">To build reliable and maintainable infrastructure, follow these best practices:</p>
<h3 data-section-id="1ayvom0" data-start="7058" data-end="7081" data-rm-block-id="block-131">Use Version Control</h3>
<p data-start="7083" data-end="7166" data-rm-block-id="block-132">Store CloudFormation templates in Git to track changes and collaborate effectively.</p>
<h3 data-section-id="qfce1y" data-start="7168" data-end="7190" data-rm-block-id="block-133">Organize Templates</h3>
<p data-start="7192" data-end="7277" data-rm-block-id="block-134">Break large deployments into nested stacks or reusable modules for easier management.</p>
<h3 data-section-id="1kqpesj" data-start="7279" data-end="7301" data-rm-block-id="block-135">Validate Templates</h3>
<p data-start="7303" data-end="7385" data-rm-block-id="block-136">Use AWS template validation tools before deployment to detect syntax issues early.</p>
<h3 data-section-id="1e0nu1q" data-start="7387" data-end="7412" data-rm-block-id="block-137">Implement Change Sets</h3>
<p data-start="7414" data-end="7492" data-rm-block-id="block-138">Review infrastructure changes before applying them to production environments.</p>
<h3 data-section-id="r13ohy" data-start="7494" data-end="7526" data-rm-block-id="block-139">Apply Least Privilege Access</h3>
<p data-start="7528" data-end="7611" data-rm-block-id="block-140">Grant only the IAM permissions required to deploy and manage CloudFormation stacks.</p>
<h3 data-section-id="1k2kwpm" data-start="7613" data-end="7643" data-rm-block-id="block-141">Add Parameters and Outputs</h3>
<p data-start="7645" data-end="7740" data-rm-block-id="block-142">Parameters make templates reusable, while Outputs simplify integration with other AWS services.</p>
<h3 data-section-id="1p95lmj" data-start="7742" data-end="7766" data-rm-block-id="block-143">Monitor Stack Events</h3>
<p data-start="7768" data-end="7866" data-rm-block-id="block-144">Regularly review deployment events to identify errors and troubleshoot failed deployments quickly.</p>
<h2 data-section-id="1senpk" data-start="7873" data-end="7923" data-rm-block-id="block-145">Common CloudFormation Issues and Troubleshooting</h2>
<div class="TyagGW_tableContainer">
<div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1">
<table class="w-fit min-w-(--thread-content-width)" data-start="7925" data-end="8421">
<thead data-start="7925" data-end="7962">
<tr data-start="7925" data-end="7962">
<th class="last:pe-10" data-start="7925" data-end="7933" data-col-size="sm" data-rm-block-id="block-146">Issue</th>
<th class="last:pe-10" data-start="7933" data-end="7950" data-col-size="sm" data-rm-block-id="block-147">Possible Cause</th>
<th class="last:pe-10" data-start="7950" data-end="7962" data-col-size="md" data-rm-block-id="block-148">Solution</th>
</tr>
</thead>
<tbody data-start="8002" data-end="8421">
<tr data-start="8002" data-end="8087">
<td data-start="8002" data-end="8018" data-col-size="sm" data-rm-block-id="block-149">CREATE_FAILED</td>
<td data-start="8018" data-end="8044" data-col-size="sm" data-rm-block-id="block-150">Invalid template syntax</td>
<td data-start="8044" data-end="8087" data-col-size="md" data-rm-block-id="block-151">Validate the template before deployment</td>
</tr>
<tr data-start="8088" data-end="8153">
<td data-start="8088" data-end="8104" data-col-size="sm" data-rm-block-id="block-152">Access Denied</td>
<td data-start="8104" data-end="8130" data-col-size="sm" data-rm-block-id="block-153">Missing IAM permissions</td>
<td data-start="8130" data-end="8153" data-col-size="md" data-rm-block-id="block-154">Update IAM policies</td>
</tr>
<tr data-start="8154" data-end="8236">
<td data-start="8154" data-end="8180" data-col-size="sm" data-rm-block-id="block-155">Resource Already Exists</td>
<td data-col-size="sm" data-start="8180" data-end="8207" data-rm-block-id="block-156">Duplicate resource names</td>
<td data-col-size="md" data-start="8207" data-end="8236" data-rm-block-id="block-157">Use unique resource names</td>
</tr>
<tr data-start="8237" data-end="8330">
<td data-start="8237" data-end="8254" data-col-size="sm" data-rm-block-id="block-158">Stack Rollback</td>
<td data-start="8254" data-end="8275" data-col-size="sm" data-rm-block-id="block-159">Deployment failure</td>
<td data-start="8275" data-end="8330" data-col-size="md" data-rm-block-id="block-160">Review Events logs to identify the failing resource</td>
</tr>
<tr data-start="8331" data-end="8421">
<td data-start="8331" data-end="8347" data-col-size="sm" data-rm-block-id="block-161">DELETE_FAILED</td>
<td data-start="8347" data-end="8377" data-col-size="sm" data-rm-block-id="block-162">Resource protection enabled</td>
<td data-col-size="md" data-start="8377" data-end="8421" data-rm-block-id="block-163">Remove retention policies if appropriate</td>
</tr>
</tbody>
</table>
</div>
</div>
<p data-start="8423" data-end="8534" data-rm-block-id="block-164">Understanding these common issues can significantly reduce deployment time and improve operational reliability.</p>
<h2 data-section-id="1mideaj" data-start="8541" data-end="8561" data-rm-block-id="block-165">Real-World Example</h2>
<p data-start="8563" data-end="8663" data-rm-block-id="block-166">Imagine your development team needs identical environments for development, testing, and production.</p>
<p data-start="8665" data-end="8953" data-rm-block-id="block-167">Instead of manually configuring hundreds of AWS resources each time, you create one CloudFormation template and deploy it across all environments. This ensures consistency, reduces configuration drift, and allows infrastructure changes to be version-controlled alongside application code.</p>
<p data-start="8955" data-end="9076" data-rm-block-id="block-168">This Infrastructure as Code approach is widely adopted by <a href="https://www.skynats.com/devops-support">DevOps teams</a> to improve scalability and operational efficiency.</p>
<h2 data-section-id="fsb6xx" data-start="9083" data-end="9095" data-rm-block-id="block-169">Conclusion</h2>
<p data-start="9097" data-end="9416" data-rm-block-id="block-170"><strong data-start="9097" data-end="9125">AWS CloudFormation Setup</strong> provides a reliable and repeatable way to deploy AWS infrastructure using Infrastructure as Code. By defining resources in YAML or JSON templates, organizations can automate deployments, maintain consistent environments, reduce manual errors, and simplify ongoing infrastructure management.</p>
<p data-start="9418" data-end="9636" data-rm-block-id="block-171">Whether you&#8217;re provisioning a single Amazon S3 bucket or deploying a complex cloud architecture, CloudFormation helps standardize deployments and supports modern DevOps practices through automation and version control.</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/aws-cloudformation-setup-guide/">AWS CloudFormation Setup Guide: Create &#038; Manage Stacks</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Install Dokploy on Ubuntu Server</title>
		<link>https://www.skynats.com/blog/install-dokploy-on-ubuntu-server/</link>
		
		<dc:creator><![CDATA[Merin John]]></dc:creator>
		<pubDate>Tue, 02 Jun 2026 12:12:15 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dokploy]]></category>
		<category><![CDATA[Git repositories]]></category>
		<category><![CDATA[install Dokploy on Ubuntu]]></category>
		<category><![CDATA[Traefik]]></category>
		<category><![CDATA[ubuntu server]]></category>
		<guid isPermaLink="false">https://www.skynats.com/blog/?p=17635</guid>

					<description><![CDATA[<p>If you are looking for a simple and open-source deployment platform, Dokploy is a great option. It helps developers to deploy and manage applications easily using Docker and Traefik. Dokploy is considered as an alternative to platforms like Heroku, Vercel, and Netlify. It is lightweight, beginner-friendly, and designed for self-hosting. In this guide, you&#8217;ll learn [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/install-dokploy-on-ubuntu-server/">How to Install Dokploy on Ubuntu Server</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="font-weight: 400;">If you are looking for a simple and open-source deployment platform, Dokploy is a great option. It helps developers to deploy and manage applications easily using Docker and Traefik. Dokploy is considered as an alternative to platforms like Heroku, Vercel, and Netlify. It is lightweight, beginner-friendly, and designed for self-hosting.</span></p>
<p data-start="1317" data-end="1473">In this guide, you&#8217;ll learn how to <strong data-start="1352" data-end="1388">install Dokploy on Ubuntu Server</strong>, configure the dashboard, and secure your deployment environment for production use.</p>
<h2 data-section-id="xgv4vw" data-start="1480" data-end="1495">Quick Answer</h2>
<p data-start="1497" data-end="1737"><strong data-start="1497" data-end="1581">Dokploy can be installed on an Ubuntu server using a single installation script.</strong> The installer automatically sets up Docker, Docker Swarm, and Traefik, allowing you to manage and deploy applications through an easy-to-use web dashb</p>
<p data-start="1497" data-end="1737">Installation command:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code><span class="ͼl">curl</span> <span class="ͼn">-sSL</span> https://dokploy.com/install.sh | <span class="ͼl">sh</span></code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""><span style="font-family: NonBreakingSpaceOverride, 'Hoefler Text', 'Noto Serif', Garamond, 'Times New Roman', serif; letter-spacing: normal;">Once installed, access the dashboard via:</span></div>
</div>
</div>
</div>
</div>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>http://YOUR_SERVER_IP:3000</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<h2><span style="font-size: 48px; font-weight: bold; letter-spacing: -0.0415625em;">What Is Dokploy?</span></h2>
</div>
</div>
</div>
</div>
<p data-start="1930" data-end="2111"><a href="https://dokploy.com/" target="_blank" rel="noopener"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Dokploy</span></span></a> is an open-source application deployment platform designed for developers and <a href="https://www.skynats.com/devops-support">DevOps</a> teams who want complete control over their infrastructure.</p>
<p data-start="2113" data-end="2206">It simplifies application deployment by providing a web-based interface that integrates with:</p>
<ul data-start="2208" data-end="2289">
<li data-section-id="1u6gra4" data-start="2208" data-end="2216">Docker</li>
<li data-section-id="14jqjgm" data-start="2217" data-end="2231">Docker Swarm</li>
<li data-section-id="11o4xf2" data-start="2232" data-end="2241">Traefik</li>
<li data-section-id="5e8qgm" data-start="2242" data-end="2260">Git repositories</li>
<li data-section-id="194hzzi" data-start="2261" data-end="2289">SSL certificate automation</li>
</ul>
<p data-start="2291" data-end="2353">Many developers consider Dokploy a self-hosted alternative to:</p>
<ul data-start="2355" data-end="2474">
<li data-section-id="lyf7sl" data-start="2355" data-end="2394"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Heroku</span></span></li>
<li data-section-id="wlg39x" data-start="2395" data-end="2434"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Vercel</span></span></li>
<li data-section-id="1etlrsl" data-start="2435" data-end="2474"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Netlify</span></span></li>
</ul>
<p data-start="2476" data-end="2604">Unlike managed platforms, Dokploy allows you to host applications on your own VPS while maintaining full infrastructure control.</p>
<h2 data-section-id="xeg09h" data-start="2611" data-end="2630">Why Use Dokploy?</h2>
<p data-start="2632" data-end="2696">Dokploy offers several advantages for developers and businesses:</p>
<h3 data-section-id="1mvo88x" data-start="2698" data-end="2721">Benefits of Dokploy</h3>
<ul data-start="2723" data-end="2976">
<li data-section-id="3k3mep" data-start="2723" data-end="2752">Simple installation process</li>
<li data-section-id="s9tshj" data-start="2753" data-end="2782">Open-source and self-hosted</li>
<li data-section-id="htayx5" data-start="2783" data-end="2809">Docker-native deployment</li>
<li data-section-id="18b7u2j" data-start="2810" data-end="2845">Built-in reverse proxy management</li>
<li data-section-id="1k1izt4" data-start="2846" data-end="2881">Automated SSL certificate support</li>
<li data-section-id="1i6ejmt" data-start="2882" data-end="2912">Multi-application management</li>
<li data-section-id="1yhktk3" data-start="2913" data-end="2946">Resource-efficient architecture</li>
<li data-section-id="50lhnc" data-start="2947" data-end="2976">Beginner-friendly dashboard</li>
</ul>
<p data-start="2978" data-end="3097">For teams looking to reduce hosting costs while maintaining deployment flexibility, Dokploy can be an excellent choice.</p>
<h2><b>Prerequisites</b></h2>
<p><span style="font-weight: 400;">Before installing Dokploy, make sure you have the following:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A <a href="https://www.skynats.com/digitalocean-management-services">Linux VPS server</a> (Ubuntu, Debian, Fedora, or CentOS)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Minimum 2GB RAM and 30GB storage recommended</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Root or sudo access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Open ports:</span>
<ul>
<li style="font-weight: 400;" aria-level="2"><span style="font-weight: 400;">80 (HTTP)</span></li>
<li style="font-weight: 400;" aria-level="2"><span style="font-weight: 400;">443 (HTTPS)</span></li>
<li style="font-weight: 400;" aria-level="2"><span style="font-weight: 400;">3000 (Dokploy dashboard)</span></li>
</ul>
</li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Basic knowledge of Linux terminal commands</span></li>
</ul>
<p><span style="font-weight: 400;">Dokploy supports several Linux distributions, here we are using Ubuntu 24 for installing.</span></p>
<h2 data-section-id="apl9f0" data-start="3609" data-end="3651">How to Install Dokploy on Ubuntu Server</h2>
<h3 data-section-id="1tmobji" data-start="3653" data-end="3687">Step 1: Connect to Your Server</h3>
<p data-start="3689" data-end="3725">Log in to your Ubuntu VPS using SSH.</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code><span class="ͼl">ssh</span> root@your-server-ip</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""><span style="font-family: NonBreakingSpaceOverride, 'Hoefler Text', 'Noto Serif', Garamond, 'Times New Roman', serif; letter-spacing: normal;">Replace:</span></div>
</div>
</div>
</div>
</div>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>your-server-ip</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="3802" data-end="3837">with your actual server IP address.</p>
<h3 data-section-id="1ncfvsh" data-start="3844" data-end="3873">Step 2: Update the Server</h3>
<p data-start="3875" data-end="3935">Before installing any software, update your system packages.</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>apt update &amp;&amp; apt upgrade <span class="ͼn">-y</span></code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""><span style="font-family: NonBreakingSpaceOverride, 'Hoefler Text', 'Noto Serif', Garamond, 'Times New Roman', serif; letter-spacing: normal;">This ensures your server has the latest security patches and package versions.</span></div>
</div>
</div>
</div>
<div>
<h3 data-section-id="187lnck" data-start="4064" data-end="4111">Step 3: Run the Dokploy Installation Script</h3>
<p data-start="4113" data-end="4201">Dokploy provides an automated installation script that handles the entire setup process.</p>
<p data-start="4203" data-end="4207">Run:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code><span class="ͼl">curl</span> <span class="ͼn">-sSL</span> https://dokploy.com/install.sh | <span class="ͼl">sh</span></code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="4268" data-end="4319">The installer automatically performs several tasks:</p>
<ul data-start="4321" data-end="4469">
<li data-section-id="kw09da" data-start="4321" data-end="4338">Installs Docker</li>
<li data-section-id="90po8t" data-start="4339" data-end="4364">Configures Docker Swarm</li>
<li data-section-id="65hpr0" data-start="4365" data-end="4383">Installs Traefik</li>
<li data-section-id="8yxen6" data-start="4384" data-end="4413">Creates required containers</li>
<li data-section-id="1izpk82" data-start="4414" data-end="4434">Sets up networking</li>
<li data-section-id="6xy04k" data-start="4435" data-end="4469">Configures the Dokploy dashboard</li>
</ul>
<p data-start="4471" data-end="4564">Depending on server resources and internet speed, installation typically takes a few minutes.</p>
<h3 data-section-id="1ik9pf5" data-start="4571" data-end="4602">Step 4: Verify Installation</h3>
<p data-start="4604" data-end="4683">After installation completes successfully, you should see an output similar to:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>http://your-server-ip:3000</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="4725" data-end="4789">This indicates that the dashboard has been created successfully.</p>
<p data-start="4791" data-end="4830">You can verify running containers with:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>docker <span class="ͼl">ps</span></code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""><span style="font-size: 40px; font-weight: bold; letter-spacing: -0.0415625em;">Step 5: Access the Dokploy Dashboard</span></div>
</div>
</div>
</div>
</div>
<p data-start="4902" data-end="4940">Open your web browser and navigate to:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>http://your-server-ip:3000</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="4982" data-end="5034">You will be presented with the Dokploy setup wizard.</p>
<p data-start="5036" data-end="5059">Complete the following:</p>
<ol data-start="5061" data-end="5187">
<li data-section-id="1oflh4b" data-start="5061" data-end="5095">Create an administrator account</li>
<li data-section-id="1tmg7pm" data-start="5096" data-end="5126">Configure login credentials</li>
<li data-section-id="134uiwq" data-start="5127" data-end="5161">Set your deployment preferences</li>
<li data-section-id="thogqf" data-start="5162" data-end="5187">Save the configuration</li>
</ol>
<p data-start="5189" data-end="5251">After setup, you can immediately begin deploying applications.</p>
<h2 data-section-id="14tmkri" data-start="5258" data-end="5287">Common Installation Issues</h2>
<h3 data-section-id="1xdemj5" data-start="5289" data-end="5314">Dashboard Not Loading</h3>
<p data-start="5316" data-end="5332">Possible causes:</p>
<ul data-start="5334" data-end="5420">
<li data-section-id="1dtr99r" data-start="5334" data-end="5365">Port 3000 blocked by firewall</li>
<li data-section-id="1en224z" data-start="5366" data-end="5394">Docker service not running</li>
<li data-section-id="1u1b2qi" data-start="5395" data-end="5420">Installation incomplete</li>
</ul>
<p data-start="5422" data-end="5442">Check Docker status:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>systemctl status docker</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""><span style="font-size: 40px; font-weight: bold; letter-spacing: -0.0415625em;">Port Conflicts</span></div>
</div>
</div>
</div>
</div>
<p data-start="5506" data-end="5578">If ports 80, 443, or 3000 are already in use, Dokploy may fail to start.</p>
<p data-start="5580" data-end="5599">Check active ports:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>ss <span class="ͼn">-tulpn</span></code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="5624" data-end="5685">Stop conflicting services before re-running the installation.</p>
<h3 data-section-id="vyufyd" data-start="5692" data-end="5722">Docker Installation Errors</h3>
<p data-start="5724" data-end="5751">Verify Docker installation:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>docker <span class="ͼn">--version</span></code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="5783" data-end="5850">If Docker is not installed properly, rerun the installation script.</p>
<h2 data-section-id="1yqkkkt" data-start="5857" data-end="5877">How Dokploy Works</h2>
<p data-start="5879" data-end="5944">Dokploy acts as a management layer above Docker and Docker Swarm.</p>
<h3 data-section-id="182buj0" data-start="5946" data-end="5969">Deployment Workflow</h3>
<ol data-start="5971" data-end="6166">
<li data-section-id="p3ac59" data-start="5971" data-end="5998">Connect a Git repository</li>
<li data-section-id="do7wyq" data-start="5999" data-end="6026">Configure build settings</li>
<li data-section-id="19uzhu1" data-start="6027" data-end="6048">Deploy application</li>
<li data-section-id="15rakgs" data-start="6049" data-end="6075">Traefik handles routing</li>
<li data-section-id="1958kso" data-start="6076" data-end="6123">SSL certificates are generated automatically</li>
<li data-section-id="1g6cbqd" data-start="6124" data-end="6166">Application becomes publicly accessible</li>
</ol>
<p data-start="6168" data-end="6270">This workflow eliminates much of the manual configuration normally required for container deployments.</p>
<p><strong>Securing Your Dokploy Installation</strong></p>
<p data-start="6316" data-end="6406">For production environments, security should be configured immediately after installation.</p>
<h3 data-section-id="1czbgub" data-start="6408" data-end="6429">Use a Domain Name</h3>
<p data-start="6431" data-end="6467">Instead of accessing Dokploy via IP:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>http://your-server-ip:3000</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="6509" data-end="6536">Configure a domain such as:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>https://deploy.example.com</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<h3><span style="font-size: 40px; font-weight: bold; letter-spacing: -0.0415625em;">Enable HTTPS</span></h3>
</div>
</div>
</div>
</div>
<p data-start="6601" data-end="6625">Dokploy integrates with:</p>
<p data-start="6627" data-end="6664"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Let&#8217;s Encrypt</span></span></p>
<p data-start="6666" data-end="6725">to automatically generate SSL certificates through Traefik.</p>
<p data-start="6727" data-end="6744">Benefits include:</p>
<ul data-start="6746" data-end="6851">
<li data-section-id="ayn9b7" data-start="6746" data-end="6765">Encrypted traffic</li>
<li data-section-id="en5mtc" data-start="6766" data-end="6785">Improved security</li>
<li data-section-id="13a7vwd" data-start="6786" data-end="6805">Better user trust</li>
<li data-section-id="1hxiueg" data-start="6806" data-end="6851">Compliance with modern browser requirements</li>
</ul>
<p>Restrict Dashboard Access</p>
<p data-start="6889" data-end="6912">Best practices include:</p>
<ul data-start="6914" data-end="7043">
<li data-section-id="hgedsk" data-start="6914" data-end="6936">Use strong passwords</li>
<li data-section-id="e49dok" data-start="6937" data-end="6965">Enable <a href="https://www.skynats.com/blog/disable-waf-firewall-in-cloudflare/">firewall protection</a></li>
<li data-section-id="3gy03" data-start="6966" data-end="6995">Restrict dashboard exposure</li>
<li data-section-id="zadz1c" data-start="6996" data-end="7043">Allow only trusted IP addresses when possible</li>
</ul>
<h3 data-section-id="upx7sv" data-start="7050" data-end="7094">Best Practices for Production Deployments</h3>
<p data-start="7096" data-end="7135">To ensure reliable application hosting:</p>
<ul data-start="7137" data-end="7372">
<li data-section-id="kv9i2s" data-start="7137" data-end="7168">Keep Ubuntu updated regularly</li>
<li data-section-id="gcgfh4" data-start="7169" data-end="7195">Monitor server resources</li>
<li data-section-id="4yiyho" data-start="7196" data-end="7231">Back up deployment configurations</li>
<li data-section-id="wbozub" data-start="7232" data-end="7264">Use HTTPS for all applications</li>
<li data-section-id="ujdnxc" data-start="7265" data-end="7300">Enable automatic security updates</li>
<li data-section-id="1mj2ryj" data-start="7301" data-end="7334">Monitor Docker container health</li>
<li data-section-id="13cpwzd" data-start="7335" data-end="7372">Remove unused containers and images</li>
</ul>
<p data-start="7374" data-end="7442">These practices help maintain performance and reduce security risks.</p>
<h4 data-section-id="8dtpi" data-start="7449" data-end="7462">Conclusion</h4>
<p data-start="7464" data-end="7749">Installing Dokploy on <a href="https://www.skynats.com/blog/how-to-install-caddy-on-ubuntu-24-04/">Ubuntu Server</a> is one of the fastest ways to create a self-hosted application deployment platform. With a single command, you can deploy <a href="https://www.skynats.com/docker-solutions">Docker</a>, Docker Swarm, Traefik, and the Dokploy dashboard, allowing you to manage applications from a centralized interface.</p>
<p data-start="7751" data-end="7957">Whether you&#8217;re a developer, startup, or <a href="https://www.skynats.com/contact-us">DevOps team</a>, Dokploy provides a lightweight and cost-effective alternative to managed deployment platforms while giving you complete control over your infrastructure.</p>
</div>
</div>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/install-dokploy-on-ubuntu-server/">How to Install Dokploy on Ubuntu Server</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Fix “Could not retrieve mirrorlist” Error on CentOS 7</title>
		<link>https://www.skynats.com/blog/centos-7-end-of-life-2/</link>
		
		<dc:creator><![CDATA[Merin John]]></dc:creator>
		<pubDate>Tue, 02 Jun 2026 05:51:46 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://www.skynats.com/blog/?p=17613</guid>

					<description><![CDATA[<p>CentOS 7 users recently started facing an error while running yum update, installing packages, or using cPanel features like MultiPHP Manager. The issue usually appears as: Could not retrieve mirrorlist http://mirrorlist.centos.org/ This happens because CentOS 7 End of Life (EOL) was reached on July 1, 2024. The good news is that the issue can still [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/centos-7-end-of-life-2/">How to Fix “Could not retrieve mirrorlist” Error on CentOS 7</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="font-weight: 400;">CentOS 7 users recently started facing an error while running </span><span style="font-weight: 400;">yum update</span><span style="font-weight: 400;">, installing packages, or using cPanel features like MultiPHP Manager. The issue usually appears as:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">Could not retrieve mirrorlist http://mirrorlist.centos.org/</span></td>
</tr>
</tbody>
</table>
<p>This happens because <strong data-start="386" data-end="416">CentOS 7 End of Life (EOL)</strong> was reached on July 1, 2024. The good news is that the issue can still be fixed temporarily by switching to the CentOS Vault repositories.</p>
<h2><strong>Quick Answer</strong></h2>
<p data-start="1369" data-end="1661">The error occurs because <strong data-start="1394" data-end="1448">CentOS 7 reached End of Life (EOL) on July 1, 2024</strong>, and the official mirror repositories are no longer maintained. To restore package management functionality, update your repository configuration to use <strong data-start="1602" data-end="1631">CentOS Vault repositories</strong> hosted on <code data-start="1642" data-end="1660">vault.centos.org</code>.</p>
<p data-start="1663" data-end="1849">While this solution allows <code data-start="1690" data-end="1695">yum</code> to function again, it is only a temporary workaround. Migrating to a supported operating system such as AlmaLinux or Rocky Linux is strongly recommended.<br />
If your applications are hosted on dedicated infrastructure, a <a href="https://www.skynats.com/dedicated-hosting-support">managed dedicated server environment</a> can simplify migration and long-term maintenance.</p>
<h2>What Is the CentOS 7 Mirrorlist Error?</h2>
<p data-start="1899" data-end="2033">The CentOS 7 mirrorlist error occurs when the system attempts to retrieve package information from the official CentOS mirror network.</p>
<p data-start="2035" data-end="2211">Since CentOS 7 is now EOL, the standard repositories hosted through <code data-start="2103" data-end="2126">mirrorlist.centos.org</code> are no longer available, causing package installation and update operations to fail.</p>
<p data-start="2213" data-end="2237">Common symptoms include:</p>
<ul data-start="2239" data-end="2379">
<li data-start="2239" data-end="2262"><code data-start="2241" data-end="2253">yum update</code> failures</li>
<li data-start="2263" data-end="2292">Package installation errors</li>
<li data-start="2293" data-end="2315">cPanel update issues</li>
<li data-start="2316" data-end="2352">MultiPHP Manager repository errors</li>
<li data-start="2353" data-end="2379">Failed dependency checks</li>
</ul>
<h2><b>Why This Error Happens</b></h2>
<p><span style="font-weight: 400;">CentOS 7 repositories are no longer hosted on mirrorlist.centos.org. Since the operating system is now </span><span style="font-weight: 400;">unsupported, package updates and validations stop working unless the repository configuration is changed to use vault.centos.org.<br />
</span><span style="font-weight: 400;">Unsupported operating systems often require additional monitoring, patch management, and <a href="https://www.skynats.com/blog/apache-server-optimization/">server optimization</a> to maintain stability.</span></p>
<h3 data-start="2804" data-end="2822">Expert Insight</h3>
<p data-start="2824" data-end="3140">In managed server environments, this issue has become one of the most common support requests for legacy CentOS 7 systems. While switching to Vault repositories restores package access, it does not provide new security patches. Organizations running production workloads should plan a migration strategy immediately.</p>
<h3><b>Prerequisites</b></h3>
<p><span style="font-weight: 400;">Before starting, make sure you have:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Root or sudo access to the server</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A CentOS 7 system</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Basic knowledge of Linux commands</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Internet connectivity</span></li>
</ul>
<h2><b>Step-by-Step Fix</b></h2>
<h3><b>Step 1: Backup the Existing Repository File</b></h3>
<p><span style="font-weight: 400;">Run the following command to create a backup:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">cp -v /etc/yum.repos.d/CentOS-Base.repo{,-backup}</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">This allows you to restore the original configuration if needed.</span></p>
<h3><b>Step 2: Edit the Repository File</b></h3>
<p><span style="font-weight: 400;">Open the repository file using a text editor:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">nano /etc/yum.repos.d/CentOS-Base.repo</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Replace the existing content with the following:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">[base]</span></p>
<p><span style="font-weight: 400;">name=CentOS-$releasever &#8211; Base</span></p>
<p><span style="font-weight: 400;">baseurl=https://vault.centos.org/7.9.2009/os/$basearch</span></p>
<p><span style="font-weight: 400;">gpgcheck=1</span></p>
<p><span style="font-weight: 400;">gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7</span></p>
<p><span style="font-weight: 400;">[updates]</span></p>
<p><span style="font-weight: 400;">name=CentOS-$releasever &#8211; Updates</span></p>
<p><span style="font-weight: 400;">baseurl=https://vault.centos.org/7.9.2009/updates/$basearch</span></p>
<p><span style="font-weight: 400;">gpgcheck=1</span></p>
<p><span style="font-weight: 400;">gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7</span></p>
<p><span style="font-weight: 400;">[extras]</span></p>
<p><span style="font-weight: 400;">name=CentOS-$releasever &#8211; Extras</span></p>
<p><span style="font-weight: 400;">baseurl=https://vault.centos.org/7.9.2009/extras/$basearch</span></p>
<p><span style="font-weight: 400;">gpgcheck=1</span></p>
<p><span style="font-weight: 400;">gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Save the file and exit.</span></p>
<h3><b>Step 3: Clean and Rebuild Yum Cache</b></h3>
<p><span style="font-weight: 400;">Run:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">yum clean all &amp;&amp; yum makecache</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">This refreshes the repository cache and allows yum to work again.</span></p>
<h2><b>Verify the Repository</b></h2>
<p><span style="font-weight: 400;">Test whether the fix worked:</span></p>
<table>
<tbody>
<tr>
<td><span style="font-weight: 400;">yum update</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">If no mirrorlist errors appear, the repository issue has been resolved successfully.<br />
</span></p>
<h2 data-start="4700" data-end="4739">Common Issues After Applying the Fix</h2>
<h3 data-start="4741" data-end="4773">Repository Still Not Working</h3>
<p data-start="4775" data-end="4798">Check DNS connectivity:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code><span class="ͼl">ping</span> vault.centos.org</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<h3><span style="font-size: 40px; font-weight: bold; letter-spacing: -0.0415625em; font-family: 'Inter var', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, sans-serif;">SSL Certificate Errors</span></h3>
</div>
</div>
</div>
</div>
<p data-start="4863" data-end="4886">Update CA certificates:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>yum update ca-certificates</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<h3><span style="font-size: 40px; font-weight: bold; letter-spacing: -0.0415625em; font-family: 'Inter var', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, sans-serif;">cPanel Update Failures</span></h3>
</div>
</div>
</div>
</div>
<p data-start="4956" data-end="4960">Run:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>scripts/upcp <span class="ͼn">--force</span></code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""><span style="font-family: NonBreakingSpaceOverride, 'Hoefler Text', 'Noto Serif', Garamond, 'Times New Roman', serif; letter-spacing: normal;">after confirming repository access is functioning correctly.</span></div>
</div>
</div>
</div>
</div>
<h2 data-start="5064" data-end="5116">Best Practices for Servers Still Running CentOS 7</h2>
<p data-start="5118" data-end="5229">Although Vault repositories restore package availability, they should only be considered a short-term solution.</p>
<p data-start="5231" data-end="5251">Recommended actions:</p>
<ol data-start="5253" data-end="5454">
<li data-start="5253" data-end="5283">Audit all CentOS 7 servers.</li>
<li data-start="5284" data-end="5335">Identify critical applications and dependencies.</li>
<li data-start="5336" data-end="5366">Create full system backups.</li>
<li data-start="5367" data-end="5410">Test migration in a staging environment.</li>
<li data-start="5411" data-end="5454">Migrate to a supported operating system.</li>
</ol>
<p data-start="5456" data-end="5485">Popular alternatives include:</p>
<ul data-start="5487" data-end="5558">
<li data-start="5487" data-end="5498">AlmaLinux</li>
<li data-start="5499" data-end="5512">Rocky Linux</li>
<li data-start="5513" data-end="5525">CloudLinux</li>
<li data-start="5526" data-end="5558">Enterprise Linux distributions</li>
</ul>
<h2 data-start="5565" data-end="5603">Should You Continue Using CentOS 7?</h2>
<p data-start="5623" data-end="5640">Only temporarily.<br />
Because CentOS 7 no longer receives security updates, running it in production increases security and compliance risks.</p>
<h3 data-start="5763" data-end="5787">Recommended Approach</h3>
<p data-start="5789" data-end="5940">Use the Vault repository fix to regain package management functionality, then schedule a migration to a supported operating system as soon as possible.</p>
<h4 data-start="5947" data-end="5960">Conclusion</h4>
<p data-start="5962" data-end="6130">The <strong data-start="5966" data-end="5995">CentOS 7 mirrorlist error</strong> occurs because CentOS 7 has reached End of Life and the standard repositories are no longer available through <code data-start="6106" data-end="6129">mirrorlist.centos.org</code>.</p>
<p data-start="6132" data-end="6493">By updating your repository configuration to use <strong data-start="6181" data-end="6201">vault.centos.org</strong>, you can restore <code data-start="6219" data-end="6231">yum update</code> functionality and continue managing packages. However, this is only a temporary workaround. For long-term security, stability, and compliance, migrating from <a href="https://www.centos.org/" target="_blank" rel="noopener">CentOS 7</a> to a supported operating system such as AlmaLinux or Rocky <a href="https://www.skynats.com/linux-server-management">Linux</a> should be your next priority.</p>
<p>The post <a rel="nofollow" href="https://www.skynats.com/blog/centos-7-end-of-life-2/">How to Fix “Could not retrieve mirrorlist” Error on CentOS 7</a> appeared first on <a rel="nofollow" href="https://www.skynats.com/blog">Server Management Services | Cloud Management | Skynats</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
