mirror of
https://github.com/stefanpejcic/openpanel
synced 2025-06-26 18:28:26 +00:00
1docs
This commit is contained in:
335
website/versioned_docs/version-1.0.0/admin/000_intro.md
Normal file
335
website/versioned_docs/version-1.0.0/admin/000_intro.md
Normal file
@@ -0,0 +1,335 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Get Started with OpenAdmin
|
||||
|
||||
The OpenAdmin offers an administrator-level interface where you can efficiently handle tasks such as creating and managing users, setting up hosting plans, configuring backups, and editing OpenPanel settings.
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Requirements
|
||||
|
||||
Minimum Requirements:
|
||||
|
||||
- A blank full virtual machine or bare metal server
|
||||
- Minimum of 1GB RAM and 15GB storage (4GB RAM and 50GB is recommended)
|
||||
- x86_64/amd64 architecture **[support for ARM (AArch64) is in progress](https://github.com/stefanpejcic/OpenPanel/issues/63)*
|
||||
- IPv4 address
|
||||
|
||||
Supported OS:
|
||||
- **Ubuntu 22 and 24**
|
||||
- **Debian 11 and 12**
|
||||
- **AlmaLinux 9.2, 9.4**
|
||||
- **RockyLinux 9.4**
|
||||
- **CentOS 9**
|
||||
|
||||
:::info
|
||||
If you are using external firewall, the following ports should be opened: `53` `80` `443` `465` `2083` `2087` `32768:60999`
|
||||
:::
|
||||
|
||||
## Installation
|
||||
|
||||
OpenPanel can be installed on both VPS and bare-metal servers.
|
||||
|
||||
### Install OpenPanel on VPS
|
||||
|
||||
The installation process takes about 5 minutes. To install openpanel follow these steps:
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openpanel-install-on-dedicated" label="Install script" default>
|
||||
|
||||
1. Log in to your new server;
|
||||
- as root via SSH or
|
||||
- as a user with sudo privileges and type "sudo -i"
|
||||
2. Copy and paste openpanel installation command into the terminal
|
||||
```shell
|
||||
bash <(curl -sSL https://openpanel.org)
|
||||
```
|
||||
|
||||
The installation script supports [optional flags](/install) that can be used to configure openpanel, skip certain installation steps or simply display debugging information.
|
||||
|
||||
If you encountered any errors while running the installation script, please copy & paste the installation log file to [the community forums](https://community.openpanel.org).
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="openpanel-install-on-digitalocean" label="DigitalOcean Droplet">
|
||||
|
||||
OpenPanel is available as a 1-Click app (droplet) on DigitalOcean. Click on the button to spin a droplet with OpenPanel already installed:
|
||||
|
||||
[](https://marketplace.digitalocean.com/apps/openpanel?refcode=6498bfc47cd6&action=deploy)
|
||||
|
||||
or with DigitalOcean api:
|
||||
|
||||
```bash
|
||||
curl -X POST -H 'Content-Type: application/json' \
|
||||
-H 'Authorization: Bearer '$TOKEN'' -d \
|
||||
'{"name":"choose_a_name","region":"nyc3","size":"s-2vcpu-4gb","image":"openpanel"}' \
|
||||
"https://api.digitalocean.com/v2/droplets"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### Installing OpenPanel on a bare-metal server
|
||||
|
||||
When installing OpenPanel on a bare-metal server, it is recommended to format the disk with the XFS filesystem and enable the 'pquota' mount option. This is required for Docker's OverlayFS storage driver to function properly, as it allows setting user quotas and limiting container sizes on newer kernels. More details on these requirements can be found in the [Docker OverlayFS documentation](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/#prerequisites).
|
||||
|
||||
If your disk is not formatted with XFS, the OpenPanel installation script will automatically allocate 50% of the available storage. It will then create an XFS storage file and mount it at `/var/lib/docker/`. This process may take a considerable amount of time on servers with large storage capacities (e.g., several terabytes). In such cases, we recommend manually setting the filesystem to XFS or adjusting the storage file size. Alternatively, you can specify a custom size during installation by using the `--docker-space` flag. For instance, to allocate only 100GB for Docker, you can use: `--docker-space=100`.
|
||||
|
||||
To install OpenPanel on a bare-metal server:
|
||||
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openpanel-install-on-baremetal" label="Allocate 50% of disk to Docker" default>
|
||||
|
||||
```shell
|
||||
bash <(curl -sSL https://openpanel.org)
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="openpanel-install-on-baremetal-size" label="Set disk size for Docker (faster install)">
|
||||
|
||||
*replace `250` with the disk size in GB to allocate to Docker.
|
||||
|
||||
```shell
|
||||
bash <(curl -sSL https://openpanel.org) --docker-space=250
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
The installation script supports [additional flags](/install) that can be used to configure openpanel, skip certain installation steps or simply display debugging information.
|
||||
|
||||
If you encountered any errors while running the installation script, please copy & paste the installation log file to [the community forums](https://community.openpanel.org).
|
||||
|
||||
|
||||
## Post Install Steps
|
||||
|
||||
Recommended steps after installing OpenPanel:
|
||||
- [access admin panel](/docs/admin/intro#access-openadmin)
|
||||
- [set domain for accessing panels](/docs/admin/settings/general/#set-domain-for-openpanel)
|
||||
- [set custom nameservers](/docs/admin/settings/openpanel/#set-nameservers)
|
||||
- [create a hosting plan](/docs/admin/plans/hosting_plans#create-a-plan)
|
||||
- [create a new user account](/docs/admin/users/openpanel#create-users)
|
||||
- [set admin email for server alerts](/docs/admin/notifications/#email-alerts)
|
||||
|
||||
### Access OpenAdmin
|
||||
|
||||
Run `opencli admin` command to find the address on which admin panel is accessible. Example output:
|
||||
|
||||
```bash
|
||||
root@server:/home# opencli admin
|
||||
● AdminPanel is running and is available on: https://server.openpanel.co:2087/
|
||||
```
|
||||
|
||||
To login to admin panel you need a username and password.
|
||||
|
||||

|
||||
|
||||
Both username and password are random generated on installation.
|
||||
|
||||
To view admin accounts:
|
||||
|
||||
```bash
|
||||
opencli admin list
|
||||
```
|
||||
|
||||
To set a new password for the admin account run command: `opencli admin password USER_HERE NEW_PASSWORD_HERE`
|
||||
|
||||
Example:
|
||||
```bash
|
||||
root@server:/home# opencli admin password stefan ba63vfav7fq36vas
|
||||
Password for user 'stefan' changed.
|
||||
|
||||
===============================================================
|
||||
● AdminPanel is running and is available on: https://server.openpanel.co:2087/
|
||||
|
||||
- username: stefan
|
||||
- password: ba63vfav7fq36vas
|
||||
|
||||
===============================================================
|
||||
```
|
||||
|
||||
### Enable Automatic Updates
|
||||
|
||||
- `autopatch` option allows Administrator to automatically update OpenPanel to minor versions. MINOR versions include only security updates and bug fixes.
|
||||
- `autoupdate` option allows Administrator to enable or disable automatic updates to major versions. MAJOR versions add new functionality in a backward compatible manner.
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-admin-updates" label="With OpenAdmin" default>
|
||||
|
||||
To enable automatic updates, navigate to **OpenAdmin > General Settings** and check both the 'Auto Updates' and 'Auto Patches' options:
|
||||
|
||||

|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI" label="With OpenCLI">
|
||||
|
||||
To enable automatic updates from the terminal use commands:
|
||||
|
||||
```bash
|
||||
opencli config update autoupdate yes
|
||||
```
|
||||
|
||||
```bash
|
||||
opencli config update autopatch yes
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
### Disable Automatic Updates
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-admin-updates" label="With OpenAdmin" default>
|
||||
|
||||
To disable automatic updates, navigate to **OpenAdmin > General Settings** and uncheck the 'Auto Updates' and 'Auto Patches' options:
|
||||
|
||||

|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI" label="With OpenCLI">
|
||||
|
||||
To disable automatic updates from the terminal use commands:
|
||||
|
||||
```bash
|
||||
opencli config update autoupdate no
|
||||
```
|
||||
|
||||
```bash
|
||||
opencli config update autopatch no
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
|
||||
|
||||
### Manual Updates
|
||||
|
||||
When a new update is available, you will receive a notification in the admin panel.
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-admin-update-now" label="With OpenAdmin" default>
|
||||
|
||||
To manually update OpenPanel, navigate to **OpenAdmin > General Settings** and click on the "Update Now" button. NOTE: update is visible only if newer version is available.
|
||||
|
||||
Step 1. | Step 2.
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-update-now" label="With OpenCLI">
|
||||
|
||||
To update OpenPanel manually from the terminal, run the following command:
|
||||
|
||||
```bash
|
||||
opencli update --force
|
||||
```
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="github-update-now" label="from GitHub">
|
||||
|
||||
To update OpenPanel manually from GitHub:
|
||||
|
||||
```bash
|
||||
bash <(curl -sSL https://raw.githubusercontent.com/stefanpejcic/OpenPanel/refs/heads/main/version/UPDATE.sh)
|
||||
```
|
||||
</TabItem>
|
||||
|
||||
</Tabs>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## License
|
||||
|
||||
OpenPanel is available in two editions:
|
||||
|
||||
- [**OpenPanel Community edition**](/product/openpanel-free-control-panel/) is a free version of the panel that is limited to 3 user accounts and 50 domains, which should be more than enough for personal use.
|
||||
- [**OpenPanel Enterprise edition**](/product/openpanel-premium-control-panel/) unlocks premium features for user isolation and management, suitable for web hosting providers. It has API access and can easily be integrated with 3rd party billing tools like WHMCS and FOSSBilling.
|
||||
|
||||
|
||||
[OpenPanel Community VS Enterprise](/beta/)
|
||||
|
||||
|
||||
|
||||
## Security
|
||||
|
||||
OpenPanel has been built from the ground up with security in mind. Internet history is littered with painful security incidents, so we traded old software compatibility and insecure authentication methods for modern day security measures.
|
||||
|
||||
|
||||
### Firewall
|
||||
OpenPanel supports both [ConfigServer & Firewall (CSF)](/docs/admin/security/firewall/#csf) and [UncomplicatedFirewall (UFW)](/docs/admin/security/firewall/#ufw).
|
||||
|
||||
|
||||
### Isolated Services
|
||||
Each user is provided with a containerized environment similar to a VPS, featuring their own web server (Nginx or Apache) and database (MySQL or MariaDB). This setup prevents resource hogging commonly associated with standard shared hosting.
|
||||
|
||||
|
||||
### Two-Factor Authentication
|
||||
Users have the option to [enable Two-Factor Authentication (2FA)](/docs/panel/account/2fa/) for added security on their accounts. Administrators can manage this feature at the server level or for individual users.
|
||||
|
||||
### Detailed Logging
|
||||
All actions taken by OpenPanel users are recorded in per-user activity logs. This eliminates confusion over issues like file or webmail account deletions—every action is logged and can be reviewed by users.
|
||||
|
||||
### Isolated Users and Admin
|
||||
OpenPanel and OpenAdmin operate independently from one another. One runs as a systemd service while the other runs as a Docker container. OpenPanel utilizes SQLite for its database, whereas OpenAdmin relies on MySQL. Importantly, users can perform actions on their panel even if the admin panel is unreachable or disabled.
|
||||
|
||||
|
||||
### Disabling the Admin Panel
|
||||
For production environments, particularly with the Community edition—which does not offer API access and lacks third-party integrations—it is advisable to disable the admin panel after configuring your server. Alternatively, you can restrict access to the admin port `2087` by whitelisting your team's IP addresses.
|
||||
|
||||
To disable OpenAdmin, navigate to **OpenAdmin > Settings > OpenAdmin** and click on *"Disable Admin Panel"* or use the terminal command `opencli admin off`. This will deactivate the admin panel, and you can re-enable it when necessary with the command `opencli admin on`.
|
||||
|
||||
### Limiting Access to Admin Panel
|
||||
To restrict OpenAdmin access to your team, whitelist your server's IP addresses in CSF/UFW, and then disable port `2087`.
|
||||
|
||||
### HTTP Basic Authentication
|
||||
As an additional security measure, HTTP Basic Authentication can be enabled for the admin panel.
|
||||
|
||||
### Brute-Force Protection
|
||||
|
||||
Both user and admin interfaces have a built-in rate limiting and IP address blocking to protect against brute-force attacks. You can configure the maximum number of failed login attempts allowed per IP (default is `5` per minute) and the total number of failed attempts (default is `20`), after which the offending IP will be temporarily blocked by the firewall for one hour.
|
||||
|
||||
For user panel imits are configurable in: `/etc/openpanel/openpanel/conf/openpanel.config` file:
|
||||
```bash
|
||||
[USERS]
|
||||
login_ratelimit=5
|
||||
login_blocklimit=20
|
||||
```
|
||||
|
||||

|
||||
|
||||
For admin panel imits are configurable in: `/etc/openpanel/openadmin/config/admin.ini` file:
|
||||
```bash
|
||||
[PANEL]
|
||||
login_ratelimit=5
|
||||
login_blocklimit=20
|
||||
```
|
||||
|
||||

|
||||
|
||||
If a user successfully logs in, the counter for `login_blocklimit` will reset.
|
||||
Failed login attempts and blocked IP addresses are logged in the `/var/log/openpanel/admin/failed_login.log` file for OpenAdmin and in the `/var/log/openpanel/user/failed_login.log` file for OpenPanel.
|
||||
|
||||
### IP blocking per domain
|
||||
|
||||
Users can block IP addresses per domain name.
|
||||
118
website/versioned_docs/version-1.0.0/admin/001_dashboard.md
Normal file
118
website/versioned_docs/version-1.0.0/admin/001_dashboard.md
Normal file
@@ -0,0 +1,118 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Dashboard
|
||||
|
||||
The OpenAdmin offers an administrator-level interface where you can efficiently handle tasks such as creating and managing users, setting up hosting plans, configuring backups, and editing OpenPanel settings.
|
||||
|
||||
The dashboard page is the hub of the Admin interface and provides the overview of the current server performance, services and usage.
|
||||
|
||||

|
||||
|
||||
On top of the pages, header contains:
|
||||
|
||||
- **Search bar** to search users, domains or settings pages.
|
||||
- **Dark mode toggle:** Allows you to switch between dark and light modes.
|
||||
- **Notifications indicator:** Displays important server-wide alerts.
|
||||
- **Avatar:** Indicates the admin username with options to edit the profile.
|
||||
|
||||
|
||||
The dashboard page contains 13 widgets:
|
||||
|
||||
- **Users** widget: Displays the total number of user accounts.
|
||||
- **Backups** widget: Shows the number of backup jobs and indicates backup errors if any.
|
||||
- **Plans** widget: Indicates the number of plans available.
|
||||
- **Load Averages** widget: Presents real-time server load with color indicators.
|
||||
- **Memory Usage** widget: Provides the current memory usage with color indicators.
|
||||
- **Activity** widget: Displays the latest activities of all users and the Administrator.
|
||||
- **Usage** widget: Displays the historical usage for websites, domains and users.
|
||||
- **Quick start guide** widget: Displays recommended steps for the Administrator to perform after installing OpenPanel.
|
||||
- **Services status** widget: Displays the status of monitored services and actions to control them.
|
||||
- **System Information** widget: Displays server configuration.
|
||||
- **Latest News** widget: Displays latest news from [the openpanel.co blog](/blog/).
|
||||
- **CPU** widget: Illustrates real-time usage for each CPU core with color indicators.
|
||||
- **Disk usage** widget: Presents server partitions and disk usage for each partition.
|
||||
|
||||
To hide a widget click on the "Dismiss" button that appears when hovering over a widget.
|
||||
|
||||
## User Activity
|
||||
|
||||
The OpenAdmin dashboard's 'User Activity' widget shows a log of actions taken by OpenPanel users, with a focus on those performed by the Administrator. The log is organized from newest to oldest, and active users, who have taken actions in the last 30 minutes, are marked with a green dot on the right side. To view detailed activity information, click on the user icon (avatar) to open their user account page with the Activity tab.
|
||||
|
||||

|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
The OpenAdmin dashboard's 'Usage' widget displays historical resource usage for teh server: number of websites, domains and users.
|
||||
|
||||

|
||||
|
||||
|
||||
## Quick start guide
|
||||
|
||||
Quick start guide highlights the recommended steps for the Administrator to perform upon installing OpenPanel.
|
||||
|
||||

|
||||
|
||||
These steps include:
|
||||
|
||||
- Set domain name instead of IP address for accessing OpenPanel
|
||||
- Create a hosting plan and create a user account
|
||||
- Settings custom nameservers to be used for domains
|
||||
- Install and configure ModSecurity WAF for Nginx
|
||||
- Schedule remote backups
|
||||
|
||||
|
||||
## Services Status
|
||||
|
||||
The Services Status widget displays a list of services managed by OpenPanel and enables you to check their current status, restart them, or start/stop when needed.
|
||||
|
||||

|
||||
|
||||
Services can be configured from [Services > Service Status](/docs/admin/services/status) page.
|
||||
|
||||
The Admin service is excluded from the list since stopping that service will disable the OpenAdmin interface. To disable the admin panel, use the 'Disable Admin Panel' option from Settings > OpenAdmin.
|
||||
|
||||
|
||||
## System Information
|
||||
|
||||
The System Information widget displays overview about your server configuration:
|
||||
|
||||
- Hostname
|
||||
- Operating System
|
||||
- OpenPanel version
|
||||
- Current Server Time
|
||||
- Kernel version
|
||||
- CPU logo and details on hover
|
||||
- Uptime
|
||||
- Number of running processes
|
||||
|
||||

|
||||
|
||||
## Latest News
|
||||
|
||||
The Latest News widget displays last 10 posts from [openpanel.co/blog](/blog/):
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## CPU
|
||||
|
||||
The CPU usage percentage represents the amount of the CPU's processing power that is currently being utilized. It indicates how much of the CPU's capacity is in use at a specific moment. For example, a CPU usage of 50% means that the CPU is operating at half of its maximum processing capacity, while 100% usage indicates that the CPU is fully utilized, and there may be resource constraints or performance issues.
|
||||
|
||||
The data is auto-refreshed every 1 second to provide real-time updates.
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Disk Usage
|
||||
|
||||
The Disk Usage widget provides an overview of your system's disk usage. It displays information about each mounted disk partition, including details such as the device, mount point, filesystem type, and the amount of space used and available in a human-readable format (in gigabytes, GB or terabytes, TB). The 'Usage Percentage' column indicates the percentage of disk space currently in use.
|
||||
|
||||

|
||||
|
||||
|
||||
137
website/versioned_docs/version-1.0.0/admin/002_notifications.md
Normal file
137
website/versioned_docs/version-1.0.0/admin/002_notifications.md
Normal file
@@ -0,0 +1,137 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
# Notifications
|
||||
|
||||
Notifications are accessible from the notification icon in upper right corner.
|
||||
|
||||

|
||||
|
||||
|
||||
OpenPanel records the following actions:
|
||||
|
||||
- server reboot
|
||||
- service is inactive
|
||||
- update is available
|
||||
- admin login from new ip address
|
||||
- ssh login from new ip address
|
||||
- high memory usage
|
||||
- high average load
|
||||
- high cpu usage
|
||||
- high disk usage
|
||||
- high swap usage
|
||||
- dns changed
|
||||
|
||||
Each notification type can be disabled and threshold limits can be set by the Admin user.
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-notifications-view" label="With OpenAdmin" default>
|
||||
|
||||
To view current notification settings, click on the bell icon in the top menu.
|
||||
You can view the current settings, and modify them.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-notifications-view" label="With OpenCLI">
|
||||
|
||||
To view current notification settings run:
|
||||
|
||||
```bash
|
||||
opencli admin notifications get <OPTION>
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
# opencli admin notifications get reboot
|
||||
yes
|
||||
```
|
||||
|
||||
To change the notification settings run:
|
||||
|
||||
```bash
|
||||
opencli admin notifications update <OPTION> <NEW-VALUE>
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
opencli admin notifications update load 10
|
||||
Updated load to 10
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
To confirm receipt of a notification, select the checkmark icon located in front of it. Once a notification is confirmed, subsequent notifications of the same type will be logged if the issue persists. For instance, if a service is unavailable, the system will generate an initial notification. However, if you acknowledge the notification and the service remains unrecovered, the next time the check is executed, it will log another notification.
|
||||
|
||||
Example notifications:
|
||||
|
||||
On Server Reboot
|
||||

|
||||
|
||||
If service is inactive:
|
||||

|
||||
|
||||
If CPU usage is over a threshold:
|
||||

|
||||
|
||||
If new version of OpenPanel is available:
|
||||

|
||||
|
||||
If Memory usage is over a threshold:
|
||||

|
||||
|
||||
If system is running out of disk space:
|
||||

|
||||
|
||||
### Email alerts
|
||||
|
||||
To receive email alerts, simply add your email address to the 'Email for notifications' field or leave it empty to disable email alerts.
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
If enabled, by default OpenPanel will send email alerts from noreply@openpanel.co
|
||||
|
||||
To configure your own SMTP for email delivery, you need to update values:
|
||||
|
||||
- mail_server - your domain or ip where email is hosted
|
||||
- mail_port - outgoing smtp port (default is 465)
|
||||
- mail_use_tls - default is False
|
||||
- mail_use_ssl - default is True
|
||||
- mail_username - email address to use for sending
|
||||
- mail_password - password for email address
|
||||
- mail_default_sender - email to display, defaults is same as mail_username
|
||||
|
||||
Each value is configured using `opencli config update` option. examples:
|
||||
|
||||
```bash
|
||||
opencli config update mail_server example.net
|
||||
```
|
||||
```bash
|
||||
opencli config update mail_port 465
|
||||
```
|
||||
```bash
|
||||
opencli config update mail_use_tls False
|
||||
```
|
||||
```bash
|
||||
opencli config update mail_use_ssl True
|
||||
```
|
||||
```bash
|
||||
opencli config update mail_username stefan@example.net
|
||||
```
|
||||
```bash
|
||||
opencli config update mail_password strongpass1231
|
||||
```
|
||||
```bash
|
||||
opencli config update mail_default_sender stefan@example.net
|
||||
```
|
||||
|
||||
|
||||
### Daily Usage Reports
|
||||
|
||||
If email alerts are enabled, you will also receive Usage Reports:
|
||||
|
||||

|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Backups",
|
||||
"position": 6,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Backups
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Domains",
|
||||
"position": 4,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
102
website/versioned_docs/version-1.0.0/admin/domains/domains.md
Normal file
102
website/versioned_docs/version-1.0.0/admin/domains/domains.md
Normal file
@@ -0,0 +1,102 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Domains
|
||||
|
||||
Domains page displays all domains currently hosted on server.
|
||||
|
||||
|
||||
## List domains
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-domains-list" label="With OpenAdmin" default>
|
||||
|
||||
|
||||
To list all current domains navigate to Domains page:
|
||||
|
||||
|
||||
| Field | Description |
|
||||
| ------------------ | ------------------------------------------------------------------------- |
|
||||
| **ID** | ID of the domain in database. |
|
||||
| **Domain Name** | The domain name. |
|
||||
| **Owner** | User that added the domain. |
|
||||
| **DNS Zone** | View and edit DNS zone for domain. |
|
||||
| **Virtual Hosts** | View and edit Nginx configuration for a domain. |
|
||||
| **Access Logs** | View live access log for the domain. |
|
||||
| **Visitors Report** | Total number of domain names allowed per user on the plan. |
|
||||
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-domains-list" label="With OpenCLI">
|
||||
|
||||
To list all current domains run:
|
||||
|
||||
```bash
|
||||
opencli domains-all
|
||||
```
|
||||
|
||||
Example output:
|
||||
```bash
|
||||
opencli domains-all
|
||||
stefan.openpanel.org
|
||||
pejcic.rs
|
||||
nesto.com
|
||||
pcx3.com
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Add domain
|
||||
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-domain-new" label="With OpenAdmin" default>
|
||||
|
||||
Domains can only be added [from the user interface](/docs/panel/domains/#adding-a-domain).
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-domain-new" label="With OpenCLI">
|
||||
|
||||
To create a new plan run the following command:
|
||||
|
||||
```bash
|
||||
opencli domains-add <DOMAIN_NAME> <USERNAME> [--debug]
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
root@stefan:/usr/local/admin# opencli domains-add pejcci.rs wzs11p2i --debug
|
||||
Checking if domain already exists on the server
|
||||
Adding pejcci.rs to the domains database
|
||||
Purging cached list of domains for the account
|
||||
Creating document root directory /home/wzs11p2i/pejcci.rs
|
||||
Checking webserver configuration
|
||||
Checking if default vhosts file exists for Nginx
|
||||
Checking IPv4 address for the account
|
||||
Creating /etc/nginx/sites-available/pejcci.rs.conf
|
||||
Restarting nginx to apply changes
|
||||
Creating vhosts proxy file for Nginx
|
||||
Webserver is running, reloading configuration
|
||||
Creating DNS zone file: /etc/bind/zones/pejcci.rs.zone
|
||||
DNS service is running, adding the zone
|
||||
Adding the newly created zone file to the DNS server
|
||||
Checking and setting nginx service to automatically start on reboot
|
||||
Starting service for the default PHP version 8.2
|
||||
Checking and setting PHP service to automatically start on reboot
|
||||
Checking and starting the ssl generation service
|
||||
Starting Let'sEncrypt SSL generation in background
|
||||
Domain pejcci.rs added successfully
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
## Move domain
|
||||
|
||||
This is currently not possible.
|
||||
|
||||
## Delete domain
|
||||
|
||||
Domains can currently be deleted only [from the user interface](/docs/panel/domains/#delete-a-domain).
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Emails",
|
||||
"position": 5,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
11
website/versioned_docs/version-1.0.0/admin/emails/emails.md
Normal file
11
website/versioned_docs/version-1.0.0/admin/emails/emails.md
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Emails
|
||||
|
||||
Emails page displays all email addresses on the server.
|
||||
|
||||
:::info
|
||||
Emails are only available on [OpenPanel Enterprise edition](/beta)
|
||||
:::
|
||||
@@ -0,0 +1,72 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# Email Settings
|
||||
|
||||
Email Settings allow Administrator to monitor email traffic and manage mail server.
|
||||
|
||||
:::info
|
||||
Emails are only available on [OpenPanel Enterprise edition](/beta)
|
||||
:::
|
||||
|
||||
|
||||
Settings page displays current mail server status and settings.
|
||||
|
||||

|
||||
|
||||
## MailServer Service
|
||||
|
||||
The status of the Mail Server service is displayed at the top of the page, where administrators can start, stop, or restart the service as needed.
|
||||
|
||||
The current status of the webmail client is shown under "Webmail Software," along with the total number of email accounts.
|
||||
|
||||

|
||||
|
||||
## MailServer Stack
|
||||
|
||||
Administrators can set and configure different services based on their needs:
|
||||
|
||||

|
||||
|
||||
Changes to this service will interrupt current email traffic and restart the mailserver.
|
||||
|
||||
Advanced users can edit the `/usr/local/mail/openmail/mailserver.env` and `/usr/local/mail/openmail/compose.yml` files directly through the interface.
|
||||
|
||||

|
||||
|
||||
|
||||
## Relay Hosts
|
||||
|
||||
An SMTP relay service (aka relay host / smarthost) is an MTA that relays (forwards) mail on behalf of third parties (it does not manage the mail domains).
|
||||
|
||||
You should only configure this when you have some external service for outgoing emails, like SMTP2GO or self-hosted Proxmox Mail Gateway.
|
||||
|
||||

|
||||
|
||||
## Webmail Client
|
||||
|
||||
Administrators can choose the Webmail client for their users to use on configured domain.
|
||||
|
||||

|
||||
|
||||
|
||||
Available options are:
|
||||
|
||||
- Roundcube
|
||||
- SOGo
|
||||
- SnappyMail
|
||||
|
||||
Only one service can be active at a time.
|
||||
|
||||
## Webmail Domain
|
||||
|
||||
By default the webmail client is available on `IP:8080`. Administrators can set a custom domain name to be used for the webmail.
|
||||
|
||||

|
||||
|
||||
Domain should be added in format `name.tld` example: webmail.hosting.com or webmail-hosting.com - without the http or https prefix.
|
||||
|
||||
`/webmail` on every domain added to the server will redirect to this webmail domain.
|
||||
|
||||
|
||||
12
website/versioned_docs/version-1.0.0/admin/emails/summary.md
Normal file
12
website/versioned_docs/version-1.0.0/admin/emails/summary.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Summary Reports
|
||||
|
||||
Email Summary Reports show daily and monthly reports for all outgoing emails on the server.
|
||||
|
||||
:::info
|
||||
Emails are only available on [OpenPanel Enterprise edition](/beta)
|
||||
:::
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Plans",
|
||||
"position": 3,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Change plan for a user
|
||||
|
||||
You can control the memory, CPUs, and disk space the docker container uses, and you can specify whether or not Kubernetes is supported. You can change the CPUs and memory on an existing docker container on the fly without any downtime.
|
||||
|
||||
To change a hosting plan (package) for an account click on 'Edit information' for that user and in the new modal select the new plan name then click on 'Save changes'.
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
If you need more disk space, you have to create a new docker container. Unfortunately **you can’t resize the existing docker container’s disk**.
|
||||
|
||||
This is a limitation with the Docker service itself, and not with OpenPanel. Support for resizing existing docker images is on the way.
|
||||
|
||||
You can [increase the size of the devicemapper partition for the docker container](https://pcx3.com/linux/how-to-increase-docker-container-disk-size-devicemapper/), but please note that the change is not permanent and will be reverted on server reboot.
|
||||
|
||||
|
||||
When changing a plan for the user, the disk size value from the new plan is simply ignored. The value is used only for new user accounts.
|
||||
@@ -0,0 +1,175 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Hosting Plans
|
||||
|
||||
Hosting plans outline the available services and limitations for users. [Docker images](https://dev.openpanel.co/images/) specify the pre-installed services for a plan. [Enabled Features](/docs/admin/settings/openpanel/#enable-features) determine which pages users can access from the OpenPanel interface.
|
||||
|
||||
|
||||
## List hosting plans
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-plan-list" label="With OpenAdmin" default>
|
||||
|
||||
|
||||
To list existing plans navigate to Plans page:
|
||||
|
||||

|
||||
|
||||
| Field | Description |
|
||||
| ------------------ | ------------------------------------------------------------------------- |
|
||||
| **ID** | Unique ID for the plan. |
|
||||
| **Plan Name** | Display name that users will see in their OpenPanel dashboards. |
|
||||
| **Description** | Visible only to administrators. |
|
||||
| **Image** | Name of the Docker image used when creating new accounts on the plan. |
|
||||
| **Docker Size** | Disk space allocated for the user's container . |
|
||||
| **Storage** | Disk space allocated for user's websites files *(/home/user/ directory)*. |
|
||||
| **Domains** | Total number of domain names allowed per user on the plan. |
|
||||
| **Websites** | Total number of websites (WordPress, NodeJS, Python) per user on the plan. |
|
||||
| **Databases** | Total number of MySQL databases allowed per user on the plan. |
|
||||
| **CPU** | Number of CPU cores dedicated to the user on this hosting plan. |
|
||||
| **RAM** | Physical Memory (RAM) in GB allocated to the user on this hosting plan. |
|
||||
| **Port Speed** | Maximum post speed for users in mbit/s. |
|
||||
| **Inodes Limit** | *(DEPRECATED)* Limits the total number of files allowed in the container. |
|
||||
|
||||
|
||||
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-plan-list" label="With OpenCLI">
|
||||
|
||||
To list all current hosting packages (plans) run:
|
||||
|
||||
```bash
|
||||
opencli plan-list
|
||||
```
|
||||
|
||||
Example output:
|
||||
```bash
|
||||
opencli plan-list
|
||||
+----+-----------------+------------------------+---------------+----------------+------------+--------------+----------+------+------+-----------------+-----------+
|
||||
| id | name | description | domains_limit | websites_limit | disk_limit | inodes_limit | db_limit | cpu | ram | docker_image | bandwidth |
|
||||
+----+-----------------+------------------------+---------------+----------------+------------+--------------+----------+------+------+-----------------+-----------+
|
||||
| 1 | cloud_4_nginx | 20gb space and Nginx | 0 | 10 | 20 GB | 1000000 | 0 | 4 | 4g | dev_plan_nginx | 100 |
|
||||
| 2 | cloud_4_apache | 20gb space and Apache | 0 | 10 | 20 GB | 1000000 | 0 | 4 | 4g | dev_plan_apache | 100 |
|
||||
| 3 | cloud_8_nginx | 80gb space and Nginx | 0 | 50 | 80 GB | 2000000 | 0 | 8 | 8g | dev_plan_nginx | 200 |
|
||||
| 4 | cloud_8_apache | 80gb space and Apache | 0 | 50 | 80 GB | 2000000 | 0 | 8 | 8g | dev_plan_apache | 200 |
|
||||
+----+-----------------+------------------------+---------------+----------------+------------+--------------+----------+------+------+-----------------+-----------+
|
||||
```
|
||||
|
||||
You can also format the data as JSON:
|
||||
|
||||
```bash
|
||||
opencli plan-list --json
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Create a plan
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-plan-new" label="With OpenAdmin" default>
|
||||
|
||||
To create a new hosting plan click on the 'Create new plan' button and set the desired limits for the plan.
|
||||
|
||||

|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-plan-new" label="With OpenCLI">
|
||||
|
||||
To create a new plan run the following command:
|
||||
|
||||
```bash
|
||||
opencli plan-create <NAME> <DESCRIPTION> <DOMAINS_LIMIT> <WEBSITES_LIMIT> <DISK_LIMIT> <INODES_LIMITS> <DATABASES_LIMIT> <CPU_LIMIT> <RAM_LIMIT> <DOCKER_IMAGE> <PORT_SPEED_LIMIT>
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
opencli plan-create cloud_8 "Custom plan with 8GB of RAM&CPU" 0 0 15 500000 0 8 8 nginx 200
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
## Change user plan
|
||||
|
||||
Please visit [this page](/docs/admin/plans/change-plan-for-user)
|
||||
|
||||
## Modify plan
|
||||
|
||||
To change plan limits click on the edit button for the plan and set the new limits.
|
||||
|
||||
|
||||
Step 1. | Step 2.
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
The new limits will be applied immediately to all accounts.
|
||||
|
||||
## List Users on Plan
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-plan-usage" label="With OpenAdmin" default>
|
||||
|
||||
To view all users that are currently using a hosting plan, simply sort the users table by that plan name, or in the search fields type the plan name.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-plan-usage" label="With OpenCLI">
|
||||
|
||||
List all users that are currently using a plan:
|
||||
|
||||
```bash
|
||||
opencli plan-usage
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
opencli plan-usage 2
|
||||
+----+----------+-------+----------------+---------------------+
|
||||
| id | username | email | plan_name | registered_date |
|
||||
+----+----------+-------+----------------+---------------------+
|
||||
| 2 | rasa | rasa | cloud_4_apache | 2023-11-30 10:33:52 |
|
||||
| 3 | aas | aas | cloud_4_apache | 2023-11-30 12:01:49 |
|
||||
+----+----------+-------+----------------+---------------------+
|
||||
```
|
||||
|
||||
You can also format the data as JSON:
|
||||
|
||||
```bash
|
||||
opencli plan-usage --json
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Delete Plan
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-plan-delete" label="With OpenAdmin" default>
|
||||
|
||||
To delete a hosting plan click on the delete button next to the plan name.
|
||||
|
||||
Step 1. | Step 2.
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-plan-delete" label="With OpenCLI">
|
||||
|
||||
To delete a hosting plan:
|
||||
|
||||
```bash
|
||||
opencli plan-delete <PLAN_NAME>
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
opencli plan-delete 32
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
NOTE: Plan can not be deleted if it has users assigned.
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Security",
|
||||
"position": 8,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
166
website/versioned_docs/version-1.0.0/admin/security/firewall.md
Normal file
166
website/versioned_docs/version-1.0.0/admin/security/firewall.md
Normal file
@@ -0,0 +1,166 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Firewall
|
||||
|
||||
View and edit firewall rules.
|
||||
|
||||
OpenPanel supports both ConfigServer Firewall (CSF) and Uncomplicated Firewall (UFW). By default, CSF is installed, but you can choose to install UFW instead by [using the `--ufw` option during installation](/install).
|
||||
|
||||
Based on the installed firewall, the **OpenAdmin > Firewall** page will display either the ConfigServer Firewall UI or the custom UFW interface.
|
||||
|
||||
|
||||
## CSF
|
||||
|
||||
If ConfigServer Security & Firewall (CSF) is installed, it's integrated UI will be displayed on **OpenAdmin > Firewall**.
|
||||
|
||||
For instructions on how to use the CSF UI, please refer to [ConfigServer Security & Firewall official documentation](https://download.configserver.com/csf/readme.txt).
|
||||
|
||||

|
||||
|
||||
If you need to re-open all necessary ports for OpenPanel services and users, run the command: `opencli firewall-reset`.
|
||||
|
||||
## UFW
|
||||
|
||||
If Uncomplicated Firewall (UFW) is installed, our custom interface will be displayed on **OpenAdmin > Firewall**.
|
||||
|
||||

|
||||
|
||||
The firewall settings page provides multiple tabs:
|
||||
|
||||
- IPv4 - View and manage IPv4 firewall rules
|
||||
- IPv6 - View and manage IPv6 firewall rules
|
||||
- Settings - Manage UFW settings
|
||||
- Blacklists - Enable/disable blacklists
|
||||
- Logs - view the UFW service log
|
||||
|
||||
### View rules
|
||||
|
||||
The table shows firewall rules, showcasing information such as rule ID, action, ports, source/destination IP, and the username of the user utilizing the port.
|
||||
For IPv6 rules, navigate to the IPv6 tab.
|
||||
|
||||

|
||||
|
||||
### Add Rules
|
||||
|
||||
To create a new rule click on the 'Add Rule' button and in the modal choose 'ALLOW' to allow the IP address or port, and 'DENY' to block access for IP address or port.
|
||||
|
||||

|
||||
|
||||
### Delete Rules
|
||||
|
||||
To delete a rule click on the 'Delete' link next to it, and in the confirmation modal click on 'Delete' button.
|
||||
|
||||

|
||||
|
||||
### Settings
|
||||
|
||||
This tab displays the current UFW settings and allows you to configure them.
|
||||
|
||||
It shows the current service status and provides options to enable or disable the firewall.
|
||||
|
||||

|
||||
|
||||
The following settings are available:
|
||||
|
||||
- **Enable IPV6** - Set to yes to apply rules to support IPv6 (no means only IPv6 on loopback accepted). You will need to 'disable' and then 'enable' the firewall for the changes to take affect.
|
||||
- **Default Input Policy** - Set the default input policy to ACCEPT, DROP, or REJECT. Please note that if you change this you will most likely want to adjust your rules.
|
||||
- **Default Output Policy** - Set the default input policy to ACCEPT, DROP, or REJECT. Please note that if you change this you will most likely want to adjust your rules.
|
||||
- **Allow ping (IPMI)** - By default, UFW allows ping requests. You can leave (icmp) ping requests enabled to diagnose networking problems.
|
||||
|
||||
The following tools are available:
|
||||
|
||||
- **Export IPv4 rules** - click to download all existing IPv4 rules form the UFW service.
|
||||
- **Export IPv6 rules** - click to download all existing IPv6 rules form the UFW service.
|
||||
- **Restrict access to Cloudflare only** - block access to this server for traffic not coming from [Cloudflare IP addresses](https://www.cloudflare.com/ips/). This will prevent direct access to the server IP and only allow traffic from Cloudflare network. This is useful when your domains are configured to use the Cloudflare proxy, and you want to block direct access that bypasses Cloudflare's protection. **NOTE: This setting affects all users and their services.**
|
||||
- **Reset ports for all users** - delete all existing UFW rules and open ports required by OpenPanel, plus custom ports for users.
|
||||
|
||||
|
||||
### Blacklists
|
||||
|
||||
Unless the [`--skip-blacklists` flag](/install) is provided during the installation of OpenPanel, ipset-blacklists are automatically installed when the [`--ufw` flag](/install) is used.
|
||||
|
||||
From the **OpenAdmin > Security > Firewall > Blacklists** page, administrators can easily add blacklists to block IP addresses from known malicious sources.
|
||||
|
||||
This feature utilizes the [ipset-blacklist](https://github.com/stefanpejcic/ipset-blacklist) service to automate the process of fetching and blocking IPs, providing a straightforward and effective method to enhance system security without manual intervention.
|
||||
|
||||

|
||||
|
||||
Default blacklists:
|
||||
|
||||
| Blacklist | URL |
|
||||
|-----------------|----------------------------------------------------------------------|
|
||||
| AbuseIPDB (DISABLED) | [https://api.abuseipdb.com/api/v2/blacklist](https://api.abuseipdb.com/api/v2/blacklist) |
|
||||
| OpenPanel | [https://api.openpanel.co/blocklist.txt](https://api.openpanel.co/blocklist.txt) |
|
||||
| Spamhaus DROP | [https://www.spamhaus.org/drop/drop.lasso](https://www.spamhaus.org/drop/drop.lasso) |
|
||||
| Spamhaus DROP | [https://www.spamhaus.org/drop/edrop.lasso](https://www.spamhaus.org/drop/edrop.lasso) |
|
||||
| DShield | [https://www.dshield.org/feeds/suspiciousdomains_Low.txt](https://www.dshield.org/feeds/suspiciousdomains_Low.txt) |
|
||||
| FireHOL level1 | [https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level1.netset](https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level1.netset) |
|
||||
| FireHOL level2 | [https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level2.netset](https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level2.netset) |
|
||||
| FireHOL level3 | [https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level3.netset](https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level3.netset) |
|
||||
| FireHOL level4 | [https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level4.netset](https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level4.netset) |
|
||||
| Binary Defense | [https://www.binarydefense.com/banlist.txt](https://www.binarydefense.com/banlist.txt) |
|
||||
| blocklist.de | [https://lists.blocklist.de/lists/all.txt](https://lists.blocklist.de/lists/all.txt) |
|
||||
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-ufw-rbl" label="With OpenAdmin" default>
|
||||
|
||||
To enable or disable a blacklist in the OpenAdmin interface, click the 'Actions' button for the desired list, then select 'Enable' or 'Disable'.
|
||||
|
||||
To delete a blacklist from the OpenAdmin interface, click the 'Actions' button for the desired list, then select 'Delete'.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-yfw-rbl" label="With OpenCLI">
|
||||
|
||||
To manage blacklists from the terminal:
|
||||
|
||||
Download new IP addresses for all enabled blocklists:
|
||||
```bash
|
||||
opencli blacklist --fetch
|
||||
```
|
||||
|
||||
Update all ipsets rules and reload UFW service:
|
||||
```bash
|
||||
opencli blacklist --update_ufw
|
||||
```
|
||||
|
||||
Add a new blacklist:
|
||||
```bash
|
||||
opencli blacklist --add-blacklist name=<name> url=<url>
|
||||
```
|
||||
|
||||
Enable a blacklist:
|
||||
```bash
|
||||
opencli blacklist --enable-blacklist=<name>
|
||||
```
|
||||
|
||||
Disable a blacklist:
|
||||
```bash
|
||||
opencli blacklist --disable-blacklist=<name>
|
||||
```
|
||||
|
||||
Delete a blacklist:
|
||||
```bash
|
||||
opencli blacklist --delete-blacklist=<name>
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
|
||||
### View logs
|
||||
|
||||
For logs, navigate to the 'Logs' tab.
|
||||
|
||||

|
||||
|
||||
|
||||
## External Firewall
|
||||
|
||||
Some cloud providers, like [Hetzner](https://docs.hetzner.com/robot/dedicated-server/firewall/), offer their own external firewalls. If you are using an external firewall, ensure the following ports are open for OpenPanel services to be accessible: `53` `80` `443` `2083` `2087` `32768:60999`
|
||||
|
||||
If you are [using a custom port for OpenPanel instead of the default 2083](/docs/admin/settings/general/#change-openpanel-port), ensure that port is open as well.
|
||||
|
||||
51
website/versioned_docs/version-1.0.0/admin/security/waf.md
Normal file
51
website/versioned_docs/version-1.0.0/admin/security/waf.md
Normal file
@@ -0,0 +1,51 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# WAF
|
||||
|
||||
Install ModSecurity and enable it for user domains.
|
||||
|
||||
The Settings > ModSecurity page allows you to install ModSecurity for Nginx and configures the [OWASP core ruleset](https://owasp.org/www-project-modsecurity-core-rule-set/)
|
||||
|
||||
The OWASP ModSecurity Core Rule Set (CRS) is a set of generic attack detection rules for use with ModSecurity that will increase the security of user domains and websites.
|
||||
|
||||
## Install ModSecurity
|
||||
|
||||
Upon the initial access to the ModSecurity page, you will be prompted to install the ModSecurity plugin.
|
||||
|
||||
:::danger
|
||||
The installation process may require up to 10 minutes and involves rebuilding the Nginx configuration. It's important to note that any customizations to the service will be permanently removed during this process. It is advisable to perform the installation during off-peak hours to minimize the risk of causing downtime for websites.
|
||||
:::
|
||||
|
||||
To install ModSecurity click on the 'Install' button.
|
||||
|
||||

|
||||
|
||||
Or from terminal run: [opencli nginx-install_modsec](/docs/admin/scripts/webserver#install-modsecurity)
|
||||
|
||||
## Activate ModSecurity
|
||||
|
||||
Upon ModSecurity installation, all new domains will have ModSecurity enabled by default. However, individual users can choose to disable ModSecurity for their domains at any time through their OpenPanel interface. [More information](/docs/panel/advanced/server_settings#modsecurity-settings)
|
||||
|
||||
|
||||
## Customize ModSecurity rules
|
||||
|
||||
Adjusting ModSecurity rules means fine-tuning security settings for your specific needs, giving administrators the power to better protect against specific threats and reduce false positives.
|
||||
|
||||
You can follow user-friendly guides to easily customize ModSecurity rules, adapting security settings to your specific needs.
|
||||
|
||||
- [Nginx Docs: Using the OWASP CRS with the NGINX ModSecurity WAF](https://docs.nginx.com/nginx-waf/admin-guide/nginx-plus-modsecurity-waf-owasp-crs/)
|
||||
- [Nginx Docs: Using the ModSecurity Rules from Trustwave SpiderLabs with the NGINX ModSecurity WAF](https://docs.nginx.com/nginx-waf/admin-guide/nginx-plus-modsecurity-waf-trustwave-spiderlabs-rules/)
|
||||
- [ModSecurity Documentation](https://github.com/SpiderLabs/ModSecurity/wiki)
|
||||
- [ProSec Blog: Modsecurity Core Rule Sets and Custom Rules](https://www.prosec-networks.com/en/blog/modsecurity-core-rule-sets-und-eigene-regeln/)
|
||||
|
||||
## Enable ModSecurity for existing domains
|
||||
|
||||
After installing ModSecurity only new domains that users add will by default have ModSecurity activate, and for existing users this process can be performed by the administrator from this page or from each user panel individually. To enable ModSecurity on all domains owned by a user, select the user anc click on 'Enable' button.
|
||||
|
||||

|
||||
|
||||
Or from terminal run: [opencli domains-enable_modsec](/docs/admin/scripts/domains#enable-modsecurity)
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Server",
|
||||
"position": 8,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Change Root Password
|
||||
|
||||
*OpenAdmin > Server > Change Root Password* allows Administrators to change password for the ssh root user.
|
||||
|
||||

|
||||
20
website/versioned_docs/version-1.0.0/admin/server/crons.md
Normal file
20
website/versioned_docs/version-1.0.0/admin/server/crons.md
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
# Cron jobs
|
||||
|
||||
*OpenAdmin > Server > OpenPanel Cron Jobs* allows Administrators to view scheduled crons for OpenAdmin and edit their schedule or enable/disable logging to `/etc/openpanel/openadmin/cron.log` file.
|
||||
|
||||

|
||||
|
||||
:::danger
|
||||
We recommend against editing the cronjobs!
|
||||
Editing the schedule or commands is not recommended, as it may render certain features inaccessible. This should only be done in cases where fine-tuning execution on servers with low resources is necessary, or when instructed by the OpenPanel support team. These are crons that OpenPanel uses. If you want to add custom cronjobs, you can safely [add them in crontab for the root user](https://www.google.com/search?q=linux+add+cron).
|
||||
:::
|
||||
|
||||
Cron format is:
|
||||
|
||||
```bash
|
||||
SCHEDULE USER COMMAND
|
||||
```
|
||||
28
website/versioned_docs/version-1.0.0/admin/server/ssh.md
Normal file
28
website/versioned_docs/version-1.0.0/admin/server/ssh.md
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# SSH Access
|
||||
|
||||
*OpenAdmin > Server > SSH Access* allows Administrators to view and modify current server SSH configuration.
|
||||
|
||||
### Basic SSH Settings
|
||||
|
||||

|
||||
|
||||
This page displays:
|
||||
|
||||
- **Port** - current SSH port
|
||||
- **PermitRootLogin** - allow login for *root* user
|
||||
- **PasswordAuthentication** - enable usage of passwords for ssh
|
||||
- **PubkeyAuthentication** - enable usage of ssh keys
|
||||
|
||||
You can change any value and click on the save button to apply.
|
||||
|
||||
### Advanced SSH Settings
|
||||
|
||||
Here you can edit the SSH configuration file: `/etc/ssh/sshd_config`
|
||||
|
||||
### Authorized SSH Keys
|
||||
|
||||
Here you can view current authorized ssh keys, remove them or add new key.
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# Server Time
|
||||
|
||||
*OpenAdmin > Server > Server Time* allows Administrators to view current server timezone and change it.
|
||||
|
||||

|
||||
|
||||
:::info
|
||||
After changing timezone, we recommend to restart the server or at least the OpenAdmin and Cron services: `systemctl restart admin cron`.
|
||||
:::
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Services",
|
||||
"position": 7,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
# Resource Allocation
|
||||
|
||||
:::info
|
||||
This feature is still experimental.
|
||||
:::
|
||||
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# Docker
|
||||
|
||||

|
||||
|
||||
|
||||
To download Docker images, click the "update images" button.
|
||||
|
||||
To remove an unnecessary image, click the delete button next to the image and confirm your action in the pop-up modal.
|
||||
|
||||
|
||||
## Docker images
|
||||
|
||||
Docker images serve as the foundation for OpenPanel user accounts, determining the technology stack available to the user.
|
||||
|
||||
|
||||
### Update images
|
||||
|
||||
Updating Docker images involves downloading the latest versions from the openpanel servers, and these updated images will be used only for new users. Existing users' setups will remain unaffected.
|
||||
|
||||
To update docker images click on the 'Update images' button:
|
||||

|
||||
|
||||
### Delete images
|
||||
|
||||
To remove an unnecessary image, click the delete button next to the image and confirm in the pop-up modal:
|
||||
|
||||
Step 1. | Step 2.
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
|
||||
:::info
|
||||
image can not be deleted if it is in use.
|
||||
:::
|
||||
|
||||
|
||||
### Add images
|
||||
|
||||
Currently images can only be added from terminal: [`docker pull`](https://docs.docker.com/reference/cli/docker/image/pull/)
|
||||
|
||||
## Docker info
|
||||
|
||||
To view current [docker system info](https://docs.docker.com/reference/cli/docker/system/info/) click on the  button:
|
||||
|
||||

|
||||
|
||||
|
||||
## Total Resource Usage
|
||||
|
||||
Under 'Docker Resource Usage Settings' you can configure the maximum memory and CPU percentages of server resources available for all users' Docker containers.
|
||||
|
||||

|
||||
|
||||
We advise against setting it above 90% ([BUG#117:Slow TTFB caused by the docker_limit.slice ckgroup ](https://github.com/stefanpejcic/OpenPanel/issues/117)).
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# Log Viewer
|
||||
|
||||
The *OpenAdmin > Services > View Log Files* feature enables Administrators to access and monitor logs for both OpenPanel and system services.
|
||||
|
||||

|
||||
|
||||
## How to View Log Files
|
||||
|
||||
Navigate to *Services > View Log Files*
|
||||
|
||||
Select the log file you would like to view and optionally number of lines from the file.
|
||||
|
||||
After selecting a log file, two new buttons appear under the log content:
|
||||
- *Delete* - will empty the file contents
|
||||
- *Download* - will download the entire log file to your browser.
|
||||
|
||||
|
||||
## How to add more files to OpenAdmin Log Viewer
|
||||
|
||||
This functionality supports modularity by allowing customization of the log files displayed in the viewer.
|
||||
|
||||
|
||||
List of default log files: https://raw.githubusercontent.com/stefanpejcic/openpanel-configuration/main/openadmin/config/log_paths.json
|
||||
|
||||
To define custom log files for the viewer:
|
||||
|
||||
1. Edit Configuration File:
|
||||
Modify the file located at `/etc/openpanel/openadmin/config/log_paths.json`. This file should contain entries in JSON format where each key-value pair represents a log file name and its corresponding path.
|
||||
|
||||
Here is an example of what the log_paths.json file might look like:
|
||||
Simply edit the file `/etc/openpanel/openadmin/config/log_paths.json` and in it set the desired log files and names:
|
||||
```json
|
||||
{
|
||||
"Nginx Access Log": "/var/log/nginx/access.log",
|
||||
"Nginx Error Log": "/var/log/nginx/access.log",
|
||||
"OpenAdmin Access Log": "/var/log/openpanel/admin/access.log",
|
||||
"OpenAdmin Error Log": "/var/log/openpanel/admin/error.log",
|
||||
"OpenAdmin API Log": "/var/log/openpanel/admin/api.log",
|
||||
"Custom Service Log": "/path/to/custom/service.log"
|
||||
"Syslog": "/var/log/syslog"
|
||||
}
|
||||
```
|
||||
Replace `/path/to/custom/service.log` with actual path to your custom log files.
|
||||
|
||||
2. Verify JSON Validity:
|
||||
Ensure that the log_paths.json file is formatted correctly as JSON. Any syntax errors in the JSON file will prevent the custom log files from appearing in the viewer.
|
||||
You can check the validity of your JSON file by using a command-line JSON processor like jq:
|
||||
```bash
|
||||
cat /etc/openpanel/openadmin/config/log_paths.json | jq
|
||||
```
|
||||
If the JSON is valid, `jq` will output the parsed JSON structure. If there are any errors, `jq` will indicate where the problem lies.
|
||||
|
||||
3. View Custom Logs in Viewer:
|
||||
After saving the changes, navigate to *OpenAdmin > Services > View Log Files* in the interface. The custom log files you specified in log_paths.json should now appear alongside the default logs.
|
||||
|
||||
By following these steps, you can effectively customize the log files displayed in the OpenAdmin log viewer according to your specific requirements. This flexibility allows you to monitor logs from both standard services and any custom applications or services you integrate with OpenPanel.
|
||||
|
||||
|
||||
142
website/versioned_docs/version-1.0.0/admin/services/nginx.md
Normal file
142
website/versioned_docs/version-1.0.0/admin/services/nginx.md
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Nginx Configuration
|
||||
|
||||
The *OpenAdmin > Services > Nginx Configuration* feature enables Administrators to view current Nginx status and edit configuration.
|
||||
|
||||

|
||||
|
||||
## How to View Nginx Configuration
|
||||
|
||||
Navigate to *Services > Nginx Configuration*
|
||||
|
||||
Displayed information:
|
||||
- *Status* - Current status of the Nginx service
|
||||
- *Version* - Current version
|
||||
- *Active Connections* - The current number of active client connections including Waiting connections.
|
||||
- *Virtual Hosts* - The current number of virtualhosts (domain) files.
|
||||
- *Modules* - Lists installed Nginx modules and compiled flags
|
||||
- *Current Reading Connections* - The current number of connections where nginx is reading the request header.
|
||||
- *Current Writing Connections* - The current number of connections where nginx is writing the response back to the client.
|
||||
- *Current Waiting Connections* - The current number of idle client connections waiting for a request.
|
||||
- *Total Accepted Connections* - The total number of accepted client connections since the Nginx service is active.
|
||||
- *Total Handled Connections* - The total number of handled connections. Generally, the parameter value is the same as accepts unless some resource limits have been reached (for example, the worker_connections limit).
|
||||
- *Total Requests* - The total number of client requests since the Nginx service is active.
|
||||
|
||||
## How to stop/start Nginx
|
||||
|
||||
Navigate to *Services > Nginx Configuration*
|
||||
|
||||
Under the 'Actions' section click on the button:
|
||||
|
||||
- *Start* - `docker exec nginx nginx start`
|
||||
- *Stop* - `docker exec nginx nginx stop`
|
||||
- *Restart* - `docker exec nginx nginx restart`
|
||||
- *Reload* - `docker exec nginx nginx reload`
|
||||
- *Validate* - `nginx -t`
|
||||
|
||||
|
||||
## How to edit Nginx Configuration
|
||||
|
||||
This section allows you to view and edit configuration for the Nginx webserver.
|
||||
|
||||
Select the configuration file you would like to view or edit.
|
||||
|
||||
After making changes click on the Save button.
|
||||
|
||||
OpenPanel automatically backs up the configuration file. It runs nginx -t to validate the changes; if successful, the webserver reloads, applying the new configuration instantly.
|
||||
|
||||
In case of an error in the configuration, OpenPanel displays the exact issue and reverts to the previous backup file.
|
||||
|
||||
|
||||
### nginx.conf
|
||||
nginx.conf is the main configuration file located in `/etc/nginx/nginx.conf` inside nginx container.
|
||||
|
||||
```bash
|
||||
/etc/openpanel/nginx/nginx.conf
|
||||
```
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
### Default VHost Template
|
||||
The default nginx configuration file (in nginx container: `/etc/nginx/sites-available/default`). This file is used for domains that are pointed to the server IP but not currently added by any OpenPanel user.
|
||||
|
||||
```bash
|
||||
/etc/openpanel/nginx/vhosts/default.conf
|
||||
```
|
||||

|
||||
|
||||
### Default Landing Page
|
||||
Landing page is displayed on domains that have no website yet.
|
||||
```bash
|
||||
/etc/openpanel/nginx/default_page.html
|
||||
```
|
||||

|
||||
|
||||
|
||||
### Suspended User Template
|
||||
Suspended User Template is displayed on every domain for a suspended user.
|
||||
```bash
|
||||
/etc/openpanel/nginx/suspended_user.html
|
||||
```
|
||||

|
||||
|
||||
|
||||
### Suspended Domain Template
|
||||
Suspended Domain Template is displayed on suspended domains.
|
||||
```bash
|
||||
/etc/openpanel/nginx/suspended_website.html
|
||||
```
|
||||

|
||||
|
||||
### Domain VHost Template
|
||||
This file is copied for every new domain added by OpenPanel users.
|
||||
```bash
|
||||
/etc/openpanel/nginx/vhosts/domain.conf
|
||||
```
|
||||

|
||||
|
||||
### Domain ModSecurity VHost Template
|
||||
If ModSecurity is installed on the server, this file is copied for every new domain added by OpenPanel users.
|
||||
```bash
|
||||
/etc/openpanel/nginx/vhosts/domain.conf_with_modsec
|
||||
```
|
||||

|
||||
|
||||
|
||||
### Domain Nginx Docker VHost Template
|
||||
For users with Nginx webserver, this file is copied inside their docker container for every new domain.
|
||||
```bash
|
||||
/etc/openpanel/nginx/vhosts/docker_nginx_domain.conf
|
||||
```
|
||||

|
||||
|
||||
### Domain Apache Docker VHost Template
|
||||
For users with Apache webserver, this file is copied inside their docker container for every new domain.
|
||||
```bash
|
||||
/etc/openpanel/nginx/vhosts/docker_apache_domain.conf
|
||||
```
|
||||

|
||||
|
||||
### OpenPanel Proxy
|
||||
This file affects all user domains and makes accessing services via user domains: `/openpanel` `/openadmin` `/webmail`
|
||||
```bash
|
||||
/etc/openpanel/nginx/vhosts/openpanel_proxy.conf
|
||||
```
|
||||

|
||||
|
||||
|
||||
### Error Pages
|
||||
These error pages are shown to visitors when the domain configuration file is malformed or no response from docker container.
|
||||
```bash
|
||||
/etc/openpanel/nginx/vhosts/error_pages/
|
||||
```
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Services Status
|
||||
|
||||
*OpenAdmin > Services > Status* allows Administrators to view current status and manage monitored system services or Docker containers.
|
||||
|
||||

|
||||
|
||||
To add custom services to the list, edit the `/etc/openpanel/openadmin/config/services.json` file.
|
||||
|
||||
Default OpenPanel services are actively monitored by the SentinelAI and on failure, OpenAdmin will automatically try to determinate the root cause and restart them. If you manually stop a service, you should also disable this feature from the [OpenAdmin Notifications](/docs/admin/notifications/) page.
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Settings",
|
||||
"position": 6,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# OpenAdmin
|
||||
|
||||
Manage admin users, enable features and disable admin interface.
|
||||
|
||||

|
||||
|
||||
The Settings > OpenAdmin page allows you to manage Admin users, enable/disable server-wide settings such as backups or domain access logs.
|
||||
|
||||
## Admin Users
|
||||
|
||||
For options on managing admin users please [visit this page](/docs/admin/users/openadmin).
|
||||
|
||||
## Enable Features
|
||||
|
||||
To enable a feature check it and click on save.
|
||||
|
||||
## Disable Admin Panel
|
||||
As an advanced security measure, you can temporarily disable access to the OpenAdmin interface. This will disable the admin panel and you can turn it back on when needed by executing the command `opencli admin on`
|
||||
|
||||
## Server Information Report
|
||||
Generate a report on server information and service status, and provide it when reaching out for support on [community.openpanel.co](https://community.openpanel.co/)
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# General Settings
|
||||
|
||||
Change ports, domain, enable ssl, etc.
|
||||
|
||||

|
||||
|
||||
The General Settings page enables you to edit settings that affect both admin and user panel:
|
||||
|
||||
- domain to access panels
|
||||
- ports to be used
|
||||
- update preferences
|
||||
|
||||
## Set domain for OpenPanel
|
||||
|
||||
To enable access to both OpenAdmin and OpenPanel through a domain name, such as srv.your-domain.com:2083, follow these three steps:
|
||||
|
||||
1. Set hostname:
|
||||
Set the desired subdomain as server hostname:
|
||||
```
|
||||
hostnamectl set-hostname server.example.net
|
||||
```
|
||||
2. Configure DNS:
|
||||
Point the subdomain to the public IP of the server.
|
||||
Use a tool such as https://www.whatsmydns.net/ to check that domain is pointed to server ip.
|
||||
|
||||
3. Set in General Settings
|
||||
Switch from IP to the domain name in *OpenAdmin > General Settings*.
|
||||
|
||||

|
||||
|
||||
## Set IP address for OpenPanel
|
||||
|
||||
To access OpenPanel and OpenAdmin via server public IP address, choose the "Server IP address" option and click save. The modification is immediate, redirecting you to the designated IP:2087 for the admin panel upon saving.
|
||||
|
||||

|
||||
|
||||
## Change OpenPanel port
|
||||
|
||||
Port configurations for OpenAdmin and OpenPanel interfaces can be modified from their default settings (2087 for OpenAdmin and 2083 for OpenPanel).
|
||||
|
||||

|
||||
|
||||
To change the port for the OpenPanel from the default `2083` to another value, you can easily set the desired port in the "OpenPanel Port" field.
|
||||
It's important to note that the port must fall within the range of 1000-33000.
|
||||
|
||||
## Change OpenAdmin port
|
||||
|
||||
:::info
|
||||
NOTE: Changing admin port from 2087 is currently not possible, as external tools such as WHMCS do not have option to set custom port.
|
||||
:::
|
||||
|
||||

|
||||
|
||||
|
||||
# Force HTTPS
|
||||
|
||||
Enabling the "Force HTTPS" option ensures that the panels are accessible via HTTPS, recommended for enhanced security features like CORS and header checks in the OpenPanel interface.
|
||||
To activate HTTPS, select the "Force HTTPS" option; to deactivate, simply uncheck it.
|
||||
|
||||
# Change /openpanel
|
||||
|
||||
By default, when users add a domain, the addition of "/openpanel" to the domain URL will redirect them to the OpenPanel interface. However, you have the flexibility to customize this, such as changing it to "/awesome," allowing users to access their OpenPanel via "their-domain.com/awesome".
|
||||
|
||||
To change the "/openpanel" to something else, simply set the value for the "OpenPanel is also available on:" field and click on save. Changes take effect instantly without service interruption.
|
||||

|
||||
|
||||
## Enable Updates
|
||||
|
||||
The Update Preferences section provides the option to enable or disable Auto updates and Auto patches. Patches involve minor updates aimed at fixing bugs without introducing new features. On the other hand, Updates encompass major updates that introduce new features, potentially impacting existing functionality.
|
||||
|
||||

|
||||
|
||||
Examples:
|
||||
- Autoupdate: 1.0.2 will **NOT** be updated to 1.0.3 BUT 1.0.2 will be updated to 2.0.0
|
||||
- Autopatch: 1.0.2 will be updated to 1.0.3 BUT 1.0.2 will **NOT** be updated to 2.0.0
|
||||
163
website/versioned_docs/version-1.0.0/admin/settings/openpanel.md
Normal file
163
website/versioned_docs/version-1.0.0/admin/settings/openpanel.md
Normal file
@@ -0,0 +1,163 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# OpenPanel
|
||||
|
||||
Edit nameservers, disable features and more.
|
||||
|
||||

|
||||
|
||||
The OpenPanel Settings page allows you to edit settings and features available to users in their OpenPanel interface.
|
||||
|
||||
## Branding
|
||||
|
||||
To set a custom name visible in the OpenPanel sidebar and on login pages, enter the desired name in the "Brand name" option. Alternatively, to display a logo instead, provide the URL in the "Logo image" field and save the changes.
|
||||
|
||||
## Set nameservers
|
||||
|
||||
Before adding any domains its important to first create nameservers so that added domains will have valid dns zone files and be able to propagate.
|
||||
|
||||
Configuring nameservers involves two steps:
|
||||
|
||||
1. Create private nameservers (glue DNS records) for the domain through your domain registry.
|
||||
2. Add the nameservers into the OpenPanel configuration.
|
||||
|
||||
Here are tutorials for some popular domain providers:
|
||||
- [Cloudflare](https://developers.cloudflare.com/dns/additional-options/custom-nameservers/zone-custom-nameservers/)
|
||||
- [GoDaddy](https://uk.godaddy.com/help/add-custom-hostnames-12320)
|
||||
- [NameCheap](https://www.namecheap.com/support/knowledgebase/article.aspx/768/10/how-do-i-register-personal-nameservers-for-my-domain/#:~:text=Click%20on%20the%20Manage%20option,5.)
|
||||
|
||||
To add nameservers from OpenAdmin navigate to Settings > OpenPanel and set nameservers in ns1 and ns2 fields and click on save:
|
||||
|
||||

|
||||
|
||||
Or from terminal run commands:
|
||||
```bash
|
||||
opencli config update ns1 your_ns1.domain.com
|
||||
opencli config update ns2 your_ns2.domain.com
|
||||
```
|
||||
|
||||
:::info
|
||||
After creating nameservers it can take up to 12h for the records to be globally accessible. Use a tool such as [whatsmydns.net](https://www.whatsmydns.net/) to monitor the status.
|
||||
|
||||
If you still experience problems after the propagation process, then please check this guide: [dns server not responding to requests](https://community.openpanel.co/d/5-dns-server-does-not-respond-to-request-for-domain-zone).
|
||||
:::
|
||||
|
||||
|
||||
## Enable Features
|
||||
|
||||
Administrators have the ability to enable or disable each feature (page) in the OpenPanel interface. To activate a feature, select it in the "Enable Features" section and click save. The change is immediate and restarts OpenPanel service.
|
||||
|
||||
Once enabled, the feature becomes instantly available to all users, appearing in the OpenPanel interface sidebar, search results, and dashboard icons.
|
||||
|
||||

|
||||
|
||||
### DNS
|
||||
DNS feature enables the [Domains > Edit DNS Zone](/docs/panel/domains/dns) feature for users to edit DNS records.
|
||||
|
||||
### Notifications
|
||||
Notifications allows users to edit their [Notifications Preferences](/docs/panel/account/notifications/) and receive emails.
|
||||
|
||||
### Favorites
|
||||
Favorites allows users to bookmark pages to [Favorites](/docs/panel/dashboard/#favorites).
|
||||
|
||||
### phpMyAdmin
|
||||
The phpMyAdmin feature allows users to access [phpMyAdmin](/docs/panel/databases/phpmyadmin/) with automatic login directly from the OpenPanel interface. When enabled, links to phpMyAdmin are added for each website in the [SiteManager](/docs/panel/applications/) and for every database on the [Databases](/docs/panel/databases/) page.
|
||||
|
||||
### temporary_links
|
||||
The temporary_links feature adds a 'Preview' button to websites in the SiteManager allowing users to [preview their site using a temporary openpanel.org subdomain for 15 minutes](/docs/panel/applications/wordpress/#preview-with-temporary-link). This is useful for testing when the domain's DNS is not yet pointed to the server or when the domain lacks an SSL certificate.
|
||||
|
||||
### SSH
|
||||
SSH feature enables the [SSH](//docs/panel/advanced/ssh/) page where users can enable/disable remote SSH access, view ssh port and change root password.
|
||||
|
||||
### Crons
|
||||
Crons feature enables the [Cronjobs](/dodocs/panel/advanced/cronjobs/) page where users can edit cronjobs via interface or directly edit the crontab file via text editor.
|
||||
|
||||
### Backups
|
||||
Backups feature enables users to access the [Files > Backups](/docs/panel/files/backups/) page where they can view current backups, restore or download them.
|
||||
|
||||
### WordPress
|
||||
WordPress feature [adds WordPress to the AutoInstaller](/docs/panel/applications/) and allows users to manage WordPress websites using the [SiteManager interface](/docs/panel/applications/wordpress/#wp-manager-overview).
|
||||
|
||||
### PM2
|
||||
PM2 feature [adds NodeJS and Python Applications to the AutoInstaller](//docs/panel/applications/pm2/) and allows users to manage Python/NodeJS websites using the SiteManager interface.
|
||||
|
||||
### Mautic
|
||||
Mautic feature [adds Mautic to the AutoInstaller](/docs/panel/applications/) and allows users to manage Mautic websites from the SiteManager interface.
|
||||
|
||||
### Flarum
|
||||
Flarum feature [adds Flarum to the AutoInstaller](/docs/panel/applications/) and allows users to manage WordPress websites from the SiteManager interface.
|
||||
|
||||
### Redis
|
||||
Redis feature enables the [REDIS page](/docs/panel/caching/Redis/) where users can view REDIS port (`6379`), view logs, set memory limits and enable/disable service.
|
||||
|
||||
### Memcached
|
||||
Memcached feature enables the [Memcached page](/docs/panel/caching/Memcached/) where users can view Memcached port (`11211`), view logs, set memory limits and enable/disable service.
|
||||
|
||||
### ElasticSearch
|
||||
Memcached feature enables the [ElasticSearch page](/docs/panel/caching/elasticsearch/) where users can view ElasticSearch port (`9200`), view logs, set memory limits and enable/disable service.
|
||||
|
||||
### Resource Usage
|
||||
usage feature enables the [Resource Usage page](/docs/panel/analytics/resource_usage/) where users can view real-time information about the server's CPU and RAM usage.
|
||||
|
||||
### WebTerminal
|
||||
terminal feature enables the [WebTerminal page](/docs/panel/advanced/terminal/) where users can open web terminal or create a temporary session for 3rd parties.
|
||||
|
||||
### Services
|
||||
Services feature enables the [Server > Services Status page](docs/panel/advanced/server_settings/#service-status) where users can view their installed services, their current status and versions.
|
||||
|
||||
### Configuration Editor
|
||||
webserver feature enables the [Server > Nginx/Apache Configuration Editor page](/docs/panel/advanced/server_settings/#nginx--apache-settings) where users can edit the main configuration file for their webserver. Users with Nginx can edit nginx.conf file and users with Apache webserver edit the apache2.conf file.
|
||||
|
||||
### Process Manager
|
||||
process_manager feature enables the [Advanced > Process Manager](/docs/panel/advanced/process_manager/) page where users can view all running processes and kill (force stop the process).
|
||||
|
||||
### IP Blocker
|
||||
ip_blocker feature enables the [IP Blocker](/docs/panel/advanced/ip_blocker) page where users can block IP addresses per domain name.
|
||||
|
||||
### Login History
|
||||
login_history feature enables the [Account > Login History page](/docs/panel/account/login_history/) where users can view up to 10 last logins.
|
||||
|
||||
### Activity Log
|
||||
activity feature enables the [Account > Activity page](/docs/panel/analytics/account_activity/) where users can view their activity log.
|
||||
|
||||
### 2FA
|
||||
twofa feature enables the [Account > Two-Factor Authentication page](/docs/panel/account/2fa/) where users can enable or disable 2FA for enhanced security.
|
||||
|
||||
### Domain Visitors
|
||||
domains_visitors feature enables the [Analytics > Domain Visitors page](/docs/panel/account/2fa/) where users can view generated HTML reports from their domains access logs.
|
||||
|
||||
### Disk Usage
|
||||
disk_usage feature enables the [Files > Disk Usage page](//docs/panel/files/disk_usage/) where users can view disk usage per directory.
|
||||
|
||||
### Inodes Explorer
|
||||
inodes feature enables the [Files > Inodes Explorer page](//docs/panel/files/inodes_explorer/) where users can view their number of inodes per directory.
|
||||
|
||||
### Fix Permissions
|
||||
fix_permissions feature enables the [Files > Fix Permissions page](/docs/panel/files/fix_permissions/) where users can fix permissions and ownership issues per directory.
|
||||
|
||||
### FTP
|
||||
FTP feature [adds Files > FTP page](/docs/panel/files/FTP/) which allows users to create and manage FTP accounts.
|
||||
|
||||
### Malware Scanner
|
||||
malware_scan feature adds [Malware Scanner](/docs/panel/files/malware-scanner/) page to the Files section, where user can scan files using the [ClamAV®](https://www.clamav.net/) scanner.
|
||||
|
||||
|
||||
|
||||
## Other settings
|
||||
|
||||
Additional settings available in the Settings > OpenPanel page include:
|
||||
|
||||
- **Logout URL:** Set the URL for redirecting users upon logout from the OpenPanel.
|
||||
- **Avatar Type:** Choose to display Gravatar, Letter, or Icon as avatars for users.
|
||||
- **Resource Usage Charts:** Opt to display 1, 2, or no charts on the Resource Usage page.
|
||||
- **Default PHP Version:** Specify the default PHP version for domains added by users (users can override this setting).
|
||||
- **Enable Password Reset:** Activate password reset on login forms (not recommended).
|
||||
- **Display 2FA Nag:** Show a message in users' dashboards encouraging them to set up 2FA for added security.
|
||||
- **Display How-to Guides:** Display how-to articles for users in their dashboard pages.
|
||||
- **Login Records:** Set the number of login records to keep for each user.
|
||||
- **Activities per Page:** Specify the number of activity items to display per page.
|
||||
- **Usage per Page:** Specify the number of Resource Usage items to display per page.
|
||||
- **Usage Retention:** Set the number of Resource Usage items to keep for each user.
|
||||
- **Domains per Page:** Specify the number of domains to display per page.
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Users",
|
||||
"position": 2,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
204
website/versioned_docs/version-1.0.0/admin/users/openadmin.md
Normal file
204
website/versioned_docs/version-1.0.0/admin/users/openadmin.md
Normal file
@@ -0,0 +1,204 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
# OpenAdmin Users
|
||||
|
||||
The admin panel has two user roles:
|
||||
|
||||
|
||||
| Role | Description |
|
||||
| ------------------ | ------------------------------------------------------------------------- |
|
||||
| **Super Admin** | Has unrestricted privileges, created on OpenPanel installation. |
|
||||
| **Admin** | Can not edit the SuperAdmin user, created from OpenAdmin or OpenCLI. |
|
||||
|
||||
|
||||
## Manage Admin users
|
||||
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-admin-users" label="With OpenAdmin" default>
|
||||
|
||||
Use *Settings > OpenAdmin* page to manage admin users that can access OpenAdmin interface:
|
||||
|
||||

|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI" label="With OpenCLI">
|
||||
|
||||
To list admin users use command:
|
||||
|
||||
```bash
|
||||
opencli admin list
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Reset Admin Password
|
||||
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-admin-reset" label="With OpenAdmin" default>
|
||||
|
||||
To reset admin password click on the Edit button for that user from *Settings > OpenAdmin* page, then set the new password.
|
||||
|
||||

|
||||
|
||||
</TabItem>
|
||||
<TabItem value="cli-reset" label="With OpenCLI">
|
||||
|
||||
To reset the password for an admin user:
|
||||
|
||||
```bash
|
||||
opencli admin password <username> <new_password>
|
||||
```
|
||||
|
||||
Example, reset password for Super Admin user:
|
||||
```bash
|
||||
opencli admin password admin Pyl7_L2M1
|
||||
```
|
||||
|
||||
Example, reset password for regular Admin user:
|
||||
```bash
|
||||
opencli admin password filip Pyl7_L2M1
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
## Create new Admin
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-admin-new" label="With OpenAdmin" default>
|
||||
|
||||
To create new admin user click on the 'New' button in *Settings > OpenAdmin* page, set the username and password and click on *Save*.
|
||||
|
||||

|
||||
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="cli-new" label="With OpenCLI">
|
||||
|
||||
To create new admin accounts:
|
||||
|
||||
```bash
|
||||
opencli admin new <username> <password>
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
opencli admin new filip Pyl7_L2M1
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Rename Admin user
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-admin-rename" label="With OpenAdmin" default>
|
||||
|
||||
To rename an Admin user, select the user on **Settings > OpenAdmin** page and click on the Edit button and set new username.
|
||||
|
||||

|
||||
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="cli-rename" label="With OpenCLI">
|
||||
|
||||
To rename admin user:
|
||||
|
||||
```bash
|
||||
opencli admin rename <username> <new_username>
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
opencli admin rename filip filip2
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
## Suspend Admin user
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-admin-suspend" label="With OpenAdmin" default>
|
||||
|
||||
To suspend an Admin user, select the user on **Settings > OpenAdmin** page and click on the Edit button, then uncheck the **Active** status.
|
||||
|
||||

|
||||
|
||||
|
||||
To unsuspend an Admin user, select the user on **Settings > OpenAdmin** page and click on the Edit button, then **Unsuspend**.
|
||||
</TabItem>
|
||||
<TabItem value="cli-suspend" label="With OpenCLI">
|
||||
|
||||
```bash
|
||||
opencli admin suspend <username>
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
opencli admin suspend filip
|
||||
```
|
||||
---
|
||||
|
||||
To unsuspend admin user:
|
||||
```bash
|
||||
opencli admin unsuspend <username>
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
opencli admin unsuspend filip
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
## Delete Admin user
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-admin-delete" label="With OpenAdmin" default>
|
||||
|
||||
Select the user on *Settings > OpenAdmin* page and click on the delete button then confirm.
|
||||
|
||||

|
||||
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="cli-delete" label="With OpenCLI">
|
||||
|
||||
From the terminal:
|
||||
|
||||
To delete admin user:
|
||||
```bash
|
||||
opencli admin delete <username>
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
opencli admin delete filip
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
:::info
|
||||
The Super Admin user can not be deleted.
|
||||
:::
|
||||
|
||||
|
||||
646
website/versioned_docs/version-1.0.0/admin/users/openpanel.md
Normal file
646
website/versioned_docs/version-1.0.0/admin/users/openpanel.md
Normal file
@@ -0,0 +1,646 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# OpenPanel Users
|
||||
|
||||
OpenPanel has a single user role named **User** that can only manage their docker container and inherits settings specified by the Admin user.
|
||||
|
||||
|
||||
## List Users
|
||||
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-users" label="OpenAdmin" default>
|
||||
|
||||
To access all OpenPanel users, navigate to OpenAdmin > Users.
|
||||
|
||||
The Users page displays a table showcasing each user's Gravatar linked to their email address, username, assigned IP Address, hosting plan name, creation date of the account, a login link enabling user impersonation, and *manage* button to get detailed user overview.
|
||||
|
||||

|
||||
|
||||
Suspended users are highlighted in red, and no actions can be performed on a suspended user.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-users" label="OpenCLI">
|
||||
|
||||
To list all users, use the following command:
|
||||
|
||||
```bash
|
||||
opencli user-list
|
||||
```
|
||||
|
||||
Example output:
|
||||
```bash
|
||||
opencli user-list
|
||||
+----+----------+-----------------+-----------------+---------------------+
|
||||
| id | username | email | plan_name | registered_date |
|
||||
+----+----------+-----------------+-----------------+---------------------+
|
||||
| 52 | stefan | stefan | cloud_4_nginx_3 | 2023-11-16 19:11:20 |
|
||||
| 53 | petar | petarc@petar.rs | cloud_8_nginx | 2023-11-17 12:25:44 |
|
||||
| 54 | rasa | rasa@rasa.rs | cloud_12_nginx | 2023-11-17 15:09:28 |
|
||||
+----+----------+-----------------+-----------------+---------------------+
|
||||
```
|
||||
|
||||
You can also format the data as JSON:
|
||||
|
||||
```bash
|
||||
opencli user-list --json
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="API-users" label="API">
|
||||
|
||||
To list all users, use the following api endpoint:
|
||||
|
||||
```bash
|
||||
curl -X GET http://PANEL:2087/api/users -H "Authorization: Bearer JWT_TOKEN_HERE"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
## Create Users
|
||||
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-users-new" label="OpenAdmin" default>
|
||||
|
||||
To create a new user, click on the 'New User' button on the Users page. A new section will be displayed with a form where you can set the email address, username, generate a strong password, and assign a hosting plan for the user.
|
||||
|
||||

|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-users-new" label="OpenCLI">
|
||||
|
||||
To create a new user run the following command:
|
||||
|
||||
```bash
|
||||
opencli user-add <USERNAME> <PASSWORD> <EMAIL> <PLAN_NAME>
|
||||
```
|
||||
Example:
|
||||
```bash
|
||||
opencli user-add filip masdhjkb213g filip@openadmin.co default_plan_apache
|
||||
```
|
||||
|
||||
:::tip
|
||||
Provide `generate` as password to generate a strong random password.
|
||||
:::
|
||||
</TabItem>
|
||||
<TabItem value="API-users-new" label="API">
|
||||
|
||||
To create a new user use the following api call:
|
||||
|
||||
```bash
|
||||
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN_HERE" -d '{"email": "EMAIL_HERE", "username": "USERNAME_HERE", "password": "PASSWORD_HERE", "plan_name": "PLAN_NAME_HERE"}' http://PANEL:2087/api/users
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
curl -X POST "http://PANEL:2087/api/users" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGcBns" -H "Content-Type: application/json" -d '{"username":"stefan","password":"s32dsasaq","email":"stefan@pejcic.rs","plan_name":"default_plan_nginx"}'
|
||||
```
|
||||
|
||||
Example response:
|
||||
|
||||
```json
|
||||
{
|
||||
"response": {
|
||||
"message": "Successfully added user stefan password: s32dsasaq"
|
||||
},
|
||||
"success": true
|
||||
}
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
- The OpenPanel username must be 3 to 16 characters long and can only contain letters and numbers.
|
||||
- The OpenPanel password must be 6 to 30 characters long and can include any characters except for single quotes (`'`) and double quotes (`"`).
|
||||
|
||||
|
||||
## Reset User Password
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-users-reset" label="OpenAdmin" default>
|
||||
|
||||
To reset password for a user click on the Edit dropdown in table for that user in OpenAdmin > Users or from the individual User page click on "Edit information" and set the new password in the Password field then save.
|
||||
|
||||
Step 1. | Step 2.
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-users-reset" label="OpenCLI">
|
||||
|
||||
To reset the password for a OpenPanel user, you can use the `user-password` command:
|
||||
|
||||
```bash
|
||||
opencli user-password <USERNAME> <NEW_PASSWORD>
|
||||
```
|
||||
|
||||
Use the `--ssh` flag to also change the password for the SSH user in the container.
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
opencli user-password filip Ty7_K8_M2 --ssh
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="API-users-reset" label="API">
|
||||
|
||||
To reset password for an OpenPanel user, use the following api call:
|
||||
|
||||
```bash
|
||||
curl -X PATCH http://PANEL:2087/api/users/USERNAME_HERE -H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN_HERE" -d '{"password": "NEW_PASSWORD_HERE"}'
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
## Detailed User Information
|
||||
|
||||
To view detailed information about a user, click on their Gravatar, username or the *Manage* button in the users table.
|
||||
|
||||

|
||||
|
||||
This page shows detailed information about the account and provides tools to manage it.
|
||||
|
||||

|
||||
|
||||
The username is displayed at the top, along with the status of the Docker container for the user. Colors indicate whether the user is suspended or if the Docker container has encountered an error. Next to the username, there are buttons that allow you to suspend/unsuspend the user, delete the user, a configure button to edit user settings inside their Docker container, and a 'Login as user' button that automatically logs you into their OpenPanel interface.
|
||||
|
||||

|
||||
|
||||
There are 4 widgets on top of the page:
|
||||
|
||||

|
||||
|
||||
- **CPU Usage:** Shows the current CPU usage of all processes by the user, represented in percentage with color indicators.
|
||||
- **Memory Usage:** Displays the current memory usage of the Docker container, represented in percentage with color indicators.
|
||||
- **Disk Usage:** Shows the current disk usage of the user's Docker container, represented in percentage with color indicators.
|
||||
- **IP Address:** Displays the public IPv4 address for the user, indicating whether the user has a Dedicated IP address assigned.
|
||||
|
||||
----
|
||||
|
||||
The next section is divided into two parts: tabs and widgets.
|
||||
|
||||
There are 6 tabs that allow you to view relevant information about the user's Docker container:
|
||||
|
||||
### Docker
|
||||
|
||||

|
||||
|
||||
The Docker tab displays information about the Docker container for the user, including:
|
||||
|
||||
- **Server:** Server on which the container is running.
|
||||
- **Private IP:** Private IP address within the plan network that the container is using.
|
||||
- **ID:** Unique container ID for that user container.
|
||||
- **Memory Allocated:** RAM allocated to the user container (can be manually extended even beyond the plan limit).
|
||||
- **CPU:** Number of CPU cores allocated to the container (can also be increased outside the plan limits).
|
||||
- **Docker Image:** The name of the image (Nginx or Apache) that the container is using and the OS in the image (Debian or Ubuntu).
|
||||
- **Hostname:** Hostname that the user sees via SSH in their Docker container (same as your server name).
|
||||
- **Exposed Ports:** Ports inside the Docker container that accept incoming connections (e.g., ports for SSH, MySQL, REDIS, Apache).
|
||||
- **Container Created:** Timestamp when the container was started (may be different from the account creation date).
|
||||
|
||||
|
||||
|
||||
|
||||
### Disk Usage
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-user-du" label="With OpenAdmin" default>
|
||||
|
||||
*Disk Usage* section displays real-time disk usage for a user:
|
||||
|
||||
- `/home/username` is used for all website files that user uploads to their home directory.
|
||||
- `/var/lib/docker/devicemapper/mnt/..` is the total file system that the user's Docker container is limited to; this includes the OS itself, system services, databases, logs, etc.
|
||||
|
||||

|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-user-du" label="With OpenCLI">
|
||||
|
||||
To view disk usage summary for a user, run the following command:
|
||||
|
||||
```bash
|
||||
opencli user-disk <USERNAME> summary
|
||||
```
|
||||
Example:
|
||||
|
||||
```bash
|
||||
# opencli user-disk stefan summary
|
||||
|
||||
-------------- disk usage --------------
|
||||
- 564M /home/stefan
|
||||
- 864M /var/lib/docker/devicemapper/mnt/ac28d2b066f5ffcacf4510b042623f6a3c196bd4f5fb9e842063c5325e4d0184
|
||||
```
|
||||
|
||||
|
||||
To view detailed report of current disk usage for a user, run the following command:
|
||||
|
||||
```bash
|
||||
opencli user-disk <USERNAME> detail
|
||||
```
|
||||
Example:
|
||||
|
||||
```bash
|
||||
# opencli user-disk stefan detail
|
||||
------------- home directory -------------
|
||||
- home directory: /home/stefan
|
||||
- mountpoint: /home/stefan
|
||||
- bytes used: 61440
|
||||
- bytes total: 10375548928
|
||||
- bytes limit: true
|
||||
- inodes used: 20
|
||||
- inodes total: 1000960
|
||||
---------------- container ---------------
|
||||
- container directory: /var/lib/docker/devicemapper/mnt/ac28d2b066f5ffcacf4510b042623f6a3c196bd4f5fb9e842063c5325e4d0184
|
||||
- bytes used: 1025388544
|
||||
- bytes total: 10726932480
|
||||
- inodes used: 20905
|
||||
- inodes total: 5242880
|
||||
- storage driver: devicemapper
|
||||
```
|
||||
|
||||
|
||||
To view home directory and docker container paths for a user, run the following command:
|
||||
|
||||
|
||||
```bash
|
||||
opencli user-disk <USERNAME> path
|
||||
```
|
||||
Example:
|
||||
|
||||
```bash
|
||||
# opencli user-disk stefan path
|
||||
|
||||
-------------- paths --------------
|
||||
- home_directory=/home/stefan
|
||||
- docker_container_path=/var/lib/docker/devicemapper/mnt/ac28d2b066f5ffcacf4510b042623f6a3c196bd4f5fb9e842063c5325e4d0184
|
||||
```
|
||||
|
||||
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
|
||||
----
|
||||
|
||||
### Websites
|
||||
|
||||
The Websites tab will display all domains and websites that the user has inside their Docker container.
|
||||
|
||||
- **Domains table** showcases information such as domain name, root directory, and links to view the access log for the domain, edit DNS records, and edit the VirtualHost file for Nginx associated with the domain.
|
||||
- **Websites table** displays the website URL, type (WordPress, Node.js, or Python), CMS version, and the time when the user installed or added it to the Site Manager interface.
|
||||
|
||||

|
||||
|
||||
To view access log for a domain click on the 'View Access Log' link:
|
||||
|
||||

|
||||
|
||||
To view and edit DNS zone for a domain, click on the 'DNS Zone' link:
|
||||
|
||||

|
||||
|
||||
|
||||
To view and edit Nginx configuration for a domain, click on the 'VirtualHosts' link:
|
||||
|
||||

|
||||
|
||||
----
|
||||
|
||||
### Services
|
||||
|
||||
The Services tab displays a list of all services installed inside the user's Docker container, along with their current status. You have options to start, stop, or restart a service.
|
||||
|
||||

|
||||
|
||||
|
||||
Services can be [pre-installed in a Docker image](https://dev.openpanel.co/images/), which is recommended for production to reduce the disk usage required for idle user accounts. Alternatively, they can be [installed later by an administrator](#) or by a user with [granted sudo access](#sudo-access).
|
||||
|
||||
|
||||
----
|
||||
|
||||
### Backups
|
||||
|
||||
The Backups tab displays a list of all available backups for the user account, showcasing backup content and sizes.
|
||||
|
||||

|
||||
|
||||
----
|
||||
|
||||
### Usage
|
||||
|
||||
The Usage tab will display Docker container stats for the user, including CPU usage, memory percentage used at that moment, network I/O, and total block I/O. This information is the same to what users can view from [OpenPanel > Resource Usage](/docs/panel/analytics/resource_usage/).
|
||||
|
||||

|
||||
|
||||
----
|
||||
|
||||
### Activity
|
||||
|
||||
The Activity tab shows the user's account activity log, providing the same information users can view from OpenPanel > Account Activity page.
|
||||
|
||||

|
||||
|
||||
----
|
||||
|
||||
### General information
|
||||
|
||||
General information widget displays the general information about the user and their container:
|
||||
|
||||

|
||||
|
||||
- **User ID:** Unique ID for the user account.
|
||||
- **Email Address:** Current email address for the user.
|
||||
- **Two Factor:** Indicates whether 2FA is enabled by the user.
|
||||
- **Hosting Plan:** Name of the hosting plan assigned to the user.
|
||||
- **IP Address:** Public IPv4 address for the user.
|
||||
- **Server Location:** Flag and country name indicating the geolocation of the IP address.
|
||||
- **Private IP:** Private IP address for the Docker container used in internal networking.
|
||||
- **Setup Date:** Date when the user account was created.
|
||||
- **Domains:** Number of domains that the user has added.
|
||||
- **Websites:** Number of websites that the user has added.
|
||||
|
||||
To edit any information for the user, click on the 'Edit Information' link, and a new modal will be displayed where you can change the username, email, plan, IP, or password.
|
||||
|
||||

|
||||
|
||||
----
|
||||
|
||||
### Ports
|
||||
|
||||
The Ports widget displays all ports published in the user's Docker container and corresponding randomly generated ports for the user on the host server machine.
|
||||
|
||||

|
||||
|
||||
|
||||
## Suspend User
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-user-suspend" label="With OpenAdmin" default>
|
||||
|
||||
Suspending an account will immediately disable the user's access to the OpenPanel. This action involves pausing the user's Docker container and revoking access to their email, website, and other associated services. Please be aware of the immediate impact before proceeding.
|
||||
|
||||
To suspend a user click on the Suspend button on that user page and click on 'Suspend' on the confirmation modal.
|
||||
|
||||
Step 1. | Step 2.
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-user-suspend" label="With OpenCLI">
|
||||
|
||||
To suspend (temporary disable access) to user, run the following command:
|
||||
|
||||
```bash
|
||||
opencli user-suspend <USERNAME>
|
||||
```
|
||||
Example:
|
||||
|
||||
```bash
|
||||
opencli user-suspend filip
|
||||
```
|
||||
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Unsuspend User
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-user-unsuspend" label="With OpenAdmin" default>
|
||||
|
||||
To unsuspend a user click on the Unsuspend button for that user.
|
||||
|
||||

|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-user-unsuspend" label="With OpenCLI">
|
||||
|
||||
To unsuspend (enable access) to user, run the following command:
|
||||
|
||||
```bash
|
||||
opencli user-unsuspend <USERNAME>
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
opencli user-unsuspend filip
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
|
||||
## Rename Username
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-user-username" label="With OpenAdmin" default>
|
||||
|
||||
To Rename a user, click on the 'Edit Information' link for the user, then change the address in 'Username' field and click on 'Save changes'.
|
||||
|
||||
Step 1. | Step 2.
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-user-email" label="With OpenCLI">
|
||||
|
||||
To change username for a user run the following command:
|
||||
|
||||
```bash
|
||||
opencli user-rename <old_username> <new_username>
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
#opencli user-rename stefan pejcic
|
||||
User 'stefan' successfully renamed to 'pejcic'.
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
|
||||
## Change Email address
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-user-email" label="With OpenAdmin" default>
|
||||
|
||||
To change email address for a user, click on the 'Edit Information' link for the user, then change the address in 'Email address' field and click on 'Save changes'.
|
||||
|
||||
Step 1. | Step 2.
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-user-email" label="With OpenCLI">
|
||||
|
||||
To change email address for a user run the following command:
|
||||
|
||||
```bash
|
||||
opencli user-email <USERNAME> <NEW_EMAIL>
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
#opencli user-email stefan stefan@pejcic.rs
|
||||
Email for user stefan updated to stefan@pejcic.rs.
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Change IP address for User
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-user-ip" label="With OpenAdmin" default>
|
||||
|
||||
To change IP address for a user, click on the 'Edit Information' link for the user, then select the new IP address and click on 'Save changes'.
|
||||
|
||||
Step 1. | Step 2.
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-user-ip" label="With OpenCLI">
|
||||
|
||||
To assign unused IP address to a user run the following command:
|
||||
|
||||
```bash
|
||||
opencli user-ip <USERNAME> <IP_ADDRESS>
|
||||
```
|
||||
|
||||
To assign IP address **that is currently used by another user** to this user, use the `--y` flag.
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
opencli user-ip filip 11.128.23.89 --y
|
||||
```
|
||||
|
||||
To remove dedicated IP address from a user run:
|
||||
|
||||
```bash
|
||||
opencli user-ip <USERNAME> delete
|
||||
```
|
||||
Example:
|
||||
|
||||
```bash
|
||||
opencli user-ip filip delete
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Grant Sudo Access
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-user-ip" label="With OpenAdmin" default>
|
||||
|
||||
To allow users to install new services and have unrestricted access inside their container, click on the 'Configuration' button for the user, then check the 'Sudo Access' option.
|
||||
|
||||
This will allow user to use the `su -` command and switch to root user inside their container.
|
||||
|
||||
Step 1. | Step 2.
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-user-ip" label="With OpenCLI">
|
||||
|
||||
To allow users to install new services and have unrestricted access inside their container, run the following command:
|
||||
|
||||
```bash
|
||||
opencli user-sudo <USERNAME> <ENABLE/DISABLE/STATUS>
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
# opencli user-sudo stefan enable
|
||||
'su -' access enabled for user stefan.
|
||||
```
|
||||
|
||||
To remove sudo access from user:
|
||||
|
||||
```bash
|
||||
opencli user-ip <USERNAME> disable
|
||||
```
|
||||
Example:
|
||||
|
||||
```bash
|
||||
# opencli user-sudo stefan disable
|
||||
'su -' access disabled for user stefan.
|
||||
```
|
||||
|
||||
To check current sudo status for user:
|
||||
|
||||
```bash
|
||||
opencli user-ip <USERNAME> status
|
||||
```
|
||||
Example:
|
||||
|
||||
```bash
|
||||
# opencli user-sudo stefan status
|
||||
'su -' is enabled for user stefan.
|
||||
```
|
||||
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
|
||||
|
||||
## Delete User
|
||||
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="openadmin-user-delete" label="With OpenAdmin" default>
|
||||
|
||||
To delete a user click on the delete button for that user, then type 'delete' in the confirmation modal and finally click on the 'Terminate' button.
|
||||
|
||||
Step 1. | Step 2.
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="CLI-user-delete" label="With OpenCLI">
|
||||
|
||||
To delete a user and all his data run the following command:
|
||||
|
||||
```bash
|
||||
opencli user-delete <USERNAME>
|
||||
```
|
||||
|
||||
add `-y` flag to disable prompt.
|
||||
|
||||
Example:
|
||||
```bash
|
||||
opencli user-delete filip -y
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
:::danger
|
||||
This action is irreversible and will permanently delete all user data.
|
||||
:::
|
||||
26
website/versioned_docs/version-1.0.0/articles/000_intro.md
Normal file
26
website/versioned_docs/version-1.0.0/articles/000_intro.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Guides and How-to's
|
||||
|
||||
- [Import account from cPanel backup](/docs/articles/transfers/import-cpanel-backup-to-openpanel/)
|
||||
- [How to change PHP execution limit for phpMyAdmin in OpenPanel](/docs/articles/databases/how-to-increase-php-execution-limit-for-phpmyadmin-in-openpanel/)
|
||||
- [How to setup a Spring Boot Java Application on OpenPanel](/docs/articles/user-experience/how-to-setup-springboot-java-applicaiton-on-openpanel/)
|
||||
- [Configuring MySQL or MariaDB per user in OpenPanel](/docs/articles/docker/how-to-set-mysql-mariadb-per-user-in-openpanel/)
|
||||
- [Upgrading to OpenPanel Enterprise and activating License](/docs/articles/license/upgrade_to_openpanel_enterprise_and-activate_license/)
|
||||
- [Setup Remote SMTP Server for OpenPanel](/docs/articles/user-experience/setup-remote-smtp-server-for-openpanel/#whitelist-the-remote-smtp-server)
|
||||
- [How to Install Older Versions of Ioncube Loader Extensions for PHP](/docs/articles/user-experience/install-older-ioncube-loader-extensions/)
|
||||
- [Disable PHP errors or increase upload limits per website](/docs/articles/user-experience/disable-php-errors-or-increase-upload-limits-per-website/)
|
||||
- [Auto-start Services](/docs/articles/dev-experience/autostart-services/)
|
||||
- [Customizing OpenPanel Interface (Branding and White-Label)](/docs/articles/dev-experience/customizing-openpanel-user-interface/)
|
||||
|
||||
|
||||
# Extending OpenPanel
|
||||
- [OpenPanel and FOSSBilling](/docs/articles/extensions/openpanel-and-fossbilling/)
|
||||
- [OpenPanel and WHMCS](/docs/articles/extensions/openpanel-and-whmcs/)
|
||||
- [Building a Custom Docker image: pre-install IonCube Loader](/docs/articles/docker/building_a_docker_image_example_include_php_ioncubeloader/)
|
||||
|
||||
|
||||
# Troubleshooting
|
||||
- [High physical memory usage for OpenPanel account](/docs/articles/docker/high-memory-usage-for-openpanel-user/)
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Account Administration",
|
||||
"position": 9,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
# Reserved and Invalid Usernames
|
||||
|
||||
## Basic restrictions
|
||||
|
||||
|
||||
### OpenPanel
|
||||
|
||||
OpenPanel applies the following rules when you create or modify a OpenPanel username:
|
||||
|
||||
Usernames may **only** use lowercase letters (`a–z`) and digits (`0–9`).
|
||||
- Usernames cannot contain less than **3** characters.
|
||||
- Usernames cannot contain more than **16** characters.
|
||||
|
||||
### OpenAdmin
|
||||
OpenAdmin applies the following rules when you create or modify an admin username:
|
||||
|
||||
Usernames may **only** use lowercase letters (`a–z`) and digits (`0–9`).
|
||||
- Usernames cannot contain less than **5** characters.
|
||||
- Usernames cannot contain more than **30** characters.
|
||||
|
||||
Passwords may **only** use lowercase letters (`a–z`) and digits (`0–9`).
|
||||
- Usernames cannot contain less than **5** characters.
|
||||
- Usernames cannot contain more than **30** characters.
|
||||
|
||||
### SSH
|
||||
OpenAdmin applies the following rules when you modify an SSH password:
|
||||
|
||||
Passwords may **only** use lowercase letters (`a–z`) and digits (`0–9`).
|
||||
- Passwords cannot contain less than **8** characters.
|
||||
- Passwords cannot contain more than **20** characters.
|
||||
|
||||
### MySQL / MariaDB
|
||||
OpenPanel applies the following rules when you create databases and users:
|
||||
|
||||
Database names may **only** use lowercase letters (`a–z`) and digits (`0–9`).
|
||||
- Database name cannot contain less than **1** character.
|
||||
- Database name cannot contain more than **64** characters.
|
||||
|
||||
|
||||
Database users may **only** use lowercase letters (`a–z`) and digits (`0–9`).
|
||||
- Usernames cannot contain less than **1** characters.
|
||||
- Usernames cannot contain more than **32** characters.
|
||||
|
||||
|
||||
Database User's Passwords may **only** use lowercase letters (`a–z`), underscores (`_`) and digits (`0–9`).
|
||||
- Passwords cannot contain less than **8** characters.
|
||||
- Passwords cannot contain more than **32** characters.
|
||||
|
||||
|
||||
### FTP
|
||||
OpenPanel applies the following rules when you create FTP sub-accounts:
|
||||
|
||||
FTP sub-users **must end** with dot (`.`) followed by the OpenPanel username - example: `ftpuser.openpaneluser`.
|
||||
- Usernames cannot contain less than **3** characters.
|
||||
- Usernames cannot contain more than **32** characters.
|
||||
|
||||
|
||||
FTP User's Passwords must contain **at least one** uppercase letters (`A-Z`), lowercase letters (`a–z`), digits (`0–9`) and special symbols (`!`, `.`, `,`, `@`, `#`, `_`, `-`).
|
||||
- Passwords cannot contain less than **8** characters.
|
||||
- Passwords cannot contain more than **32** characters.
|
||||
|
||||
### Emails
|
||||
|
||||
OpenPanel applies the following rules when you create email accounts:
|
||||
|
||||
Email accounts may **only** use lowercase letters (`a–z`), dashes (`-`), underscores (`_`) and digits (`0–9`).
|
||||
Email accounts **must contain** `@` symbol followed by the domain name - example: `account@example.net`.
|
||||
- Usernames cannot contain less than **1** character.
|
||||
- Usernames cannot contain more than **32** characters.
|
||||
|
||||
Email accounts passwords can contain **only** uppercase letters (`A-Z`), lowercase letters (`a–z`), underscores (`_`) and digits (`0–9`).
|
||||
- Passwords cannot contain less than **8** characters.
|
||||
- Passwords cannot contain more than **32** characters.
|
||||
|
||||
|
||||
## Reserved usernames
|
||||
|
||||
OpenPanel reserves some usernames for the system’s use, and you cannot use them for OpenPanel accounts. This list of reserved usernames can grow over time, and new versions of OpenPanel may add to this list.
|
||||
|
||||
OpenPanel checks the following file to determine whether to reserve or restrict a username:
|
||||
|
||||
```bash
|
||||
/etc/openpanel/openadmin/config/forbidden_usernames.txt
|
||||
```
|
||||
|
||||
Currently reserved usernames:
|
||||
|
||||
- test
|
||||
- restart
|
||||
- reboot
|
||||
- shutdown
|
||||
- exec
|
||||
- root
|
||||
- admin
|
||||
- ftp
|
||||
- lsws
|
||||
- litespeed
|
||||
- 1000
|
||||
- vsftpd
|
||||
- httpd
|
||||
- apache2
|
||||
- apache
|
||||
- docker
|
||||
- podman
|
||||
- nginx
|
||||
- php
|
||||
- mysql
|
||||
- mysqld
|
||||
- www-data
|
||||
- openpanel
|
||||
- openadmin
|
||||
|
||||
To reserve a certain username, simply add it to the forbidden_usernames.txt file.
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Backups",
|
||||
"position": 2,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Databases",
|
||||
"position": 4,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
# How to change PHP execution limit for phpMyAdmin in OpenPanel
|
||||
|
||||
phpMyAdmin runs on [PHP version that user sets as default php version](/docs/panel/advanced/server_settings/#set-default-php-version) in OpenPanel.
|
||||
|
||||
But due to [phpmyadmin minimum requirements](https://docs.phpmyadmin.net/en/latest/require.html#php), if PHP version is less than 8.0 then [the default php version defined by the administrator](/docs/admin/settings/openpanel/#other-settings) will be used instead.
|
||||
|
||||
To increase limits for the phpMyAdmin interface, edit the php.ini file of the version it is running on.
|
||||
|
||||
### Step 1. Check PHP version
|
||||
|
||||
There are 2 ways to check which PHP version is the phpMyAdmin interface running:
|
||||
|
||||
1. From phpMyAdmin interface
|
||||
|
||||
Login to phpMyAdmin from the OpenPanel interface and note the version under 'Server Settings':
|
||||
|
||||

|
||||
|
||||
2. From OpenPanel > Process Manager
|
||||
|
||||
Login to OpenPanel and navigate to Process Manager to view under which PHP version is the phpMyAdmin interface running.
|
||||
|
||||

|
||||
|
||||
### Step 2. Edit php.ini file
|
||||
|
||||
From OpenPanel navigate to Server Settings > PHP > PHP.INI editor and select that PHP version. Then make the changes, for example increase PHP `max_execution_time` value, and click on save to apply changes.
|
||||
|
||||

|
||||
|
||||
### Step 3. Kill phpMyAdmin processes
|
||||
|
||||
Since phpMyAdmin is running in its own webserver, we need to terminate its current processes in order to start it again with the new limits applied.
|
||||
|
||||
To do this, navigate to OpenPanel > Process Manager and kill all processes that mention phpMyAdmin.
|
||||
|
||||

|
||||
|
||||
### Step 4. Start phpMyAdmin
|
||||
|
||||
Finally, start phpMyAdmin again with new limits, by opening phpMyAdmin from the OpenPanel menu.
|
||||
|
||||

|
||||
|
||||
Limits have been increased and you can proceed.
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Developer Experience",
|
||||
"position": 16,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
# Auto-start Services
|
||||
|
||||
Services in OpenPanel start only when they are actually needed, to avoid wasting resources.
|
||||
|
||||
## Auto-start Services in OpenAdmin
|
||||
|
||||
Upon installing OpenPanel, only the following services are started:
|
||||
|
||||
- **OpenAdmin** – For managing the entire server and users.
|
||||
- **Docker** – Needed for all other containerized services and user accounts.
|
||||
- **Database** – MySQL database is created and initialized. This database holds Plans, Websites, Domains, and Users.
|
||||
- **Firewall** – CSF or UFW are installed and started.
|
||||
|
||||
Other services are installed and started only when required.
|
||||
|
||||
| Service | Installed | Auto-start |
|
||||
|------------------------|-----------|---------------------------|
|
||||
| OpenAdmin | ✔ | On installation |
|
||||
| Docker | ✔ | On installation |
|
||||
| Database | ✔ | On installation |
|
||||
| ConfigServer Firewall | ✔ | On installation |
|
||||
| Uncomplicated Firewall | ✘ | On installation |
|
||||
| OpenPanel | ✘ | After adding first user account |
|
||||
| BIND9 | ✘ | After adding first domain name |
|
||||
| Certbot | ✘ | After adding first domain name |
|
||||
| ClamAV | ✘ | When enabled by Administrator |
|
||||
| Dovecot & Postfix | ✘ | When enabled by Administrator |
|
||||
| FTP | ✘ | When enabled by Administrator, after first FTP account is created |
|
||||
|
||||
## Auto-start Services in OpenPanel
|
||||
|
||||
Using the `/etc/entrypoint.sh` for each user, Administrators define which services to auto-start when their container is started. The container is started after a user is created and on every Docker service restart.
|
||||
|
||||
Similar to OpenAdmin, services in OpenPanel also start only when they are needed. This allows for better resource management. An idle account will use around 15MB of RAM, while an account with domains, websites, and MySQL databases may use up to 1GB of RAM.
|
||||
|
||||
Services that auto-start for each user:
|
||||
|
||||
| Service | Installed | Auto-start |
|
||||
|--------------------|-----------|---------------------------------------------------|
|
||||
| Apache / Nginx | ✔ | After the user adds the first domain |
|
||||
| SSH | ✘ | After the user enables remote SSH access |
|
||||
| REDIS | ✘ | After the user installs and activates it |
|
||||
| Memcached | ✘ | After the user installs and activates it |
|
||||
| Elasticsearch | ✘ | After the user installs and activates it |
|
||||
| MongoDB | ✘ | After the user installs and activates it |
|
||||
| MySQL / MariaDB | ✔ | After the user adds at least 1 database |
|
||||
| Cron | ✔ | After the user adds at least 1 cron job |
|
||||
| PHP 8.3 | ✘ | After the user installs and sets it for at least 1 domain |
|
||||
| PHP 8.2 | ✔ | After the user adds at least 1 domain |
|
||||
| PHP 8.1 | ✘ | After the user installs and sets it for at least 1 domain |
|
||||
| PHP 8.0 | ✘ | After the user installs and sets it for at least 1 domain |
|
||||
| PHP 7.4 | ✘ | After the user installs and sets it for at least 1 domain |
|
||||
| PHP 7.3 | ✘ | After the user installs and sets it for at least 1 domain |
|
||||
| PHP 7.2 | ✘ | After the user installs and sets it for at least 1 domain |
|
||||
| PHP 7.1 | ✘ | After the user installs and sets it for at least 1 domain |
|
||||
| PHP 7.0 | ✘ | After the user installs and sets it for at least 1 domain |
|
||||
| PHP 5.6 | ✘ | After the user installs and sets it for at least 1 domain |
|
||||
@@ -0,0 +1,228 @@
|
||||
# Customizing OpenPanel Interface (Branding and White-Label)
|
||||
|
||||
Everything in OpenPanel is modular and can easily be modified or disabled without breaking the rest of the functionalities.
|
||||
|
||||
To customize OpenPanel, you have the following options:
|
||||
|
||||
- [Display personalized message per user](#personalized-messages)
|
||||
- [Enable/disable features and pages from the OpenPanel interface](#enabledisable-features)
|
||||
- [Set pre-installed services for users](#set-pre-installed-services)
|
||||
- [Customize Default, Suspended User and Suspended Domain pages](@customize-templates)
|
||||
- [Localize the interface](#localize-the-interface)
|
||||
- [Set custom branding](#set-custom-branding)
|
||||
- [Set a custom color scheme](#set-a-custom-color-scheme)
|
||||
- [Replace How-to articles with your knowledge base](#replace-how-to-articles-with-your-knowledge-base)
|
||||
- [Customize any page](#edit-any-page-template)
|
||||
- [Customize login page](#customize-login-page)
|
||||
- [Add custom CSS or JS code to the interface](#create-custom-pages)
|
||||
- [Create a custom module for OpenPanel](#create-custom-module)
|
||||
- [Self-hosted temporary links for SiteManager](/docs/articles/dev-experience/selfhosted-temporary-links-api/)
|
||||
- [Self-hosted screenshots for SiteManager](/docs/articles/dev-experience/selfhosted-screenshots-api/)
|
||||
|
||||
|
||||
|
||||
## Personalized messages
|
||||
|
||||
Administrators can set a custom message to be displayed for any OpenPanel user by creating/editing file `/etc/openpanel/openpanel/core/users/USERNAME/custom_message.html` file. Both plain text and HTML code are accepted:
|
||||
|
||||

|
||||
|
||||
## Enable/disable features
|
||||
|
||||
Administrators have the ability to enable or disable each feature (page) in the OpenPanel interface. To activate a feature, navigate to [OpenAdmin > Settings > OpenPanel](/docs/admin/settings/openpanel/#enable-features) and select service name in the "Enable Features" section and click save.
|
||||
|
||||
Once enabled, the feature becomes instantly available to all users, appearing in the OpenPanel interface sidebar, search results, and dashboard icons.
|
||||
|
||||
|
||||
|
||||
|
||||
## Set pre-installed services
|
||||
|
||||
OpenPanel uses [docker images](https://dev.openpanel.com/images/) as the base for each hosting plan. Based on the docker image, different services can be set per plan/user. For examples, we provide 2 docker images, one that has nginx pre-installed and another that uses apache. By creating a custom docker image, you can set in that image what to be pre-installed when you create a new user, for example, set mariadb instead of mysql or install php ioncube loader extension.
|
||||
|
||||
To add a custom service pre-installed for users:
|
||||
|
||||
- [Create a custom docker image](/docs/articles/docker/building_a_docker_image_example_include_php_ioncubeloader/)
|
||||
- [Create a new hosting plan with that docker image](/docs/admin/plans/hosting_plans/#create-a-plan)
|
||||
- [Create a new user on that plan](/docs/admin/users/openpanel/#create-users)
|
||||
|
||||
|
||||
|
||||
## Localize the interface
|
||||
|
||||
OpenPanel is localization ready and can easily be translated into any language.
|
||||
|
||||
OpenPanel is shipped with the EN locale, [additional locales can be installed by the Administrator](https://dev.openpanel.com/localization.html#How-to-translate).
|
||||
|
||||
To install additional locales (replace `de-de` with your locale):
|
||||
|
||||
```bash
|
||||
opencli locale de-de
|
||||
```
|
||||
|
||||
To translate OpenPanel to another language follow these steps:
|
||||
|
||||
1. Fork [this repository](https://github.com/stefanpejcic/openpanel-translations).
|
||||
2. Copy `en_us` to your locale e.g. `es_es`
|
||||
3. Translate the `messages.pot` file
|
||||
4. Send a [pull request](https://github.com/stefanpejcic/openpanel-translations/pulls)
|
||||
|
||||
|
||||
|
||||
|
||||
## Set custom branding
|
||||
|
||||
Custom brand name and logo can be set from [OpenAdmin > Settings > OpenPanel](/docs/admin/settings/openpanel/#branding) page.
|
||||
|
||||
To set a custom name visible in the OpenPanel sidebar and on login pages, enter the desired name in the "Brand name" option. Alternatively, to display a logo instead, provide the URL in the "Logo image" field and save the changes.
|
||||
|
||||
|
||||
|
||||
## Customize Templates
|
||||
|
||||
You can customize all templates that are displayed to users:
|
||||
|
||||
- [Domain VHost Template](/docs/admin/services/nginx/#domain-vhost-template)
|
||||
- [Default Landing Page](/docs/admin/services/nginx/#default-landing-page)
|
||||
- [Suspended User Template](/docs/admin/services/nginx/#suspended-user-template)
|
||||
- [Suspended Domain Template](/docs/admin/services/nginx/#suspended-domain-template)
|
||||
- [Error Pages](/docs/admin/services/nginx/#error-pages)
|
||||
|
||||
## Create OpenPanel Module
|
||||
|
||||
To create a custom module (plugin) for OpenPanel follow this guide: [Example Module](https://dev.openpanel.com/modules/#Example-Module)
|
||||
|
||||
## Set a custom color scheme
|
||||
|
||||
To set a custom color-scheme for OpenPanel interface, edit the `/etc/openpanel/openpanel/custom_code/custom.css` file and in it set your preferred color scheme.
|
||||
|
||||
```bash
|
||||
nano /etc/openpanel/openpanel/custom_code/custom.css
|
||||
```
|
||||
|
||||
Set the custom css code, save and restart openpanel to apply changes:
|
||||
|
||||
```bash
|
||||
cd /root && docker compose up -d openpanel
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Replace How-to articles with your knowledge base
|
||||
|
||||
[OpenPanel Dashboard page](/docs/panel/dashboard) displays [How-to articles](/docs/panel/dashboard/#how-to-guides) from the OpenPanel Docs, however these can be changed to display your knowledgebase articles instead.
|
||||
|
||||
Edit the file `/etc/openpanel/openpanel/conf/knowledge_base_articles.json` and in it set your links:
|
||||
|
||||
```json
|
||||
{
|
||||
"how_to_topics": [
|
||||
{"title": "How to install WordPress", "link": "https://openpanel.com/docs/panel/applications/wordpress#install-wordpress"},
|
||||
{"title": "Publishing a Python Application", "link": "https://openpanel.com/docs/panel/applications/pm2#python-applications"},
|
||||
{"title": "How to edit Nginx / Apache configuration", "link": "https://openpanel.com/docs/panel/advanced/server_settings#nginx--apache-settings"},
|
||||
{"title": "How to create a new MySQL database", "link": "https://openpanel.com/docs/panel/databases/#create-a-mysql-database"},
|
||||
{"title": "How to add a Cronjob", "link": "https://openpanel.com/docs/panel/advanced/cronjobs#add-a-cronjob"},
|
||||
{"title": "How to change server TimeZone", "link": "https://openpanel.com/docs/panel/advanced/server_settings#server-time"}
|
||||
],
|
||||
"knowledge_base_link": "https://openpanel.com/docs/panel/intro/?source=openpanel_server"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## Edit any page template
|
||||
|
||||
Each OpenPanel template code is open and can easily be edited by just editing the HTML code.
|
||||
|
||||
Templates are located inside a Docker container named `openpanel`, so you first need to find the template that has the code that you want to edit.
|
||||
|
||||
For example, to edit the sidebar and hide the OpenPanel logo, follow these steps:
|
||||
|
||||
1. Create a new folder/file locally for your modified code.
|
||||
```bash
|
||||
mkdir /root/custom_template/
|
||||
```
|
||||
2. Copy the existing template code.
|
||||
```bash
|
||||
docker cp openpanel:/usr/local/panel/templates/partials/sidebar.html /root/custom_template/sidebar.html
|
||||
```
|
||||
3. Edit the code.
|
||||
|
||||
4. Configure OpenPanel to use your template.
|
||||
Edit the `/root/docker-compose.yml` file and in it set your file to overwrite the original template:
|
||||
```bash
|
||||
nano /root/docker-compose.yml
|
||||
```
|
||||
and in the file under [openpanel > volumes](https://github.com/stefanpejcic/openpanel-configuration/blob/180c781bfb7122c354fd339fbee43c1ce6ec017f/docker/compose/new-docker-compose.yml#L31) set local path and original:
|
||||
```bash
|
||||
- /root/custom_theme/sidebar.html:/usr/local/panel/templates/partials/sidebar.html
|
||||
```
|
||||
6. Restart OpenPanel to apply the new template.
|
||||
```bash
|
||||
cd /root && docker compose up -d openpanel
|
||||
```
|
||||
|
||||
|
||||
## Customize login page
|
||||
|
||||
|
||||
OpenPanel login page template code is located at `/usr/local/panel/templates/user/login.html` inside the docker container.
|
||||
|
||||
To edit the login page:
|
||||
|
||||
1. Create a new folder/file locally for your modified code.
|
||||
```bash
|
||||
mkdir /root/custom_template/
|
||||
```
|
||||
2. Copy the existing template code.
|
||||
```bash
|
||||
docker cp openpanel:/usr/local/panel/templates/user/login.html /root/custom_template/login.html
|
||||
```
|
||||
3. Edit the code.
|
||||
|
||||
4. Configure OpenPanel to use your template.
|
||||
Edit the `/root/docker-compose.yml` file and in it set your file to overwrite the original template:
|
||||
```bash
|
||||
nano /root/docker-compose.yml
|
||||
```
|
||||
and in the file under [openpanel > volumes](https://github.com/stefanpejcic/openpanel-configuration/blob/180c781bfb7122c354fd339fbee43c1ce6ec017f/docker/compose/new-docker-compose.yml#L31) set local path and original:
|
||||
```bash
|
||||
- /root/custom_theme/login.html:/usr/local/panel/templates/user/login.html
|
||||
```
|
||||
6. Restart OpenPanel to apply the new login template.
|
||||
```bash
|
||||
cd /root && docker compose up -d openpanel
|
||||
```
|
||||
|
||||
|
||||
## Add custom CSS or JS code
|
||||
|
||||
To add custom CSS code to the OpenPanel interface, edit the file `/etc/openpanel/openpanel/custom_code/custom.css`:
|
||||
|
||||
```bash
|
||||
nano /etc/openpanel/openpanel/custom_code/custom.css
|
||||
```
|
||||
|
||||
To add custom JavaScript code to the OpenPanel interface, edit the file `/etc/openpanel/openpanel/custom_code/custom.js`:
|
||||
|
||||
```bash
|
||||
nano /etc/openpanel/openpanel/custom_code/custom.js
|
||||
```
|
||||
|
||||
To insert custom code within the `<head>` tag of the OpenPanel interface, modify the content of the file located at `/etc/openpanel/openpanel/custom_code/in_header.html` and include your custom code within it:
|
||||
|
||||
```bash
|
||||
nano /etc/openpanel/openpanel/custom_code/in_header.html
|
||||
```
|
||||
|
||||
To insert custom code within the `<footer>` tag of the OpenPanel interface, modify the content of the file located at `/etc/openpanel/openpanel/custom_code/in_footer.html` and include your custom code within it:
|
||||
|
||||
```bash
|
||||
nano /etc/openpanel/openpanel/custom_code/in_footer.html
|
||||
```
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
# Self-hosted Screenshots API for OpenPanel SiteManager
|
||||
|
||||
[OpenPanel SiteManager](/docs/panel/applications/) displays a website screenshot for each website. These screenshots are generated using our hosted API.
|
||||
|
||||
## Use Self-hosted Local Service
|
||||
|
||||
When installing OpenPanel on your server, you can use the `--screenshots=local` flag to generate and host screenshots locally on your server instead.
|
||||
|
||||
This method is recommended for shared servers with a few TBs of storage and hundreds of websites.
|
||||
|
||||
OpenPanel will then install [Playwright](https://playwright.dev/) on your server to generate screenshots for all websites locally. Note that Playwright requires 1GB of disk space for the service, so it is not recommended for VPS servers.
|
||||
|
||||
## Use Third-Party Screenshot APIs
|
||||
|
||||
To use a third-party screenshot API, simply update the screenshots URL with the following command:
|
||||
|
||||
```
|
||||
opencli config update screenshots "http://screenshots-api.openpanel.com/screenshot"
|
||||
```
|
||||
|
||||
Replace `http://screenshots-api.openpanel.com/screenshot` with the URL of the third-party service, which will accept `/<DOMAIN>` and return an image.
|
||||
|
||||
## Use Self-hosted Remote API
|
||||
|
||||
If you have multiple OpenPanel servers and want to use your own screenshots API, you can designate one server to generate all the screenshots for domains hosted on other servers.
|
||||
|
||||
To do this, set up the [Screenshots API service for OpenPanel](https://github.com/stefanpejcic/OpenPanel/blob/main/services/screenshots/README.md) on one server, add the domain to it, and then update the [screenshots](https://dev.openpanel.com/cli/config.html#screenshots) service on your OpenPanel servers to use the new instance:
|
||||
|
||||
```
|
||||
opencli config update screenshots "http://your-screenshots-api.com:5000/screenshot"
|
||||
```
|
||||
@@ -0,0 +1,13 @@
|
||||
# Self-hosted Temporary Links API for OpenPanel SiteManager
|
||||
|
||||
[OpenPanel SiteManager](/docs/panel/applications/) has a temporary-links option that allows user to test website from the server IP, prior to changing DNS. Proxy domains are subdomains on our hosted api `.openpanel.org`.
|
||||
|
||||
## Use Self-hosted Remote API
|
||||
|
||||
If you have multiple OpenPanel servers and want to use your own domain for temporary links, you can designate one server to host the api, and set OpenPanel servers to use that API instead.
|
||||
|
||||
To do this, set up the [Temporary Links service for OpenPanel server](https://github.com/stefanpejcic/OpenPanel/blob/main/services/proxy/README.md) on one server, add the domain to it, and then update the [temporary_links](https://dev.openpanel.com/cli/config.html#temporary-links) service on your OpenPanel servers to use the new instance:
|
||||
|
||||
```
|
||||
opencli config update temporary_links "https://preview.openpanel.org/index.php"
|
||||
```
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Docker",
|
||||
"position": 10,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
# Building a Custom Docker image: pre-install IonCube Loader
|
||||
|
||||
Docker images are a base for every OpenPanel plan, and they define what Technology Stack is pre-installed for the user.
|
||||
|
||||
If you need something pre-installed or configured for all users on a plan, like the ionCube loader extension for the installed PHP version, follow these recommended steps:
|
||||
|
||||
1. Download example Docker image files.
|
||||
2. Edit to include the new configuration/service.
|
||||
3. Create the Docker image.
|
||||
4. Create a new plan to use the image.
|
||||
5. Test: create a new user on that plan.
|
||||
|
||||
### Download Docker Examples
|
||||
|
||||
Currently, we provide and maintain 2 Docker images, one that uses Nginx and the other with Apache. Download the image files that you want, either nginx or apache:
|
||||
|
||||
For Nginx:
|
||||
```bash
|
||||
git clone -n --depth=1 --filter=tree:0 \
|
||||
https://github.com/stefanpejcic/OpenPanel/tree/main/docker/nginx
|
||||
cd OpenPanel
|
||||
git sparse-checkout set --no-cone docker/nginx
|
||||
git checkout
|
||||
```
|
||||
|
||||
For Apache:
|
||||
```bash
|
||||
git clone -n --depth=1 --filter=tree:0 \
|
||||
https://github.com/stefanpejcic/OpenPanel/tree/main/docker/apache
|
||||
cd OpenPanel
|
||||
git sparse-checkout set --no-cone docker/apache
|
||||
git checkout
|
||||
```
|
||||
|
||||
|
||||
After downloading the source files, there should be:
|
||||
- **Dockerfile**: This file defines the software stack of the image and is used only to build the image.
|
||||
- **entrypoint.sh**: Used by OpenPanel to monitor users' services status and versions, such as tracking the random IP of users' Docker containers, status of Redis/Memcached services, PHP versions installed, etc. This file is essential and should not be modified. It is executed on every restart of the user container.
|
||||
- **my.cnf**: A MySQL service configuration file for customizing MySQL limits and settings.
|
||||
- **pma.php**: A configuration file for phpMyAdmin to enable passwordless login from OpenPanel to phpMyAdmin.
|
||||
|
||||
### Edit Dockerfile
|
||||
|
||||
In this example, we will be adding the ionCube loader PHP extension to the image so that the pre-installed PHP 8.3 version already has ionCube enabled.
|
||||
|
||||
Open the **Dockerfile** with a text editor:
|
||||
|
||||
```bash
|
||||
nano Dockerfile
|
||||
```
|
||||
|
||||
Inside, include steps to download the ionCube extension and include it in the php.ini file for both CLI and FPM service.
|
||||
|
||||
First, add the part to download the extension. Ensure this is added after PHP install:
|
||||
```bash
|
||||
#download for PHP 8.3
|
||||
RUN mkdir -p /usr/local/lib && curl -sSlL -o /tmp/ioncube.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz && tar -x --strip-components=1 -C /usr/local/lib -f /tmp/ioncube.tar.gz ioncube/ioncube_loader_lin_8.3.so
|
||||
```
|
||||
|
||||
This downloads the extension from the ionCube website and adds it to the folder.
|
||||
|
||||
Now, add the part to include it in the php.fpm files:
|
||||
|
||||
```bash
|
||||
# add for phpfpm service
|
||||
RUN (echo 'zend_extension = /usr/local/lib/ioncube_loader_lin_8.3.so' && cat /etc/php/8.3/fpm/php.ini) > /etc/php/8.3/fpm/php.ini.new && mv /etc/php/8.3/cli/php.ini.new /etc/php/8.3/fpm/php.ini
|
||||
|
||||
# add for cli
|
||||
RUN (echo 'zend_extension = /usr/local/lib/ioncube_loader_lin_8.3.so' && cat /etc/php/8.3/cli/php.ini) > /etc/php/8.3/cli/php.ini.new && mv /etc/php/8.3/cli/php.ini.new /etc/php/8.3/cli/php.ini
|
||||
```
|
||||
|
||||
|
||||
That Is it. Save the file and exit.
|
||||
|
||||
### Create Docker image
|
||||
|
||||
After adding the commands to download and install the ionCube loader, we now need to build a Docker image from the files.
|
||||
|
||||
Depending on the downloaded example, replace `nginx` or `apache` in this command:
|
||||
|
||||
```bash
|
||||
docker build . -t my_custom_nginx_image
|
||||
```
|
||||
|
||||
Make sure that the name contains either `nginx` or `apache`, as this is used by OpenPanel to determine the features to display to the user on their interface.
|
||||
|
||||
If the build fails, there will be an error message indicating which exact line caused the error. That line needs to be edited and the build repeated.
|
||||
|
||||
After successfully building the image, the next step is to create a new OpenPanel hosting plan to use it.
|
||||
|
||||
### Create Hosting Plan
|
||||
|
||||
Currently, new hosting plans with custom images can only be added from the terminal.
|
||||
To create a new plan, run the following command:
|
||||
|
||||
```bash
|
||||
opencli plan-create <NAME> <DESCRIPTION> <DOMAINS_LIMIT> <WEBSITES_LIMIT> <DISK_LIMIT> <INODES_LIMITS> <DATABASES_LIMIT> <CPU_LIMIT> <RAM_LIMIT> <DOCKER_IMAGE> <PORT_SPEED_LIMIT>
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
opencli plan-create cloud_8 "Custom plan with 8GB of RAM&CPU" 0 0 15 500000 0 8 8 my_custom_nginx_image 200
|
||||
```
|
||||
|
||||
### Create new user
|
||||
After creating a plan that uses our newly built Docker image, the final step is to create a new user on the plan to test that the ionCube loader is indeed enabled.
|
||||
|
||||
Create a new user from the OpenAdmin interface or via terminal:
|
||||
```bash
|
||||
opencli user-add <USERNAME> <PASSWORD> <EMAIL> <PLAN_NAME>
|
||||
```
|
||||
|
||||
Example:
|
||||
```
|
||||
opencli user-add stefan strongpass123 stefan@pejcic.rs cloud_8
|
||||
```
|
||||
|
||||
After creating the user, log in to their OpenPanel and confirm that the extension is enabled by opening the PHP.INI editor or by creating a php.info file and searching for the ionCube loader.
|
||||
@@ -0,0 +1,25 @@
|
||||
# High physical memory usage for new OpenPanel account
|
||||
|
||||
OpenPanel uses Docker images as a base for every user. We provide and maintain four official images that use Ubuntu24 and Nginx or Apache webserver, and MySQL or MariaDB.
|
||||
|
||||
These images are optimized for both speed and performance, and new idle accounts will use from 10-150mb of RAM - depending if using Debian or Ubuntu as server OS.
|
||||
|
||||
If you want to fine tune the performance and lower RAM usage for idle accounts, you can create a custom Docker image that will have only the services that you offer pre-installed.
|
||||
|
||||
[Here is an example guide on creating a custom docker image](/docs/articles/docker/building_a_docker_image_example_include_php_ioncubeloader/).
|
||||
|
||||
|
||||
## How OpenPanel uses RAM
|
||||
|
||||
When new user is created, it has a Ubuntu24 OS that has no services running. A unique feature of OpenPanel is that additional services are started only when needed.
|
||||
|
||||
For example, PHP and Nginx/Apache are started only after user adds its first domain. MySQL only after adding database/user, phpMyAdmin and WebTerminal only when opens the pages in UI, etc.
|
||||
This allows to minimize resources needed for each user, and allows overselling of resources on the server.
|
||||
|
||||
|
||||
## Memory Usage shows High usage
|
||||
|
||||
Unlike other panels, all usage data is real-time and shows actual usage for user. As on other panels, **cached memory is counted in the total memory usage**. This means that if a service or process used ram and exits, that ram is not automatically returned to the free ram and will still show as used, but in reality it is cached ram that can be made available at any time if needed.
|
||||
|
||||
This means that the memory usage displayed for current processes is lower than the memory usage reported in OpenPanel dashboard page.
|
||||
Because this often confuses users, OpenPanel will periodically safely drop all cached ram at the beginning of an hour.
|
||||
@@ -0,0 +1,42 @@
|
||||
# How to fix: failed to create runc console socket: mkdir /tmp/pty160439680
|
||||
|
||||
When running command:
|
||||
|
||||
```bash
|
||||
opencli user-login stefan
|
||||
```
|
||||
|
||||
If you receive an error:
|
||||
> failed to create runc console socket: mkdir /tmp/pty1604396800: no space left on device: unknown
|
||||
|
||||
It indicates that the disk space is at 100% and you need to first free some space on the server in order to login.
|
||||
|
||||
First, find the partition that is full:
|
||||
|
||||
```bash
|
||||
df -h
|
||||
```
|
||||
|
||||
Example output:
|
||||
```bash
|
||||
df -h
|
||||
Filesystem Size Used Avail Use% Mounted on
|
||||
tmpfs 3.2G 307M 2.9G 10% /run
|
||||
/dev/vda1 296G 296G 0 100% /
|
||||
tmpfs 16G 252K 16G 1% /dev/shm
|
||||
tmpfs 5.0M 0 5.0M 0% /run/lock
|
||||
/dev/dm-1 10G 5.7G 4.4G 57% /var/lib/docker/devicemapper/mnt/ef7bedfb84a4b7d216944174518a29d79edbc11a17546f0a6f9f691128a0577d
|
||||
/dev/dm-3 10G 1.1G 8.9G 11% /var/lib/docker/devicemapper/mnt/ff5c36635ee829daf9f9aef6b23b02afb7ee34431a2c37c4321b97a1568ba435
|
||||
/dev/dm-5 160G 6.5G 154G 5% /var/lib/docker/devicemapper/mnt/77de40032c66f2f6926209de4e58a0eced5113cdc32bb363127857b1442a2989
|
||||
|
||||
```
|
||||
|
||||
In this example we see that the entire / is full, so we can use a tools such as `ncdu` do check what is using the disk space:
|
||||
|
||||
```bash
|
||||
ncdu /
|
||||
```
|
||||
|
||||
Navigate through directories and delete any old backups or log files by pressing `D` on the keyboard.
|
||||
|
||||
After freeing disk space, repeat the command.
|
||||
@@ -0,0 +1,12 @@
|
||||
# How to fix: failed to create runc console socket: stat /tmp
|
||||
|
||||
When running command:
|
||||
|
||||
```bash
|
||||
opencli user-login stefan
|
||||
```
|
||||
|
||||
If you receive an error:
|
||||
> failed to create runc console socket: stat /tmp: no such file or directory: unknown
|
||||
|
||||
It indicates that docker runtime files from the /tmp are missing (deleted by some program/user), so the quickest solution is to reboot the server.
|
||||
@@ -0,0 +1,22 @@
|
||||
# Configuring MySQL or MariaDB per user in OpenPanel
|
||||
|
||||
OpenPanel utilizes Docker images as the foundation for hosting packages. Think of Docker images as ISO templates for VPS: they come with pre-installed services and cannot be modified after creation.
|
||||
|
||||
## Available Docker Images in OpenPanel
|
||||
|
||||
### OpenPanel Community Edition:
|
||||
- **Nginx with MySQL**
|
||||
- **Apache with MySQL**
|
||||
|
||||
### OpenPanel Enterprise Edition (additional images):
|
||||
- **Nginx with MariaDB**
|
||||
- **Apache with MariaDB**
|
||||
|
||||
## How to Assign MariaDB to a User
|
||||
|
||||
To use MariaDB for a specific user instead of MySQL, follow these steps on a server running OpenPanel Enterprise Edition:
|
||||
|
||||
1. [Create a new hosting plan](/docs/admin/plans/hosting_plans/#create-a-plan).
|
||||
2. Select one of the MariaDB-based Docker images (Nginx with MariaDB or Apache with MariaDB) for the plan.
|
||||
|
||||
Any user created under this plan will automatically use a Docker image with MariaDB instead of MySQL.
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Domain Management",
|
||||
"position": 1,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
# All Domains show Nginx 502 error
|
||||
|
||||
This happens when a third party user/service restarted docker and the floating ip service failed to reload the `/etc/hosts` file with new docker private IP addresses.
|
||||
|
||||
To resolve this issue, run:
|
||||
|
||||
```bash
|
||||
opencli server-recreate_hosts
|
||||
```
|
||||
|
||||
Then restart Nginx service:
|
||||
|
||||
- soft restart (reload without downtime):
|
||||
```bash
|
||||
docker exec nginx bash -c "nginx -t && nginx -s reload"
|
||||
```
|
||||
- hard restart (stop and start again):
|
||||
```bash
|
||||
docker restart nginx
|
||||
```
|
||||
@@ -0,0 +1,39 @@
|
||||
# Failed to Make Connection to Backend: httpd-UDS
|
||||
|
||||
|
||||
When loading a domain within a browser, you may receive the following error:
|
||||
|
||||
```
|
||||
503 error
|
||||
Service Unavailable
|
||||
```
|
||||
|
||||
Check the error log for the webserver:
|
||||
|
||||
- For Nginx:
|
||||
```bash
|
||||
tail -f /var/log/nginx/error.log
|
||||
```
|
||||
- For Apache:
|
||||
```bash
|
||||
tail -f /var/log/apache2/error.log
|
||||
```
|
||||
|
||||
Upon checking error log, the following error is appended:
|
||||
|
||||
> [Mon Jan 15 11:23:58.525837 2024] [proxy:error] [pid 63085:tid 140529576699456] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/phpphp8.2-fpm.sock (*) failed
|
||||
|
||||
|
||||
In the error itself we can see that the domain is using invalid path to php-fpm service: **/run/php/phpphp8.2-fpm.sock** instead of **/run/php/php8.2-fpm.sock**
|
||||
|
||||
To fix this, from _OpenPanel > Domains_ click on the three dots for the domain and click on "_Edit VirtualHosts_"
|
||||
|
||||

|
||||
|
||||
then edit the _SetHandler_ part and make sure that the php path does not contain phpphp but just php
|
||||
|
||||

|
||||
|
||||
click on Save and from _Server Settings > Service Status_ restart Nginx/Apache service to apply changes.
|
||||
|
||||

|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Email",
|
||||
"position": 6,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
# Troubleshooting Email Errors
|
||||
|
||||
Email communication is crucial for any organization, but issues can arise that disrupt this essential service. This guide provides practical steps to diagnose and resolve common email errors encountered in [OpenPanel Enterprise edition](/product/openpanel-premium-control-panel/), ensuring your email systems run smoothly and efficiently.
|
||||
|
||||
## ERROR list mail user: '/tmp/docker-mailserver/postfix-accounts.cf' does not exist
|
||||
|
||||
Dovecot is not started until the first email account is created, therefor listing email accounts with the command `opencli email-setup email list` before creating any email accounts, will produce error:
|
||||
```bash
|
||||
root@stefi:/usr/local/mail/openmail# opencli email-setup email list
|
||||
2024-08-27 07:55:15+00:00 ERROR listmailuser: '/tmp/docker-mailserver/postfix-accounts.cf' does not exist
|
||||
2024-08-27 07:55:15+00:00 ERROR listmailuser: Aborting
|
||||
```
|
||||
|
||||
**Solution**: Create an email account first with [opencli email-setup email add](https://dev.openpanel.com/cli/email.html#Create-email).
|
||||
|
||||
----
|
||||
|
||||
|
||||
## Error: auth-master: userdb lookup(user@example.net): connect(/run/dovecot/auth-userdb) failed: No such file or directory
|
||||
|
||||
Immediately after creating first email account, dovecot is still creating necessary files in the background, so running the `opencli email-setup email list` immediately after creating first email account will produce an error:
|
||||
|
||||
```
|
||||
root@stefi:/usr/local/mail/openmail# opencli email-setup email list
|
||||
doveadm(stefan@stefi.openpanel.site)<577><>: Error: auth-master: userdb lookup(stefan@stefi.openpanel.site): connect(/run/dovecot/auth-userdb) failed: No such file or directory
|
||||
doveadm(stefan@stefi.openpanel.site): Error: User lookup failed: Internal error occurred. Refer to server log for more information.
|
||||
2024-08-27 07:55:46+00:00 ERROR listmailuser: Supplied non-number argument '' to '_bytes_to_human_readable_size()'
|
||||
2024-08-27 07:55:46+00:00 ERROR listmailuser: Aborting
|
||||
2024-08-27 07:55:46+00:00 ERROR listmailuser: Supplied non-number argument '' to '_bytes_to_human_readable_size()'
|
||||
2024-08-27 07:55:46+00:00 ERROR listmailuser: Aborting
|
||||
* stefan@stefi.openpanel.site ( / ) [%]
|
||||
```
|
||||
|
||||
**Solution**: Repeat the command `opencli email-setup email list`
|
||||
|
||||
----
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Extensions",
|
||||
"position": 17,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
# OpenPanel and Blesta
|
||||
|
||||
OpenPanel Enterprise edition has billing integrations with [WHMCS](/docs/articles/extensions/openpanel-and-whmcs/), [FOSSBilling](/docs/articles/extensions/openpanel-and-fossbilling/) and Blesta.
|
||||
|
||||
## Blesta extension
|
||||
|
||||
OpenPanel Blesta extension allows users to integrate billing automations with their OpenPanel server.
|
||||
|
||||
**Blesta extension is provided by BlestaClub**: https://blesta.club/extensions/openpanel
|
||||
@@ -0,0 +1,90 @@
|
||||
# OpenPanel and FOSSBilling
|
||||
|
||||
OpenPanel Enterprise edition has billing integrations with [WHMCS](/docs/articles/extensions/openpanel-and-whmcs/) and FOSSBilling.
|
||||
|
||||
## OpenPanel
|
||||
|
||||
### Whitelist FOSSBillling
|
||||
|
||||
Before you can setup the OpenPanel server manager in FOSSBilling, you need to first whitelist your FOSSBilling server's IP address inside of OpenAdmin interface, and enable API access.
|
||||
|
||||
To enable access to the FOSSBilling server's IP, first check the ip address on that server, from terminal you can run:
|
||||
|
||||
```bash
|
||||
curl ip.openpanel.co
|
||||
```
|
||||
|
||||
Login to OpenAdmin and under **Settings > Firewall** add the FOSSBilling server's IP under **Allow IP address**:
|
||||
|
||||

|
||||
|
||||
### Enable API access
|
||||
|
||||
To enable API access on OpenPanel, navigate to **Settings > API Access** from the OpenAdmin interface and click on 'Enable API access' button:
|
||||
|
||||

|
||||
|
||||
## FOSSBilling
|
||||
|
||||
### Download OpenPanel Server Manager
|
||||
|
||||
On the FOSSBilling server navigate to the directory where FOSSBilling is installed and run this command to download the latest OpenPanel Server Manager:
|
||||
|
||||
```bash
|
||||
wget -O library/Server/Manager/OpenPanel.php https://raw.githubusercontent.com/stefanpejcic/FOSSBilling-OpenPanel/main/OpenPanel.php
|
||||
```
|
||||
|
||||
### Add OpenPanel Server
|
||||
|
||||
Login to your FOSSBilling admin panel and go to **System -> Hosting plans and servers** from within the navigation bar, then click on 'New server':
|
||||
|
||||

|
||||
|
||||
in the new form we need to set:
|
||||
|
||||

|
||||
|
||||
|
||||
4. Name: anything that you want to identify the server
|
||||
5. Hostname: if you are using domain to access OpenPanel, add it here, otherwise add the IP address.
|
||||
6. IP: set the IP address of the OpenPanel server.
|
||||
7. Assigned IP addresses: set IP addresses that are added on OpenPanel server.
|
||||
8. Nameserver 1: Set nameserver to use for domains
|
||||
9. Nameserver 2: Set nameserver to use for domains
|
||||
10. Server manages: **Select OpenPanel**
|
||||
11. Username: Set OpenAdmin panel username
|
||||
12. Password: Set OpenAdmin panel password
|
||||
13. Connection port: Set to `2087`
|
||||
14. Use secure connection: *Yes* fi you are using domain name for panel access, otherwise *No*
|
||||
|
||||
and click on the 'Add server' button.
|
||||
|
||||
### Add Hosting Plan for OpenPanel
|
||||
|
||||
From your FOSSBilling admin panel go to **System -> Hosting plans and servers** from within the navigation bar, then click on 'New hosting plan'.
|
||||
|
||||
Set the name for the plan **same as on OpenPanel hosting plan** and click on 'Create hosting plan'.
|
||||
|
||||

|
||||
|
||||
### Assign OpenPanel Server to product
|
||||
|
||||
From your FOSSBilling admin panel go to **Products -> Products & Services** from within the navigation bar, then click on the edit icon for the plan:
|
||||
|
||||

|
||||
|
||||
Click on 'Configuration' and for Server select the OpenPanel server and for hosting plan set it to match the plan name on OpenPanel server:
|
||||
|
||||

|
||||
|
||||
### Test connection
|
||||
|
||||
Create a new client and order the product that is configured to create OpenPanel account.
|
||||
|
||||
User should be able to login to their OpenPanel account:
|
||||
|
||||

|
||||
|
||||
and to reset the password:
|
||||
|
||||

|
||||
@@ -0,0 +1,69 @@
|
||||
# OpenPanel and WHMCS
|
||||
|
||||
OpenPanel Enterprise edition has billing integrations with WHMCS and [FOSSBilling](/docs/articles/extensions/openpanel-and-fossbilling).
|
||||
|
||||
OpenPanel WHMCS module allows users to integrate billing automations with their OpenPanel server.
|
||||
|
||||
# OpenPanel
|
||||
|
||||
To setup WHMCS to use your OpenPanel server follow these steps:
|
||||
|
||||
## Enable API
|
||||
|
||||
First make sure that API access is enabled by going to `OpenAdmin > API` or by running `opencli config get api` from the terminal:
|
||||

|
||||
If API is not enabled, click on the "Enable API access" button or from terminal run
|
||||
```bash
|
||||
opencli config update api on
|
||||
```
|
||||
|
||||
We recommend creating new Administrator user for API, to create a new user navigate to *OpenAdmin > OpenAdmin Settings* and create new admin user, or from terminal run:
|
||||
```bash
|
||||
opencli admin new USERNAME_HERE PASSWORD_HERE
|
||||
```
|
||||
|
||||
## Whitelist on OpenPanel
|
||||
|
||||
On OpenPanel server make sure that the OpenAdmin port 2087 is open on `OpenAdmin > Firewall` or whitelist the IP adress of your WHMCS server.
|
||||
to whitelist ip address from terminal run:
|
||||
|
||||
```bash
|
||||
csf -a WHMCS_IP_HERE
|
||||
```
|
||||
or if using UFS:
|
||||
```bash
|
||||
ufw allow from WHMCS_IP_HERE
|
||||
```
|
||||
|
||||
## Create hosting package
|
||||
Hosting packages need to be created on both OpenPanel and WHMCS servers.
|
||||
On OpenPanel server login to admin panel and on `OpenAdmin > Plans` create hosting packages that you will be assinging to users on WHMCS.
|
||||
|
||||
# WHMCS
|
||||
|
||||
## Install OpenPanel WHMC Module
|
||||
|
||||
Login to SSH for WHMCS server
|
||||
Navigate to `path_to_whmcs/modules/servers`
|
||||
Run this command to create a new folder and in it download the module:
|
||||
```bash
|
||||
git clone https://github.com/stefanpejcic/openpanel-whmcs-module.git openpanel
|
||||
```
|
||||
|
||||
## Whitelist on WHMCS
|
||||
|
||||
On WHMCS server also make sure that the 2087 port is opened or whitelist the IP address of your OpenPanel server.
|
||||
|
||||
## WHMCS Module Setup
|
||||
|
||||
From WHMS navigate to: *System Settings > Products & Services > Servers*
|
||||

|
||||
Click on *Create New Server* and under module select **OpenPanel** then add OpenPanel server IP, username and password for the OpenAdmin panel:
|
||||

|
||||
|
||||
## Create hosting package
|
||||
On the WHMCS server create first a new group and then create new plans under this group. When creating products, make sure to select OpenPanel for Module and the newly created group
|
||||

|
||||
|
||||
## Test
|
||||
Create an order and create a new order to test OpenPanel API.
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "File Management",
|
||||
"position": 8,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Install & Updates",
|
||||
"position": 13,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Licensing",
|
||||
"position": 12,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
# Upgrading to OpenPanel Enterprise and activating License
|
||||
|
||||
OpenPanel is available in two editions:
|
||||
|
||||
- **Community** - a free hosting control panel for Debian and Ubuntu OS, suitable for VPS and private use.
|
||||
- **Enterprise** - offers advanced features for user isolation and management, suitable for web hosting providers.
|
||||
|
||||
More information: [OpenPanel Community VS Enterprise edition](/beta)
|
||||
|
||||
## Purchase License
|
||||
|
||||
To purchase a license for the OpenPanel Enterprise edition [click here](https://my.openpanel.com/cart.php?a=add&pid=1).
|
||||
|
||||
After payment, license key is automatically issued and you will see it under the Services page:
|
||||
|
||||

|
||||
|
||||
## Add License Key
|
||||
|
||||
### To existing installation:
|
||||
|
||||
- From OpenAdmin:
|
||||
If you already have OpenPanel Community edition installed, navigate to **OpenAdmin > Try Enterprise** and add the key into the form:
|
||||
|
||||

|
||||
|
||||
- From terminal:
|
||||
```bash
|
||||
opencli license enterprise-XXX
|
||||
```
|
||||
Replace `enterprise-XXX` with your license key.
|
||||
|
||||

|
||||
|
||||
### To new installation:
|
||||
|
||||
If you will be installing OpenPanel Enterprise on another server, copy the install command from your service page and paste it into new server:
|
||||
|
||||

|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Operating Systems",
|
||||
"position": 11,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Security",
|
||||
"position": 7,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
# Domain is loading the SSL of another unrelated domain
|
||||
|
||||
### Symptoms
|
||||
Attempting to load an SSL returns a different domain website.
|
||||
|
||||
---
|
||||
|
||||
### Description
|
||||
When accessing with `https://` a domain that has no SSL installed, the Nginx webserver will automatically serve the SSL of the first domain that it finds on the server. This will result with a SSL warning for the user in browser.
|
||||

|
||||
|
||||
On 'Advanced' you can see that the SSL and domain name does not match:
|
||||

|
||||
|
||||
If ssl is accepted, it will redirect user to the domain that issued SSL.
|
||||
|
||||
---
|
||||
|
||||
### Workaround
|
||||
|
||||
If you have a domain name set for accessing OpenPanel, then you can set that domain ssl to be used for websites that have no SSL, and if accepted it will die:
|
||||
|
||||
```
|
||||
nano /etc/nginx/sites-enabled/default
|
||||
```
|
||||
|
||||
and add the following block **but replace server.stefan.rs with your domain and 11.22.33.44 with your server IP address**:
|
||||
```
|
||||
server {
|
||||
listen 11.22.33.44 :443 ssl http2 default_server;
|
||||
server_name _;
|
||||
|
||||
ssl_certificate /etc/letsencrypt/live/server.stefan.rs/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/server.stefan.rs/privkey.pem;
|
||||
|
||||
return 444;
|
||||
}
|
||||
```
|
||||
|
||||
Save and restart.
|
||||
```
|
||||
nginx -t && service nginx reload
|
||||
```
|
||||
|
||||
then when user accepts the SSL it will show an error:
|
||||
|
||||

|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Server Management",
|
||||
"position": 18,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Support Operations",
|
||||
"position": 14,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Transfers",
|
||||
"position": 3,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
# Import cPanel backup
|
||||
|
||||
Import cPanel accounts from backup.
|
||||
|
||||
## Create cpanel backup
|
||||
|
||||
Create a cPanel account backup using backup wizard or download a backup from Jetbackup5 interface:
|
||||

|
||||
|
||||
## Download backup
|
||||
Transfer the generated backup to your server
|
||||
|
||||
## Import backup
|
||||
To start import from OpenPanel, navigate to OpenAdmin > Users and click on 'Import User' tab.
|
||||

|
||||
|
||||
Insert full path to the cp backup archive, select a plan to use for that user and click on 'Import from Backup'.
|
||||
|
||||
## That's it
|
||||
Import is running in background
|
||||
|
||||

|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "User Experience",
|
||||
"position": 15,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
# Disable PHP errors or increase upload limits per website
|
||||
|
||||
If you have multiple websites in the same domain folder and only want to enable or disable php settings for a certain website, create a file `.user.ini` inside the website folder.
|
||||
|
||||
In the file set the desired php values, for example:
|
||||
|
||||
set post and upload max file size:
|
||||
|
||||
```bash
|
||||
upload_max_filesize = 200M
|
||||
post_max_size = 200M
|
||||
```
|
||||
|
||||
display all php errors:
|
||||
|
||||
```bash
|
||||
error_reporting = E_ALL
|
||||
display_errors = on
|
||||
```
|
||||
|
||||
After editingq restart the php service. Navigate to PHP.INI editor and select the php version that your domain is using. Simply click on the save button and the service will be restarted, immediately applying settings from the .user.ini file.
|
||||
@@ -0,0 +1,21 @@
|
||||
# How to find OpenPanel version
|
||||
|
||||
You can do it the following ways:
|
||||
|
||||
in the panel interface – in the lower left corner;
|
||||
|
||||

|
||||
|
||||
In the server terminal, using the `opencli --version` command.
|
||||
|
||||
```bash
|
||||
opencli --version
|
||||
```
|
||||
|
||||
Example output:
|
||||
|
||||
```bash
|
||||
root@server:~# opencli --version
|
||||
|
||||
1.0.4
|
||||
```
|
||||
@@ -0,0 +1,53 @@
|
||||
# How to Setup Django on OpenPanel
|
||||
|
||||
OpenPanel features a custom AutoInstaller that provides one-click installations for a variety of popular CMS and frameworks. Unlike other autoinstallers that primarily support PHP-based applications, OpenPanel's AutoInstaller also supports Python, Ruby on Rails, and Node.js applications.
|
||||
|
||||
Here’s a step-by-step guide to installing a Python-based application like Django on OpenPanel:
|
||||
|
||||
### Step 1: Create a Domain
|
||||
|
||||
Navigate to **OpenPanel > Domains** to add the domain name you will use for your app.
|
||||
Ensure the domain name is pointed to the server's IP address, which you can find on the Dashboard page. Verify that you can access the domain.
|
||||
|
||||
### Step 2: Open AutoInstaller
|
||||
|
||||
In the OpenPanel menu, click on **Auto Installer** and select **Install** under the **NodeJS & Python** section.
|
||||
|
||||
[](https://postimg.cc/N2YqZyWD)
|
||||
|
||||
|
||||
### Step 3. Fill the form
|
||||
|
||||
In the form, choose your domain name under 'Application URL'.
|
||||
|
||||

|
||||
|
||||
In the 'Application Startup File' field, enter domainname/manage.py (replace domainname with your actual domain name).
|
||||
|
||||

|
||||
|
||||
In the 'Optional flags' section, set the Django runserver command as follows: `runserver 0.0.0.0:3000` (replace 3000 with your desired port number).
|
||||
|
||||

|
||||
|
||||
For the 'Type' field, select **Python**:
|
||||
|
||||

|
||||
|
||||
and in the 'Port' field, enter the same port number you used in the runserver flag (e.g., 3000).
|
||||
|
||||

|
||||
|
||||
|
||||
Click **Create** and wait a few minutes for the process to complete.
|
||||
|
||||

|
||||
|
||||
|
||||
Note: The initial setup might be slow as it installs PM2, Python, Django admin, and other dependencies. Subsequent application setups will be faster.
|
||||
|
||||
### Step 4. Test in browser
|
||||
|
||||
Once the installation is complete, open your domain in a web browser to test the setup.
|
||||
|
||||

|
||||
@@ -0,0 +1,29 @@
|
||||
# Setting Up a Spring Boot Java Application on OpenPanel
|
||||
|
||||
Running Java applications on OpenPanel is simple and efficient. Follow the steps below to get your [Spring Boot](https://spring.io/projects/spring-boot) application up and running.
|
||||
|
||||
## Step 1: Upload the .jar File
|
||||
|
||||
Once your Spring Boot application is packaged into a `.jar` file, upload it to your OpenPanel account.
|
||||
|
||||
Here is an example [helloworld.jar](https://github.com/stefanpejcic/OpenPanel/tree/main/applications/java) file that you can use for testing.
|
||||
|
||||
To upload the.jar file to OpenPanel account use one of the following methods:
|
||||
- [**FileManager**](/docs/panel/files/#upload-files) within OpenPanel
|
||||
- [**FTP**](/docs/panel/files/FTP/) for remote file transfers
|
||||
- [**WebTerminal**](/docs/panel/advanced/terminal/) for terminal-based file uploads
|
||||
- [**Remote SSH**](/docs/panel/advanced/ssh/) for secure shell file uploads
|
||||
|
||||
## Step 2: Run the Application
|
||||
|
||||
1. Log in to **OpenPanel** and navigate to **AutoInstaller**.
|
||||
2. In the **Type** dropdown, select **Java**.
|
||||
3. In the **Startup Script** section, add the path to your `.jar` file.
|
||||
4. Specify the **domain** and **port** on which you want the app to run locally.
|
||||
5. Click **Create** and wait for the process to complete.
|
||||
|
||||

|
||||
|
||||
OpenPanel will automatically install the required tools, including **NPM**, **PM2**, **Java**, and **JDK**. It will then start your application, configure a reverse proxy for the domain to the specified port, and ensure that your app starts automatically when the system boots up.
|
||||
|
||||
By following these steps, your Spring Boot application will be fully set up and running on OpenPanel.
|
||||
@@ -0,0 +1,20 @@
|
||||
# How to Install Older Versions of Ioncube Loader Extensions for PHP
|
||||
|
||||
Administrators can configure a custom link to a `.tar.gz` archive containing older Ioncube Loader versions. By default, the file does not exist, and the `opencli php-ioncube` script will download the latest versions from the Ioncube Loader website.
|
||||
|
||||
Follow these steps to set up an older version of Ioncube Loader:
|
||||
|
||||
1. **Create a directory named `ioncube`.**
|
||||
|
||||
2. **Place the loader files in the directory.**
|
||||
Inside the `ioncube` directory, add the loader files for each PHP version in the format: `ioncube_loader_lin_*.so`
|
||||
|
||||
3. **Compress the directory into a `.tar.gz` archive.**
|
||||
|
||||
4. **Upload the archive online.**
|
||||
Upload the `.tar.gz` archive to a web-accessible location and copy the download link.
|
||||
|
||||
5. **Set the download link.**
|
||||
Add the link to the `/etc/openpanel/php/ioncube.txt` file.
|
||||
|
||||
Once the link is set, all subsequent Ioncube Loader installations using the [opencli php-ioncube](https://dev.openpanel.com/cli/php.html#Enable-ioncube-loader) command will download the loader from the specified archive.
|
||||
@@ -0,0 +1,104 @@
|
||||
# Setup Remote SMTP Server for OpenPanel
|
||||
|
||||
To set up a remote SMTP server for all emails sent from OpenPanel user websites, follow these steps:
|
||||
|
||||
## Whitelist the Remote SMTP Server
|
||||
|
||||
On the server with OpenPanel installed, ensure that the IP address of the remote SMTP server is whitelisted on [firewall](/docs/admin/security/firewall/).
|
||||
|
||||
Similarly, on the remote SMTP server, make sure to whitelist the IP address of the OpenPanel server.
|
||||
|
||||
|
||||
## Configure SMTP per User
|
||||
|
||||
For each user, SMTP settings are configured via the `/etc/msmtprc` file. An example file content is shown below:
|
||||
|
||||
```
|
||||
# /etc/msmtprc
|
||||
defaults
|
||||
auth off
|
||||
tls off
|
||||
logfile /var/log/msmtp.log
|
||||
|
||||
account default
|
||||
host openadmin_mailserver
|
||||
port 25
|
||||
from USERNAME@HOSTNAME
|
||||
```
|
||||
|
||||
[Login as root for that user](https://dev.openpanel.com/cli/commands.html#Login-as-User) and edit the file. In this file, set the email address and server to be used for all outgoing emails.
|
||||
|
||||
For example, you can configure Gmail SMTP settings as shown in the [Arch Linux Wiki](https://wiki.archlinux.org/title/Msmtp).
|
||||
|
||||
Example configuration for Gmail:
|
||||
|
||||
```bash
|
||||
# Set defaults.
|
||||
defaults
|
||||
|
||||
# Enable or disable TLS/SSL encryption.
|
||||
auth on
|
||||
tls on
|
||||
tls_certcheck off
|
||||
|
||||
# Set up a default account's settings.
|
||||
account gmail
|
||||
logfile /var/log/msmtp.log
|
||||
host "smtp.gmail.com"
|
||||
port 587
|
||||
user email_account_here@gmail.com
|
||||
password "password_here"
|
||||
from "email_account_here@gmail.com"
|
||||
|
||||
# Set default account
|
||||
account default: gmail
|
||||
```
|
||||
|
||||
Example configuration for OpenPanel MailServer using a specific email account:
|
||||
|
||||
```bash
|
||||
# Set defaults.
|
||||
defaults
|
||||
|
||||
# Enable or disable TLS/SSL encryption.
|
||||
#auth on
|
||||
tls off
|
||||
tls_certcheck off
|
||||
#auth plain
|
||||
|
||||
# Set up a default account's settings.
|
||||
account USERNAME
|
||||
logfile /home/USERNAME/msmtp.log
|
||||
host openadmin_mailserver
|
||||
port 25
|
||||
user "email_account_here@example.com"
|
||||
password "password_here"
|
||||
from "email_account_here@example.com"
|
||||
|
||||
# Set default account
|
||||
account default: USERNAME
|
||||
```
|
||||
|
||||
|
||||
|
||||
After saving the configuration, test sending emails from a PHP website like WordPress or directly from the terminal: [Simple PHP Mail test](https://conetix.com.au/support/simple-php-mail-test/)
|
||||
|
||||
## Configure SMTP for all existing users
|
||||
|
||||
Create a new file on the server, and in it copy the [default /etc/msmtprc file](https://github.com/stefanpejcic/OpenPanel/blob/main/docker/apache/email/msmtprc).
|
||||
|
||||
In the file set your remote SMTP server address and optionally logins.
|
||||
|
||||
When finished, run the bellow command to copy the file to each OpenPanel user:
|
||||
|
||||
```bash
|
||||
for user in $(opencli user-list --json | grep -v 'SUSPENDED' | awk -F'"' '/username/ {print $4}'); do
|
||||
echo "Processing user: $user"
|
||||
docker cp filename $user:/etc/msmtp
|
||||
done
|
||||
```
|
||||
|
||||
|
||||
## Configure SMTP automatically for new users
|
||||
|
||||
To automatically have all users pre-configured to use your remote SMTP server, [build a docker image](/docs/articles/docker/building_a_docker_image_example_include_php_ioncubeloader/) that has your custom [/etc/msmtprc](https://github.com/stefanpejcic/OpenPanel/blob/main/docker/apache/email/msmtprc) file.
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"label": "Web Servers",
|
||||
"position": 5,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
# After restarting server, Nginx cannot automatically start
|
||||
|
||||
### Symptoms
|
||||
After restarting the server, Nginx cannot automatically start
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
### Description
|
||||
|
||||
Whhen clicking the 'Restart' or 'Start' buttons, it displays error:
|
||||
|
||||

|
||||
|
||||
`systemctl status nginx.service` displays:
|
||||
```
|
||||
Jul 29 16:32:12 ubuntu-s-2vcpu-4gb-120gb-intel-sgp1-01 nginx[933]: nginx: configuration file /etc/nginx/nginx.conf test failed
|
||||
Jul 29 16:32:12 ubuntu-s-2vcpu-4gb-120gb-intel-sgp1-01 systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE
|
||||
Jul 29 16:32:12 ubuntu-s-2vcpu-4gb-120gb-intel-sgp1-01 systemd[1]: nginx.service: Failed with result 'exit-code'.
|
||||
Jul 29 16:32:12 ubuntu-s-2vcpu-4gb-120gb-intel-sgp1-01 systemd[1]: Failed to start A high performance web server and a reverse proxy server.
|
||||
Jul 29 16:32:12 ubuntu-s-2vcpu-4gb-120gb-intel-sgp1-01 systemd[1]: nginx.service: Unit cannot be reloaded because it is inactive.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Solution
|
||||
|
||||
There are errors in configuration files of one or more domains, and now after the reboot, nginx refuses to start.
|
||||
|
||||
Run this command to dispaly the exact error, file and even line number that causes problem:
|
||||
```
|
||||
nginx -t
|
||||
```
|
||||
|
||||
You need to edit the specified lines in files, example with nano editor:
|
||||
|
||||
```
|
||||
nano /etc/nginx/sites-enabled/DOMAIN_NAME.conf
|
||||
```
|
||||
|
||||
then again validate nginx configuration and restart it:
|
||||
|
||||
```
|
||||
nginx -t && service nginx restart
|
||||
```
|
||||
|
||||
8
website/versioned_docs/version-1.0.0/changelog/0.1.0.md
Normal file
8
website/versioned_docs/version-1.0.0/changelog/0.1.0.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
---
|
||||
|
||||
# 0.1.0
|
||||
|
||||
Released on July 18, 2023
|
||||
|
||||
🎉🎉🎉 Initial release 🎉🎉🎉
|
||||
17
website/versioned_docs/version-1.0.0/changelog/0.1.1.md
Normal file
17
website/versioned_docs/version-1.0.0/changelog/0.1.1.md
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
---
|
||||
|
||||
# 0.1.1
|
||||
|
||||
Released on October 26, 2023
|
||||
|
||||
## 🔧 Maintenance
|
||||
|
||||
- Ubuntu Docker images updated on [hub.openpanel.co](https://hub.openpanel.co/)
|
||||
|
||||
## 🐛 Bug fixes
|
||||
|
||||
- Fixed bug with removing certificates during nginx reload
|
||||
- Fixed incorrect group permissions for wordpress files after ibstalling from WP Manager
|
||||
- Fixed style bug with Bootstrap4 modals not being triggered using Bootstrap5 names
|
||||
- Restrict PHP-FPM permissions to a new user to prevent permission escalation
|
||||
19
website/versioned_docs/version-1.0.0/changelog/0.1.2.md
Normal file
19
website/versioned_docs/version-1.0.0/changelog/0.1.2.md
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
---
|
||||
|
||||
# 0.1.2
|
||||
|
||||
Released on November 23, 2023
|
||||
|
||||
## 🚀 New features
|
||||
- OpenCLI commands: [ssl-hostname](https://openpanel.co/docs/admin/scripts/users#list-users) [ssl-user](https://openpanel.co/docs/admin/scripts/users#list-users) [user-list](https://openpanel.co/docs/admin/scripts/users#list-users) [user-login](https://openpanel.co/docs/admin/scripts/users#login-as-user) [user-loginlog](https://openpanel.co/docs/admin/scripts/users#list-users)
|
||||
- Set dedicated IP address for user in Nginx
|
||||
- HTTP/2 and GZIP support for Nginx
|
||||
- Access logs per domain name using GoAccess log analyzer
|
||||
- SSL status detection for WP Manager
|
||||
- Edit MySQL Configuration
|
||||
- Dark mode toogle based on users OS or preference
|
||||
-
|
||||
## 🐛 Bug fixes
|
||||
- Fixed bug on WP Manager to not show subdirectories backups for main domain
|
||||
- Reverse sort of logs on the login history
|
||||
13
website/versioned_docs/version-1.0.0/changelog/0.1.3.md
Normal file
13
website/versioned_docs/version-1.0.0/changelog/0.1.3.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
---
|
||||
|
||||
# 0.1.3
|
||||
|
||||
Released on November 30, 2023
|
||||
|
||||
## 💥 Breaking changes
|
||||
- [All OpenCLI scripts](/docs/category/openpanel-cli) are now converted to binaries
|
||||
|
||||
## 🚀 New features
|
||||
- OpenCLI commands: [user-list](https://openpanel.co/docs/admin/scripts/users#list-users) [user-rename](https://openpanel.co/docs/admin/scripts/users#rename-user) [user-password](https://openpanel.co/docs/admin/scripts/users#change-password) [user-ip](https://openpanel.co/docs/admin/scripts/users#assign--remove-ip-to-user) [plan-list](https://openpanel.co/docs/admin/scripts/plans#list-plans) [plan-create](https://openpanel.co/docs/admin/scripts/plans#create-plan) [plan-usage](https://openpanel.co/docs/admin/scripts/plans#list-users-on-plan)
|
||||
- MySQL Processes
|
||||
38
website/versioned_docs/version-1.0.0/changelog/0.1.4.md
Normal file
38
website/versioned_docs/version-1.0.0/changelog/0.1.4.md
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
---
|
||||
|
||||
# 0.1.4
|
||||
|
||||
Released on December 25, 2023
|
||||
|
||||
## 💅 Polish
|
||||
|
||||
- [Admini bootstrap template](https://github.com/lekoala/admini) integrated as the new default template for the OpenPanel User Interface
|
||||
|
||||
## 🚀 New features
|
||||
- Autocomplete for OpenCLI scripts
|
||||
- OpenCLI commands: [admin](https://openpanel.co/docs/admin/scripts/admin) [admin off](https://openpanel.co/docs/admin/scripts/admin#enable--disable-adminpanel) [admin on](https://openpanel.co/docs/admin/scripts/admin#enable--disable-adminpanel) [admin new](https://openpanel.co/docs/admin/scripts/admin#create-new-admin) [admin password](https://openpanel.co/docs/admin/scripts/admin#reset-admin-password) [opencli admin rename](https://openpanel.co/docs/admin/scripts/admin#rename-admin-user) [opencli admin delete](https://openpanel.co/docs/admin/scripts/admin#delete-admin-user) [opencli plan delete](https://openpanel.co/docs/admin/scripts/plans#delete-plan) [opencli user email change](https://openpanel.co/docs/admin/scripts/users#change-email) [opencli nginx-install_modsec](https://openpanel.co/docs/admin/scripts/webserver#install-modsecurity) [opencli domains-enable_modsec](https://openpanel.co/docs/admin/scripts/domains#enable-modsecurity) [opencli server_info](https://openpanel.co/docs/admin/scripts/admin#server_info) [opencli files-fix_permissions](https://openpanel.co/docs/admin/scripts/files#fix_permissions) [opencli docker-usage_stats_cleanup](https://openpanel.co/docs/admin/scripts/docker#usage_stats_cleanup) [opencli docker-is_port_in_use](https://openpanel.co/docs/admin/scripts/docker#is-port-in-use)
|
||||
- [goaccess](https://github.com/allinurl/goaccess) integrated
|
||||
- [ModSecurity](https://github.com/SpiderLabs/ModSecurity-nginx) with [OWASP core ruleset](https://github.com/coreruleset/coreruleset)
|
||||
- Edit general options for WPManager
|
||||
- Suppport for adding [custom code](https://openpanel.co/docs/admin/customize/development/#custom-code)
|
||||
- Set WordPress update preferences for core, plugins and themes inside the WPManager
|
||||
- Set debugging options for a website inside the WPManager
|
||||
- Update WordPress core to latest version using the WPManager
|
||||
- Refresh data option for WP Manager to re-scan existing installations
|
||||
- Process Manager
|
||||
- Change TimeZone
|
||||
- Nginx / Apache Configuration Editor
|
||||
- ModSecurity Settings
|
||||
- Elasticsearch
|
||||
- ClamAV Scanner (BETA)
|
||||
- Fix Permissions
|
||||
- IP blocking per domain
|
||||
- Memory Usage and %CPU pages added
|
||||
|
||||
## 🐛 Bug fixes
|
||||
- Fixed bug where the menu sidebar would display while in File Editor full screen mode.
|
||||
|
||||
## 💥 Breaking changes
|
||||
- [custom nginx error pages](https://github.com/denysvitali/nginx-error-pages) added to the Nginx configuration
|
||||
- HTTP/2 enabled by default in Nginx
|
||||
53
website/versioned_docs/version-1.0.0/changelog/0.1.5.md
Normal file
53
website/versioned_docs/version-1.0.0/changelog/0.1.5.md
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
---
|
||||
|
||||
# 0.1.5
|
||||
|
||||
Released on March 08, 2024
|
||||
|
||||
## 🚀 New features
|
||||
- [Notifications Center](https://community.openpanel.co/d/13-introducing-notifications-center)
|
||||
- Administrators can now [customize the generated Domain Access Logs reports](https://community.openpanel.co/d/6-issues-with-domain-access-logs)
|
||||
- [Custom nameservers can now be added](https://dev.openpanel.co/cli/commands.html) and will automatically be used in the dns zone template for new domains
|
||||
- Administrators can now [set custom how-to articles](https://dev.openpanel.co/cli/commands.html) to be displayed in user dashboard
|
||||
- Docker images now support all PHP verisons from 5.6 to 8.3
|
||||
- Administrators can now change the default `/openpanel` proxy to anything they want using the: [openpanel_proxy](/docs/admin/scripts/openpanel_config#openpanel_proxy) setting
|
||||
- [opencli admin list](https://dev.openpanel.co/cli/commands.html#List-Admin-users), [opencli admin notifications](https://dev.openpanel.co/cli/commands.html#Notifications), [opencli user-redis](https://dev.openpanel.co/cli/commands.html#REDIS), [opencli user-memcached](https://dev.openpanel.co/cli/commands.html#Memcached), [opencli backup-config](https://dev.openpanel.co/cli/commands.html#Config), [opencli backup-destination](https://dev.openpanel.co/cli/commands.html#Destination), [opencli backup-logs](https://dev.openpanel.co/cli/commands.html#Logs), [opencli backup-job](https://dev.openpanel.co/cli/commands.html#Backup-Jobs)
|
||||
- [OpenAdminAPI](https://dev.openpanel.co/api/)! 🎉
|
||||
- Implemented support for previewing .webp and .avif files in File Manager.
|
||||
- Added code syntax highlight for [Nginx/Apache Configuration Editor](/docs/panel/advanced/server_settings/#nginx--apache-settings) and [PHP.INI Editor](/docs/panel/advanced/server_settings/#phpini-editor)
|
||||
- Added support for [running custom scripts after OpenPanel update process](https://dev.openpanel.co/customize.html#After-update).
|
||||
|
||||
## 💥 Breaking changes
|
||||
- Storage driver [devicemapper is replaced with overlay2](https://community.openpanel.co/d/8-switching-docker-storage-engine-from-devicemapper-to-overlay2-storage) as the default storage driver for Docker
|
||||
- PHP 7.4 is removed as the pre-installed verison in docker containers, PHP 8.3 is now the only version that is pre-installed.
|
||||
- New users will have REDIS 7.2 instead of 6.3
|
||||
- Usernames must consist of a minimum of 3 characters and a maximum of 20 characters, only numbers and letters are allowed.
|
||||
- Remote Backups with SSH key-based authentication
|
||||
- `opencli server_info` command is renamed to `opencli report`: [Generate system information reports #43](https://github.com/stefanpejcic/openpanel/issues/43)
|
||||
|
||||
|
||||
## 🐛 Bug fixes
|
||||
- Fixed [bug with error `Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)` when running mysql commands on terminal](https://community.openpanel.co/d/18-cant-connect-to-local-mysql-server-through-socket-varrunmysqldmysqldsock-13).
|
||||
- Fixed [bug with bind9 configuration](https://community.openpanel.co/d/5-dns-server-does-not-respond-to-request-for-domain-zone) that caused the DNS server not to respond to request for domain zone
|
||||
- Fixed bug in [opencli config update](https://dev.openpanel.co/cli/commands.html) not restarting the service for major system changes
|
||||
- Fixed bug with bind9 service restart instead of reload when adding new domains
|
||||
- Fixed bug with 500 error on dashboard page if invalid JSON data in knowledge_base_articles.json
|
||||
- Fixed bug 'create command denied for user' when creating tables in phpMyAdmin
|
||||
- Fixed bug 'unexpected 'static' (T_STATIC)' in phpMyAdmin minimum required php version
|
||||
- Fixed bug in dashboard page with wrong color indicators for current CPU and RAM usage
|
||||
- Fixed 500 error in 'Resource Usage History' page caused by the % symbol in localization strings
|
||||
- Fixed 404 error for 'Domain Logs' page link in the search results
|
||||
- Fixed bug with free memory usage not being returned from containers back to the host server
|
||||
- Fixed bug with container private ip address showing in domain logs
|
||||
- Added support for allow/deny port ranges in `OpenAdmin > Firewall Settings`
|
||||
|
||||
## 💅 Polish
|
||||
- [German translation](https://github.com/stefanpejcic/openpanel-translations/tree/main/de-de) contributed by [dabonzo](https://github.com/dabonzo)
|
||||
- The new template is now fully localized and [can be translated to any language](https://github.com/stefanpejcic/openpanel-translations)
|
||||
- REDIS, Memcached and Elasticsearch are now not preinstalled, but can be installed by the user with a single click.
|
||||
- Account Activity now highlights actions performed by the Administrator user.
|
||||
- `panel` and `admin` services now support reload command.
|
||||
- KEYPHRASES are now disabled in generated html reports from domain logs.
|
||||
- Search results in FileManager now prioritize Files and Folders.
|
||||
- Quick start guide added to OpenAdmin dashboard.
|
||||
334
website/versioned_docs/version-1.0.0/changelog/0.1.6.md
Normal file
334
website/versioned_docs/version-1.0.0/changelog/0.1.6.md
Normal file
@@ -0,0 +1,334 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
|
||||
# 0.1.6
|
||||
|
||||
Released on April 15, 2024
|
||||
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- Fixed bug durring ModSecurity installation process (reported by [reyokh](https://hostingforums.net/d/282-openpanel-not-another-free-hosting-panel/6))
|
||||
- Fixed bug on *OpenAdmin > Users* with displaying server name
|
||||
- Fixed bug on *OpenAdmin > Users > Edit information* with modal-backdrop left after closing the modal.
|
||||
- Fixed bug on *OpenAdmin > General Settings* with the disabled input field causing 500 error on save.
|
||||
- Resolved an issue with the PHP-FPM service that led to WordPress prompting for FTP credentials during plugin installation and media uploads.
|
||||
- Fixed bug where suspended users were being excluded from search results in the *OpenAdmin > Users* section.
|
||||
- Fixed bug where [the wrong OpenPanel version was shown in the sidebar](https://i.postimg.cc/Jz0tMy7X/2024-03-18-13-38.png) under OpenPanel.
|
||||
- Fixed bug where errors for the OpenAdmin section were being logged in api.log instead of the error.log file.
|
||||
- Fixed bug with PHP installation in `opencli php-install_php_version` script that caused the missing php-fpm service in containers.
|
||||
- Fixed bug with the `opencli php-default_php_version` script that caused the new default php version not to be set for cli.
|
||||
- Fixed bug with `opencli hostname-ssl` script failing to renew SSL.
|
||||
- Fixed [bug with permissions not permiting user to edit crontab via terminal](https://github.com/stefanpejcic/OpenPanel/issues/75)
|
||||
- Fixed bug [Memcached allocation slider bug #89](https://github.com/stefanpejcic/OpenPanel/issues/89)
|
||||
|
||||
|
||||
### 🚀 New features
|
||||
- [Turkish translation 🇹🇷](#turkish-translation)
|
||||
- [Docker images can now be downloaded, updated and deleted from the *OpenAdmin > Docker Settings* page.](#openadmin--docker)
|
||||
- Introduced *OpenAdmin > API Settings* page, enabling API access, token generation, curl command execution, request sending, response viewing, and API access log monitoring.
|
||||
- Added a feature that allows for [manual initiation of updates via the *OpenAdmin > General Settings* section](#panel-update-from-gui).
|
||||
- [*OpenAdmin > ModSecurity* interface.](#openadmin--modsecurity)
|
||||
- [`opencli nginx-modsec` script that allows admins to: update OWASP Core Ruleset, List ModSecurity rules and Logs, Enable/Disable Rules and view domain settings.](#openadmin--modsecurity)
|
||||
- [Custom OpenPanel and OpenAdmin templates](#custom-templates) can now be defined by the Administrator
|
||||
- [dev_mode](#dev-mode)
|
||||
- [BasicAuth for OpenAdmin panel](#basicauth-for-openadmin)
|
||||
- [DNS zone export for *OpenPanel > Edit DNS Zone*](#export-dns-zone)
|
||||
- [Selfsigned SSL inside docker containers for Nginx & Apache](#selfsigned-ssl)
|
||||
- [Notifications on admin logins from new IP address](#admin-login)
|
||||
- [Email alerts for the Notifications center](#email-alerts)
|
||||
|
||||
### 💅 Polish
|
||||
- Added check if docker images exist before creating plans.
|
||||
- The system now logs the admin username to identify who performed actions for a user.
|
||||
- Moved all JavaScript code for OpenAdmin to external files.
|
||||
- All responses from OpenAdmin are now compressed, including pages (HTML), templates (JavaScript & CSS), and API responses (JSON).
|
||||
- Added online status indicators to the Users table in OpenAdmin.
|
||||
- MySQL service is now listening on both `localhost` and `127.0.0.1`
|
||||
- New default OpenAdmin theme
|
||||
- Added checks to remove apt cache and temporary files after install process
|
||||
- [Custom cron file `/etc/cron.d/openpanel`](#etccrondopenpanel)
|
||||
- [OpenAdmin login log](https://dev.openpanel.co/logs.html)
|
||||
- [Default PHP version change is now logged](#log-php-change)
|
||||
- Added warning messages for unlimited disk usage on *OpenAdmin > Users > single user* page.
|
||||
|
||||
|
||||
-----
|
||||
|
||||
### dev_mode
|
||||
|
||||
dev_mode allows developers to view original responses from OpenAdmin and detailed error messages. When enabled, the following occurs:
|
||||
|
||||
- html/css/js code from the templates is not minified
|
||||
- json responses are not minified
|
||||
- detailed error messages are shown
|
||||
|
||||
|
||||
To enable dev_mode:
|
||||
|
||||
```
|
||||
opencli config update dev_mode on
|
||||
```
|
||||
|
||||
To disable dev_mode:
|
||||
|
||||
```
|
||||
opencli config update dev_mode on
|
||||
```
|
||||
|
||||
and restart *admin* service.
|
||||
|
||||
|
||||
----
|
||||
|
||||
### BasicAuth for OpenAdmin
|
||||
|
||||
As an additional security measure, [BasicAuth](https://en.wikipedia.org/wiki/Basic_access_authentication) can be enabled for OpenAdmin panel. [Instruction](/docs/admin/scripts/openpanel_config/#admin_template)
|
||||
|
||||

|
||||
|
||||
:::danger
|
||||
API access is automatically disabled when BasicAuth is enabled.
|
||||
:::
|
||||
|
||||
To enable basic authentication for OpenAdmin, run commands:
|
||||
|
||||
```
|
||||
opencli config update basic_auth yes
|
||||
```
|
||||
|
||||
```
|
||||
opencli config update basic_auth_username STRONG_USERNAME_HERE
|
||||
```
|
||||
|
||||
```
|
||||
opencli config update basic_auth_password STRONG_PASSWORD_HERE
|
||||
```
|
||||
|
||||
|
||||
then reload the OpenAdmin service:
|
||||
|
||||
```
|
||||
service admin reload
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Email Alerts
|
||||
|
||||
You can now receive email alerts from the Notifications center!
|
||||
|
||||

|
||||
|
||||
- To enable email alerts, set email address in *OpenAdmin > Notifications Center* or using OpenCLI: `opencli config update email stefan@pejcic.rs`
|
||||
- To disable email alerts simply remove the email address from *OpenAdmin > Notifications Center* or using OpenCLI: `opencli config update email ''`
|
||||
- To check current email navigate to *OpenAdmin > Notifications Center* or using OpenCLI: `opencli config get email`
|
||||
|
||||
For sending emails, you can configure outgoing SMTP server:
|
||||
|
||||
```
|
||||
[SMTP]
|
||||
mail_server=
|
||||
mail_port=465
|
||||
mail_use_tls=False
|
||||
mail_use_ssl=True
|
||||
mail_username=
|
||||
mail_password=
|
||||
mail_default_sender=
|
||||
mail_security_token=78bd237db2da
|
||||
```
|
||||
|
||||
Each value can be set with the `opencli config update` command.
|
||||
|
||||
---
|
||||
|
||||
### Admin Login
|
||||
|
||||
You can now receive notifications when admin account is accessed from a new IP address.
|
||||
|
||||

|
||||
|
||||
- To disable login notifications: `opencli admin notifications update login no`
|
||||
- To enable login notifications: `opencli admin notifications update login yes`
|
||||
|
||||
---
|
||||
|
||||
### Selfsigned SSL
|
||||
|
||||
Docker images are now equipped with self-signed SSL certificates, enabling the establishment of secure connections from the Nginx proxy on the host server.
|
||||
|
||||
This eliminates the need to [add custom code to wp-config.php to make WordPress work behind reverse proxy](https://developer.wordpress.org/advanced-administration/security/https/#administration-over-https).
|
||||
|
||||
---
|
||||
|
||||
### OpenAdmin > ModSecurity
|
||||
|
||||
*OpenAdmin > ModSecurity Settings* pagenow provides a list of all ModSec rules (files), logs from the Nginx service and options to identify attack, block IP addresses, disable certain rules or files, etc.
|
||||
|
||||

|
||||
|
||||
New commands are also available:
|
||||
|
||||
- `opencli nginx-modsec --rules` displays rule files.
|
||||
- `opencli nginx-modsec --logs IP_HERE/RULE_ID` allows you to search the logs.
|
||||
- `opencli nginx-modsec --update` will update the ModSecurity OWASP Core Ruleset files.
|
||||
- `opencli nginx-modsec --domain` displays a summary about a domain modsec status.
|
||||
- `opencli nginx-modsec --enable FILE_NAME` enables a rule file globally.
|
||||
- `opencli nginx-modsec --disable FILE_NAME` disabled a rule file globally.
|
||||
|
||||
|
||||
---
|
||||
|
||||
### OpenAdmin > Docker
|
||||
|
||||
Docker images can now be downloaded, updated and deleted from the *OpenAdmin > Docker Settings* page.
|
||||
|
||||

|
||||
|
||||
Command `opencli docker-update_images` can also be used from the terminal or cronjobs: https://openpanel.co/docs/admin/scripts/docker/#update-images
|
||||
|
||||
---
|
||||
|
||||
### Custom Templates
|
||||
|
||||
Starting v0.1.6 you can set [custom templates](https://dev.openpanel.co/templates/) for both OpenPanel and OpenAdmin interfaces!
|
||||
|
||||
Examples:
|
||||

|
||||

|
||||
|
||||
To create new templates copy the default templates folders:
|
||||
|
||||
For OpenPanel: `cp /usr/local/panel/templates/ /home/custom_template/`
|
||||
|
||||
For OpenAdmin: `cp /usr/local/admin/templates/ /home/custom_admin_template/`
|
||||
|
||||
and then make the changes over html/css file.
|
||||
|
||||
To change theme for OpenPanel, run command:
|
||||
|
||||
```
|
||||
opencli config update template NAME_HERE
|
||||
```
|
||||
|
||||
instead of *NAME_HERE* set either just the folder name in `/usr/local/panel/` or a full path, example:
|
||||
|
||||
```
|
||||
opencli config update template "/home/custom_template/"
|
||||
```
|
||||
|
||||
To change theme for OpenAdmin, run command:
|
||||
|
||||
```
|
||||
opencli config update admin_template NAME_HERE
|
||||
```
|
||||
|
||||
instead of *NAME_HERE* set either just the folder name in `/usr/local/admin/` or a full path, example:
|
||||
|
||||
```
|
||||
opencli config update admin_template "/home/custom_admin_template/"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
### Export DNS Zone
|
||||
|
||||
Users can now export the BIND9 DNS zone file from *OpenPanel > Edit DNS Zone*
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
|
||||
### Turkish translation
|
||||
|
||||
Turkish language is now available for OpenPanel! 🎉
|
||||
|
||||
It will be included in the [0.1.6 version](https://openpanel.co/roadmap) and shipped with OpenPanel core.
|
||||
|
||||
Thank you **grafen** for your personal contribution to OpenPanel. 🙏
|
||||
|
||||
To use `tr` locale immediately, run command:
|
||||
|
||||
```
|
||||
wget -O - https://gist.githubusercontent.com/stefanpejcic/701fe98ab873120378f7c7de9d75e030/raw/0d4db8338ce2ad17aec54dfc1d4982abdbb254dc/install_tr.sh | bash
|
||||
```
|
||||
|
||||
and the new locale will be available to your users under Account Settings:
|
||||

|
||||
|
||||
|
||||
-----
|
||||
|
||||
### Panel update from GUI
|
||||
|
||||
OpenPanel can now be updated directly form the OpenAdmin interface.
|
||||
|
||||
To update navigate to *OpenAdmin > General Settings* section and if new update is available, click on the update button to initiate.
|
||||
|
||||

|
||||
|
||||
-----
|
||||
|
||||
### /etc/cron.d/openpanel
|
||||
|
||||
OpenPanel now utilizes a custom cron file located at `/etc/cron.d/openpanel` instead of relying on the root user's crontab. This allows the root user to add custom cronjobs without the risk of them being overwritten during OpenPanel updates.
|
||||
|
||||
```bash
|
||||
# /etc/cron.d/openpanel: crontab entries for the OpenPanel
|
||||
#
|
||||
#
|
||||
# This file is used by OpenPanel to schedule cronjobs
|
||||
#
|
||||
# It should NOT be edited manually as it is overwritten on update.
|
||||
# To add crons please use the crontab as root user.
|
||||
#
|
||||
# Important Note! This cronjob will NOT be executed if you are
|
||||
# running systemd as your init system. If you are running systemd,
|
||||
# the cronjob.timer function takes precedence over this cronjob. For
|
||||
# more details, see the systemd.timer manpage, or use systemctl show
|
||||
# certbot.timer.
|
||||
|
||||
SHELL=/bin/sh
|
||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||
|
||||
# SSL
|
||||
0 */3 * * * root opencli ssl-hostname
|
||||
0 */3 * * * root certbot renew --post-hook 'systemctl reload nginx'
|
||||
|
||||
# STATISTICS
|
||||
0 * * * * root opencli docker-collect_stats
|
||||
30 2 * * * root opencli domains-stats
|
||||
|
||||
# MAINTENANCE
|
||||
* 2 * * * root opencli docker-usage_stats_cleanup
|
||||
15 0 * * * root opencli update
|
||||
0 0 12 * * root opencli server-ips
|
||||
|
||||
# BACKUPS
|
||||
0 7 * * * root opencli backup-check
|
||||
0 8 * * * root opencli backup-scheduler
|
||||
|
||||
# MONITORING
|
||||
* * * * * root bash /usr/local/admin/service/notifications.sh
|
||||
@reboot root bash /usr/local/admin/service/notifications.sh --startup
|
||||
@reboot root opencli server-on_startup
|
||||
```
|
||||
|
||||
-----
|
||||
|
||||
|
||||
### remove apt cache
|
||||
|
||||
Added checks to [remove apt cache](https://linuxier.com/how-to-clear-apt-cache-in-ubuntu/) and temporary files after install process
|
||||
|
||||
|
||||
-----
|
||||
|
||||
### Log PHP change
|
||||
|
||||
When user modifies the default PHP version for CLI and new domains, the system logs this action in their activity log.
|
||||
|
||||

|
||||
328
website/versioned_docs/version-1.0.0/changelog/0.1.7.md
Normal file
328
website/versioned_docs/version-1.0.0/changelog/0.1.7.md
Normal file
@@ -0,0 +1,328 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
|
||||
# 0.1.7
|
||||
|
||||
Released on May 08, 2024
|
||||
|
||||
### 🚀 New features
|
||||
- [French translation 🇫🇷](https://community.openpanel.co/d/45-parles-tu-francais-french-translation-for-openpanel)
|
||||
- [WHMCS Module](#whmcs-module)
|
||||
- [API endpoints for managing user accounts](#api-for-users)
|
||||
- [Cronjobs can now be enabled/disabled and run on demand](#cron-disable)
|
||||
- [Ubuntu 24.04 images](#ubuntu24-images)
|
||||
- [Admin users can now be edited: rename, change password, suspend/unsuspend from OpenAdmin interface](#edit-admin-users)
|
||||
- [OpenAdmin search for users, websites and options](#admin-search)
|
||||
- [Forbidden usernames list](#forbidden-username)
|
||||
|
||||
|
||||
### 💥 Breaking Changes
|
||||
- [Containerized services](#containerized-services)
|
||||
- [All services in our official docker images are now disabled by default](#disabled-services)
|
||||
- Script `opencli docker-is_port_in_use` is now deprecated and will be removed in the future.
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- [Fixed bug with successful update message in notification center](#success-message)
|
||||
- Fixed bug with email alerts not being sent if server does not have a valid ssl
|
||||
- Fixed js error when there are no docker images on *OpenAdmin > Docker Settings*
|
||||
- Fixed bug where the system erroneously flagged initial admin login as a new admin login.
|
||||
- [Fixed bug in the update script where failed updates were being retried.](#skip-version)
|
||||
- [Fixed bug with leftover DNS zones from domains removed while the Named service is down](https://github.com/stefanpejcic/OpenPanel/issues/95)
|
||||
- [Fixed multiple bugs with the install script](#improved-install)
|
||||
- Fixed bug with pip install errors on python 3.11
|
||||
- Fixed bug with Nginx service unable to start if network is down during the installation or if ip.openpanel.co is unreachable.
|
||||
- Fixed bug with `opencli admin` returning error instead of IPv4 address from external service.
|
||||
- Fixed false-positive error bug when adding user via OpenAdmin interface.
|
||||
- Fixed bug with search input on OpenAdmin > Firewall page.
|
||||
- Fixed bug with ajax form submission not working on OpenAdmin > General Settings page (reported bySamanw).
|
||||
- Fixed bug with docker: `failed to register layer: devicemapper: Error running deviceSuspend dm_task_run failed.`
|
||||
- Fix bug with mysql: `ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 2`
|
||||
- Fixed bug with PIP install on Python 3.11 and 3.12: `error: externally-managed-environment`
|
||||
- Fixed bug with Gunicorn: `ModuleNotFoundError: No module named 'pyarmor_runtime_000000'`
|
||||
- Fixed bug with Nginx: `Starting nginx: [emerg]: bind() to IP failed (99: Cannot assign requested address)`
|
||||
|
||||
|
||||
## 💅 Polish
|
||||
- [SSH service status is now restored after reboot](#ssh-after-reboot)
|
||||
- Generate password button on *OpenAdmin > Users* now toggles the password field visible.
|
||||
- All images are now hosted locally.
|
||||
- Google Cloud Storage is now used as a mirror for installation files.
|
||||
- [All docker images are now hosted on hub.docker.com](#hub-docker-com)
|
||||
- Python 3.12 is now fully supported.
|
||||
|
||||
|
||||
----
|
||||
|
||||
### WHMCS Module
|
||||
|
||||
WHMCS module is now available for OpenPanel.
|
||||
Currently supported actions are:
|
||||
|
||||
- ✅ create account
|
||||
- ✅ change password
|
||||
- ✅ suspend account
|
||||
- ✅ unsuspend account
|
||||
- ✅ terminate account
|
||||
- ✅ autologin from frontend
|
||||
- ✅ autologin from backend
|
||||
- ❌ get disk usage for account
|
||||
- ❌ change package
|
||||
|
||||
To setup WHMCS to use your OpenPanel server follow these steps:
|
||||
|
||||
1. **Enable API access on OpenPanel server**
|
||||
First make sure that API access is enabled by going to `OpenAdmin > API` or by running `opencli config get api` from the terminal:
|
||||

|
||||
If API is not enabled, click on the "Enable API access" button or from terminal run `opencli config update api on`.
|
||||
|
||||
We recommend creating new Administrator user for API, to create a new user navigate to *OpenAdmin > OpenAdmin Settings* and create new admin user, or from terminal run: `opencli admin new USERNAME_HERE PASSWORD_HERE`
|
||||
|
||||
2. **Install OpenPanel WHMC Module**
|
||||
Login to SSH for WHMCS server
|
||||
Navigate to `path_to_whmcs/modules/servers`
|
||||
Run this command to create a new folder and in it download the module: `git clone https://github.com/stefanpejcic/openpanel-whmcs-module.git openpanel`
|
||||
|
||||
3. **Establish connection between the two servers**
|
||||
On OpenPanel server make sure that the OpenAdmin port 2087 is open on `OpenAdmin > Firewall` or whitelist the IP adress of your WHMCS server.
|
||||
to whitelist ip address from terminal run: `ufw allow from WHMCS_IP_HERE`
|
||||
|
||||
On WHMCS server also make sure that the 2087 port is opened or whitelist the IP address of your OpenPanel server.
|
||||
From WHMS navigate to: *System Settings > Products & Services > Servers*
|
||||

|
||||
Click on *Create New Server* and under module select **OpenPanel** then add OpenPanel server IP, username and password for the OpenAdmin panel:
|
||||

|
||||
|
||||
4. **Create hosting packages**
|
||||
Hosting packages need to be created on both OpenPanel and WHMCS servers.
|
||||
On OpenPanel server login to admin panel and on `OpenAdmin > Plans` create hosting packages that you will be assinging to users on WHMCS.
|
||||
|
||||
On the WHMCS server create first a new group and then create new plans under this group. When creating products, make sure to select OpenPanel for Module and the newly created group
|
||||

|
||||
|
||||
5. **Test creating new accounts**
|
||||
Create an order and create a new order to test OpenPanel API.
|
||||
|
||||
---
|
||||
|
||||
### API for Users
|
||||
|
||||
New API endpoints are available for automating various administrative tasks or integrating with billing solutions.
|
||||
|
||||
|
||||
- List accounts
|
||||
```bash
|
||||
curl -X GET http://PANEL:2087/api/users -H "Authorization: Bearer JWT_TOKEN_HERE"
|
||||
```
|
||||
- Create account
|
||||
```bash
|
||||
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN_HERE" -d '{"email": "EMAIL_HERE", "username": "USERNAME_HERE", "password": "PASSWORD_HERE", "plan_name": "PLAN_NAME_HERE"}' http://PANEL:2087/api/users
|
||||
```
|
||||
- Suspend account
|
||||
```bash
|
||||
curl -X PATCH -H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN_HERE" -d '{"action": "suspend"}' http://PANEL:2087/api/users/USERNAME_HERE
|
||||
```
|
||||
- Unsuspend account
|
||||
```bash
|
||||
curl -X PATCH -H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN_HERE" -d '{"action": "unsuspend"}' http://PANEL:2087/api/users/USERNAME_HERE
|
||||
```
|
||||
- Delete account
|
||||
```bash
|
||||
curl -X DELETE -H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN_HERE" http://PANEL:2087/api/users/USERNAME_HERE
|
||||
```
|
||||
- Change password
|
||||
```bash
|
||||
curl -X PATCH -H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN_HERE" -d '{"password": "NEW_PASSWORD_HERE"}' http://PANEL:2087/api/users/USERNAME_HERE
|
||||
```
|
||||
- Change plan
|
||||
```bash
|
||||
curl -X PUT -H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN_HERE" -d '{"plan_name": "PLAN_NAME_HERE"}' http://PANEL:2087/api/users/USERNAME_HERE
|
||||
```
|
||||
- Autologin
|
||||
```bash
|
||||
curl -X CONNECT -H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN_HERE" http://PANEL:2087/api/users/USERNAME_HERE
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Improved install
|
||||
|
||||
- `git` and `clamav` are now removed from the install script
|
||||
- Added checks for failed wget (reported by *germangc125*)
|
||||
- `--repair` flag will now retry all installation steps
|
||||
- Port 22 is no longer disabled by default, only when flag `--no-ssh` is used.
|
||||
- database import is now retried multiple times if mysql is not ready
|
||||
|
||||
----
|
||||
|
||||
### Cron disable
|
||||
|
||||
Users can now pause/unpause cronjobs and execute them out of schedule.
|
||||
|
||||

|
||||
|
||||
|
||||
When troubleshooting cronjob, you can add ` >> /home/USERNAME/CRON.log 2>&1` in the cron command and output will be stored in the file everytime the cron is executed.
|
||||
|
||||
-----
|
||||
|
||||
### Edit Admin Users
|
||||
|
||||
Admin users can now be edited: rename, change password, suspend/unsuspend from OpenAdmin interface.
|
||||
|
||||

|
||||
|
||||
Note: *Super admin* role can not be suspended or deleted.
|
||||
|
||||
----
|
||||
|
||||
### Admin search
|
||||
|
||||
OpenAdmin has been enhanced with a search feature, enabling Administrators to swiftly navigate the OpenAdmin interface and locate various items.
|
||||
This search functionality covers:
|
||||
- Users
|
||||
- Websites
|
||||
- OpenAdmin pages
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
----
|
||||
|
||||
### Success message
|
||||
|
||||
Fixed bug with success message "OpenPanel successfully updated!" not dismissing the "New OpenPanel update is available" message.
|
||||
|
||||
Fixed bug with wrong description added for successfull update.
|
||||
|
||||

|
||||
|
||||
----
|
||||
|
||||
### Skip version
|
||||
|
||||
Administrators now have the ability to specify which OpenPanel versions to skip during updates by modifying the `/etc/openpanel/upgrade/skip_versions` file.
|
||||
|
||||
This feature proves handy when manually updating from an older version and wishing to skip certain intermediate versions.
|
||||
|
||||
For instance, if a user is updating from OpenPanel 0.1.3 with autopatches disabled, the update process would typically progress from 0.1.4 to 0.1.5, then to 0.1.6, and finally to the latest version, 0.1.7.
|
||||
|
||||
However, if there are minimal differences between versions 0.1.4 and 0.1.5, an admin can opt to skip version 0.1.4 by appending it to the `/etc/openpanel/upgrade/skip_versions` file:
|
||||
|
||||
```bash
|
||||
echo 0.1.4 >> /etc/openpanel/upgrade/skip_versions
|
||||
```
|
||||
|
||||
Consequently, during the update procedure, specified version 0.1.4 will be skipped.
|
||||
|
||||
It's worth noting that while skipping versions is possible, it's generally not recommended since each update typically takes around 30 seconds.
|
||||
|
||||
|
||||
In the event of a failed update to a particular version, the opencli update scripts will automatically add that version to the `/etc/openpanel/upgrade/skip_versions` file to prevent future attempts at updating to it.
|
||||
|
||||
----
|
||||
|
||||
### Forbidden Username
|
||||
|
||||
Both `opencli user-add` and `opencli user-rename` scripts now use an external list of forbidden names from: `/usr/local/admin/scripts/helpers/forbidden_usernames.txt` file. Administrators can add usernames to this list.
|
||||
|
||||
```bash
|
||||
test
|
||||
restart
|
||||
reboot
|
||||
shutdown
|
||||
exec
|
||||
root
|
||||
admin
|
||||
ftp
|
||||
lsws
|
||||
litespeed
|
||||
1000
|
||||
vsftpd
|
||||
apache2
|
||||
apache
|
||||
nginx
|
||||
php
|
||||
mysql
|
||||
mysqld
|
||||
www-data
|
||||
openpanel
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### SSH after reboot
|
||||
|
||||
SSH service inside users docker containers is disabled by default when account is created, and in OpenPanel < 0.1.6 was also disabled by default when server is rebooted.
|
||||
|
||||
We now store the ssh service status for each user and if enabled, after reboot will be re-enabled. note: ssh service for users uses a random port, so after reboot the port is changed.
|
||||
|
||||
|
||||
----
|
||||
|
||||
### hub.docker.com
|
||||
|
||||
OpenPanel official docker images are now hosted on hub.docker.com
|
||||
|
||||
- Nginx stack: https://hub.docker.com/r/openpanel/nginx/tags
|
||||
- Apache stack: https://hub.docker.com/r/openpanel/apache/tags
|
||||
|
||||
|
||||
|
||||
-----
|
||||
|
||||
### Disabled services
|
||||
|
||||
In order to reduce the memory footprint of Docker containers, we are implementing breaking changes to our official Docker images for Nginx and Apache:
|
||||
|
||||
- NodeJS, Python, PM2, and WP-CLI are removed from the images. They are installed only when needed: when a user adds a WordPress website or a Node.js/Python application.
|
||||
- All services are disabled by default and will only be enabled when needed. MySQL is enabled when adding the first database or user, webservers are started only when a domain is added, SSH only when SSH access is enabled, cron service after cronjob is added, etc.
|
||||
|
||||
This ensures that only the services that are actually used are running.
|
||||
|
||||
With these changes, **we managed to lower idle CPU & Memory Usage of new user accounts from 680MB to less than 10MB**.
|
||||
|
||||
-----
|
||||
|
||||
|
||||
### Ubuntu24 images
|
||||
|
||||
Both official images [openpanel/nginx](https://hub.docker.com/r/openpanel/nginx) and [openpanel/apache](https://hub.docker.com/r/openpanel/apache) now use Ubuntu 24.04 as the base images.
|
||||
This change fixes 16 vulnerabilities in the previous Ubuntu 22.04 docker image.
|
||||
|
||||
|
||||
----
|
||||
|
||||
### Containerized services
|
||||
|
||||
MySQL service is now also run as a docker container. This allows Admins to set cpu and memory limits for the service, as well to easily manage backup and restore.
|
||||
|
||||
Example, restart mysql container:
|
||||
```bash
|
||||
docker restart openpanel_mysql
|
||||
```
|
||||
|
||||
Example, backup mysql data locally:
|
||||
```bash
|
||||
docker run --rm \
|
||||
--mount source=openpanel_mysql_data,target=<target> \
|
||||
-v $(pwd):/backup \
|
||||
busybox \
|
||||
tar -czvf /backup/<backup-filename>.tar.gz <target>
|
||||
```
|
||||
|
||||
Example, backup mysql data to AWS:
|
||||
```bash
|
||||
docker run --rm \
|
||||
-v openpanel_mysql_data:/var/lib/mysql \
|
||||
--env AWS_ACCESS_KEY_ID="<xxx>" \
|
||||
--env AWS_SECRET_ACCESS_KEY="<xxx>" \
|
||||
--env AWS_S3_BUCKET_NAME="<xxx>" \
|
||||
--entrypoint backup \
|
||||
offen/docker-volume-backup:v2
|
||||
```
|
||||
|
||||
-----
|
||||
|
||||
63
website/versioned_docs/version-1.0.0/changelog/0.1.8.md
Normal file
63
website/versioned_docs/version-1.0.0/changelog/0.1.8.md
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
|
||||
# 0.1.8
|
||||
|
||||
Released on May 23, 2024
|
||||
|
||||
### 🚀 New features
|
||||
- [Total Docker Resource Usage Settings](#docker-resources)
|
||||
- [PHP Composer is now added to docker images](#php-composer)
|
||||
- [Administrators can now grant root permissions to users](https://dev.openpanel.co/cli/commands.html#Grant-root)
|
||||
- [`opencli docker` commands](https://dev.openpanel.co/cli/commands.html#Docker)
|
||||
- [Docker info is now visible from the *OpenAdmin > Docker Settings* page](https://i.postimg.cc/6pCPVdsc/2024-05-09-19-38.png)
|
||||
- [Exclude accounts from all backup jobs](#exclude-backups)
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- "New User" button on 'OpenAdmin > Users' is now visible on mobile devices.
|
||||
- Resolved issue regarding locales not being installed during OpenPanel installation.
|
||||
- Fixed bug with mysql on Virtualizor: `Fatal glibc error: CPU does not support x86-64-v2`
|
||||
- Fixed [bug with PyArmor encoding domains module](https://github.com/stefanpejcic/OpenPanel/issues/109)
|
||||
- Fixed bug with Nginx docker image: `413 Request Entity Too Large`
|
||||
- Fixed bug with 'Edit MySQL Config' to exclude keys without values
|
||||
- Fixed bug with Apache Docker image - apache not getting real ip behind nginx proxy
|
||||
- Fixed bug with search on 'OpenAdmin > ModSecurity Settings' page
|
||||
|
||||
### 💅 Polish
|
||||
- `opencli ssl-hostname` script now tries to restart all required services if any are failed.
|
||||
- MySQL docker container now automatically restarts after failure.
|
||||
- [GoAccess is now run as docker container to process domain logs](#allinurl-goaccess)
|
||||
- First plan is now selected by default on the *OpenPanel > Users > Add New* form.
|
||||
- [Improved messages for docker image updates](https://i.postimg.cc/GmQ7fXH7/2024-05-09-15-19.png)
|
||||
- Docker container logs are now automatically rotated when they reach 5MB in size.
|
||||
- `opencli php-install_php_version` now also sets limits for the php-cli ini
|
||||
- Custom OpenPanel version can now be set on install with `--version=0.1.8`
|
||||
- `jq` is no longer added on OpenPanel installation, instead only if/when needed by OpenCLI
|
||||
- Install script now accepts addition flags: `--version=` `--post_install=` `--skip-apt-update` `--enable-ftp` `--ips`
|
||||
|
||||
### Docker Resources
|
||||
|
||||
Administrators now have the ability to set the maximum percentage of CPU and Memory resources that all Docker containers combined can utilize on the server.
|
||||
|
||||
By default, this setting is configured to 90%, safeguarding against Docker monopolizing 100% of available resources and rendering the server inaccessible.
|
||||
|
||||

|
||||
|
||||
Please note: Memory usage is saved in gigabytes (GB), not as a percentage. Therefore, if the server's RAM is increased, the memory allocation settings will need to be adjusted accordingly.
|
||||
|
||||
### PHP Composer
|
||||
|
||||
Composer command is now available in both openpanel/nginx and openpanel/apache docker images.
|
||||
|
||||
|
||||
### allinurl/goaccess
|
||||
|
||||
GoAccess is no longer directly installed on the server; instead, it [runs as a Docker container](https://hub.docker.com/r/allinurl/goaccess) when necessary. This setup ensures that resources are utilized only when required and prevents any utilization of system services during idle periods. When collecting domain statistics, one container is initiated per domain name.
|
||||
|
||||
|
||||
### Exclude backups
|
||||
|
||||
You can disable individual user accounts from all backup jobs by including them in the file `usr/local/admin/scripts/helpers/excluded_from_backups.txt`.
|
||||
|
||||
200
website/versioned_docs/version-1.0.0/changelog/0.1.9.md
Normal file
200
website/versioned_docs/version-1.0.0/changelog/0.1.9.md
Normal file
@@ -0,0 +1,200 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
|
||||
# 0.1.9
|
||||
|
||||
Released on May 31, 2024
|
||||
|
||||
|
||||
### 🚀 New features
|
||||
- [Remote API is now used by default for Websites Screenshots](#screenshots-api)
|
||||
- OpenAdmin Notifications Center is now using [Sentinel](https://github.com/stefanpejcic/Sentinel/tree/main) service
|
||||
- [IPset Blacklists for UFW](#ipset-blacklists)
|
||||
- [Restrict access to Cloudflare only with a single click](#cloudflare-only)
|
||||
- [OpenPanel FTP - FTP module for OpenPanel (**BETA**)](#ftp)
|
||||
- [OpenMail - Emails module for OpenPanel (**BETA**)](https://github.com/stefanpejcic/OpenMail/)
|
||||
- [`opencli faq` command to show frequently asked questions](#opencli-faq)
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- Fixed 500 error on `/domains/edit-dns-zone` caused by the 0.1.7 update.
|
||||
- Fixed bugs with `opencli admin on` and `opencli admin off` commands.
|
||||
- Fixed bug with escaping `!` character in mysql database and user names.
|
||||
- Fixed css bug in the menu that caused the *OpenAdmin > Notifications* link not to be shown on mobile.
|
||||
- Fixed bug with `opencli report` that failed to retrive MySQL version for mysql running inside docker container.
|
||||
- Fixed bug with incorect version in changelog link on *OpenAdmin > General Settings > Update Preferences*.
|
||||
- Fixed bug with `opencli update` script failing due to `jq` missing on OS.
|
||||
- Fixed js error on *OpenAdmin > CPU & RAM Usage* pages.
|
||||
- Fixed 500 error on *OpenAdmin > Docker* page caused by the 0.1.8 update.
|
||||
- Fixed bug with usermod when creating users via `opencli user-add` command.
|
||||
- Fixed bug with WHMCS module not changing user plan due to whmcs passing plan_name instead of plan_id.
|
||||
- Fixed bug with nginx default vhost file missing on account creation.
|
||||
|
||||
### 💅 Polish
|
||||
- [Install script now accepts `--hostname=` flag](#hostname-flag).
|
||||
- [Custom SSH Welcome message](#ssh-welcome)
|
||||
- `www.<DOMAIN_NAME>` is now automatically added as alias for new domains.
|
||||
- `opencli user-add` `opencli user-change_plan` and `opencli plan-create` scripts now use plan name instead of plan id.
|
||||
- Working server time on OpenAdmin > Dashboard.
|
||||
- CPU type information on OpenAdmin > Dashboard.
|
||||
- [Cloudflare IP addresses are now highlighted in OpenAdmin > Firewall](https://i.postimg.cc/xTDPTG6S/image.png)
|
||||
- Install script now supports optional flags `--skip-blacklists`, `--enable_ftp` and `--enable_mail` to enable experimental features.
|
||||
- `opencli -v` is now an alias for `opencli --version`.
|
||||
- `opencli admin` command now accepts `log` and `help` flags.
|
||||
- Added detailed usage with examples for `opencli admin` command.
|
||||
- OpenPanel API now also uses the forbidden_usernames.txt* file.
|
||||
- [Pre-fill OpenAdmin > Plans > New form ](#prefill-plan)
|
||||
|
||||
|
||||
|
||||
### Screenshots API
|
||||
|
||||
Starting 0.1.9, the [Playwright](https://playwright.dev/) service is no longer installed on the server for generating website screenshots. Instead, the remote screenshots API is utilized, and images are served from it. This change will conserve up to 1GB of additional disk space previously required for the Playwright service on each server. Additionally, it will decrease CPU consumption since screenshots are no longer generated locally but served from another server.
|
||||
|
||||
- For new installations: By default, the `http://screenshots-api.openpanel.co/` API is used. Administrators can specify any other third-party API during installation using `--screenshots=LINK_HERE`. Alternatively, they can install the local Playwright service with `--screenshots=local`.
|
||||
- For existing installations: Upon upgrade, the default screenshots service will be changed from local to `http://screenshots-api.openpanel.co/`. Administrators can modify the API by using the terminal command: `opencli config update screenshots NEW_LINK_HERE`, or they can keep using the existing local service using: `opencli config update screenshots local`.
|
||||
|
||||
|
||||
### FTP
|
||||
|
||||
New experimental OpenPanel FTP module is now available and allows you to create FTP sub-accounts.
|
||||
|
||||
Upon activation, a fresh Docker container featuring VSFTPD will be initiated, serving as a shared environment for all OpenPanel FTP sub-users. This ensures the segregation of FTP accounts from other processes and services. Even in the event of a compromise, the impact is contained within the confines of the OpenPanel user's home folder, preventing access to other services or files.
|
||||
|
||||
This functionality leverages the [open-source OpenPanel FTP module](https://github.com/stefanpejcic/OpenPanel-FTP/) and is currently in its preliminary developmental phase. As such, it is not enabled by default and there are no additional options available in the OpenPanel interface to facilitate the creation and management of FTP users. Currently, all configurations must be performed by the administrator via the terminal:
|
||||
|
||||
To install FTP on an OpenPanel server, execute the following command:
|
||||
```bash
|
||||
opencli ftp-setup
|
||||
```
|
||||
|
||||
To create new FTP accounts:
|
||||
```bash
|
||||
opencli ftp-add <NEW_USERNAME> <NEW_PASSWORD> <FOLDER> <OPENPANEL_USERNAME>
|
||||
```
|
||||
|
||||
After detailed testing, a dedicated FTP page will be introduced to the OpenPanel, enabling users to seamlessly create FTP sub-users.
|
||||
|
||||
### Cloudflare only
|
||||
|
||||
Administrators can now disable direct server access and only allow access via Cloudflare proxy.
|
||||
|
||||
```bash
|
||||
OpenPanel server
|
||||
_____________________________
|
||||
__________________________________ | | |
|
||||
| | | F | |
|
||||
-->| Traffic comming from Cloudflare |---------->| I | Websites |
|
||||
|__________________________________| | R | |
|
||||
__________________________________ | E | & |
|
||||
| | | W | |
|
||||
-->| Direct access to server IP |----------X| A | User services |
|
||||
|__________________________________| | L | |
|
||||
| L | |
|
||||
|_____|_______________________|
|
||||
```
|
||||
|
||||
To enable this feature simply navigate to OpenAdmin > Firewall and click on the Cloudfare button.
|
||||
|
||||

|
||||
|
||||
|
||||
### IPset Blacklists
|
||||
|
||||
OpenAdmin Firewall now allows Administrators to easily add blacklists to block IP addresses from known malicious sources.
|
||||
|
||||
This feature uses the [ipset-blacklist service](https://github.com/stefanpejcic/ipset-blacklist) automating the process of fetching and blocking IPs. It's a simple yet effective way to enhance system security without manual hassle.
|
||||
|
||||

|
||||
|
||||
Default blacklists:
|
||||
|
||||
| Blacklist | URL |
|
||||
|-----------------|----------------------------------------------------------------------|
|
||||
| AbuseIPDB (DISABLED) | [https://api.abuseipdb.com/api/v2/blacklist](https://api.abuseipdb.com/api/v2/blacklist) |
|
||||
| OpenPanel (DISABLED) | [https://api.openpanel.co/blocklist.txt](https://api.openpanel.co/blocklist.txt) |
|
||||
| Spamhaus DROP | [https://www.spamhaus.org/drop/drop.lasso](https://www.spamhaus.org/drop/drop.lasso) |
|
||||
| Spamhaus EDROP | [https://www.spamhaus.org/drop/edrop.lasso](https://www.spamhaus.org/drop/edrop.lasso) |
|
||||
| DShield | [https://www.dshield.org/feeds/suspiciousdomains_Low.txt](https://www.dshield.org/feeds/suspiciousdomains_Low.txt) |
|
||||
| FireHOL level1 | [https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level1.netset](https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level1.netset) |
|
||||
| FireHOL level2 | [https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level2.netset](https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level2.netset) |
|
||||
| FireHOL level3 | [https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level3.netset](https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level3.netset) |
|
||||
| FireHOL level4 | [https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level4.netset](https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level4.netset) |
|
||||
| Binary Defense | [https://www.binarydefense.com/banlist.txt](https://www.binarydefense.com/banlist.txt) |
|
||||
| blocklist.de | [https://lists.blocklist.de/lists/all.txt](https://lists.blocklist.de/lists/all.txt) |
|
||||
|
||||
Administrators can add additional blacklists.
|
||||
|
||||
### opencli faq
|
||||
|
||||
OpenCLI now has a new command `opencli faq` to display most frequently asked questions:
|
||||
|
||||

|
||||
|
||||
|
||||
### /etc/openpanel/
|
||||
|
||||
To enable easier updates in the future, we are gradually migrating all configuration files from `/usr/local/panel/` & `/usr/local/admin/` directories to the new `/etc/openpanel/` directory.
|
||||
|
||||
This will separate configuration files in /etc/ from all the code in /usr/ and therefore no configuration files will need to be moved&restored when performing updates.
|
||||
|
||||
Current changes include:
|
||||
|
||||
- Forbidden usernames file is now moved from: `/usr/local/admin/scripts/helpers/forbidden_usernames.txt` to `/etc/openpanel/openadmin/config/forbidden_usernames.txt`
|
||||
- FTP configuration files are stored under `/etc/openpanel/ftp/users/`
|
||||
- Template to prefill Plan Form is now moved from `/usr/local/admin/conf/new_plan_template` to `/etc/openpanel/openadmin/config/new_plan_template`
|
||||
|
||||
### SSH Welcome
|
||||
|
||||
A welcome message is shown to administrators upon logging into the server. The message currently displays OpenPanel version, admin link and help links. In the future it will also check for OpenPanel updates and display reminders.
|
||||
|
||||

|
||||
|
||||
Custom SSH welcome message is also shown to OpenPanel users upon logging into the server. This message can be customized by the Administrator.
|
||||
|
||||

|
||||
|
||||
|
||||
### Prefill Plan
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
To pre-fill data into the new plan form, simply create a new file:
|
||||
|
||||
```
|
||||
/etc/openpanel/openadmin/config/new_plan_template
|
||||
```
|
||||
|
||||
and set the data to be used:
|
||||
|
||||
```
|
||||
{
|
||||
"name": "Starter Plan",
|
||||
"description": "Basic starter plan for new users.",
|
||||
"docker_image": "apache",
|
||||
"domains": 5,
|
||||
"websites": 3,
|
||||
"databases": 2,
|
||||
"ram": 2,
|
||||
"cpu": 1,
|
||||
"port_speed": 100,
|
||||
"disk_limit_for_docker": 10,
|
||||
"inodes_for_storage_file": 500000,
|
||||
"disk_limit_for_storage_file": 20
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### hostname flag
|
||||
|
||||
[Install script](https://openpanel.co/docs/admin/intro/#installation) now accepts `--hostname=` flag to set the provided hostname on the server and set it for accessing both OpenPanel and OpenAdmin interfaces. The hostname must be a [Fully qualified domain name](https://en.wikipedia.org/wiki/Fully_qualified_domain_name).
|
||||
|
||||
Example:
|
||||
```bash
|
||||
bash <(curl -sSL https://get.openpanel.co/) --hostname=server.openpanel.site
|
||||
```
|
||||
|
||||
|
||||
83
website/versioned_docs/version-1.0.0/changelog/0.2.0.md
Normal file
83
website/versioned_docs/version-1.0.0/changelog/0.2.0.md
Normal file
@@ -0,0 +1,83 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
|
||||
# 0.2.0
|
||||
|
||||
Released on June 05, 2024
|
||||
|
||||
|
||||
### 🚀 New features
|
||||
- [Support for Debian 11 and Debian 12](https://openpanel.co/blog/openpanel-supports-debian12/)
|
||||
- [SWAP Usage notification and cleanup](#swap-notifications)
|
||||
- [Email Templates for OpenAdmin Notifications](#email-template)
|
||||
- [Email address can be added to receive login information](#install-email)
|
||||
- Install script now accepts an optional flag `--swap=` to set disk space in GB for SWAP.
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- Fixed 500 error on `/pm2` when installing Python application.
|
||||
- Fixed error `Error retrieving database count for the user.` when user has MySQL service stopped.
|
||||
- Fixed bug with Memcached 1.6.24+ `bind(): Cannot assign requested address #failed to listen on one of interface(s) 127.0.0.1,::1: Invalid argument`.
|
||||
|
||||
### 💅 Polish
|
||||
- [MySQL database queries optimization and improvements](#optimizing-mysql)
|
||||
- dshield and spamhaus_edrop blacklists are removed from ipset-blacklist.
|
||||
- `pip` is now automatically installed on PM2 when setting Python application.
|
||||
- [terms & conditions modal on first login to OpenAdmin](https://i.postimg.cc/L5JKBzKV/image.png).
|
||||
- [Customize Openpanel installation process](https://openpanel.co/install).
|
||||
- Added service icons to *OpenAdmin> Dashboard* page.
|
||||
- [opencli user-add script is optimized](#user-add).
|
||||
- Installation and update information are now separate, so users won't receive update notifications until the update script is available.
|
||||
|
||||
|
||||
|
||||
### SWAP Notifications
|
||||
|
||||
SWAP usage can now also be monitored. When it reaches the threshold, you will receive a notification, and the Sentinel service will clear the swap. Once the process is complete, you will receive another notification.
|
||||
|
||||
SWAP usage can also be monitored. When the treshold is reached you will receive a notification and the Sentiel service will clear the swap. After it is completed you will receive another notification.
|
||||
|
||||

|
||||
|
||||
To change the swap usage treshold from terminal
|
||||
```bash
|
||||
opencli admin notifications update swap 90
|
||||
```
|
||||
|
||||
### Optimizing MySQL
|
||||
|
||||
One major change for new installations is that the mysql login information is now stored in `/etc/openpanel/openadmin/config/db.cnf` for both OpenPanel and OpenAdmin.
|
||||
File `/usr/local/admin/config.json` is also removed, so in the future all OpenCLI, OpenAdmin and OpenPanel will use the same file. This change will simplify the installation process and changes needed when mysql information is changed.
|
||||
|
||||
All queries from OpenPanel and OpenAdmin interfaces are now optimized, ensuring even faster user login and all other database-related tasks.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### Email Template
|
||||
|
||||
OpenAdmin Notifications now use a custom email template:
|
||||
|
||||

|
||||
|
||||
This template was heavily inspired by [Vercel verification email](https://www.saasframe.io/examples/vercel-verification-email).
|
||||
|
||||
Template can be customized by the Administrator by editing: `/usr/local/admin/templates/system/email_template.html`
|
||||
|
||||
|
||||
|
||||
### user-add
|
||||
|
||||
`opencli user-add` script was rewritten to optimize the account creation process. Detailed debugging information is available, overlay2 is supported for Docker and for each new user files are used from the `/etc/openpanel/openadmin/skeleton/` directory.
|
||||
|
||||
|
||||
|
||||
### Install email
|
||||
|
||||
Custom email address can now be set when installing OpenPanel using the `--email=` flag. If set, after the installation process, this email address will receive an email containing the OpenAdmin login information:
|
||||
|
||||

|
||||
|
||||
|
||||
224
website/versioned_docs/version-1.0.0/changelog/0.2.1.md
Normal file
224
website/versioned_docs/version-1.0.0/changelog/0.2.1.md
Normal file
@@ -0,0 +1,224 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
|
||||
# 0.2.1
|
||||
|
||||
Released on June 28, 2024
|
||||
|
||||
### 🚀 New features
|
||||
- [Spanish Translation 🇪🇸](https://community.openpanel.co/d/59-hablas-espanol-spanish-translation-for-openpanel)
|
||||
- [OpenPanel Enterprise Edition](/product/openpanel-premium-control-panel/)
|
||||
- OpenAdmin > Templates
|
||||
- [OpenAdmin > Services > View Log Files](#log-viewer)
|
||||
- [OpenAdmin > Services > Nginx Configuration](#nginx-configuration)
|
||||
- [**BETA** support for CSF (ConfigServer Firewall) as drop-in replacement for UFW](#csf).
|
||||
- [Internal OpenPanel blacklist](#openpanel-blacklist)
|
||||
- [**BETA** FOSSBilling Module](https://github.com/stefanpejcic/FOSSBilling-OpenPanel)
|
||||
- [OpenAdmin > Firewall > Settings](#firewall-settings)
|
||||
- [opencli admin notifications check](#notifications-check) command
|
||||
- [Custom CSS code can now be added to the OpenAdmin interface](#custom-css)
|
||||
- [`/phpmyadmin` for each user domain proxies to their PHPMyAdmin instance](#phpmyadmin-proxy)
|
||||
- [Visualize docker container resource usage per user](#docker-usage)
|
||||
|
||||
|
||||
### 💥 Breaking changes
|
||||
- All OpenPanel configuration files are now stored in `/etc/openpanel` - this directory is not modified on updates.
|
||||
- OpenPanel service is now run inside `openpanel` docker container.
|
||||
- [Translations are now stored in `/etc/openpanel/openpanel/translations/` directory](#translations).
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- Fixed bug with [IP Address not showing in spanish](https://community.openpanel.co/d/60-ip-address-not-showing-in-spanish) - reported by [Luis Mendoza](https://github.com/mendozal)
|
||||
- Fixed bug with `opencli user-rename` script -reported by [Matej Mohar](https://github.com/matejmohar)
|
||||
- Excluded `/send_email` route on OpenAdmin from terms check.
|
||||
- Fixed bug with `server_config.yml` file missing for new accounts.
|
||||
- Fixed bug with OpenPanel > WPManager not displaying screenshots from remote api due to CSP setting.
|
||||
- Fixed bug with mysql port exposed after reboot due to failed checks in bash script.
|
||||
- Fixed bug with `jc` parsing of docker stats.
|
||||
- Fixed bug with Sentinel checking SWAP usage when there is no swap file created.
|
||||
- Fixed bug with custom css and js files causing 404 errors on OpenPanel > Dashboard
|
||||
|
||||
|
||||
### 💅 Polish
|
||||
- [16x faster account creation](https://openpanel.co/blog/how-we-decreased-bash-script-execution-by-16x-for-openpanel/#initial-challenges)
|
||||
- [Additional PHP extensions are now installed with every version](#php-extensions)
|
||||
- Added an option to block incoming ping (ipmi) in UFW.
|
||||
- [OpenAdmin cron logs](https://dev.openpanel.co/logs.html#Logs)
|
||||
- Changed paths for [OpenPanel and OpenAdmin log files](https://dev.openpanel.co/logs.html#Logs)
|
||||
|
||||
|
||||
|
||||
|
||||
### Log Viewer
|
||||
|
||||
The *OpenAdmin > Services > View Log Files* feature enables users to access and monitor logs for both OpenPanel and system services. This functionality supports modularity by allowing customization of the log files displayed in the viewer.
|
||||
|
||||

|
||||
|
||||
List of default log files: https://raw.githubusercontent.com/stefanpejcic/openpanel-configuration/main/openadmin/config/log_paths.json
|
||||
|
||||
To define custom log files for the viewer:
|
||||
|
||||
1. Edit Configuration File:
|
||||
Modify the file located at `/etc/openpanel/openadmin/config/log_paths.json`. This file should contain entries in JSON format where each key-value pair represents a log file name and its corresponding path.
|
||||
Here is an example of what the log_paths.json file might look like:
|
||||
Simply edit the file `/etc/openpanel/openadmin/config/log_paths.json` and in it set the desired log files and names:
|
||||
```json
|
||||
{
|
||||
"Nginx Access Log": "/var/log/nginx/access.log",
|
||||
"Nginx Error Log": "/var/log/nginx/access.log",
|
||||
"OpenAdmin Access Log": "/var/log/openpanel/admin/access.log",
|
||||
"OpenAdmin Error Log": "/var/log/openpanel/admin/error.log",
|
||||
"OpenAdmin API Log": "/var/log/openpanel/admin/api.log",
|
||||
"Custom Service Log": "/path/to/custom/service.log"
|
||||
"Syslog": "/var/log/syslog"
|
||||
}
|
||||
```
|
||||
Replace `/path/to/custom/service.log` with actual path to your custom log files.
|
||||
|
||||
2. Verify JSON Validity:
|
||||
Ensure that the log_paths.json file is formatted correctly as JSON. Any syntax errors in the JSON file will prevent the custom log files from appearing in the viewer.
|
||||
You can check the validity of your JSON file by using a command-line JSON processor like jq:
|
||||
```bash
|
||||
cat /etc/openpanel/openadmin/config/log_paths.json | jq
|
||||
```
|
||||
If the JSON is valid, `jq` will output the parsed JSON structure. If there are any errors, `jq` will indicate where the problem lies.
|
||||
|
||||
3. Verify Custom Logs in Viewer:
|
||||
After saving the changes, navigate to *OpenAdmin > Services > View Log Files* in the interface. The custom log files you specified in log_paths.json should now appear alongside the default logs.
|
||||
|
||||
By following these steps, you can effectively customize the log files displayed in the OpenAdmin log viewer according to your specific requirements. This flexibility allows you to monitor logs from both standard services and any custom applications or services you integrate with OpenPanel.
|
||||
|
||||
|
||||
### Docker Usage
|
||||
|
||||
*OpenAdmin > Users > Profile > Usage* page now shows a graph of users docker contianer resource usage from the table.
|
||||
|
||||

|
||||
|
||||
### OpenPanel Blacklist
|
||||
|
||||
OpenPanel Blacklist shows top 10000 IP addresses that are currently involved *(in last 12hr) with attacks to OpenPanel servers.
|
||||
|
||||
The list is auto-generated from the data collected by Sentinel service. Data is checked against other blacklists in order to avoid any false-positives and provide always up-to-date information.
|
||||
|
||||
URL: https://api.openpanel.co/blocklist.txt
|
||||
|
||||

|
||||
|
||||
Starting OpenPanel 0.2.1 this blacklist will be enabled by default in [IPset Blacklists](/docs/changelog/0.1.9/#ipset-blacklists).
|
||||
|
||||
|
||||
### PHP extensions
|
||||
|
||||
Additional php extensions are now installed for every PHP version.
|
||||
|
||||
New extensions:
|
||||
- xdebug
|
||||
- apcu
|
||||
- imap
|
||||
- pgsql
|
||||
- odbc
|
||||
- dba
|
||||
- enchant
|
||||
- gmp
|
||||
- snmp
|
||||
- soap
|
||||
- pspell
|
||||
- recode
|
||||
- gettext
|
||||
- sybase
|
||||
- shmop
|
||||
- sysvmsg
|
||||
- sysvsem
|
||||
- sysvshm
|
||||
- tokenizer
|
||||
- wddx
|
||||
- xsl
|
||||
- interbase
|
||||
- mcrypt
|
||||
- mysqli
|
||||
- pdo
|
||||
- pdo_dblib
|
||||
- pdo_firebird
|
||||
- pdo_mysql
|
||||
- pdo_odbc
|
||||
- pdo_pgsql
|
||||
- pdo_sqlite
|
||||
- phalcon
|
||||
- radius
|
||||
- readline
|
||||
- reflection
|
||||
- session
|
||||
- simplexml
|
||||
- sodium
|
||||
- solr
|
||||
- sqlite3
|
||||
- stomp
|
||||
- sysvshm
|
||||
- tcpdf
|
||||
- tidy
|
||||
- uploadprogress
|
||||
- uuid
|
||||
- wddx
|
||||
- xcache
|
||||
- xdebug
|
||||
- xmlreader
|
||||
- xmlwriter
|
||||
- yaml
|
||||
- zip
|
||||
- zlib
|
||||
|
||||
Due to the higher number of extensions, we are also changing the install method to run in parallel. This may result in incosistent logs for php version install, but will speed up the install up to 4x.
|
||||
|
||||
### PHPMyAdmin Proxy
|
||||
|
||||
OpenPanel users can now access their PHPMyAdmin instances using https://their-domain/com`/phpmyadmin`. Auto-login from OpenPanel is still available, but if accessed via *https://their-domain/com/phpmyadmin/* then they can login as any mysql user and access the databases that user has access. This allows users to securely share limited phpmyadmin access with third parties.
|
||||
|
||||
### Translations
|
||||
|
||||
Starting version 0.2.1 the path for OpenPanel translations is changed from `/usr/local/panel/translations/` to `/etc/openpanel/openpanel/translations/`. This will ensure that translation files are not modified during OpenPanel updates, ensuring that you never lose your local changes.
|
||||
|
||||
|
||||
### Firewall Settings
|
||||
|
||||
*OpenAdmin > Frewall > Settings* page displays current firewall status, allows you to enable/disable firewall, edit settings, export existing rules or reset rules for all users.
|
||||
|
||||

|
||||
|
||||
- **IPv6** options allows you to enable or disable IPv6 rules. When disabled, the IPv6 ports tab is hidden.
|
||||
- **Default Input Policy** allows you to set DROP or ACCEPT incoming connections to ports that are not specified in the rules.
|
||||
- **Default Output Policy** allows you to set DROP or ACCEPT outgoing connections from ports that are not specified in the rules.
|
||||
- **Allow ping (IPMI)** allows you to enable or disable ping.
|
||||
- **Export IPv4 rules** will download in txt file all existing ipv4 rules.
|
||||
- **Export IPv6 rules** will download in txt file all existing ipv6 rules.
|
||||
- **Reset ports for all users** will delete opened ports for all users and open the current ports for all active users.
|
||||
- **Restrict access to Cloudflare only** - will whitelist all Cloudfalre proxy IP addresses.
|
||||
|
||||
### notifications check
|
||||
`opencli admin notifications check` command allows administrators to check notifications manually from the terminal.
|
||||
|
||||
Example output:
|
||||

|
||||
|
||||
### CSF
|
||||
|
||||
ConfigServer Firewall can now be used with OpenPanel. To switch to CSF:
|
||||
1. Uninstall UFW
|
||||
2. Install CSF
|
||||
3. Run `opencli firewall-reset`
|
||||
|
||||
This will open needed ports and edit csf.conf to allow docker networks to communicate to the host.
|
||||
|
||||
Please note that currently there is no interface in OpenAdmin to manage the CSF, so all changes need to be made [from the terminal](https://pcx3.com/cheatsheets/csf/) or by using [CSF UI](https://tecadmin.net/how-to-enable-csf-firewall-web-ui/).
|
||||
|
||||
### Custom CSS
|
||||
|
||||
Administrators can add custom CSS code in `/usr/local/admin/static/custom/custom.css` file.
|
||||
|
||||

|
||||
|
||||
Bootstrap5 documentation on setting variables: https://getbootstrap.com/docs/5.3/customize/color-modes/#variables
|
||||
|
||||
|
||||
114
website/versioned_docs/version-1.0.0/changelog/0.2.2.md
Normal file
114
website/versioned_docs/version-1.0.0/changelog/0.2.2.md
Normal file
@@ -0,0 +1,114 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
|
||||
# 0.2.2
|
||||
|
||||
Released on July 16, 2024
|
||||
|
||||
|
||||
### 🚀 New features
|
||||
- **BETA** support for RockyLinux 9.4
|
||||
- [DNSSEC for OpenPanel domains](https://dev.openpanel.co/cli/commands.html#DNSSEC)
|
||||
- [Daily Usage Reports](#usage-reports)
|
||||
- [Sentinel CLI](https://dev.openpanel.co/cli/commands.html#Sentinel)
|
||||
- Google PageSpeed data for WordPress websites on [OpenPanel WPManager](/docs/panel/applications/wordpress/).
|
||||
- Option to clear cached RAM from [OpenAdmin Dashboard](/docs/admin/dashboard/) page.
|
||||
- [Shared phpMyAdmin for All OpenPanel users and their MySQL users](#phpmyadmin).
|
||||
- Alerts for new SSH logins, checked agains the list of OpenAdmin logins.
|
||||
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- Fixed bugs on *OpenAdmin > Users > Profile* and *OpenPanel > Dashboard* with disk usage information not displayed when overlay2 storage driver is used.
|
||||
- Fixed bug with File Watcher service causing infinite OpenAdmin service restart on Ubuntu24.
|
||||
- Fixed bug with File Watcher service failing to generate SSL for new nginx conf files.
|
||||
- Fixed bug with OpenAdmin > Firewall > Blacklists (IPsets) causing `ufw reload` command to fail - reported by [@f1lk3](https://github.com/f1lk3).
|
||||
- Fixed bug with `opencli config update` command not restarting OpenPanel docker container *(introduced in OpenPanel 0.2.1).
|
||||
- Fixed bug with redis installation failing due to "noble" lsb_release added in [Redis Stack](https://redis.io/docs/latest/operate/oss_and_stack/install/install-stack/linux/).
|
||||
- Fixed error 'Error stoping service panel: Failed to stop panel.service: Unit panel.service not loaded.' when managing panel service from OpenAdmin > Dashboard page.
|
||||
- Fixed bug with `opencli admin notifications` not saving resource usage tresholds.
|
||||
|
||||
### 💅 Polish
|
||||
|
||||
- OpenPanel > WPManager > Install WordPress form now has prefilled email address.
|
||||
- All modals on OpenPanel > File Manager now autofocus the input buttons.
|
||||
- When new domain is added, OpenPanel will automatically check SSL for all other doamins owned by the user and regenerate the ssl information for OpenPanel > SSL page.
|
||||
- [OpenCLI improvements, history and logging](#opencli-help)
|
||||
- Widgets on [OpenAdmin Dashboard](/docs/admin/dashboard/): *Usage*, *Quick Start*, *Latest News* and *CPU* can now be dismissed.
|
||||
|
||||
|
||||
### Mautic Autoinstaller
|
||||
|
||||
| Mautic Manager | Mautic Auto-installer |
|
||||
|----------------|----------------|
|
||||
| [](https://i.postimg.cc/jxrps7Vc/image.png) | [](https://i.postimg.cc/sj9t1gsr/image.png) |
|
||||
|
||||
The Mautic autoinstaller is now available, offering the following features:
|
||||
|
||||
- Install the latest 10 versions of Mautic
|
||||
- Automatically create and remove cron jobs
|
||||
- Backup files and/or database
|
||||
- Restore files and/or database
|
||||
- Check Mautic, PHP, and MySQL versions
|
||||
- Display file sizes
|
||||
- Generate daily PageSpeed reports
|
||||
- View database login information
|
||||
- Remove Mautic from the manager
|
||||
- Uninstall Mautic
|
||||
|
||||
Note: Auto-login is not currently supported. According to [Mautic documentation](https://docs.mautic.org/en/5.x/authentication/authentication.html), you need to manually enable HTTP authentication or set up OAuth first.
|
||||
|
||||
Upcoming features on the to-do list include:
|
||||
|
||||
- Viewing email statistics from Mautic
|
||||
- Checking for and running updates
|
||||
- Viewing and editing settings for outgoing emails
|
||||
- Clear cache
|
||||
|
||||
Mautic Manager is disabled by default. To enable it, navigate to **OpenAdmin > OpenPanel Settings**.
|
||||

|
||||
|
||||
|
||||
### Usage Reports
|
||||
|
||||
If email alerts are enabled, daily usage reports are generated:
|
||||
|
||||

|
||||
|
||||
|
||||
### phpMyAdmin
|
||||
|
||||
Added an option to run a shared phpMyAdmin service accessible on a custom domain, allowing login for all MySQL users of OpenPanel. This service contradicts OpenPanel's usual setup where each user has independent services, but it was requested by a few users, so we decided to implement it. It remains disabled by default.
|
||||
|
||||
To enable the shared phpMyAdmin service, first set the URL where it will be accessible. For example:
|
||||
|
||||
```bash
|
||||
opencli config update pma_url https://phpmyadmin.pejcic.rs
|
||||
```
|
||||
|
||||
Then enable the phpMyAdmin service for all users:
|
||||
|
||||
```bash
|
||||
opencli phpmyadmin --enable
|
||||
```
|
||||
|
||||
This will start the phpMyAdmin service, configure an nginx reverse proxy for the domain, and generate an SSL certificate if using HTTPS.
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
To disable the service:
|
||||
|
||||
```bash
|
||||
opencli phpmyadmin --disable
|
||||
```
|
||||
|
||||
If enabled, the auto-login option from OpenPanel will no longer work. Instead, each user must use a username and password to log in to phpMyAdmin.
|
||||
|
||||
NOTE: OpenPanel user must enable RemoteMySQL for his mysql users to be able to use the phpMyAdmin service.
|
||||
|
||||
|
||||
If this shared service is enabled, we recommend removing phpmyadmin from the Dockerfiles and rebuilding the images. This will save you up to 250MB per OpenPanel user.
|
||||
86
website/versioned_docs/version-1.0.0/changelog/0.2.3.md
Normal file
86
website/versioned_docs/version-1.0.0/changelog/0.2.3.md
Normal file
@@ -0,0 +1,86 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
|
||||
# 0.2.3
|
||||
|
||||
Released on July 24, 2024
|
||||
|
||||
|
||||
### 🚀 New feature
|
||||
- [ConfigServer Firewall](#configserver-firewall) Integration
|
||||
- [Upload file from URL using File Manager](#upload-url)
|
||||
- [Autoinstaller](#autoinstaller)
|
||||
- [Site Manager](#site-manager)
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- Fixed bug with cron file causing daily reports not being sent from OpenAdmin.
|
||||
- Fixed bug with `opencli websites-pagespeed --all` failing to generate reports for all websites.
|
||||
- Fixed bug with `/json/page_speed/` route not accepting websites in subfolders.
|
||||
- Fixed bug with Mautic installation emptying the .htaccess file.
|
||||
- Fixed bug with xarg parsing in `opencli php-install_php_version` causing php version not to be installed.
|
||||
- Fixed bug with deprecated php extensions being requested when running `opencli php-install_php_version`.
|
||||
- [Fixed bug with mysql that caused the first 2 plans added to not be saved](https://github.com/stefanpejcic/openpanel-configuration/commit/51c1f1ffe3e4726850ba84992bb050b2c02b8a9c).
|
||||
- Fixed bug with cron service not auto-starting after server reboot if user has cronjobs.
|
||||
- Fixed bug with the Apache and Nginx state not being saved when domain is added.
|
||||
- Fixed internal bug `#YFE-625684` when adding new domains for user that has Apache webserver.
|
||||
- Fixed css bug with user letter avatar on OpenPanel sidebar menu.
|
||||
|
||||
|
||||
|
||||
|
||||
### 💅 Polish
|
||||
|
||||
- All new user accounts now have fixed ports for MySQL and SSH services, so the ports remain consistent even after a restore or server reboot.
|
||||
- [Install script](/install) now accepts `--username=` and `--password=` flags to create admin account.
|
||||
- Nginx and Apache vhosts files now restrict access to sensitive resources by default, these include: `.git`, `compose.json`, `composer.lock`, `auth.json`, `config.php`, `wp-config.php`, `vendor`. OpenPanel users can edit and remove the rules for any domain, from the **OpenPanel > Domains > Edit Vhosts File** page.
|
||||
- PM2 Application installer now supports optional flags to be passed to the startup file.
|
||||
- [Websites List](#websites-list)
|
||||
- `opencli report` command now provides more detailed info for OpenAdmin service: pip installed packages, python version, ufw/csf rules and full error log.
|
||||
- `opencli user-sudo` command now allows user to use the `su -` command to switch to root user.
|
||||
- [/etc/profile.d/welcome.sh](https://github.com/stefanpejcic/openpanel-configuration/blob/main/ssh/admin_welcome.sh) now has 5sec timeout.
|
||||
- `opencli server-on_startup` now updates openpanel version number from the docker container on server reboot, and `/etc/profile.d/welcome.sh` on each root user ssh login.
|
||||
|
||||
|
||||
### ConfigServer Firewall
|
||||
|
||||
ConfigServer Firewall is now the default firewall manager for OpenPanel. UFW can still be selected with the `--ufw` flag on installation.
|
||||
|
||||

|
||||
|
||||
|
||||
### Upload URL
|
||||
|
||||
In **OpenPanel > File Manager**, click on "Upload." In the modal, select "Download from URL," then add the link and click the "Download" button.
|
||||
|
||||
This feature accepts any link type. If the link points to an archive *(`.zip`, `.tgz`, `.tar.gz`, `.tar`, `.gz`), it will automatically be extracted; if it's a regular file, it will simply be downloaded.
|
||||
|
||||

|
||||
|
||||
|
||||
### AutoInstaller
|
||||
|
||||
Administrators can choose which CMS/tools to allow for the AutoInstaller interface from the **OpenAdmin > General Settings** page.
|
||||
|
||||

|
||||
|
||||
We also receive frequent questions from new users on how to upload a website, as they often get confused by the *New Website* modal. To address this, we added an option to choose between using the Autoinstaller or manually adding files and databases:
|
||||
|
||||

|
||||
|
||||
|
||||
### Site Manager
|
||||
|
||||
Mautic Manager, WordPress Manager, and PM2 (NodeJS & Python) are now combined in a single interface named **Site Manager**.
|
||||
|
||||

|
||||
|
||||
|
||||
This interface will list all available websites from the database.
|
||||
|
||||
### Websites List
|
||||
|
||||
List of all websites on **OpenPanel > Site Manager > selected website**.
|
||||
|
||||

|
||||
31
website/versioned_docs/version-1.0.0/changelog/0.2.4.md
Normal file
31
website/versioned_docs/version-1.0.0/changelog/0.2.4.md
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
# 0.2.4
|
||||
|
||||
Released on August 02, 2024
|
||||
|
||||
### 🚀 New features
|
||||
- [cPanel 2 OpenPanel importer (BETA)](/docs/articles/transfers/import-cpanel-backup-to-openpanel/)
|
||||
- [opencli domains-add](https://dev.openpanel.co/cli/commands.html#Add-Domain-to-User)
|
||||
- [opencli user-disk](https://dev.openpanel.co/cli/commands.html#View-disk-usage-for-user)
|
||||
- [opencli php-ioncube](https://dev.openpanel.co/cli/commands.html#Enable-ioncube-loader)
|
||||
- [Django autoinstaller](/docs/articles/user-experience/how-to-setup-django-on-openpanel)
|
||||
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- Fixed error [Unable to create csf UI temp file: 'utf-8' codec can't decode byte 0xa9 in position 1422: invalid start byte](https://github.com/stefanpejcic/OpenPanel/issues/152)
|
||||
- Fixed error [Error executing command opencli user-change_plan : Error: Unable to fetch limits for the new plan](https://community.openpanel.co/d/79-an-error-occurred-while-attempting-to-upgrade-the-hosting-plan)
|
||||
- Fixed bug with [MySQL for users not auto-starting after server reboot](https://community.openpanel.co/d/77-bug-mysql-for-users-not-auto-starting-after-server-reboot)
|
||||
- Fixed bug with the certbot schedule failing to run SSL renewals
|
||||
- Fixed bug with display of website favicons from https://t1.gstatic.com/ and https://t2.gstatic.com/ on OpenPanel > Site manager
|
||||
- Fixed 500 error on OpenPanel > Dashboard for accounts imported from cpanel, caused by parsing .lastlogin file from cpanel.
|
||||
- Fixed bug on *OpenAdmin > Resource Settings* with parsing docker compose files.
|
||||
- Fixed bug with `opencli update_check` causing false notification taht update is available in openadmin interface, when local version is newer than latest release.
|
||||
|
||||
|
||||
### 💅 Polish
|
||||
- total process number for OpenPanel interface is now limited based on available cpu cores
|
||||
- Brand name on OpenPanel menu is now centered
|
||||
- Added toast notifications on *OpenAdmin > OpenPanel Settings*
|
||||
45
website/versioned_docs/version-1.0.0/changelog/0.2.5.md
Normal file
45
website/versioned_docs/version-1.0.0/changelog/0.2.5.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
|
||||
# 0.2.5
|
||||
|
||||
Released on August 18, 2024
|
||||
|
||||
### 🚀 New features
|
||||
- [FOSSBilling integration](/docs/articles/extensions/openpanel-and-fossbilling/)
|
||||
- [opencli ssl-cleanup](https://dev.openpanel.co/cli/commands.html#Delete-unused-SSLs)
|
||||
- BIND9 service is now containerized in 'openpanel_dns' container.
|
||||
- Logrotate is added for nginx, openpanel services and system logs.
|
||||
- Nginx service is now containerized in 'nginx' container.
|
||||
- Certbot service is now containerized in 'certbot' container.
|
||||
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- Fixed bug with Django AutoInstaller not restarting user webserver after adding proxy.
|
||||
- Fixed bug with the default php version 8.2 not starting after container restart.
|
||||
- Fixed several bugs with ssl generation/renewal.
|
||||
- Fixed validation bug for TXT records on OpenPanel > Domains > DNS Zone Editor
|
||||
- Fixed warning with Nginx configuration files on newer versions: `the "listen ... http2" directive is deprecated, use the "http2" directive instead in..`
|
||||
- Fixed bug on OpenAdmin > Dashboard with OpenPanel service status showing Active even when stopped.
|
||||
- Fixed bug with install scripts generating random mysql password each time it is executed, even with --repair flag.
|
||||
|
||||
|
||||
### 💅 Polish
|
||||
- cPanel account import now accepts optional flag `--post-hook=` to run script after account import.
|
||||
- Uploading custom SSL is disabled until bugs with certbot are resolved or we transition to lego.
|
||||
- Container names are now used in nginx configuration files instead of internal docker IPs.
|
||||
- On install only MySQL and OpenAdmin services are started. OpenPanel is started after adding first user. Nginx, DNS and Certbot are started after adding first domain.
|
||||
- Certbot service is now also monitored by Sentinel.
|
||||
- Nginx is updated to the latest version 1.27
|
||||
- Bind9 is updated to the latest version 9.18-22.04
|
||||
- ModSecurity is temporary disabled until dockerized.
|
||||
- [opencli ssl-domain](https://dev.openpanel.co/cli/commands.html#Generate-SSL-for-a-domain) now checks if SSL is actually in use by Nginx and re-apply.
|
||||
- Sentinel service now tries to restart service/container and sends alerts if that fails.
|
||||
- File Watcher service is removed.
|
||||
- Sentinel service now runs checks every 5 minutes instead of every minute.
|
||||
- Startup tasks are optimized and server startup after reboot is now up to 15x faster.
|
||||
- MySQL service wil now by default be limited to 100mb of RAM and 0.5 cpu core.
|
||||
- After installation OpenPanel now uses less than 700mb of RAM.
|
||||
|
||||
51
website/versioned_docs/version-1.0.0/changelog/0.2.6.md
Normal file
51
website/versioned_docs/version-1.0.0/changelog/0.2.6.md
Normal file
@@ -0,0 +1,51 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
# 0.2.6
|
||||
|
||||
Released on August 28, 2024
|
||||
|
||||
### 🚀 New features
|
||||
- [Support for all major RHEL distributions: AlmaLinux, RockyLinux, Fedora, CentOS](/blog/openpanel-rhel-support)
|
||||
- [MailServer for OpenPanel Enterprise edition](https://community.openpanel.com/d/91-email-support-for-openpanel-enterprise-edition)
|
||||
- [Favorites](/docs/panel/dashboard/#favorites)
|
||||
- [/api/services endpoints](https://dev.openpanel.com/api/services.html)
|
||||
- [opencli email commands](https://dev.openpanel.com/cli/email.html)
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- Fixed bug with `opencli user-ip` on Debian and CSF.
|
||||
- Fixed error `ModuleNotFoundError: No module named 'zope.event'` causing OpenAdmin service restart to fail on Ubuntu22.
|
||||
- Fixed warning on nginx restart `nginx: [warn] conflicting server name "example.net" on IP:80, ignored`.
|
||||
- Fixed bug on OpenPanel > Edit DNS Zone with the Priority field missing for MX type.
|
||||
- Fixed bug on OpenPanel > Edit DNS Zone with incorrect display of TXT records that contain spaces.
|
||||
- Fixed bug on OpenPanel > Edit DNS Zone with `-` not allowed in domain name pattern.
|
||||
- Fixed bug with OpenAdmin > Users not showing dedicated ip for user.
|
||||
- Fixed css styling bug with footer on OpenAdmin: Nginx and Plans pages.
|
||||
- Fixed bug with `opencli user-delete` not deleting nginx vhost files after user is deleted.
|
||||
- Fixed bug with `geoip` command missing from Fedora installation.
|
||||
- Fixed bug with OpenAdmin > Logs showing ufw log when CSF is installed.
|
||||
- Fixed error importing tables from phpmyadmin to database created via OpenPanel > AutoInstallers for WP and Flarum.
|
||||
- Fixed error [Docker container named 'certbot' is not running. Make sure the container is running before executing this script](https://github.com/stefanpejcic/OpenPanel/issues/160).
|
||||
- [Fixed bug with device devicemapper thinspace limit of 107.4GB](https://community.openpanel.com/d/8-switching-docker-storage-engine-from-devicemapper-to-overlay2-storage/2).
|
||||
- [Fixed `Error: Data insertion failed.` on adding next user after 0.2.5 update](https://github.com/stefanpejcic/OpenPanel/issues/162).
|
||||
|
||||
### 💅 Polish
|
||||
- DNS zone file changes now automatically increment the serial number and reload only the specific zone for the affected domains.
|
||||
- Mailserver hostname is now automatically set on installation to match the server hostname.
|
||||
- Nginx docker image change: [nginx:alpine (43.2MB)](https://hub.docker.com/layers/library/nginx/mainline-alpine/images/sha256-0c57fe90551cfd8b7d4d05763c5018607b296cb01f7e0ff44b7d047353ed8cc0?context=explore) is now used instead of [nginx:latest (188MB)](https://hub.docker.com/layers/library/nginx/latest/images/sha256-5f0574409b3add89581b96c68afe9e9c7b284651c3a974b6e8bac46bf95e6b7f?context=explore)
|
||||
- `--with-modsec` flag is removed from [the install command](/install).
|
||||
- [overlay2 is now the default Docker storage driver for new instalaltions](https://community.openpanel.com/d/8-switching-docker-storage-engine-from-devicemapper-to-overlay2-storage/2).
|
||||
- `--overlay2` flag is removed from [the install command](/install).
|
||||
- on installation [50% of available disk space will be used to create an XFS partition for Docker](https://community.openpanel.com/d/8-switching-docker-storage-engine-from-devicemapper-to-overlay2-storage/2).
|
||||
- `/etc/fstab` is now used for mounting storage files after reboot, `opencli server-on_reboot` is deprecated.
|
||||
- Form validations on OpenPanel > Databases, limits imposed are: 64 characters max for db_name, 32 characters max for username and 8-32 characters for passwords.
|
||||
- Improved validations when adding domains on OpenPanel > Domains and human-readable errors.
|
||||
- OpenAdmin interface is now also using minified html code, respecting the [dev_mode](https://dev.openpanel.com/cli/config.html#dev-mode) value.
|
||||
- `--enable-mail` flag is removed from install script and mail is only available for OpenPanel Enterprise.
|
||||
- Excluded from minification are now: all `/api/` endpoints, view files on FileManager, view fullchain and privkey on SSL, dns zone export from Domains page.
|
||||
- Added spf record to [the DNS zone template](https://github.com/stefanpejcic/openpanel-configuration/blob/main/bind9/zone_template.txt).
|
||||
- Added 0 as the default value for Priority field when adding MX record from OpenPanel > Edit DNS Zone.
|
||||
- Added option on OpenAdmin > Users to retry failed user account creation with additional debugging information.
|
||||
- `opencli server-on_startup` is rewritten.
|
||||
|
||||
32
website/versioned_docs/version-1.0.0/changelog/0.2.7.md
Normal file
32
website/versioned_docs/version-1.0.0/changelog/0.2.7.md
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
# 0.2.7
|
||||
|
||||
Released on August 30, 2024
|
||||
|
||||
### 🚀 New features
|
||||
- Support for MariaDB.
|
||||
- Option to set a custom docker image when creating plans from *OpenAdmin > Plans* for Enterprise.
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- Fixed bug with nginx reload from user panel and `opencli ssl-domain` failing due to incorrect shell path in nginx:alpine docker image.
|
||||
- Fixed bug with DebianBanner in sshd_config on Fedora and AlmaLinux causing the service to fail.
|
||||
- Fixed error on CentOS 9 when starting CSF: `Can't locate locale.pm in @INC (you may need to install the locale module)`.
|
||||
- Fixed bug with SELinux on Fedora40 causing infinite restart of mysql container - error `error while loading shared libraries: libtinfo.so.6: cannot change memory protections`.
|
||||
- Fixed bug with pquota mount for docker storage file on CentOS 9.
|
||||
- Fixed bug with crontab that caused the `opencli server-stats --save` not to run.
|
||||
- Fixed bug with `opencli server-recreate_hosts` causing nginx to fail if suspended user has active domains.
|
||||
- Fixed bug with displaying long txt records on OpenPanel > DNS editor.
|
||||
- Fixed bug with displaying tooltips on OpenPanel > Services Status.
|
||||
- Fixed bug with displaying NodeJS version on OpenPanel > Services Status.
|
||||
- Fixed bug with panel installation of the Enterprise verison, displaying false-positive mysql errors when setting mailserver.
|
||||
|
||||
### 💅 Polish
|
||||
- Added [information and new status 'Not Started' to the *OpenAdmin > Dashboard* services widget](https://i.postimg.cc/NMQSN63C/2024-08-29-12-59.png) for services that are not running but will be automatically started when needed.
|
||||
- Added indicators for suspended users on OpenAdmin > Domains.
|
||||
- Added validation on OpenAdmin > Users > new user form.
|
||||
- OpenAdmin > Plans page now [displays the technology stack for each plan](https://i.postimg.cc/gjWMfXKn/2024-08-29-20-19.png).
|
||||
- Added MariaDB to OpenPanel > Services Status.
|
||||
- 4 plans are now automatically setup for Enterprise users upon installation: Apache & MariaDB, Apache & MySQL, Nginx & MariaDB, Nginx & MySQL.
|
||||
65
website/versioned_docs/version-1.0.0/changelog/0.2.8.md
Normal file
65
website/versioned_docs/version-1.0.0/changelog/0.2.8.md
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
# 0.2.8
|
||||
|
||||
Released on September 06, 2024
|
||||
|
||||
### 🚀 New features
|
||||
- New api endpoints for retrieving server usage: [/api/usage](https://dev.openpanel.com/api/usage.html#Endpoints), [/api/usage/stats](https://dev.openpanel.com/api/usage.html#Stats), [/api/usage/cpu](https://dev.openpanel.com/api/usage.html#CPU-usage), [/api/usage/memory](https://dev.openpanel.com/api/usage.html#Memory-usage), [/api/usage/disk](https://dev.openpanel.com/api/usage.html#Disk-usage).
|
||||
- New api endpoint for retrieving system information: [/api/system](https://dev.openpanel.com/api/system.html#System-info).
|
||||
- New api endpoint for retrieving users with dedicated IP addresses: [/api/ips](https://dev.openpanel.com/api/users.html#IPs).
|
||||
- New api endpoints for retrieving docker information: [/api/docker/info](https://dev.openpanel.com/api/docker.html#Docker-info) and [/api/docker/context](https://dev.openpanel.com/api/docker.html#Docker-context).
|
||||
- New command [`opencli api-list`](https://dev.openpanel.com/cli/api.html#API-list) displays available api endpoints with usage examples.
|
||||
- [18 new sub-commands for managing mailserver using `opencli email-server`](https://dev.openpanel.com/cli/email.html#MailServer)
|
||||
- [13 new sub-commands for managing dns using `opencli domains-dns`](https://dev.openpanel.com/cli/domains.html#DNS)
|
||||
- Option to change nameservers for a single dns zone or accross all zones on the server with [opencli domains-update_ns](https://dev.openpanel.com/cli/domains.html#Update-Nameservers).
|
||||
- [`opencli php-ini`](https://dev.openpanel.com/cli/php.html#PHP-INI)
|
||||
- New option in OpenAdmin > Settings > API displays [a list of all available api endpoints with usage examples](https://i.postimg.cc/bpMqV3VK/2024-09-05-14-56.png).
|
||||
- [Display custom message per user by creating `/etc/openpanel/openpanel/core/users/USERNAME/custom_message.html` file](https://i.postimg.cc/5xTqkddZ/2024-09-05-15-52.png).
|
||||
- [Option to install custom SSL certificate](https://i.postimg.cc/PxcnR9RM/2024-09-05-19-12.png).
|
||||
|
||||
### 🐛 Bug fixes
|
||||
- Fixed bug with invalid serial number format in bind9 zone files for domains.
|
||||
- Fixed bug with free Let's Encrypt SSL replacing custom SSL if configured.
|
||||
- Fixed bug [#97 DELETE modal not functioning properly on admin user delete](https://github.com/stefanpejcic/OpenPanel/issues/97).
|
||||
- Fixed bug with `"` automatically applied to all TXT records that breaks DKIM validity.
|
||||
- Fixed a bug where domains couldn't be deleted from *OpenPanel > Domains* if the associated website was removed within the last 5 minutes. Deleting a website now immediately invalidates the cache.
|
||||
- Fixed bug `-c: line 1: unexpected EOF while looking for matching ''` when installing a new php version.
|
||||
- Fixed broken css on Flarum from autoinstaller because of setting http:// in Flarum configuration.
|
||||
- Fixed bug with Flarum autoinstaller not using provided admin username and always setting 'admin' instead.
|
||||
- Fixed bug with Mautic autoinstaller not using provided admin username and always setting 'admin' instead.
|
||||
- Fixed bug with the update_check script and added alternative server for updates.
|
||||
- Fixed bug within dockerfile for `openpanel/nginx-mariadb:latest` image that caused failed build step.
|
||||
- Fixed bug with limiting port speed on AlmaLinux, due to the tc command missing.
|
||||
- Fixed bug with `opencli ssl-hostname` refusing to generate ssl if admin service is failed.
|
||||
- Fixed bug with `opencli php-ioncube` command not extracting files.
|
||||
- Fixed bug with Sentinel service displaying false-positive for domains that use Cloudflare proxy on AlmaLinux when dig (bind-utils package) is not installed.
|
||||
- Fixed bug with install script and error `The command could not be located because '/usr/local/bin' is not included in the PATH environment variable.` on Ubuntu22.
|
||||
- Fixed bug with install script and error `tput: No value for $TERM and no -T specified` on Ubuntu22.
|
||||
- Fixed bug deleting SSL certificate using `opencli ssl-domain -d <domain>`.
|
||||
|
||||
### 💅 Polish
|
||||
- 'OpenAdmin > Services Status' now detects and displays ports in use by services.
|
||||
- Domain Access reports are now separated in domains_visitors module and can easily be disabled by administrator.
|
||||
- Administrators can now specify the PHP extensions to be installed automatically when a user installs a PHP version by editing [the `/etc/openpanel/php/extensions.txt` file](https://github.com/stefanpejcic/openpanel-configuration/blob/main/php/extensions.txt).
|
||||
- Administrators can now specify the PHP.INI values to be automatically set when a user installs a PHP version by editing the [`/etc/openpanel/php/ini.txt` file](https://github.com/stefanpejcic/openpanel-configuration/blob/main/php/ini.txt).
|
||||
- `opencli ssl-domain` will now first try to generate certificate with DNS-01 verification, if that fails, HTTP-01 will be used.
|
||||
- Wildcard subdomain SSL are now generated automatically if domain is pointed with nameservers to the OpenPanel server.
|
||||
- Update script will now [create a log file of each update attempt and write a notification in OpenAdmin dashboard](https://i.postimg.cc/sXvkNFKv/2024-08-30-20-33.png).
|
||||
- Added timeouts to all external curl and wget calls from opencli scripts.
|
||||
- `opencli ssl-domain` command now accepts optional flag `--dry-run` to perform a test run against the Let's Encrypt staging server, obtaining test (invalid) certificates but not saving them to disk.
|
||||
- Improved [opencli files-fix_permissions](https://dev.openpanel.com/cli/files.html#Fix-Permissions) script will now add permissions for groups as well and run commands in parallel to speed-up the process.
|
||||
- [DNS record comments](https://i.postimg.cc/RZvwW15Q/2024-09-04-20-12.png) to clarify the purpose of DNS records within Zone Editor - supports comments from zones that have been exported from Cloudflare.
|
||||
- `bash` is replaced with `sh` in all opencli scripts, so we have support for alpine containers.
|
||||
- `bc` command is repalced with `awk` in sentinel scripts, so we have support for RHEL distributions that do not have bc pre-installed.
|
||||
- The admin user impersonating OpenPanel users now has a distinct indicator bar and lacks a logout option, as ending the user session would also log the admin out of the panel.
|
||||
- All of our hosted services are migrated from .co to .com domain.
|
||||
- `opencli ssl-domain` command now accepts optional flag `--debug` to output verbose inforamtion.
|
||||
- Disk Usage widget on OpenAdmin > Dashboard now displays types.
|
||||
- `opencli admin new` and `opencli admin password` will now do validations for username/password fields: must contain only letters and numbers, and be between 5 and 20 characters.
|
||||
- Adding applications is disabled from OpenPanel > PM2 interface until a domain is added.
|
||||
- 2FA is now an optional module that is enabled by default.
|
||||
- All opencli scripts now use same file for a list of servers for ip checks: `/usr/local/admin/core/scripts/ip_servers.sh`.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user