<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[AdminsForum - aaPanel Guides & Tutorials]]></title>
		<link>https://adminsforum.com/</link>
		<description><![CDATA[AdminsForum - https://adminsforum.com]]></description>
		<pubDate>Thu, 15 Oct 2026 06:08:01 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Monitor CPU, RAM and Disk Usage in aaPanel]]></title>
			<link>https://adminsforum.com/Thread-guide-monitor-cpu-ram-and-disk-usage-in-aapanel</link>
			<pubDate>Mon, 12 Oct 2026 01:56:37 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://adminsforum.com/member.php?action=profile&uid=2">DEV</a>]]></dc:creator>
			<guid isPermaLink="false">https://adminsforum.com/Thread-guide-monitor-cpu-ram-and-disk-usage-in-aapanel</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Quick answer</span><br />
Use Home for a current resource overview, then Monitor for historical activity. Enable Monitoring Status before relying on historical charts. Compare the time when the website was slow with CPU, memory, disk and network activity; a single high reading does not identify the cause by itself.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">What was checked</span><br />
We opened Home and Monitor on the AdminsForum lab running aaPanel 8.0.6. Monitoring was initially off. We enabled it and received the successful status message, leaving the existing 30-day retention unchanged. Newly enabled monitoring initially showed No Data; that is shown honestly in the screenshot. This guide does not claim that an alert or a simulated overload was tested.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">1. Start with the Home overview</span><br />
Sign in to aaPanel and click Home. Note the CPU core count, CPU usage, RAM usage and the used/total space on the root filesystem. Write down the time of the problem before refreshing or changing anything.<br />
<br />
<img src="https://adminsforum.com/images/tutorials/server-home-resources-20261011.png?v=copyright1" loading="lazy"  alt="[Image: server-home-resources-20261011.png?v=copyright1]" class="mycode_img" /><br />
<span style="font-style: italic;" class="mycode_i">AdminsForum lab resource overview. These readings are a momentary sample from the lab, not performance targets.</span><br />
<br />
Our lab has two CPU cores, around 3.82 GB of RAM and a root filesystem of around 38.3 GB. Its low load and available disk space at this moment do not prove that it was healthy during an earlier slowdown. That is why history matters.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">2. Enable historical monitoring</span><br />
Click Monitor in the left-hand menu. Check the Monitoring Status switch. If it is off, turn it on and wait for the success message. Keep collection enabled when you need to investigate recurring problems.<br />
<br />
<img src="https://adminsforum.com/images/tutorials/monitor-enabled-20261011.png?v=copyright1" loading="lazy"  alt="[Image: monitor-enabled-20261011.png?v=copyright1]" class="mycode_img" /><br />
<span style="font-style: italic;" class="mycode_i">AdminsForum lab: monitoring enabled with 30-day retention. The charts initially have no historical samples.</span><br />
<br />
The Number of days to save box controls retention. If you change it, click Modify and check the resulting status. Choose a period that covers the pattern you are investigating, while watching the Monitor Log Size. We left the lab's value at 30 days; we did not test a retention change.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">3. Select the time of the problem</span><br />
Each chart has Yesterday, Today, Last 7 days and Custom controls. Use Today for a current issue and a longer range for recurring daily spikes. Keep the same time range across the charts so you compare the same incident. Remember that server time and your local time may differ.<br />
<br />
When monitoring has only just been enabled, older activity cannot be reconstructed from those new samples. Allow collection to run, return later and refresh the relevant chart. If No Data persists, verify the switch is still on and inspect the panel logs rather than repeatedly clearing data.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">4. Read CPU and load together</span><br />
A short CPU spike during installation, a backup or a scheduled job can be expected. Sustained high CPU during normal traffic deserves investigation. Load average and CPU percentage are different measurements. Check trends and the server's core count rather than assuming any non-zero load is a fault.<br />
<br />
Record which operation was running at that time. If a backup overlaps a busy period, move the job to a quieter window after confirming the relationship. If slow pages and high CPU recur together, investigate PHP requests, database queries or unexpected processes. Do not increase PHP workers blindly: that can increase contention.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">5. Check memory without guessing</span><br />
Look for memory pressure that persists during the slowdown. Linux can use spare RAM for cache, so a high used-memory figure alone is not enough to diagnose a shortage. Compare available memory, swap activity and the workload. Repeated swapping or processes being killed is more actionable evidence than one graph reading.<br />
<br />
If a PHP error says Allowed memory size exhausted, that is also a per-script limit issue. It does not automatically mean the whole VPS needs more RAM. Conversely, increasing every script's memory limit on a small server can make total memory pressure worse. Review the PHP limit and concurrent worker count together.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">6. Separate disk activity from disk capacity</span><br />
Disk I/O describes activity; used disk space describes capacity. A busy disk is not the same as a full disk. Check both. Mail delivery, database writes, logs and backups can fail when a filesystem runs out of space.<br />
<br />
If a backup or database import coincides with heavy disk activity, record that evidence. For low free space, identify the directories using it before removing anything. Preserve needed backups, mail and website data. Do not delete unfamiliar files just to make a percentage lower.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">7. Check network activity</span><br />
Compare upstream and downstream activity with expected traffic, downloads and backups. In Network I/O, check which interface or All selection is displayed. A traffic spike alone does not prove an attack. Correlate it with website access logs and known jobs.<br />
<br />
If the website is slow while CPU, memory and disk are quiet, also investigate DNS, connection latency, upstream services and application errors. Resource monitoring cannot diagnose every issue.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">8. Gather evidence before changing settings</span><br />
For a support request, collect:<ul class="mycode_list"><li>The approximate incident time and time zone.<br />
</li>
<li>What the visitor saw, including the exact error or HTTP status.<br />
</li>
<li>The relevant chart range and whether the spike was brief or sustained.<br />
</li>
<li>Any scheduled backup, install or import running then.<br />
</li>
<li>A short relevant log extract with passwords, tokens, personal data and connection strings removed.<br />
</li>
</ul>
Make one justified change at a time, then compare the same workload again. Killing a process or restarting services can interrupt users and erase useful context, so first identify what the process does.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Useful read-only terminal checks</span><br />
If you are comfortable with the terminal, these commands complement the dashboard:<br />
<div class="codeblock"><div class="title af-code-title"><span>Code:</span><button type="button" class="af-code-copy" aria-label="Copy code" title="Copy code"><i class="far fa-copy" aria-hidden="true"></i><span>Copy</span></button><span class="af-code-status" role="status" aria-live="polite"></span></div><div class="body" dir="ltr"><code>uptime
free -h
df -h
df -i
top</code></div></div>Use q to leave top. df -i checks inode use: a filesystem can run out of inodes even when some storage capacity remains. These commands are optional diagnostics; their output was not captured for this walkthrough.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Do not confuse collection with alerts</span><br />
A history chart is not proof that an email notification is configured. Set up and test alerting separately if you need to be notified while away from the panel. This walkthrough enables resource collection only.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Completion checklist</span><ul class="mycode_list"><li>Home overview checked and incident time recorded.<br />
</li>
<li>Monitoring Status on and successful response confirmed.<br />
</li>
<li>Retention reviewed.<br />
</li>
<li>Matching chart ranges selected for investigation.<br />
</li>
<li>Resource readings compared with logs and scheduled jobs.<br />
</li>
<li>No monitoring history cleared during diagnosis.<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Reference:</span> <a href="https://www.aapanel.com/docs/Function/Monitor.html" target="_blank" rel="noopener" class="mycode_url">aaPanel official System Monitor documentation</a>.]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Quick answer</span><br />
Use Home for a current resource overview, then Monitor for historical activity. Enable Monitoring Status before relying on historical charts. Compare the time when the website was slow with CPU, memory, disk and network activity; a single high reading does not identify the cause by itself.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">What was checked</span><br />
We opened Home and Monitor on the AdminsForum lab running aaPanel 8.0.6. Monitoring was initially off. We enabled it and received the successful status message, leaving the existing 30-day retention unchanged. Newly enabled monitoring initially showed No Data; that is shown honestly in the screenshot. This guide does not claim that an alert or a simulated overload was tested.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">1. Start with the Home overview</span><br />
Sign in to aaPanel and click Home. Note the CPU core count, CPU usage, RAM usage and the used/total space on the root filesystem. Write down the time of the problem before refreshing or changing anything.<br />
<br />
<img src="https://adminsforum.com/images/tutorials/server-home-resources-20261011.png?v=copyright1" loading="lazy"  alt="[Image: server-home-resources-20261011.png?v=copyright1]" class="mycode_img" /><br />
<span style="font-style: italic;" class="mycode_i">AdminsForum lab resource overview. These readings are a momentary sample from the lab, not performance targets.</span><br />
<br />
Our lab has two CPU cores, around 3.82 GB of RAM and a root filesystem of around 38.3 GB. Its low load and available disk space at this moment do not prove that it was healthy during an earlier slowdown. That is why history matters.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">2. Enable historical monitoring</span><br />
Click Monitor in the left-hand menu. Check the Monitoring Status switch. If it is off, turn it on and wait for the success message. Keep collection enabled when you need to investigate recurring problems.<br />
<br />
<img src="https://adminsforum.com/images/tutorials/monitor-enabled-20261011.png?v=copyright1" loading="lazy"  alt="[Image: monitor-enabled-20261011.png?v=copyright1]" class="mycode_img" /><br />
<span style="font-style: italic;" class="mycode_i">AdminsForum lab: monitoring enabled with 30-day retention. The charts initially have no historical samples.</span><br />
<br />
The Number of days to save box controls retention. If you change it, click Modify and check the resulting status. Choose a period that covers the pattern you are investigating, while watching the Monitor Log Size. We left the lab's value at 30 days; we did not test a retention change.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">3. Select the time of the problem</span><br />
Each chart has Yesterday, Today, Last 7 days and Custom controls. Use Today for a current issue and a longer range for recurring daily spikes. Keep the same time range across the charts so you compare the same incident. Remember that server time and your local time may differ.<br />
<br />
When monitoring has only just been enabled, older activity cannot be reconstructed from those new samples. Allow collection to run, return later and refresh the relevant chart. If No Data persists, verify the switch is still on and inspect the panel logs rather than repeatedly clearing data.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">4. Read CPU and load together</span><br />
A short CPU spike during installation, a backup or a scheduled job can be expected. Sustained high CPU during normal traffic deserves investigation. Load average and CPU percentage are different measurements. Check trends and the server's core count rather than assuming any non-zero load is a fault.<br />
<br />
Record which operation was running at that time. If a backup overlaps a busy period, move the job to a quieter window after confirming the relationship. If slow pages and high CPU recur together, investigate PHP requests, database queries or unexpected processes. Do not increase PHP workers blindly: that can increase contention.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">5. Check memory without guessing</span><br />
Look for memory pressure that persists during the slowdown. Linux can use spare RAM for cache, so a high used-memory figure alone is not enough to diagnose a shortage. Compare available memory, swap activity and the workload. Repeated swapping or processes being killed is more actionable evidence than one graph reading.<br />
<br />
If a PHP error says Allowed memory size exhausted, that is also a per-script limit issue. It does not automatically mean the whole VPS needs more RAM. Conversely, increasing every script's memory limit on a small server can make total memory pressure worse. Review the PHP limit and concurrent worker count together.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">6. Separate disk activity from disk capacity</span><br />
Disk I/O describes activity; used disk space describes capacity. A busy disk is not the same as a full disk. Check both. Mail delivery, database writes, logs and backups can fail when a filesystem runs out of space.<br />
<br />
If a backup or database import coincides with heavy disk activity, record that evidence. For low free space, identify the directories using it before removing anything. Preserve needed backups, mail and website data. Do not delete unfamiliar files just to make a percentage lower.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">7. Check network activity</span><br />
Compare upstream and downstream activity with expected traffic, downloads and backups. In Network I/O, check which interface or All selection is displayed. A traffic spike alone does not prove an attack. Correlate it with website access logs and known jobs.<br />
<br />
If the website is slow while CPU, memory and disk are quiet, also investigate DNS, connection latency, upstream services and application errors. Resource monitoring cannot diagnose every issue.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">8. Gather evidence before changing settings</span><br />
For a support request, collect:<ul class="mycode_list"><li>The approximate incident time and time zone.<br />
</li>
<li>What the visitor saw, including the exact error or HTTP status.<br />
</li>
<li>The relevant chart range and whether the spike was brief or sustained.<br />
</li>
<li>Any scheduled backup, install or import running then.<br />
</li>
<li>A short relevant log extract with passwords, tokens, personal data and connection strings removed.<br />
</li>
</ul>
Make one justified change at a time, then compare the same workload again. Killing a process or restarting services can interrupt users and erase useful context, so first identify what the process does.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Useful read-only terminal checks</span><br />
If you are comfortable with the terminal, these commands complement the dashboard:<br />
<div class="codeblock"><div class="title af-code-title"><span>Code:</span><button type="button" class="af-code-copy" aria-label="Copy code" title="Copy code"><i class="far fa-copy" aria-hidden="true"></i><span>Copy</span></button><span class="af-code-status" role="status" aria-live="polite"></span></div><div class="body" dir="ltr"><code>uptime
free -h
df -h
df -i
top</code></div></div>Use q to leave top. df -i checks inode use: a filesystem can run out of inodes even when some storage capacity remains. These commands are optional diagnostics; their output was not captured for this walkthrough.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Do not confuse collection with alerts</span><br />
A history chart is not proof that an email notification is configured. Set up and test alerting separately if you need to be notified while away from the panel. This walkthrough enables resource collection only.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Completion checklist</span><ul class="mycode_list"><li>Home overview checked and incident time recorded.<br />
</li>
<li>Monitoring Status on and successful response confirmed.<br />
</li>
<li>Retention reviewed.<br />
</li>
<li>Matching chart ranges selected for investigation.<br />
</li>
<li>Resource readings compared with logs and scheduled jobs.<br />
</li>
<li>No monitoring history cleared during diagnosis.<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Reference:</span> <a href="https://www.aapanel.com/docs/Function/Monitor.html" target="_blank" rel="noopener" class="mycode_url">aaPanel official System Monitor documentation</a>.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[aaPanel Free Edition: Basic Settings After Installation]]></title>
			<link>https://adminsforum.com/Thread-guide-aapanel-free-edition-basic-settings-after-installation</link>
			<pubDate>Sun, 11 Oct 2026 00:12:59 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://adminsforum.com/member.php?action=profile&uid=2">DEV</a>]]></dc:creator>
			<guid isPermaLink="false">https://adminsforum.com/Thread-guide-aapanel-free-edition-basic-settings-after-installation</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">After installing aaPanel Free Edition, review its Global settings before creating websites.</span> Change one item at a time and verify access afterwards. This guide explains the settings visible in our aaPanel Free 8.0.6 lab on Ubuntu 22.04.5, inspected on 10 October 2026.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">1. Open Settings → Global</span><br />
