144 lines
3.1 KiB
Markdown
144 lines
3.1 KiB
Markdown
# Installation
|
|||
|
|
|
||
|
|
## Requirements
|
||
|
|
|
||
|
|
| Requirement | Value |
|
||
|
|
|---|---|
|
||
|
|
| Operating system | Ubuntu 24.04 LTS |
|
||
|
|
| Architecture | x86_64 |
|
||
|
|
| RAM | 2 GB minimum · 4 GB recommended |
|
||
|
|
| Disk | 20 GB minimum |
|
||
|
|
| Access | Root (or `sudo`) |
|
||
|
|
| License | Free or paid — [get one at nixpanel.io](https://nixpanel.io/#pricing) |
|
||
|
|
|
||
|
|
> **Fresh server recommended.** NixPanel installs and configures Apache, MariaDB, PowerDNS, Exim, Dovecot, and other services. Installing on a server with existing software may cause conflicts.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## One-line Install
|
||
|
|
|
||
|
|
```bash
|
||
|
|
bash <(curl -fsSL https://raw.githubusercontent.com/NixReaper/nixpanel/main/install.sh)
|
||
|
|
```
|
||
|
|
|
||
|
|
The installer is **self-updating** — it always fetches the latest version from GitHub before running, so you never need to re-download it.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Inspect Before Running
|
||
|
|
|
||
|
|
If you prefer to review the script first:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
curl -fsSL https://raw.githubusercontent.com/NixReaper/nixpanel/main/install.sh -o install.sh
|
||
|
|
less install.sh
|
||
|
|
sudo bash install.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## What Gets Installed
|
||
|
|
|
||
|
|
| Component | Role |
|
||
|
|
|---|---|
|
||
|
|
| Apache 2 + PHP-FPM 8.2 & 8.3 | Web server with multi-PHP support |
|
||
|
|
| MariaDB | Database server (WordPress-compatible) |
|
||
|
|
| PowerDNS | DNS server |
|
||
|
|
| Exim 4 | Mail transfer agent |
|
||
|
|
| Dovecot | IMAP / POP3 server |
|
||
|
|
| SpamAssassin | Spam filtering |
|
||
|
|
| Fail2ban | Brute-force protection |
|
||
|
|
| Let's Encrypt (certbot) | Free SSL certificates |
|
||
|
|
| NixPanel | Control panel (ports 2083 and 2087) |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Installer Prompts
|
||
|
|
|
||
|
|
During installation you will be asked for:
|
||
|
|
|
||
|
|
- **Admin username, password, and email** — your NixPanel admin account
|
||
|
|
- **Server hostname** — the domain or IP your panel will be accessed from (e.g. `panel.example.com`)
|
||
|
|
- **NixPanel license key** — found in your [dashboard](https://nixpanel.io/dashboard) after signing up
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Ports Used
|
||
|
|
|
||
|
|
| Port | Service |
|
||
|
|
|---|---|
|
||
|
|
| `2087` | NixServer — WHM-style admin panel |
|
||
|
|
| `2083` | NixClient — cPanel-style user panel |
|
||
|
|
| `25` | SMTP (Exim) |
|
||
|
|
| `143` / `993` | IMAP / IMAPS (Dovecot) |
|
||
|
|
| `110` / `995` | POP3 / POP3S (Dovecot) |
|
||
|
|
| `53` | DNS (PowerDNS) |
|
||
|
|
|
||
|
|
Make sure your firewall allows these ports for the relevant services.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## After Installation
|
||
|
|
|
||
|
|
Access your panels at:
|
||
|
|
|
||
|
|
```
|
||
|
|
http://YOUR_SERVER_IP:2087 ← NixServer (admin)
|
||
|
|
http://YOUR_SERVER_IP:2083 ← NixClient (users)
|
||
|
|
```
|
||
|
|
|
||
|
|
**Add SSL immediately:**
|
||
|
|
|
||
|
|
```bash
|
||
|
|
certbot --apache
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Re-running the Installer
|
||
|
|
|
||
|
|
The installer uses step tracking — if it fails partway through, you can safely re-run it and it will skip completed steps:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo bash install.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
To force a specific step to re-run, delete its tracking file:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
rm /var/lib/nixpanel/install/<step_name>.done
|
||
|
|
sudo bash install.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Updating NixPanel
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo bash /opt/nixpanel/scripts/update.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
Or click **Upgrade Panel** in the NixServer sidebar.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Useful Commands
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# View panel logs
|
||
|
|
journalctl -u nixpanel -f
|
||
|
|
|
||
|
|
# Restart the panel
|
||
|
|
systemctl restart nixpanel
|
||
|
|
|
||
|
|
# Check service status
|
||
|
|
systemctl status nixpanel apache2 mariadb
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Need Help?
|
||
|
|
|
||
|
|
- **Email:** support@nixpanel.io
|
||
|
|
- **Issues:** [github.com/NixReaper/nixpanel/issues](https://github.com/NixReaper/nixpanel/issues)
|