Skip to main content
Version: 2.0.13

Websites

Manage websites.

List all websites​

List all websites hosted on the server:

opencli websites-all
Example output
# opencli websites-all
example.com
example.com/blog
shop.example.net

List only websites of a specific type:

opencli websites-all <TYPE>
Example output
# opencli websites-all wordpress
example.com
example.com/blog

List websites for user​

List all websites owned by user:

opencli websites-user <USERNAME>
Example output
# opencli websites-user stefan
Domain: example.com
PHP version: php8.3
Sites:
Site Name: example.com
Type: wordpress
Version: 6.6.2
Ports:
Path: /var/www/html/example.com

Domain: example.net
PHP version: php8.1

Additional flags:

  • --type=<TYPE> - list only websites of this type. Run opencli websites-user without a username to see available types.
  • --domains=<domain1,domain2,...> - list only websites on these domains.
  • --json - display output as JSON.
Example output
# opencli websites-user stefan --json
{ "example.com": {"php": "php8.3", "sites": [{"site_name": "example.com", "type": "wordpress", "version": "6.6.2", "ports": "", "path": "/var/www/html/example.com"}]},"example.net": {"php": "php8.1"} }

Add websites for user​

Scan user files and add WordPress installations:

opencli websites-scan <USERNAME>
Example output
# opencli websites-scan stefan
- Parsing file: /var/www/html/example.com/wp-config.php
Adding website example.com to Site Manager
Fixing permissions and ownership for the directory /var/www/html/example.com
Scan completed. Detected 1 new WordPress installations:
- example.com, domain: example.com, email: [email protected], version: 6.6.2

use -all flag to run for all users:

opencli websites-scan -all
Example output
# opencli websites-scan -all
Processing user: stefan (1/2)
- Parsing file: /var/www/html/example.com/wp-config.php
Site example.com already exists in the SiteManager - Skipping
Scan completed. No new WordPress installations detected, but the following 1 existing installations are present:
- example.com - domain: example.com, config: /var/www/html/example.com
------------------------------
Processing user: demo (2/2)
Scan completed. No WordPress installations detected.
------------------------------
DONE.

Secure​

Server-level restrictions to harden WordPress instance. Rules are applied at the webserver level before PHP processing.

List all available rules:

opencli websites-secure --list-available-rules
Example output
# opencli websites-secure --list-available-rules
wp_manager_wp_config
wp_manager_xmlrpc
wp_manager_uploads_php
wp_manager_wp_includes_php
wp_manager_admin_script_concat
wp_manager_author_scan
wp_manager_sensitive_files
wp_manager_cache_php
wp_manager_env_files
wp_manager_bad_bots

Check if rules exist for a domain:

opencli websites-secure <domain>
Example output
# opencli websites-secure example.com
Status for example.com: rules enabled
wp_manager_xmlrpc
wp_manager_uploads_php

List enabled rules for domain:

opencli websites-secure <domain> --list-active-rules
Example output
# opencli websites-secure example.com --list-active-rules
Active rules for example.com:
wp_manager_xmlrpc
wp_manager_uploads_php

Enable rules for a domain:

opencli websites-secure <domain> --rules='rule1 rule2'
Example output
# opencli websites-secure example.com --rules='wp_manager_xmlrpc wp_manager_uploads_php'
Rules updated for example.com

Disable all rules for a domain:

opencli websites-secure <domain> --disable-all
Example output
# opencli websites-secure example.com --disable-all
All rules removed for example.com

Vulnerability​

Check WordPress website for WP core, theme and plugin vulnerabilities:

opencli websites-vulnerability <WEBSITE>

Example:

opencli websites-vulnerability pejcic.rs
Example output
# opencli websites-vulnerability pejcic.rs
[*] pejcic.rs
Core:
└── WordPress 6.6.2
PLUGINS:
├── akismet 5.3.3 (1/2)
└── contact-form-7 5.9.8 (2/2)
THEMES:
└── twentytwentyfour 1.2 (1/1)
[-] No vulnerabilities found.

Check vulnerabilities for all WordPress websites hosted on server:

opencli websites-vulnerability --all
Example output
# opencli websites-vulnerability --all
[*] pejcic.rs [1 of 2]
Core:
└── WordPress 6.6.2
...
[-] No vulnerabilities found.
[*] example.com/blog [2 of 2]
Core:
└── WordPress 6.5.5
...
[+] Vulnerabilities detected and saved.

Summary: 2 Sites, 5 Plugins, 3 Themes in 00:00:14

PageSpeed​

Get Google PageSpeed data for a single website:

opencli websites-pagespeed <WEBSITE>

Example:

opencli websites-pagespeed pejcic.rs/blog
Example output
# opencli websites-pagespeed pejcic.rs/blog
Google PageSpeed data saved to /etc/openpanel/openpanel/websites/pejcic.rs_blog.json

Get Google PageSpeed data for all websites hosted on server:

opencli websites-pagespeed -all
Example output
# opencli websites-pagespeed -all
Google PageSpeed data saved to /etc/openpanel/openpanel/websites/pejcic.rs.json
Google PageSpeed data saved to /etc/openpanel/openpanel/websites/pejcic.rs_blog.json

Note:
Since version 1.2.2, users can provide their own PageSpeed API key by creating a file named pagespeed_api_key.txt in their home directory at /var/www/html/.

Administrators can also set a system-wide API key by creating the file /etc/openpanel/openpanel/service/pagespeed.api and placing the key inside.