Use Search settings to find a specific item. The current interface groups network/access, HTTPS, authentication and interface preferences. Other tabs include Service, Alarm and Backup Restore. Older screenshots may group these options differently.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">2. Set useful display preferences</span><br />
Choose the Language you prefer and an Alias that identifies the server. Alias changes the panel title; it does not create a DNS record or rename a website. Theme and hidden-menu preferences affect how you use the panel. Keep essential sections visible while learning.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">3. Check time and timezone</span><br />
Confirm the server clock and selected timezone. Our lab uses UTC, which makes server logs easier to compare. Choose a timezone deliberately and remember it when reading logs or scheduling backups. The Sync control is for server time; changing the display language does not correct a wrong clock.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">4. Understand default folders</span><br />
The lab shows /www/wwwroot as the default site folder and /www/backup as the default backup folder. Each website belongs in its own site subdirectory. These defaults are not an instruction to put every site directly into /www. Changing a default is not a migration of existing website files. Check ownership, disk space and application paths before relocating data.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">5. Panel backup is not a full website backup</span><br />
Our Auto Backup Panel setting is enabled with 30 retained backups. The interface explicitly says its automatic backup does not include website data or MySQL data. Keep separate backups of website files and databases, store a copy off the VPS, and test restoration. A local backup folder will not protect you from losing the entire server. Do not use One-click clear backup while establishing your recovery plan.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">6. Review session and access settings</span><br />
Timeout controls idle-session logout; choose an appropriate duration for your working environment. Changing Panel port, Security Entrance, Domain or Authorized IP can interrupt access. Prepare working SSH/provider recovery access and test a fresh login after each change. Domain binding restricts which hostname can access the panel; wait until its DNS and HTTPS work. A management-IP allowlist requires a stable address.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">7. Keep panel HTTPS enabled</span><br />
Check certificate trust, expiry and renewal instead of assuming an HTTPS switch guarantees a valid certificate. The screenshot below shows the lab certificate status captured for our security walkthrough. A panel certificate does not enable HTTPS for your websites.<br />
<img src="https://adminsforum.com/attachment.php?aid=5" loading="lazy"  alt="[Image: attachment.php?aid=5]" class="mycode_img" /><br />
<br />
<span style="font-weight: bold;" class="mycode_b">8. Leave unused features disabled</span><br />
Developer mode and API access are unnecessary for a basic manual hosting setup. Do not expose API keys in screenshots. Offline mode affects internet-dependent functions; it is not a normal security setting for an online hosting panel. Close panel stops panel access and should not be used while following setup steps.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Final check</span><br />
Verify the saved panel URL, a fresh login, accurate time, available disk space and required running services. Record your changes privately. This is a settings review, not a claim that every security or backup feature has been configured.<br />
<br />
<a href="https://adminsforum.com/Thread-guide-change-your-aapanel-free-edition-password" target="_blank" rel="noopener" class="mycode_url">Change the panel password</a><br />
<a href="https://adminsforum.com/Thread-guide-secure-aapanel-free-edition-https-ssh-keys-panel-port" target="_blank" rel="noopener" class="mycode_url">Secure aaPanel Free Edition: HTTPS, SSH Keys &amp; Panel Port</a><br />
<a href="https://www.aapanel.com/docs/Function/Settings.html" target="_blank" rel="noopener" class="mycode_url">Official aaPanel settings reference</a>]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">After installing aaPanel Free Edition, review its Global settings before creating websites.</span> Change one item at a time and verify access afterwards. This guide explains the settings visible in our aaPanel Free 8.0.6 lab on Ubuntu 22.04.5, inspected on 10 October 2026.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">1. Open Settings → Global</span><br />
Use Search settings to find a specific item. The current interface groups network/access, HTTPS, authentication and interface preferences. Other tabs include Service, Alarm and Backup Restore. Older screenshots may group these options differently.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">2. Set useful display preferences</span><br />
Choose the Language you prefer and an Alias that identifies the server. Alias changes the panel title; it does not create a DNS record or rename a website. Theme and hidden-menu preferences affect how you use the panel. Keep essential sections visible while learning.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">3. Check time and timezone</span><br />
Confirm the server clock and selected timezone. Our lab uses UTC, which makes server logs easier to compare. Choose a timezone deliberately and remember it when reading logs or scheduling backups. The Sync control is for server time; changing the display language does not correct a wrong clock.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">4. Understand default folders</span><br />
The lab shows /www/wwwroot as the default site folder and /www/backup as the default backup folder. Each website belongs in its own site subdirectory. These defaults are not an instruction to put every site directly into /www. Changing a default is not a migration of existing website files. Check ownership, disk space and application paths before relocating data.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">5. Panel backup is not a full website backup</span><br />
Our Auto Backup Panel setting is enabled with 30 retained backups. The interface explicitly says its automatic backup does not include website data or MySQL data. Keep separate backups of website files and databases, store a copy off the VPS, and test restoration. A local backup folder will not protect you from losing the entire server. Do not use One-click clear backup while establishing your recovery plan.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">6. Review session and access settings</span><br />
Timeout controls idle-session logout; choose an appropriate duration for your working environment. Changing Panel port, Security Entrance, Domain or Authorized IP can interrupt access. Prepare working SSH/provider recovery access and test a fresh login after each change. Domain binding restricts which hostname can access the panel; wait until its DNS and HTTPS work. A management-IP allowlist requires a stable address.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">7. Keep panel HTTPS enabled</span><br />
Check certificate trust, expiry and renewal instead of assuming an HTTPS switch guarantees a valid certificate. The screenshot below shows the lab certificate status captured for our security walkthrough. A panel certificate does not enable HTTPS for your websites.<br />
<img src="https://adminsforum.com/attachment.php?aid=5" loading="lazy"  alt="[Image: attachment.php?aid=5]" class="mycode_img" /><br />
<br />
<span style="font-weight: bold;" class="mycode_b">8. Leave unused features disabled</span><br />
Developer mode and API access are unnecessary for a basic manual hosting setup. Do not expose API keys in screenshots. Offline mode affects internet-dependent functions; it is not a normal security setting for an online hosting panel. Close panel stops panel access and should not be used while following setup steps.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Final check</span><br />
Verify the saved panel URL, a fresh login, accurate time, available disk space and required running services. Record your changes privately. This is a settings review, not a claim that every security or backup feature has been configured.<br />
<br />
<a href="https://adminsforum.com/Thread-guide-change-your-aapanel-free-edition-password" target="_blank" rel="noopener" class="mycode_url">Change the panel password</a><br />
<a href="https://adminsforum.com/Thread-guide-secure-aapanel-free-edition-https-ssh-keys-panel-port" target="_blank" rel="noopener" class="mycode_url">Secure aaPanel Free Edition: HTTPS, SSH Keys &amp; Panel Port</a><br />
<a href="https://www.aapanel.com/docs/Function/Settings.html" target="_blank" rel="noopener" class="mycode_url">Official aaPanel settings reference</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[aaPanel Free Edition: Website Hosting Requirements]]></title>
			<link>https://adminsforum.com/Thread-guide-aapanel-free-edition-website-hosting-requirements</link>
			<pubDate>Sat, 10 Oct 2026 23:55:22 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://adminsforum.com/member.php?action=profile&uid=2">DEV</a>]]></dc:creator>
			<guid isPermaLink="false">https://adminsforum.com/Thread-guide-aapanel-free-edition-website-hosting-requirements</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">To host a website in aaPanel Free Edition, install a web server first. PHP and a database are needed only when your application requires them.</span> This guide explains what each component does before you create your first site.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Choose the stack for your website</span></span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Static HTML/CSS/JavaScript website:</span> Nginx or Apache serves the files. PHP and MySQL are not required for a site made entirely of static files.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">PHP website without a database:</span> a web server plus a compatible PHP version. Check the script’s extension requirements.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">WordPress or another database-backed PHP application:</span> a web server, a supported PHP version and MySQL or MariaDB. Follow the application’s current compatibility requirements.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1. Nginx or Apache: the web server</span></span><br />
