Centmin Mod FAQ
Does Centmin Mod work with WHM/cPanel, Plesk, DirectAdmin, Webmin, ISPConfig or other control panels?
Centmin Mod was created and tested to work as a standalone Nginx, PHP-FPM, and MariaDB MySQL stack without the use of any control panels. It does not work with WHM/cPanel, Plesk, or DirectAdmin. Only install on test servers first, not production, if you want to experiment with compatibility with other panels.
Can Centmin Mod be used for shared hosting? What about FTP/SFTP?
Centmin Mod is intended for a single root user/administrator to manage multiple or single web site domains on a VPS or dedicated server. It is not suited for shared hosting with multiple end users. For file transfers, use native SFTP via clients like FileZilla instead of FTP. Centmin Mod also includes basic isolated jailed FTP user support via Pure-FTPD virtual FTP users with FTP over explicit TLS/SSL.
How to install Centmin Mod?
Full install instructions are available on the Installation Guide page. The recommended method is the curl one-liner installer which handles downloading and configuring all components automatically.
How to upgrade Centmin Mod?
For same-branch upgrades, update the code first via menu option 23 or cmupdate, then run menu option 4 (Nginx upgrade) and option 5 (PHP upgrade) only if upgrading to new software versions. MariaDB uses YUM repo updates. For cross-branch upgrades, a fresh install on a new server is recommended.
What is the default PHP version?
The default PHP version depends on the branch:
- 132.00stable & 140.00beta01: PHP 7.4.33 (can be changed during install or via menu option 5)
- 141.00beta01: PHP 8.3.21
You can switch PHP versions using centmin.sh menu option 5. The getphpver command lists the latest available PHP versions per branch. EL8 minimum is PHP 7.2, EL9 minimum is PHP 7.4.
How to set up Nginx domain name virtual host and DNS?
Use Centmin Mod menu options #2 (create Nginx vhost) and #3 (NSD DNS setup). Full details are on the Nginx documentation page.
How to log the entire Centmin Mod install process?
Logging is automatic. Logs are saved to /root/centminlogs as timestamped files like centminmod_VERSION_DATETIME_*.log.
How to change the default date and timezone?
Before install, edit centmin.sh and change the ZONEINFO variable. After installation, modify the system timezone settings. The mytimes command displays several timezones’ relative times.
How long does it take to install Centmin Mod?
Varies by server power, network speed, and VPS type. Typical install times range from ~8–20 minutes on modern hardware. The curl one-liner install method provides breakdown statistics (YUM time, download time, compile time, total time).
What Operating Systems does Centmin Mod support?
Centmin Mod supports the following operating systems (x86_64 architecture only):
- 132.00stable & 140.00beta01: CentOS 7 (EOL), AlmaLinux 8/9, Rocky Linux 8/9, Oracle Linux 8/9
- 141.00beta01: All of the above plus AlmaLinux 10, Rocky Linux 10 (EL10 support)
AlmaLinux and Rocky Linux are recommended. ARM architecture is not supported.
What virtualization platforms are supported?
Mainly tested on KVM and OpenVZ-based VPS servers and dedicated servers with x86_64 architecture CPUs.
Will there be a Debian or FreeBSD version?
Currently CentOS/AlmaLinux/Rocky Linux only. The focus is on developing all planned features first. A Debian version is possible in the future once features are finalized. No plans for FreeBSD currently.
Why is MariaDB the default MySQL server?
MariaDB was chosen for its superior performance with both MyISAM and InnoDB engines (via Percona’s XtraDB). Current default versions:
- 132.00stable: MariaDB 10.4 (EL7), 10.6 (EL8/EL9)
- 140.00beta01: MariaDB 10.4 (EL7), 10.6 (EL8/EL9) — supports up to 11.4
- 141.00beta01: MariaDB 10.6 (EL7-EL9), 10.11 (EL10) — supports up to 12.3
Postfix package conflicts with MariaDB on CentOS 6.x?
This was a CentOS 6.x issue with MariaDB 5.2 RPM packages. It is resolved in current versions using MariaDB 10.x packages which include the required dependencies. CentOS 6 is no longer supported.
How much memory is required for Centmin Mod?
Requirements depend on the OS version:
- Minimum (EL8/EL9): 2 GB RAM + 4 GB swap + 40 GB disk
- Recommended: 4 GB RAM + 4 GB swap + 60 GB disk
- Optimal CPU: 2–4 cores (1 core works)
Add 1–4 GB extra RAM if running anti-malware software.
What are Centmin Mod command shortcuts?
Command shortcuts let you type one word to edit config files or manage services:
- Config editing:
phpedit,mycnf,fpmconf,nginxconf - Nginx:
ngxstop/ngxstart/ngxrestart - PHP-FPM:
fpmstop/fpmstart/fpmrestart - MariaDB:
mysqlstop/mysqlstart/mysqlrestart - All services:
npstop/npstart/nprestart
Where can I find Nginx rewrite rules for my web application?
The Centmin Mod community forums and the official Nginx forums are the best places to ask for specific rewrite rules. Centmin Mod includes standard Nginx rewrite rules for WordPress, Drupal, vBulletin, XenForo, and IPB.
Why does Centmin Mod compile some software from source instead of YUM?
Source compilation provides custom-tuned configurations, more recent software versions, and optimizations not available from YUM repo packages. Benefits include:
- PHP Profile Guided Optimizations (+3–17% performance)
- Intel/AMD CPU-optimized compiler options
- Nginx HTTPS performance with latest OpenSSL/BoringSSL
- HTTP/2 and HTTP/3 QUIC support
- Brotli compression (~20% better than gzip)
- jemalloc memory management
- Let’s Encrypt SSL integration
Where are the log files located?
- Nginx:
/usr/local/nginx/logs/access.loganderror.log - Per-domain:
/home/nginx/domains/domain.com/log/ - PHP-FPM:
/var/log/php-fpm/www-error.log - MariaDB:
/var/log/mysqld.logorjournalctl -u mariadb - CSF:
/var/log/lfd.log - System:
/var/log/
How to enable PHP-FPM usage stats?
Edit /usr/local/nginx/conf/conf.d/virtual.conf, uncomment the line include /usr/local/nginx/conf/phpstatus.conf;, restart Nginx, then view with lynx --dump http://127.0.0.1/phpstatus.
How to change Memcached allocated memory size?
Edit /etc/init.d/memcached and change the MEMSIZE variable (in MB). Default is 8 MB. Restart with memcachedrestart.
What is Disk Alert and why monitor disk space?
A daily cron job at /etc/cron.daily/diskalert monitors disk usage and sends email alerts when any partition exceeds 90%. Edit the script to change the EMAIL address or ALERT threshold.
Where are PHP extensions loaded from?
Additional PHP compiled extensions are loaded from individual *.ini files in /etc/centminmod/php.d/. Each extension has its own .ini file (e.g., igbinary.ini, imagick.ini, memcached.ini).
Troubleshooting common errors
- Permission denied on centmin.sh: Run
chmod +x centmin.sh - Nginx upgrade 404 error: You entered an incorrect Nginx version number at the prompt
- MySQL won’t start: Check error logs, kill lingering mysql processes, then restart
- Can’t connect to Memcached: Verify memcached is running, check the PHP extension is loaded, and confirm iptables isn’t blocking port 11211
Can I install Nginx standalone without the full stack?
The full stack installs all components. However, you can disable unneeded services after install by setting variables in /etc/centminmod/custom_config.inc before running the installer: NSD_DISABLED='y', MEMCACHED_DISABLED='y', PHP_DISABLED='y', MYSQLSERVICE_DISABLED='y', PUREFTPD_DISABLED='y'.
Getting open_basedir restriction error?
Centmin Mod has open_basedir enabled in /usr/local/nginx/conf/php.conf. To disable globally: comment out the fastcgi_param PHP_ADMIN_VALUE open_basedir=... line and restart. To disable per-domain: create a copy without open_basedir and update the domain’s Nginx config to include the modified file.
How to keep Centmin Mod up to date?
Set up automatic nightly YUM updates via yum-cron, configure persistent settings in /etc/centminmod/custom_config.inc that survive auto-updates, and install the Linux Malware Detect (maldet) + ClamAV scanner addon for security monitoring.
How to customise php.ini settings?
Create /etc/centminmod/php.d/b_customphp.ini for persistent customizations that won’t be overwritten on PHP upgrades. PHP-FPM processes .ini files in alphabetical order — later files override earlier ones. Restart with fpmrestart.
How to whitelist dynamic IP addresses in CSF Firewall?
See the CSF Firewall documentation page for dynamic IP whitelisting instructions.
Does Centmin Mod Nginx support HTTP/2?
Yes. Centmin Mod Nginx includes full HTTP/2 and HTTP/3 QUIC support. All current branches compile Nginx with the latest HTTP/2 and HTTP/3 capabilities. Current Nginx version is 1.29.6 across all branches.
How to compile Nginx with minimal modules?
Disable modules by setting their corresponding variables to 'n' in /etc/centminmod/custom_config.inc, then recompile Nginx via menu option 4.
How to install Redis Server?
Centmin Mod includes the REMI YUM repo which provides the latest Redis Server. Install via YUM. See the community forum guide for detailed instructions.
How to use CDN providers at the Nginx level?
Use Nginx’s ngx_http_sub_module with sub_filter directives in your vhost config to rewrite domain URLs to CDN URLs at the Nginx level, without modifying the web application. Restart Nginx after changes.
How to enable Nginx IPv6 support?
IPv6 is native in current Nginx versions. Add AAAA DNS records, then update all vhost configs to add listen [::]:80; and listen [::]:443 ssl http2;. Restart with nprestart.
How to reset MySQL root password?
- Stop Nginx and MySQL:
ngxstopthenmysqlstop - Start MySQL with skip grant tables:
mysqld_safe --skip-grant-tables --skip-networking & - Set new password via SQL UPDATE command
- Restart MySQL and Nginx
- Update
/root/.my.cnfwith the new password
Can Centmin Mod run on low-memory VPS servers?
Minimum requirements for EL8/EL9 are 2 GB RAM + 4 GB swap + 40 GB disk. You can disable unused services (PHP-FPM, MySQL, Memcached, Pure-FTPD) to save memory. For lower-memory systems, use the recommended 4 GB+ RAM configuration.
How to check which PHP extensions are installed?
php -v— Check PHP versionphp --ini— List loaded .ini filesphp -m— List all loaded modulesphp --ri redis— Details for a specific extension
How to disable or temporarily disable PHP extensions?
Temporarily: Move *.ini files from /etc/centminmod/php.d/ to /etc/centminmod/php.d-disabled/ and restart PHP-FPM. Move them back to re-enable.
Permanently: Set extension variables to =n in /etc/centminmod/custom_config.inc and recompile PHP via menu option 5.
Does Centmin Mod support Nginx dynamic module loading?
Yes. All current branches support Nginx dynamic modules. Enable via variables in /etc/centminmod/custom_config.inc (e.g., NGXDYNAMIC_BROTLI, NGXDYNAMIC_NJS, NGXDYNAMIC_IMAGEFILTER), then recompile via menu option 4. Modules are loaded via /usr/local/nginx/conf/dynamic-modules.conf.
CSF Firewall blocking multiple Pure-FTPD connections from same IP?
Multiple devices sharing one ISP IP can trigger CSF’s LF_DISTFTP setting (default: 1) in /etc/csf/csf.conf. Increase the value and restart CSF with csf -r.
Site visitors are being blocked by CSF Firewall?
Possible causes: the visitor shares an IP with an attacker (auto-blocked via sshd brute force detection), or CSF block lists are enabled in /etc/csf/csf.blocklists. Check the visitor’s IP against those lists. Use csf -g IPADDRESS to investigate and csf -w IPADDRESS to watch specific IPs.
How to park a domain on an existing Nginx vhost?
Edit the Nginx vhost domain config files to add the additional domain to the server_name directive. See the community forum guide for full instructions.
How to password protect directories and files with HTTP authentication?
Use Nginx’s ngx_http_auth_basic_module. Add auth_basic and auth_basic_user_file directives in your vhost config. Create password files using:
/usr/local/nginx/conf/htpasswd.sh create /usr/local/nginx/conf/htpasswd_admin USERNAME PASSWORD
Site FAQ
Questions about the centminmod.com website and community resources are answered on the community forums.
Forums FAQ
For forum-specific questions, please visit the Centmin Mod Community Forums.