OpenPanel/documentation/docs/changelog/0.1.7.md

327 lines
12 KiB
Markdown
Raw Normal View History

2024-04-15 10:35:32 +00:00
---
hide_table_of_contents: true
---
# 0.1.7
2024-05-08 15:10:46 +00:00
Released on May 08, 2024
2024-04-15 15:27:28 +00:00
2024-04-15 21:57:31 +00:00
### 🚀 New features
2024-05-05 13:35:49 +00:00
- [French translation 🇫🇷](https://community.openpanel.co/d/45-parles-tu-francais-french-translation-for-openpanel)
2024-05-01 13:59:51 +00:00
- [WHMCS Module](#whmcs-module)
2024-05-01 14:47:29 +00:00
- [API endpoints for managing user accounts](#api-for-users)
2024-04-15 21:57:31 +00:00
- [Cronjobs can now be enabled/disabled and run on demand](#cron-disable)
2024-04-26 19:46:01 +00:00
- [Ubuntu 24.04 images](#ubuntu24-images)
2024-04-16 08:40:44 +00:00
- [Admin users can now be edited: rename, change password, suspend/unsuspend from OpenAdmin interface](#edit-admin-users)
2024-04-17 12:40:39 +00:00
- [OpenAdmin search for users, websites and options](#admin-search)
2024-04-20 06:54:48 +00:00
- [Forbidden usernames list](#forbidden-username)
2024-04-15 21:57:31 +00:00
2024-04-15 15:27:28 +00:00
2024-04-30 15:23:26 +00:00
### 💥 Breaking Changes
- [Containerized services](#containerized-services)
- [All services in our official docker images are now disabled by default](#disabled-services)
2024-05-05 13:36:38 +00:00
- Script `opencli docker-is_port_in_use` is now deprecated and will be removed in the future.
2024-04-30 15:23:26 +00:00
2024-04-15 15:27:28 +00:00
### 🐛 Bug fixes
- [Fixed bug with successful update message in notification center](#success-message)
2024-04-15 19:19:50 +00:00
- Fixed bug with email alerts not being sent if server does not have a valid ssl
2024-04-15 19:32:05 +00:00
- Fixed js error when there are no docker images on *OpenAdmin > Docker Settings*
2024-04-16 13:22:48 +00:00
- Fixed bug where the system erroneously flagged initial admin login as a new admin login.
2024-04-17 10:18:02 +00:00
- [Fixed bug in the update script where failed updates were being retried.](#skip-version)
2024-04-17 13:33:31 +00:00
- [Fixed bug with leftover DNS zones from domains removed while the Named service is down](https://github.com/stefanpejcic/OpenPanel/issues/95)
2024-04-17 17:05:11 +00:00
- [Fixed multiple bugs with the install script](#improved-install)
2024-04-19 19:59:25 +00:00
- Fixed bug with pip install errors on python 3.11
2024-04-27 11:34:43 +00:00
- Fixed bug with Nginx service unable to start if network is down during the installation or if ip.openpanel.co is unreachable.
2024-04-29 15:52:48 +00:00
- 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.
2024-04-29 18:14:21 +00:00
- Fixed bug with search input on OpenAdmin > Firewall page.
2024-05-04 18:14:12 +00:00
- Fixed bug with ajax form submission not working on OpenAdmin > General Settings page (reported bySamanw).
2024-05-08 16:45:33 +00:00
- 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`
2024-05-08 16:46:22 +00:00
- Fixed bug with PIP install on Python 3.11 and 3.12: `error: externally-managed-environment`
2024-05-08 16:45:33 +00:00
- 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)`
2024-04-15 15:27:28 +00:00
2024-04-15 20:54:23 +00:00
## 💅 Polish
- [SSH service status is now restored after reboot](#ssh-after-reboot)
- Generate password button on *OpenAdmin > Users* now toggles the password field visible.
2024-04-16 06:50:54 +00:00
- Sidebar toggle images are now hosted locally.
2024-04-20 06:11:21 +00:00
- Google Cloud Storage is now used as a mirror for installation files.
2024-04-22 21:30:51 +00:00
- [All docker images are now hosted on hub.docker.com](#hub-docker-com)
2024-04-15 20:54:23 +00:00
2024-04-17 17:05:11 +00:00
----
2024-05-01 13:59:34 +00:00
### 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:
![enable_api](https://i.postimg.cc/L6vwMQ4t/image.png)
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*
![screenshot](https://i.postimg.cc/MHWpL3tc/image.png)
Click on *Create New Server* and under module select **OpenPanel** then add OpenPanel server IP, username and password for the OpenAdmin panel:
2024-05-01 14:04:24 +00:00
![create_whmcs_group](https://i.postimg.cc/3Jh3nqWY/image.png)
2024-05-01 13:59:34 +00:00
2024-05-02 12:34:41 +00:00
4. **Create hosting packages**
2024-05-01 13:59:34 +00:00
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
![screenshot2](https://i.postimg.cc/NLvF4GSc/image.png)
5. **Test creating new accounts**
Create an order and create a new order to test OpenPanel API.
---
2024-05-01 14:47:29 +00:00
### 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_id": "PLAN_ID_HERE"}' http://PANEL:2087/api/users
```
- Suspend account
2024-05-01 14:47:56 +00:00
```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
2024-05-01 14:47:29 +00:00
```
- 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_id": "PLAN_ID_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
```
---
2024-05-01 13:59:34 +00:00
2024-04-17 17:05:11 +00:00
### Improved install
2024-05-08 14:32:54 +00:00
- `git` and `clamav` are now removed from the install script
2024-04-17 17:05:11 +00:00
- Added checks for failed wget (reported by *germangc125*)
2024-05-08 14:32:54 +00:00
- `--repair` flag will now retry all installation steps
2024-05-08 16:45:33 +00:00
- database import is now retried multiple times if mysql is not ready
2024-04-17 17:05:11 +00:00
2024-04-15 15:27:28 +00:00
----
2024-04-15 21:57:31 +00:00
### Cron disable
2024-04-26 19:50:56 +00:00
Users can now pause/unpause cronjobs and execute them out of schedule.
2024-04-15 21:57:31 +00:00
![screenshot](https://i.postimg.cc/brZwBnSG/2024-04-15-23-56.png)
2024-04-29 21:26:30 +00:00
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.
2024-04-26 19:50:56 +00:00
2024-04-16 08:40:44 +00:00
-----
### Edit Admin Users
Admin users can now be edited: rename, change password, suspend/unsuspend from OpenAdmin interface.
![screenshot](https://i.postimg.cc/Nf0sW-kvd/2024-04-16-10-39.png)
2024-04-17 10:18:50 +00:00
Note: *Super admin* role can not be suspended or deleted.
2024-04-16 08:40:44 +00:00
----
2024-04-17 12:40:39 +00:00
### 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
2024-04-17 12:41:00 +00:00
![sreenshot](https://i.postimg.cc/FFCV4Ktv/2024-04-17-14-35.png)
2024-04-17 12:40:39 +00:00
----
2024-04-16 08:40:44 +00:00
2024-04-15 15:27:28 +00:00
### 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.
![screenshot](https://i.postimg.cc/PxDqzftk/2024-04-15-17-24.png)
2024-04-15 20:52:49 +00:00
2024-04-17 10:18:02 +00:00
----
### 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.
2024-04-20 06:47:30 +00:00
----
2024-04-15 20:52:49 +00:00
2024-04-20 06:47:30 +00:00
### 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
```
----
2024-04-15 20:52:49 +00:00
### SSH after reboot
2024-04-29 21:31:03 +00:00
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.
2024-04-15 20:52:49 +00:00
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.
2024-04-20 06:47:30 +00:00
----
2024-04-20 18:12:47 +00:00
### hub.docker.com
2024-04-26 19:46:01 +00:00
OpenPanel official docker images are now hosted on hub.docker.com
2024-04-20 18:13:40 +00:00
- Nginx stack: https://hub.docker.com/r/openpanel/nginx/tags
- Apache stack: https://hub.docker.com/r/openpanel/apache/tags
2024-04-20 18:12:47 +00:00
2024-04-22 21:30:51 +00:00
-----
### 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.
2024-04-26 21:29:36 +00:00
With these changes, **we managed to lower idle CPU & Memory Usage of new user accounts from 680MB to less than 10MB**.
2024-04-22 21:30:51 +00:00
2024-04-20 18:12:47 +00:00
-----
2024-04-24 22:35:43 +00:00
2024-04-26 19:46:01 +00:00
### Ubuntu24 images
2024-04-24 22:35:43 +00:00
2024-04-29 18:16:14 +00:00
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.
2024-04-29 18:20:59 +00:00
This change fixes 16 vulnerabilities in the previous Ubuntu 22.04 docker image.
2024-04-29 21:19:03 +00:00
----
### Containerized services
2024-05-08 14:32:54 +00:00
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.
2024-04-29 21:19:03 +00:00
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
```
-----