Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Shells Virtual Desktop
BMail.ag - Secure Email Service
Server.net
CPLicense.net
VPS Server
Buy VPN
Vultr
VMs for AI
HostDare
ReliableSite White-Label Dedicated Hosting for Resellers
InterServer VPS
BMail.ag - Secure Email Service
Best VPN
High-Performance Bare Metal Server Solutions
Karvl.com
Server Mania Cloud Hosting
DataWagon Hosting
AlphaVPS Hosting
Evoxt.com
Clouvider
VPS Hosting with NVMe
Residential IPs in the US & 4G Mobile Proxies in EU & US with Unlimited Bandwidth
ReliableSite White-Label Dedicated Hosting for Resellers
Rabisu - Hosting Solutions
Shells Virtual Desktop
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Centmin Mod

LeviLevi Member
edited December 2025 in General

So, I decided to use CM in my home lab to avoid manual labor for setting up vhosts and DB. Boy, what a piece of software that is!

  • A true labor of love. Insanely complicated under the hood.
  • Very long time of installation (1508.1300 seconds). Software is compiled (damn I hate this!). No options to exclude (redis not needed etc.) or at least I did not find it.
  • Outdated installation guides https://centminmod.com/install.html . Wanna PHP 8.4 or 8.5? There is beta installer, but you must dig via wall of text or just guess URL to correct installer script (that's what I did :D ).
  • It does so MUCH during setup (configs, hardening etc.), that you never ever will remember all things. It is of course not ment for production grade envs. But hey, it works!
  • From first glance project looks like in stagnation, but boy Github is active!
  • It works very well in LXD (using unraid).

From my POV it lacks properly structured documentation, noise cleanup on the main website and "lite mode" for home labs :)

Wonderful project. Hours poured into all that bash goodness is countless.

Anyone use it? Your experience?

P.S. Forgot to include author: @eva2000