The web server receives HTTP/HTTPS requests and returns your website’s content. Choose one for the beginner setup. Our Ubuntu 22.04 lab uses Nginx; Apache is an alternative, especially when an application depends on Apache configuration such as .htaccess. Nginx does not process .htaccess files, so rewrite rules must be configured for Nginx.<br />
<br />
Do not independently install two services that both try to use ports 80 and 443. Multi-webserver hosting has its own routing and configuration and will be covered separately.<br />
<a href="https://adminsforum.com/Thread-guide-install-nginx-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install Nginx in aaPanel Free Edition</a><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2. PHP: the application runtime</span></span><br />
PHP runs server-side application code. Install a release your application supports, then select it in that website’s settings. Multiple PHP versions can serve different websites. Website PHP and command-line PHP can differ. Install required extensions for the exact version used by the site.<br />
<a href="https://adminsforum.com/Thread-guide-install-php-8-4-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install PHP 8.4 in aaPanel Free Edition</a><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3. MySQL or MariaDB: the database</span></span><br />
A database stores application data such as posts, users and settings. Choose an engine/version compatible with your application. Our lab uses MariaDB. Create a separate database and database user for each application; avoid using the database root account in a website’s configuration. A website on the same VPS normally does not need public access to database port 3306.<br />
<a href="https://adminsforum.com/Thread-guide-install-mariadb-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install MariaDB in aaPanel Free Edition</a><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4. Domain, DNS and HTTPS</span></span><br />
For normal public access, use a domain or subdomain you control. Its DNS records must point to the server hosting the site. Add only hostnames you will actually use. A website SSL certificate enables HTTPS for those hostnames; the panel’s HTTPS certificate is separate from the website’s certificate.<br />
<br />
A domain is not required simply to install aaPanel or its software. It becomes useful when publishing and testing the actual website. An incorrect AAAA record can send IPv6 visitors to a different server even when the A record is correct.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">5. Optional tools</span></span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">phpMyAdmin:</span> a database administration interface, not the database server. It is optional.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">FTP server:</span> optional for FTP workflows. SFTP uses SSH and does not require Pure-FTPd. Prefer encrypted file transfer.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Mail server:</span> not needed just to host a website. An application can use a separate email provider.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Redis and other services:</span> add them only when your application needs them.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Our tested starter stack</span></span><br />
Ubuntu 22.04.5, aaPanel Free Edition 8.0.6, Nginx, PHP 8.4 and MariaDB on a 2-vCPU/4-GB lab VPS. The screenshot shows the installed components checked on 10 October 2026. It includes optional phpMyAdmin and Pure-FTPd; these are not compulsory website requirements.<br />
<img src="https://adminsforum.com/attachment.php?aid=4" loading="lazy"  alt="[Image: attachment.php?aid=4]" class="mycode_img" /><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Before creating the website</span></span><ul class="mycode_list"><li>Confirm the web server and required PHP/database services are running.<br />
</li>
<li>Secure panel access and keep recovery access available.<br />
</li>
<li>Prepare the domain, application requirements and a backup plan.<br />
</li>
<li>Keep panel, SSH and database credentials private.<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Follow the series:</span><br />
<a href="https://adminsforum.com/Thread-guide-aapanel-free-edition-install-nginx-php-mariadb" target="_blank" rel="noopener" class="mycode_url">Install and verify the web stack</a><br />
<a href="https://adminsforum.com/Thread-guide-secure-aapanel-free-edition-https-ssh-keys-panel-port" target="_blank" rel="noopener" class="mycode_url">Secure aaPanel Free Edition after installation</a><br />
Then create the website, create its database/user, select PHP/extensions, connect DNS, enable website HTTPS and test the application.<br />
<br />
<a href="https://www.aapanel.com/docs/guide/quickstart.html" target="_blank" rel="noopener" class="mycode_url">Official aaPanel Quick Start</a>]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">To host a website in aaPanel Free Edition, install a web server first. PHP and a database are needed only when your application requires them.</span> This guide explains what each component does before you create your first site.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Choose the stack for your website</span></span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Static HTML/CSS/JavaScript website:</span> Nginx or Apache serves the files. PHP and MySQL are not required for a site made entirely of static files.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">PHP website without a database:</span> a web server plus a compatible PHP version. Check the script’s extension requirements.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">WordPress or another database-backed PHP application:</span> a web server, a supported PHP version and MySQL or MariaDB. Follow the application’s current compatibility requirements.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1. Nginx or Apache: the web server</span></span><br />
The web server receives HTTP/HTTPS requests and returns your website’s content. Choose one for the beginner setup. Our Ubuntu 22.04 lab uses Nginx; Apache is an alternative, especially when an application depends on Apache configuration such as .htaccess. Nginx does not process .htaccess files, so rewrite rules must be configured for Nginx.<br />
<br />
Do not independently install two services that both try to use ports 80 and 443. Multi-webserver hosting has its own routing and configuration and will be covered separately.<br />
<a href="https://adminsforum.com/Thread-guide-install-nginx-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install Nginx in aaPanel Free Edition</a><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2. PHP: the application runtime</span></span><br />
PHP runs server-side application code. Install a release your application supports, then select it in that website’s settings. Multiple PHP versions can serve different websites. Website PHP and command-line PHP can differ. Install required extensions for the exact version used by the site.<br />
<a href="https://adminsforum.com/Thread-guide-install-php-8-4-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install PHP 8.4 in aaPanel Free Edition</a><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3. MySQL or MariaDB: the database</span></span><br />
A database stores application data such as posts, users and settings. Choose an engine/version compatible with your application. Our lab uses MariaDB. Create a separate database and database user for each application; avoid using the database root account in a website’s configuration. A website on the same VPS normally does not need public access to database port 3306.<br />
<a href="https://adminsforum.com/Thread-guide-install-mariadb-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install MariaDB in aaPanel Free Edition</a><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4. Domain, DNS and HTTPS</span></span><br />
For normal public access, use a domain or subdomain you control. Its DNS records must point to the server hosting the site. Add only hostnames you will actually use. A website SSL certificate enables HTTPS for those hostnames; the panel’s HTTPS certificate is separate from the website’s certificate.<br />
<br />
A domain is not required simply to install aaPanel or its software. It becomes useful when publishing and testing the actual website. An incorrect AAAA record can send IPv6 visitors to a different server even when the A record is correct.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">5. Optional tools</span></span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">phpMyAdmin:</span> a database administration interface, not the database server. It is optional.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">FTP server:</span> optional for FTP workflows. SFTP uses SSH and does not require Pure-FTPd. Prefer encrypted file transfer.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Mail server:</span> not needed just to host a website. An application can use a separate email provider.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Redis and other services:</span> add them only when your application needs them.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Our tested starter stack</span></span><br />
Ubuntu 22.04.5, aaPanel Free Edition 8.0.6, Nginx, PHP 8.4 and MariaDB on a 2-vCPU/4-GB lab VPS. The screenshot shows the installed components checked on 10 October 2026. It includes optional phpMyAdmin and Pure-FTPd; these are not compulsory website requirements.<br />
<img src="https://adminsforum.com/attachment.php?aid=4" loading="lazy"  alt="[Image: attachment.php?aid=4]" class="mycode_img" /><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Before creating the website</span></span><ul class="mycode_list"><li>Confirm the web server and required PHP/database services are running.<br />
</li>
<li>Secure panel access and keep recovery access available.<br />
</li>
<li>Prepare the domain, application requirements and a backup plan.<br />
</li>
<li>Keep panel, SSH and database credentials private.<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Follow the series:</span><br />
<a href="https://adminsforum.com/Thread-guide-aapanel-free-edition-install-nginx-php-mariadb" target="_blank" rel="noopener" class="mycode_url">Install and verify the web stack</a><br />
<a href="https://adminsforum.com/Thread-guide-secure-aapanel-free-edition-https-ssh-keys-panel-port" target="_blank" rel="noopener" class="mycode_url">Secure aaPanel Free Edition after installation</a><br />
Then create the website, create its database/user, select PHP/extensions, connect DNS, enable website HTTPS and test the application.<br />
<br />
<a href="https://www.aapanel.com/docs/guide/quickstart.html" target="_blank" rel="noopener" class="mycode_url">Official aaPanel Quick Start</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[aaPanel Free Edition: Install Nginx, PHP & MariaDB]]></title>
			<link>https://adminsforum.com/Thread-guide-aapanel-free-edition-install-nginx-php-mariadb</link>
			<pubDate>Sat, 10 Oct 2026 23:02:21 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://adminsforum.com/member.php?action=profile&uid=2">DEV</a>]]></dc:creator>
			<guid isPermaLink="false">https://adminsforum.com/Thread-guide-aapanel-free-edition-install-nginx-php-mariadb</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Set up a PHP hosting stack in aaPanel Free Edition using Nginx, MariaDB, PHP and optional phpMyAdmin.</span> This is the second tutorial, following <a href="https://adminsforum.com/Thread-guide-install-aapanel-free-edition-on-ubuntu-22-04" target="_blank" rel="noopener" class="mycode_url">panel installation on Ubuntu 22.04</a>.<br />
