--- 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. ![log viewer page](https://i.postimg.cc/zGmWT8L0/errorlof.png) 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. ![screenshot](https://i.postimg.cc/gJpmK6Yg/usagestats.gif) ### 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 ![openpanel blacklist](https://i.postimg.cc/N0QncRRt/2024-06-08-13-45.png) 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. ![firewall-settings](https://i.postimg.cc/NFGZm1Lx/2024-06-11-12-25.png) - **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: ![notifications screenshot](https://i.postimg.cc/pdcdGVvv/2024-06-18-15-06.png) ### 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. ![example css](https://i.postimg.cc/LsW-Hkyk6/2024-06-18-15-04.png) Bootstrap5 documentation on setting variables: https://getbootstrap.com/docs/5.3/customize/color-modes/#variables