Skip to content
/ lcmp Public

Install LCMP (Linux + Caddy + MariaDB + PHP) for AlmaLinux/RockyLinux/CentOS/Debian/Ubuntu

License

Notifications You must be signed in to change notification settings

teddysun/lcmp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

LCMP (Linux + Caddy + MariaDB + PHP) is a powerful bash script for the installation of Caddy2 + MariaDB + PHP and so on.

You can install Caddy2 + MariaDB + PHP in a smaller memory VPS by yum(dnf) or apt-get command, Just need to input numbers to choose what you want to install before installation.

And all things will be done in a few minutes.

Supported System

  • Enterprise Linux 8 (CentOS Stream 8, RHEL 8, Rocky Linux 8, AlmaLinux 8, Oracle Linux 8)
  • Enterprise Linux 9 (CentOS Stream 9, RHEL 9, Rocky Linux 9, AlmaLinux 9, Oracle Linux 9)
  • Debian 11
  • Debian 12
  • Ubuntu 20.04
  • Ubuntu 22.04
  • Ubuntu 24.04

System requirements

  • Hard disk space: 5 GiB
  • RAM: 512 MiB
  • Internet connection is required
  • Correct repository
  • User: root

Supported Software

Supported Architecture

  • x86_64 (amd64)
  • aarch64 (arm64)

Installation

  • If your server's OS: Enterprise Linux 8 / 9
yum -y install wget git
git clone https://github.com/teddysun/lcmp.git
cd lcmp
chmod 755 *.sh
./lcmp.sh 2>&1 | tee lcmp.log
  • If your server's OS: Debian 11+ / Ubuntu 20.04+
apt-get -y install wget git
git clone https://github.com/teddysun/lcmp.git
cd lcmp
chmod 755 *.sh
./lcmp.sh 2>&1 | tee lcmp.log

Upgrade

  • If your server's OS: Enterprise Linux 8 / 9
yum update -y caddy
yum update -y MariaDB-*
yum update -y php-*
# Change PHP directory's group for Caddy again if you upgraded PHP version
chown root:caddy /var/lib/php/session
chown root:caddy /var/lib/php/wsdlcache
chown root:caddy /var/lib/php/opcache
  • If your server's OS: Debian 11+ / Ubuntu 20.04+
apt-get install --only-upgrade -y caddy
apt-get install --only-upgrade -y mariadb-*
# for example: php_ver=[7.4|8.0|8.1|8.2|8.3|8.4]
php_ver="8.2"
apt-get install --only-upgrade -y php${php_ver}-*

Uninstall

  • If your server's OS: Enterprise Linux 8 / 9
yum remove -y caddy
yum remove -y MariaDB-*
yum remove -y php-*
  • If your server's OS: Debian 11+ / Ubuntu 20.04+
apt-get remove -y caddy
apt-get remove -y mariadb-*
# for example: php_ver=[7.4|8.0|8.1|8.2|8.3|8.4]
php_ver="8.2"
apt-get remove -y php${php_ver}-*

Default Location

Caddy Location Path
Web root location /data/www/default
Main Configuration File /etc/caddy/Caddyfile
Sites Configuration Folder /etc/caddy/conf.d/
MariaDB Location Path
Data Location /var/lib/mysql
my.cnf File (rpm) /etc/my.cnf
my.cnf File (deb) /etc/mysql/my.cnf
PHP Location Path
php-fpm File (rpm) /etc/php-fpm.d/www.conf
php-fpm File (deb) /etc/php/${php_ver}/fpm/pool.d/www.conf
php.ini File (rpm) /etc/php.ini
php.ini File (deb) /etc/php/${php_ver}/fpm/php.ini

Process Management

Process Command
PHP (rpm) systemctl [start|stop|status|restart] php-fpm
PHP (deb) systemctl [start|stop|status|restart] php${php_ver}-fpm
Caddy systemctl [start|stop|status|restart] caddy
MariaDB systemctl [start|stop|status|restart] mariadb

lcmp Command

Command Description
lcmp start Start all of LCMP services
lcmp stop Stop all of LCMP services
lcmp restart Restart all of LCMP services
lcmp status Check all of LCMP services status
lcmp version Print all of LCMP software version
lcmp vhost add Create a new Caddy virtual host
lcmp vhost list List all of Caddy virtual hosts
lcmp vhost del Delete a Caddy virtual host
lcmp db add Create a MariaDB database and a user with same name
lcmp db list List all of MariaDB databases
lcmp db del Delete a MariaDB database and a user with same name
lcmp db edit Update a MariaDB database username's password

Bugs & Issues

Please feel free to report any bugs or issues to us, email to: [email protected] or open issues on Github.

License

Copyright (C) 2023 - 2024 Teddysun

Licensed under the GPLv3 License.

Releases

No releases published

Packages

No packages published