<br />
Tested on 10 October 2026 with aaPanel Free 8.0.6, Ubuntu 22.04.5, 2 vCPU and 4 GB RAM. The screenshots below are our original lab captures with numbered AdminsForum annotations.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Individual installation tutorials</span></span><br />
Use this overview to choose the stack, then follow the separate service guides:<ul class="mycode_list"><li><a href="https://adminsforum.com/Thread-guide-install-nginx-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install Nginx in aaPanel Free Edition</a><br />
</li>
<li><a href="https://adminsforum.com/Thread-guide-install-php-8-4-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install PHP 8.4 in aaPanel Free Edition</a><br />
</li>
<li><a href="https://adminsforum.com/Thread-guide-install-mariadb-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install MariaDB in aaPanel Free Edition</a><br />
</li>
<li><a href="https://adminsforum.com/Thread-guide-install-phpmyadmin-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install phpMyAdmin in aaPanel Free Edition</a><br />
</li>
<li><a href="https://adminsforum.com/Thread-guide-install-ftp-server-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install FTP Server in aaPanel Free Edition</a><br />
</li>
</ul>
Each guide includes its own original annotated screenshot, checks and troubleshooting. phpMyAdmin and FTP are optional; their guides identify the access/transfer checks that are still pending.<br />
<br />
<img src="https://adminsforum.com/attachment.php?aid=3" loading="lazy"  alt="[Image: attachment.php?aid=3]" class="mycode_img" /><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1. Choose Single WebServer model</span></span><br />
After the first login, aaPanel offers a software-installation screen. In the screenshot, use the <span style="font-weight: bold;" class="mycode_b">Single WebServer model</span> on the right. This keeps the initial setup straightforward.<br />
<br />
Select <span style="font-weight: bold;" class="mycode_b">Nginx</span>. We chose the 1.30 branch; the installer delivered Nginx 1.30.5. Choose one web server for this walkthrough. A multi-server configuration is a different deployment choice.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2. Choose your database and PHP</span></span><br />
The second numbered box shows the supporting components:<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">MariaDB 10.11:</span> shown under the MySQL selector as mariadb_10.11. It stores application data.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">PHP 8.4:</span> runs PHP applications. Check your application's PHP compatibility before choosing a version.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">phpMyAdmin 5.2:</span> optional browser-based database administration.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Pure-FTPd:</span> optional FTP service. It was installed in our lab for a later file-transfer exercise. You can leave it unchecked if you use SFTP or File Manager.<br />
</li>
</ul>
A static HTML site only needs a web server. WordPress and many other PHP applications need PHP plus a database. Installing phpMyAdmin does not create an application database for you.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3. Leave DNS and Mail Server unchecked</span></span><br />
The third box highlights DNS and mail options. We left both unchecked. You can manage your website's DNS through your domain or DNS provider without running a DNS server on this VPS. Mail hosting needs its own planning and configuration.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4. Start the installation</span></span><br />
In the right-hand panel, select <span style="font-weight: bold;" class="mycode_b">Quick install</span>, then click that panel's <span style="font-weight: bold;" class="mycode_b">One-click</span> button. The fourth box highlights these controls.<br />
<br />
Wait for the installation queue to complete. Avoid launching another package update or repeatedly starting the same task. If a task fails, inspect its log and fix the reported error before retrying that component.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">5. Confirm the installed components</span></span><br />
Open <span style="font-weight: bold;" class="mycode_b">App Store → Installed</span>. This is what our completed installation showed:<br />
<br />
<img src="https://adminsforum.com/attachment.php?aid=4" loading="lazy"  alt="[Image: attachment.php?aid=4]" class="mycode_img" /><br />
<br />
The numbered boxes highlight the Installed filter, installed software names, running-status indicators and Free Edition/version label.<ul class="mycode_list"><li>Nginx 1.30.5<br />
</li>
<li>MariaDB 10.11.10<br />
</li>
<li>PHP 8.4 — CLI verification reported 8.4.26<br />
</li>
<li>phpMyAdmin 5.2<br />
</li>
<li>Pure-FTPd 1.0.49<br />
</li>
</ul>
Actual patch versions can differ when you follow this guide. The green running indicators and installed list are useful checks, but test the services too.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">6. Verify from SSH</span></span><br />
These commands apply to the paths and PHP branch used in our lab:<br />
<div class="codeblock"><div class="title af-code-title"><span>Code:</span><button type="button" class="af-code-copy" aria-label="Copy code" title="Copy code"><i class="far fa-copy" aria-hidden="true"></i><span>Copy</span></button><span class="af-code-status" role="status" aria-live="polite"></span></div><div class="body" dir="ltr"><code>sudo /www/server/nginx/sbin/nginx -t
/www/server/nginx/sbin/nginx -v
/www/server/mysql/bin/mysql --version
/www/server/php/84/bin/php -v
systemctl is-active mysqld
sudo /etc/init.d/php-fpm-84 status
curl -I http://127.0.0.1/</code></div></div>Expected results: a successful Nginx configuration test, version information, an active database service, a running PHP-FPM service and an HTTP response from Nginx. Our default local page returned HTTP 200. Change 84 and php-fpm-84 if you installed a different PHP branch.<br />
<br />
We rebooted the lab and verified that Nginx, MariaDB and PHP-FPM recovered. These checks confirm the base stack; they do not prove that a PHP website or phpMyAdmin login works. Those application checks belong to the website/database tutorials.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Before hosting a real website</span></span><br />
Review panel and phpMyAdmin access, firewall rules, HTTPS and backups. Do not expose the database port just because MariaDB is installed. Use a separate application database and user when creating the website.<br />
<br />
FTP is optional. Prefer SFTP or a properly secured file-transfer configuration; installing an FTP server alone does not establish encrypted transfers.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Frequently asked questions</span></span><br />
<span style="font-weight: bold;" class="mycode_b">Should I install Nginx and Apache together?</span><br />
This walkthrough uses a single Nginx server. Select a different architecture only when your application or deployment requires it.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Which PHP version should I choose?</span><br />
Use a version supported by your application and required extensions. Our PHP 8.4 selection is a tested example, not a compatibility guarantee for every application.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Do I need phpMyAdmin and FTP?</span><br />
Both are optional administration tools. The web server, PHP runtime and database serve different roles from those tools.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Next:</span> Secure panel/server access, then add your first website, domain, HTTPS certificate and database.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Source:</span> <a href="https://www.aapanel.com/docs/guide/quickstart.html" target="_blank" rel="noopener" class="mycode_url">aaPanel official Quick Start</a>.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://adminsforum.com/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=3" target="_blank" title="">aapanel-stack-selection-annotated-20261010.jpg</a> (Size: 179.21 KB / Downloads: 19)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://adminsforum.com/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=4" target="_blank" title="">aapanel-installed-stack-annotated-20261010.jpg</a> (Size: 161.97 KB / Downloads: 17)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Set up a PHP hosting stack in aaPanel Free Edition using Nginx, MariaDB, PHP and optional phpMyAdmin.</span> This is the second tutorial, following <a href="https://adminsforum.com/Thread-guide-install-aapanel-free-edition-on-ubuntu-22-04" target="_blank" rel="noopener" class="mycode_url">panel installation on Ubuntu 22.04</a>.<br />
<br />
Tested on 10 October 2026 with aaPanel Free 8.0.6, Ubuntu 22.04.5, 2 vCPU and 4 GB RAM. The screenshots below are our original lab captures with numbered AdminsForum annotations.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Individual installation tutorials</span></span><br />
Use this overview to choose the stack, then follow the separate service guides:<ul class="mycode_list"><li><a href="https://adminsforum.com/Thread-guide-install-nginx-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install Nginx in aaPanel Free Edition</a><br />
</li>
<li><a href="https://adminsforum.com/Thread-guide-install-php-8-4-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install PHP 8.4 in aaPanel Free Edition</a><br />
</li>
<li><a href="https://adminsforum.com/Thread-guide-install-mariadb-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install MariaDB in aaPanel Free Edition</a><br />
</li>
<li><a href="https://adminsforum.com/Thread-guide-install-phpmyadmin-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install phpMyAdmin in aaPanel Free Edition</a><br />
</li>
<li><a href="https://adminsforum.com/Thread-guide-install-ftp-server-in-aapanel-free-edition" target="_blank" rel="noopener" class="mycode_url">Install FTP Server in aaPanel Free Edition</a><br />
</li>
</ul>
Each guide includes its own original annotated screenshot, checks and troubleshooting. phpMyAdmin and FTP are optional; their guides identify the access/transfer checks that are still pending.<br />
<br />
<img src="https://adminsforum.com/attachment.php?aid=3" loading="lazy"  alt="[Image: attachment.php?aid=3]" class="mycode_img" /><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1. Choose Single WebServer model</span></span><br />
After the first login, aaPanel offers a software-installation screen. In the screenshot, use the <span style="font-weight: bold;" class="mycode_b">Single WebServer model</span> on the right. This keeps the initial setup straightforward.<br />
<br />
Select <span style="font-weight: bold;" class="mycode_b">Nginx</span>. We chose the 1.30 branch; the installer delivered Nginx 1.30.5. Choose one web server for this walkthrough. A multi-server configuration is a different deployment choice.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2. Choose your database and PHP</span></span><br />
The second numbered box shows the supporting components:<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">MariaDB 10.11:</span> shown under the MySQL selector as mariadb_10.11. It stores application data.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">PHP 8.4:</span> runs PHP applications. Check your application's PHP compatibility before choosing a version.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">phpMyAdmin 5.2:</span> optional browser-based database administration.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Pure-FTPd:</span> optional FTP service. It was installed in our lab for a later file-transfer exercise. You can leave it unchecked if you use SFTP or File Manager.<br />
</li>
</ul>
A static HTML site only needs a web server. WordPress and many other PHP applications need PHP plus a database. Installing phpMyAdmin does not create an application database for you.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3. Leave DNS and Mail Server unchecked</span></span><br />
The third box highlights DNS and mail options. We left both unchecked. You can manage your website's DNS through your domain or DNS provider without running a DNS server on this VPS. Mail hosting needs its own planning and configuration.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4. Start the installation</span></span><br />
In the right-hand panel, select <span style="font-weight: bold;" class="mycode_b">Quick install</span>, then click that panel's <span style="font-weight: bold;" class="mycode_b">One-click</span> button. The fourth box highlights these controls.<br />
<br />
Wait for the installation queue to complete. Avoid launching another package update or repeatedly starting the same task. If a task fails, inspect its log and fix the reported error before retrying that component.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">5. Confirm the installed components</span></span><br />
Open <span style="font-weight: bold;" class="mycode_b">App Store → Installed</span>. This is what our completed installation showed:<br />
<br />
<img src="https://adminsforum.com/attachment.php?aid=4" loading="lazy"  alt="[Image: attachment.php?aid=4]" class="mycode_img" /><br />
<br />
The numbered boxes highlight the Installed filter, installed software names, running-status indicators and Free Edition/version label.<ul class="mycode_list"><li>Nginx 1.30.5<br />
</li>
<li>MariaDB 10.11.10<br />
</li>
<li>PHP 8.4 — CLI verification reported 8.4.26<br />
</li>
<li>phpMyAdmin 5.2<br />
</li>
<li>Pure-FTPd 1.0.49<br />
</li>
</ul>
Actual patch versions can differ when you follow this guide. The green running indicators and installed list are useful checks, but test the services too.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">6. Verify from SSH</span></span><br />
These commands apply to the paths and PHP branch used in our lab:<br />
<div class="codeblock"><div class="title af-code-title"><span>Code:</span><button type="button" class="af-code-copy" aria-label="Copy code" title="Copy code"><i class="far fa-copy" aria-hidden="true"></i><span>Copy</span></button><span class="af-code-status" role="status" aria-live="polite"></span></div><div class="body" dir="ltr"><code>sudo /www/server/nginx/sbin/nginx -t
/www/server/nginx/sbin/nginx -v
/www/server/mysql/bin/mysql --version
/www/server/php/84/bin/php -v
systemctl is-active mysqld
sudo /etc/init.d/php-fpm-84 status
curl -I http://127.0.0.1/</code></div></div>Expected results: a successful Nginx configuration test, version information, an active database service, a running PHP-FPM service and an HTTP response from Nginx. Our default local page returned HTTP 200. Change 84 and php-fpm-84 if you installed a different PHP branch.<br />
<br />
We rebooted the lab and verified that Nginx, MariaDB and PHP-FPM recovered. These checks confirm the base stack; they do not prove that a PHP website or phpMyAdmin login works. Those application checks belong to the website/database tutorials.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Before hosting a real website</span></span><br />
Review panel and phpMyAdmin access, firewall rules, HTTPS and backups. Do not expose the database port just because MariaDB is installed. Use a separate application database and user when creating the website.<br />
<br />
FTP is optional. Prefer SFTP or a properly secured file-transfer configuration; installing an FTP server alone does not establish encrypted transfers.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Frequently asked questions</span></span><br />
<span style="font-weight: bold;" class="mycode_b">Should I install Nginx and Apache together?</span><br />
This walkthrough uses a single Nginx server. Select a different architecture only when your application or deployment requires it.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Which PHP version should I choose?</span><br />
Use a version supported by your application and required extensions. Our PHP 8.4 selection is a tested example, not a compatibility guarantee for every application.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Do I need phpMyAdmin and FTP?</span><br />
Both are optional administration tools. The web server, PHP runtime and database serve different roles from those tools.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Next:</span> Secure panel/server access, then add your first website, domain, HTTPS certificate and database.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Source:</span> <a href="https://www.aapanel.com/docs/guide/quickstart.html" target="_blank" rel="noopener" class="mycode_url">aaPanel official Quick Start</a>.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://adminsforum.com/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=3" target="_blank" title="">aapanel-stack-selection-annotated-20261010.jpg</a> (Size: 179.21 KB / Downloads: 19)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://adminsforum.com/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=4" target="_blank" title="">aapanel-installed-stack-annotated-20261010.jpg</a> (Size: 161.97 KB / Downloads: 17)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
	</channel>
</rss>