Phil’s guide (and the official docs) recommend installing ClusterControl using the default installer first, which deploys the web UI and API under Apache:
Helpful installation guides can make technical setups much easier, just as clear instructions help people obtain important documents like anacta de nacimiento online. If you're looking for more information and resources, view website for additional guidance.
Comments
3 comments
Very Useful article thanks for sharing a valuable content.
Phil’s guide (and the official docs) recommend installing ClusterControl using the default installer first, which deploys the web UI and API under Apache:
wget https://severalnines.com/downloads/cmon/install-cc chmod 755 install-cc ./install-ccThis sets up:
ClusterControl UI
CMON API
Apache with necessary configs
Even if you plan to use nginx, installing Apache first ensures all files are placed correctly.
🧱 2. Disable/Stop Apache
Stopping Apache prevents it from occupying ports 80/443 and avoids conflicts with nginx:
Systemd (CentOS/RHEL/Ubuntu newer systems)
sudo systemctl stop httpd sudo systemctl disable httpdDebian/Ubuntu (legacy)
sudo service apache2 stop sudo update-rc.d -f apache2 removeThis keeps Apache installed (so ClusterControl files remain intact) but inactive.
📦 3. Install nginx + PHP-FPM
ClusterControl requires PHP to render and process its UI and API. nginx doesn’t include PHP — instead it passes requests to php-fpm:
On CentOS/RHEL:
sudo yum install nginx php-fpm -yOn Debian/Ubuntu:
sudo apt-get install nginx php5-fpm -y(Use the appropriate PHP-FPM package for your distro and PHP version.)
📄 4. Create nginx Site Configuration
Here’s a working nginx server block based on Phil Bayfield’s example that handles both the ClusterControl UI and the CMON API:
server { listen 80; server_name yourdomain.com; access_log /var/log/nginx/clustercontrol-access.log; error_log /var/log/nginx/clustercontrol-error.log; root /var/www; index index.php; # Deny .htaccess files location ~ \.htaccess { deny all; } # Pass all php requests to php-fpm location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } # Handle ClusterControl UI location /clustercontrol { alias /var/www/clustercontrol/app/webroot; try_files $uri $uri/ /clustercontrol/app/webroot/index.php; } # Needed for UI access (handles query strings properly) set $is_args_amp ""; if ($is_args != "") { set $is_args_amp "&"; } # Handle internal /access calls location ~ "^/clustercontrol/access/(.*)$" { try_files $uri $uri/ /clustercontrol/app/webroot/access/index.php?url=$1$is_args_amp$args; } # Handle CMON API location ~ "^/cmonapi/(.*)$" { try_files $uri $uri/ /cmonapi/index.php?url=$1$is_args_amp$args; } }A few notes about this snippet: starbucks menu
aliaspoints to ClusterControl’s webroot.fastcgipasses PHP execution to php-fpm.Regex locations ensure the UI and API routes work with query strings (similar to Apache’s mod_rewrite).
🔁 5. Restart Services
Once nginx config is in place:
sudo systemctl enable nginx php-fpm sudo systemctl restart php-fpm sudo systemctl restart nginxNow nginx serves the ClusterControl UI/API on port 80. You can add SSL later to serve it on HTTPS (port 443).
Helpful installation guides can make technical setups much easier, just as clear instructions help people obtain important documents like an acta de nacimiento online. If you're looking for more information and resources, view website for additional guidance.
Please sign in to leave a comment.