Comments

  • Interesting, what is your use case CM?

  • Centminmod is excellent.

    Especially if you start to look around GitHub for other scripts that people have created to run alongside it.

    Thanked by 1eva2000
  • MannDudeMannDude Patron Provider, Veteran

    Debian when? /s

    Very long going and stable project. I remember using Centmin Mod back in like.. 2014 or something.

    Thanked by 1eva2000
  • @WindsOfChange said:
    Interesting, what is your use case CM?

    Various php side projects.

  • emghemgh Member, Megathread Squad
    edited December 2025

    The issue I can see is that it only support CentOS 7 which AFAIK is EOL (but I'm not into RHEL, so idk) and the versions for AlmaLinux and Rocky Linux seems to be public beta's

    So no matter what you do, you don't get a non-beta or non-EOL env?

    Thanked by 1tentor
  • solid

  • Centminmod was good - very good when I used it. I ran Wordpress on it, and its performance was comparable to, or even better than Litespeed+LSCache to some extent, which was truly remarkable.

    I'd call it a masterpiece of engineering effort.

    But this kind of engineering efforts is not relevant nowadays any more. Hardware is cheaper in general, and young people put everything, include Nginx, into a bunch of stupid containers and complain "4GB is not even enough to run a personal blog." And I've seen a couple of people setting up a separate Caddy container in front of a Nginx container simply because they didn't know how to configure SSL in Nginx.

    Good old days I'd say :/

    Thanked by 3eva2000 emgh mehargags
  • eva2000eva2000 Veteran
    edited December 2025

    @emgh said:
    The issue I can see is that it only support CentOS 7 which AFAIK is EOL (but I'm not into RHEL, so idk) and the versions for AlmaLinux and Rocky Linux seems to be public beta's

    So no matter what you do, you don't get a non-beta or non-EOL env?

    Latest stable and beta support AlmaLinux and Rocky Linux el8/EL9 https://community.centminmod.com/threads/131-00stable-140-00beta01-release-with-almalinux-rocky-linux-support.25572/. EL10 is in development testing 141.00beta01 branch https://community.centminmod.com/threads/centmin-mod-almalinux-10-rocky-linux-10-compatibility-worklog.29603/

    Yes official site side can be dated (2026 to do updates) as is blog https://blog.centminmod.com/ more active on official forums https://community.centminmod.com/forums/centmin-mod-news.3/ :smile:

    Centmin Mod beta and stable models after Nginx stable vs mainline. It's about how many bugs and improvements get rolled into beta/mainline and their frequency. I mainly use beta branches myself.

    Stable and beta branches go through 1000s of automated tests via Github action workflows https://community.centminmod.com/threads/automated-testing-almalinux-vs-rocky-linux-vs-oracle-linux.24179/ for the following

    • AlmaLinux 8, 9, 10 recommended
    • Rocky Linux 8, 9, 10
    • Oracle Linux 8, 9, 10
    • CentOS Stream 9 and soon 10

    Then do manual testing as well.

  • LeviLevi Member
    edited December 2025

    @eva2000 said: I mainly use beta branches myself.

    Then just stabilize it and release minor versions: 141.XYZ (XYZ - minor version).

    Few observations from real world use:

    • Config directories is a mess. Holy molly! Everything scattered in /usr/local and /etc/centminmod
    • Configs are PITA to find and edit, for example forced opcache - I almost went insane while uncovered that it is enabled by default and cached my dev code :D
    • vhost should be added with dedicated user. Now everything is under nginx:nginx which makes development with vscode impossible (yep, manually adding user and /bin/bash for him solves the problem)
    • MySQL manager lacks support for thing like this:

    GRANT ALL PRIVILEGES ON scat_db.* TO 'piss'@'%' IDENTIFIED BY 'LemonParty69!' WITH GRANT OPTION;

    • Forced yum update every fckin time I quit centminmod... This is annoying!
    • Lack of phpMyAdmin
    • Forced service installation which is not needed: memcache, redis
    • Lack of ability to set custom root directory for vhost
    • Forced swap file of 4 GB creation. Wtf actually...
    • TBA menu items and hidden TBA menu items (such as #7)
    • Lack of suexec support
    • Massive pile of notes in configs of nginx vhost files
    • Surprisingly unmodified php-fpm setup and strange, unused pool config files

    It really feels that CM is developed by single person. I miss a bit of standartization and more configuration options.

    Thanked by 1nullnothere
  • eva2000eva2000 Veteran
    edited December 2025

    @Levi said:
    So, I decided to use CM in my home lab to avoid manual labor for setting up vhosts and DB. Boy, what a piece of software that is!

    • A true labor of love. Insanely complicated under the hood.
    • Very long time of installation (1508.1300 seconds). Software is compiled (damn I hate this!). No options to exclude (redis not needed etc.) or at least I did not find it.
    • Outdated installation guides https://centminmod.com/install.html . Wanna PHP 8.4 or 8.5? There is beta installer, but you must dig via wall of text or just guess URL to correct installer script (that's what I did :D ).
    • It does so MUCH during setup (configs, hardening etc.), that you never ever will remember all things. It is of course not ment for production grade envs. But hey, it works!
    • From first glance project looks like in stagnation, but boy Github is active!
    • It works very well in LXD (using unraid).

    From my POV it lacks properly structured documentation, noise cleanup on the main website and "lite mode" for home labs :)

    Wonderful project. Hours poured into all that bash goodness is countless.

    Anyone use it? Your experience?

    P.S. Forgot to include author: @eva2000

    Thanks for sharing your experiences with Centmin Mod. Did some work on LXD support not as much as I would like as part of it is at the mercy of how the LXD is configured and setup on server host side.

    FYI only Nginx and PHP-FPM are source compiled and Centmin Mod uses ccache compiling caching so subsequent recompiles can be between 60-80% faster :sunglasses: MariaDB uses official yum repos instead of operating system defaults.

    Nginx source compilations allow me to patch Nginx for security updates on the fly and support OpenSSL, LIBRESSL, BoringSSL, AWS-LC crypto libraries so you can switch to your desired setup. By default uses operating system default OpenSSL unless you choose to switch. This allows Centmin Mod Nginx to support Post-Quantum KEX already via BoringSSL and AWS-LC https://blog.centminmod.com/2023/10/03/2860/how-to-enable-cloudflare-post-quantum-x25519kyber768-key-exchange-support-in-centmin-mod-nginx/

    PHP-FPM source compilation also allows on the fly security patching and backporting security updates to EOL PHP-FPM versions

    • It does so MUCH during setup (configs, hardening etc.), that you never ever will remember all things. It is of course not ment for production grade envs. But hey, it works!

    Yes I've poured alot of my server optimisation and consulting experience into Centmin Mod so that config and setup takes less time for me on fresh new servers.

    Sure site definitely needs updates which I have been working on. Something for 2026. Including the centmin.sh menu option 21 data transfer backup and management menu + CLI commands https://github.com/centminmod/centminmod/blob/141.00beta01/datamanagement/centmin.sh-menu-21.readme.md. Official forums is where all the activity and traffic is usually.

    Yes newer PHP 8.5 versions start off in development in betas until the beta gets promoted to stable as you can see https://community.centminmod.com/threads/php-8-5-1-8-4-16-8-3-29-8-2-30-8-1-34-security-updates.30341/. I also backport PHP security releases to EOL PHP versions where possible.

    Centmin Mod is used by some of the largest and most traffic web sites and community forums on the internet including by some Web hosts who modified it for their own needs as Centmin Mod is GPLv3 open source. FYI, Centmin Mod's CSF self hosted mirror gets 1.9 million requests per month the last time I checked https://blog.centminmod.com/2025/09/04/2921/configserver-csf-firewall-shutdown-on-august-31-2025/. Yes working on CSF alternatives https://community.centminmod.com/threads/csf-firewall-alternative-csfa-nftables-wrapper-script-demo.29283/ and also tracking CSF fork contenders for now https://github.com/centminmod/csf-firewall-aetherinox-tracking :smiley:

    Centmin Mod GPLv3 open sourced

    Edit didn't see your second reply until finished writing this post

    Thanked by 2Levi nullnothere
  • eva2000eva2000 Veteran
    edited December 2025

    @Levi said:

    @eva2000 said: I mainly use beta branches myself.

    It really feels that CM is developed by single person. I miss a bit of standartization and more configuration options.

    It is developed solely by me :sweat_smile: On mobile right now so typing individual replies harder. Yes short comings exist some are from how original Centmin was designed as Centmin Mod is a fork of Centmin see history https://community.centminmod.com/threads/history-of-centmin-mod-from-2011.22733/

    Config structure is documented on site for some

    4GB swap creation only happens if Centmin Mod installer detects low memory based environments. Original Centmin was when 128-512MB VPS servers existed and Centmin Mod evolved this to dynamically create swap disks based on memory installed thresholds so folks have a little more wiggle room on low memory servers.

  • emghemgh Member, Megathread Squad

    @eva2000 said:

    @Levi said:

    @eva2000 said: I mainly use beta branches myself.

    It really feels that CM is developed by single person. I miss a bit of standartization and more configuration options.

    It is developed solely by me :sweat_smile: On mobile right now so typing individual replies harder. Yes short comings exist some are from how original Centmin was designed as Centmin Mod is a fork of Centmin see history https://community.centminmod.com/threads/history-of-centmin-mod-from-2011.22733/

    Config structure is documented on site for some

    For a solo dev side thing it’s really impressive

  • emghemgh Member, Megathread Squad

    @dedipromo said: young people put everything, include Nginx, into a bunch of stupid containers and complain "4GB is not even enough to run a personal blog."

    As much as I like the software, this really has a "old man yelling at clouds" vibe to it

    Containers are amazing, and I'd argue most dev's can use containers in one way or another to their advantage, not everything has to be optimized like that, if you run a DB using say 12 GB of RAM, the extra 150-200MB that runnig a complete Debian container would use (which you don't need to, you can use Alpine for example), is negligible, especially if it makes things easier to maintain

    People are more expensive than hosting, generally

    Thanked by 1dedipromo
  • @emgh said:

    For a solo dev side thing it’s really impressive

    Cheers. Dog-fooding Centmin Mod helps with motivation to develop Centmin Mod. 99.99 of my servers use Centmin Mod - I save many hours each month and save approximately US$80k/yr in equivalent cPanel licensing fees to put it into perspective :astonished:

    Thanked by 3tentor emgh nullnothere
  • @dedipromo said:
    Centminmod was good - very good when I used it. I ran Wordpress on it, and its performance was comparable to, or even better than Litespeed+LSCache to some extent, which was truly remarkable.

    I'd call it a masterpiece of engineering effort.

    But this kind of engineering efforts is not relevant nowadays any more. Hardware is cheaper in general, and young people put everything, include Nginx, into a bunch of stupid containers and complain "4GB is not even enough to run a personal blog." And I've seen a couple of people setting up a separate Caddy container in front of a Nginx container simply because they didn't know how to configure SSL in Nginx.

    Good old days I'd say :/

    Oh definitely with faster more powerful hardware, it can mask alot of non optimal setups. Though eventually can cost them over time. I see this with clients of mine. They did not need to spends 100s or 1000s more on upgraded servers as they only had to optimise their config.

    I came from days before Cloudflare existed and had to scale forum communities with both logged in users and guests for 500k unique IP visitors/day on PHP 4.x and MySQL 3.23 lol. Tuning and squeezing out every ounce of performance was the only way.

  • eva2000eva2000 Veteran
    edited December 2025

    @Levi said: Forced yum update every fckin time I quit centminmod... This is annoying!

    centmin.sh menu exit only checks for yum updates and notifies you if they exist and presents command for yum updates. It doesn't force updates, just a more noob friendly reminder of updates that you can choose to ignore or act upon. Idea is if you are running centmin.sh shell based menu, you are doing some server work, so might as well inform users there are YUM updates :)

    @Levi said: Lack of phpMyAdmin

    There's a phpmyadmin addon that needs more rework. 100% of the time, I just use mysqladmin_shell.sh included with Centmin Mod https://centminmod.com/addons.html#mysqladminshell and https://community.centminmod.com/threads/mysqladmin_shell-sh-shell-based-addon.543/. So you can script setups and automate stuff if needed.

    There's also shell based menu centmin.sh menu option 6 that utilises the mysqladmin_shell.sh script under the hood

    ----------------------------------------------------------------
     MySQL User Database Management Sub Menu
    ----------------------------------------------------------------
     Command Line Version community.centminmod.com/threads/543/
    ----------------------------------------------------------------
    1). Create MySQL User and Database
    2). Add Database to Existing MySQL User
    3). Add Existing Database to Existing MySQL User
    4). Add Existing Database to New MySQL User
    5). Change MySQL User Password
    6). Delete MySQL User
    7). Show Grants for MySQL User
    8). Create Global MySQL User (access to all databases)
    9). Create Multiple MySQL Databases and Users from File
    10). Delete MySQL Database
    11). List All MySQL Databases and Users
    12). Return to Main Menu
    ----------------------------------------------------------------
    Enter option [ 1 - 12 ]: 
    

    @Levi said: Surprisingly unmodified php-fpm setup and strange, unused pool config files

    Like swap disks, Centmin Mod at install time will detect system environment's resources and dynamically modify Nginx, PHP-FPM, MariaDB and other configurations to optimise them for the environment. If you are on low resource server, you probably would be on a config setup that seems unmodified though probably is.

    @Levi said: Configs are PITA to find and edit, for example forced opcache - I almost went insane while uncovered that it is enabled by default and cached my dev code

    customising PHP-FPM settings at php.ini level docs at https://centminmod.com/phpfpm.html

    Yeah as you said docs are bit all over the place but between official site, blog and forums, it's mainly all there. Forums would be highly recommended to join and browse. Centmin Mod Insights forum if you want to dig deeper https://community.centminmod.com/forums/centmin-mod-insights.20/ and beta release discussions https://community.centminmod.com/forums/beta-release-code.9/. Example like PHP-FPM debug mode and backtracing support https://community.centminmod.com/threads/how-to-guide-for-nginx-php-fpm-debugging.17508/#post-104163

    @Levi said: Very long time of installation (1508.1300 seconds). Software is compiled (damn I hate this!). No options to exclude (redis not needed etc.) or at least I did not find it.

    As Centmin Mod source compiles Nginx and PHP-FPM install times will vary based on server performance. The Centmin Mod installer can be a rough benchmark of server performance. Centmin Mod users post and share their server install times and server specs at

    The install times have been a pretty good indicator for the server performance from my experience. IIRC current record for fastest install times is by an AMD Ryzen 7950X3D at 439 seconds install time https://community.centminmod.com/threads/post-your-centmin-mod-140-00beta01-install-time-stats.25583/#post-103446. Edit ah 378 seconds install time with AMD Ryzen 9950X https://community.centminmod.com/threads/post-your-centmin-mod-140-00beta01-install-time-stats.25583/#post-104485. So check those threads to see how specific hardware configs perform :). Rough estimate for install time ranges <650 seconds = fast, 651-1000 seconds = normal for =>4 cpu threads (add 50% to time for 2 CPU threads for normal). More cpu threads = faster install times. Slow would probably be >2000 seconds.

    Example my new mini PC - Minisforum AI X1 AMD Ryzen 255 8C/16T, 64GB Crucial DDR5-5600 SODIMM memory, 1TB Kingston KV3 NVMe drive using VirtualBox and KVM virtualization for 8CPU, 8GB, 80GB NVMe disk AlmaLinux 10.1 test install

    ---------------------------------------------------------------------------
    Total Curl Installer YUM or DNF Time: 154.7237 seconds
    Total YUM Time: 59.026267656 seconds
    Total YUM or DNF + Source Download Time: 99.3900
    Total Nginx First Time Install Time: 66.3217
    Total PHP First Time Install Time: 429.4001
    Download From Github Time: 2.7343
    Total Time Other eg. source compiles: 327.5880
    Total Centmin Mod Install Time: 922.6998
    ---------------------------------------------------------------------------
    Total Install Time for curl yum + cm install + zip download: 1080.1578 seconds
    ---------------------------------------------------------------------------
    AlmaLinux 10.1 Heliotrope Lion  6.12.0-124.21.1.el10_1.x86_64
    8 AMD Ryzen 7 255 w/ Radeon 780M Graphics
    8 3792.922
    PHP VERSION: 8.3.29
    ---------------------------------------------------------------------------
    Centmin Mod Version: 141.00beta01.b119
    Install Summary Logs: /root/centminlogs/installer_summary_links.log
    ---------------------------------------------------------------------------
    

    versus

    on OVH dedicated server with Intel Core i7 4790K 4C/8T, 32GB, 240GB SSD

    CPU clock speed helps with compilations too :)

    ---------------------------------------------------------------------------
    Total Curl Installer YUM or DNF Time: 95.1045 seconds
    Total YUM Time: 36.128694053 seconds
    Total YUM or DNF + Source Download Time: 49.6960
    Total Nginx First Time Install Time: 57.8576
    Total PHP First Time Install Time: 359.6747
    Download From Github Time: 0.8397
    Total Time Other eg. source compiles: 224.1778
    Total Centmin Mod Install Time: 691.4061
    ---------------------------------------------------------------------------
    Total Install Time for curl yum + cm install + zip download: 787.3503 seconds
    ---------------------------------------------------------------------------
    AlmaLinux 10.1 Heliotrope Lion  6.12.0-124.20.1.el10_1.x86_64
    8 Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
    1 4202.670 1 4218.894 1 4234.126 1 4236.084 1 4241.255 1 4247.161 2 4400.000
    PHP VERSION: 8.3.29 
    ---------------------------------------------------------------------------
    Centmin Mod Version: 141.00beta01.b119
    Install Summary Logs: /root/centminlogs/installer_summary_links.log
    ---------------------------------------------------------------------------
    
  • @eva2000 said:

    @Levi said: Forced yum update every fckin time I quit centminmod... This is annoying!

    centmin.sh menu exit only checks for yum updates and notifies you if they exist and presents command for yum updates. It doesn't force updates, just a more noob friendly reminder of updates that you can choose to ignore or act upon. Idea is if you are running centmin.sh shell based menu, you are doing some server work, so might as well inform users there are YUM updates :)

    there is a param in custom_config.inc for only update once every 24h which I think should be set as default: MENUEXIT_ALWAYS_YUMCHECK='n'

    Thanked by 2eva2000 Levi
  • @atomi said: there is a param in custom_config.inc for only update once every 24h which I think should be set as default: MENUEXIT_ALWAYS_YUMCHECK='n'

    Power user :) Yup https://github.com/search?q=repo:centminmod/centminmod MENUEXIT_ALWAYS_YUMCHECK&amp;type=code

    added it 6 yrs ago heh https://github.com/centminmod/centminmod/commit/c123209baf27765b51a57730233556cf2c62a40c

    If set to MENUEXIT_ALWAYS_YUMCHECK='n' in persistent config file /etc/centminmod/custom_config.inc, then centmin.sh menu exists will only do a full yum update check if the last yum update was greater than 86400 seconds (24hrs) ago. This speeds up centmin.sh menu option 24 exits as yum check can be skipped somewhat.

Sign In or Register to comment.