class: center, middle ## Centmin Mod LEMP Install Guide ![Centmin Mod](centmin-mod-logo.jpg) [centminmod.com](https://centminmod.com/) use left < & right > keyboard arrow keys to navigate ??? * For CentOS 6 or 7 only --- # Steps 1. Introduction 2. Get A Server 3. Install Centmin Mod 4. Configure Centmin Mod 5. More Learning 6. Keeping Informed 7. Contribution & Support --- # Introduction ### What is Centmin Mod LEMP web stack? * A LEMP web stack is a set of open source Linux software which form the platform (web stack) where a web site's files (text, CSS files, javascript, fonts, videos & images) and data can be served to a visitor. Every web site you visit on the internet is served from some form of web stack bundle. When your web browser connects to a web site, it is communicating with a web server requesting files hosted on the web server. * Centmin Mod LEMP web stack installer is a [open source project](https://github.com/centminmod/centminmod) which fully automates most of LEMP stack install, configuration, base optimisation and best recommended practices and settings for CentOS, Nginx, MariaDB MySQL, PHP, CSF Firewall security and other installed software. The whole process is done via the core [centmin.sh](https://centminmod.com/menu.html) shell based script which can install Centmin Mod via a curl one liner install method. * Centmin Mod LEMP web stack is developed by George Liu ([eva2000](https://twitter.com/centminmod)) for performance and scalability in mind. Out of box Centmin Mod installs will perform better than many other LEMP stack setups. --- # LEMP stands for: * **Linux** - Linux operating system. In Centmin Mod's case CentOS Linux. * **Nginx** - pronounced Engine-X is the web server listening on port 80 (HTTP) and port 443 (HTTPS). Nginx is what visitors visiting a web site interface with first as Nginx serves the data hosted on a web site to visitors. Nginx is much more than just a web server - see [nginx.org](http://nginx.org/en/) for more details. Sometimes LEMP is refered to LNMP stack wher N is Nginx. * **MySQL** - MariaDB MySQL database server fork, MariaDB. MySQL is an open source relational database server that listens on port 3306 by default and holds database data which is queried and written to by MySQL clients such as PHP. * **PHP** - a server sided scripting language [[wikipedia](https://en.wikipedia.org/wiki/PHP)]. Centmin Mod compiles PHP as PHP-FPM (FastCGI Process Manager) which listens on port 9000 by default which can communicate with MariaDB MySQL database server to retrieve and store web site data. --- ![LEMP Stack](centminmod-lemp-stack-01.png) --- # centmin.sh shell menu [centmin.sh shell based menu](https://centminmod.com/menu.html) ![centmin.sh menu](centmin.sh.menu.png) --- # Get A Server * Centmin Mod only installs on CentOS 6 or CentOS 7 Linux distributions. * Highly recommended to use latest CentOS 7.x 64bit Linux distribution. Currently CentOS 7.7 is latest. * Read the minimum and recommended memory and disk space requirements on official install page [here](https://centminmod.com/install.html). * To install Centmin Mod you need to rent a web server which can be either a dedicated server or VPS server (virtualised private server). VPS servers can either use OpenVZ, Xen or KVM based virtualisation. * Sever rentals can be on a monthly basis or some web hosts offer hourly billed servers which are perfect for Centmin Mod test servers. Recommended hourly billed VPS providers: [Upcloud.com](https://centminmod.com/upcloud/), [Linode.com](https://centminmod.com/linode/), [DigitalOcean.com](https://centminmod.com/digitalocean/) and [Vultr.com](https://centminmod.com/vultr/). Linode has a [Getting Started Tutorial Video](https://www.youtube.com/watch?v=CMEGih45sUQ) for initial VPS server setup. Tutorial Guides * [Centmin Mod Advanced Customised Installation Guide](https://servermanager.guide/117/centmin-mod-advanced-customised-installation-guide/) * Centmin Mod install on [DigitalOcean VPS](https://community.centminmod.com/threads/centmin-mod-nginx-lnmp-install-on-centos-7-0-kvm-vps.1202/) * Centmin Mod also has an official [Linode Stackscript Install](https://community.centminmod.com/threads/official-centmin-mod-linode-stackscript.12513/) method you can use as well which doesn't use SSH command line method of install * [Quick Centmin Mod Install + Nginx Vhost Site + MySQL Database Setup](https://community.centminmod.com/threads/quick-centmin-mod-install-nginx-vhost-site-mysql-database-setup.12904/) * [How To Transfer cPanel/WHM Sites To Centmin Mod LEMP Servers](https://community.centminmod.com/threads/how-to-transfer-cpanel-whm-sites-to-centmin-mod-lemp-servers.11610/) * [Centmin Mod Site Data Migration Guide](https://community.centminmod.com/threads/centmin-mod-site-data-migration-guide.10382/) --- # Install Centmin Mod Centmin Mod install via SSH command line as outlined on [official install page](https://centminmod.com/install.html). 123.08stable branch ```shell yum -y update; curl -O https://centminmod.com/installer.sh chmod 0700 installer.sh && bash installer.sh ``` 123.09beta01 branch with default PHP 5.6.40 latest ```shell yum -y update; curl -O https://centminmod.com/betainstaller.sh chmod 0700 betainstaller.sh && bash betainstaller.sh ``` 123.09beta01 branch with default PHP 7.2.x latest ```shell yum -y update; curl -O https://centminmod.com/betainstaller72.sh chmod 0700 betainstaller72.sh && bash betainstaller72.sh ``` 123.09beta01 + default PHP 7.3.x latest ```shell yum -y update; curl -O https://centminmod.com/betainstaller73.sh chmod 0700 betainstaller73.sh && bash betainstaller73.sh ``` --- # Configure Centmin Mod * Post install configuration & setup involves following the steps outlined in [https://centminmod.com/getstarted.html](https://centminmod.com/getstarted.html). If you follow these steps, you'll cover 99% of everything you need to know. * Full configuration file and directory structure listing is available at [https://centminmod.com/configfiles.html](https://centminmod.com/configfiles.html). * Google ngx_pagepseed Nginx module support is only available in Centmin Mod 123.09beta01 and higher and can be enabled following instructions [here](https://centminmod.com/nginx_ngx_pagespeed.html). * Only 123.09beta01 branch supports free Letsencrypt SSL certificate integration. Read how to enable this at [https://centminmod.com/acmetool](https://centminmod.com/acmetool). - For fresh new Centmin Mod Nginx vhosts with free Letsencrypt SSL certificate issuance [https://centminmod.com/letsencrypt-acmetool-https.html](https://centminmod.com/letsencrypt-acmetool-https.html) - For existing Centmin Mod Nginx non-HTTPS vhosts migrating to HTTPS vhosts with free Letsencrypt SSL certificate issuance [https://centminmod.com/migrating-to-https.html](https://centminmod.com/migrating-to-https.html) * Creating MySQL databases, users and passwords via SSH command line using `addons/mysqladmin_shell.sh` [here](https://community.centminmod.com/threads/mysqladmin_shell-sh-shell-based-addon.543/) * Creating multiple Centmin Mod Nginx vhosts sites & MySQL databases, users [here](https://community.centminmod.com/threads/guide-save-time-creating-nginx-vhost-mysql-users-and-databases.8257/) * There are additional ways to boost Centmin Mod latest 123.09beta01's performance outlined in [How to boost Centmin Mod LEMP stack performance guide](https://community.centminmod.com/threads/how-to-boost-centmin-mod-lemp-stack-performance.13776/) --- # More Learning & Guides The official [Centmin Mod Community Forums](https://community.centminmod.com/) is the official place to ask and learn more about Centmin Mod. * [Guide to learning more about Centmin Mod](https://community.centminmod.com/threads/guide-to-learning-more-about-centmin-mod.10838/) * [Attention future Centmin Mod experts](https://community.centminmod.com/threads/attention-future-centmin-mod-experts.8021/) * [https://community.centminmod.com/](https://community.centminmod.com/) * [Centmin Mod Advanced Customised Installation Guide](https://servermanager.guide/117/centmin-mod-advanced-customised-installation-guide/) * [How To Install WordPress On Centmin Mod LEMP Stack Guide](https://servermanager.guide/122/how-to-install-wordpress-on-centmin-mod-lemp-stack-guide/) --- # Keeping Informed You can follow Centmin Mod's social media accounts below and also find them in top right corner icon links on the [forums](https://community.centminmod.com/). * [https://www.facebook.com/centminmodcom](https://www.facebook.com/centminmodcom) * [https://twitter.com/centminmod](https://twitter.com/centminmod) * [https://github.com/centminmod/centminmod](https://github.com/centminmod/centminmod) * [https://medium.com/@centminmod](https://medium.com/@centminmod) --- # Contribution & Support If you find Centmin Mod useful, you may want to help [support Centmin Mod financially](https://community.centminmod.com/threads/ways-to-support-centmin-mod.11435/) to ensure it's survival and continued future development. You now can show your love and support for Centmin Mod via: * [Paypal Donations](https://community.centminmod.com/threads/added-paypal-donate-button.5063/) * [Bitcoin Donations](https://centminmod.com/bitcoin.php) * [TransferWise based Donations](https://community.centminmod.com/threads/ways-to-support-centmin-mod.11435/) * [Patreon](https://community.centminmod.com/threads/centmin-mod-patreon-page-added.10700/) * [Premium Membership](https://community.centminmod.com/premium) with additional benefits that will grow over time If you can't support Centmin Mod financially, there's other ways like getting the word out about Centmin Mod on your own sites, forums or network of friends and social media. Or if you have specific system admin/devops and/or shell scripting expertise you can help go through Centmin Mod code on [Github](https://github.com/centminmod/centminmod) to bug fix or offer suggestions and advice. The current active branches are [123.08stable](https://github.com/centminmod/centminmod/tree/123.08stable) and [123.09beta01](https://github.com/centminmod/centminmod/tree/123.09beta01) (which merges to master at least once a week). There is also the [Github Contributing Guide](https://github.com/centminmod/centminmod/blob/123.09beta01/CONTRIBUTING.md).