/lamp

Install LAMP (Linux + Apache + MySQL/MariaDB + PHP) for AlmaLinux/RockyLinux/CentOS/Debian/Ubuntu

Primary LanguageShellGNU General Public License v3.0GPL-3.0

LAMP

Description

LAMP is a powerful bash script for the installation of Apache + PHP + MySQL/MariaDB and so on. You can install Apache + PHP + MySQL/MariaDB in an very easy way, just need to choose what you want to install before installation. And all things will be done in few minutes.

Supported System

  • Amazon Linux 2
  • AlmaLinux 8
  • AlmaLinux 9 (recommend)
  • CentOS 7
  • CentOS Stream 8
  • CentOS Stream 9
  • Rocky Linux 8
  • Rocky Linux 9 (recommend)
  • Debian 9
  • Debian 10
  • Debian 11
  • Debian 12 (recommend)
  • Ubuntu 18.04
  • Ubuntu 20.04
  • Ubuntu 22.04 (recommend)

Supported Software

Software Version

Apache & Additional Modules Version
httpd 2.4.59
apr 1.7.4
apr-util 1.6.3
openssl 1.1.1w
mod_wsgi 4.9.4
mod_security2 2.9.6
mod_jk 1.2.48
Database Version
MySQL 5.7.44, 8.0.36
MariaDB 10.4.33, 10.5.24, 10.6.17, 10.11.7
PHP & Additional extensions Version
PHP 7.4.33, 8.0.30, 8.1.28, 8.2.18
ionCube Loader 13.0.2
PDFlib 10.0.0
APCu extension 5.1.21
gRPC extension 1.58.0
ImageMagick 7.1.0-62
imagick extension 3.7.0
libsodium 1.0.19
libsodium extension 2.0.23
memcached 1.6.6
libmemcached 1.0.18
memcached extension 3.1.5
re2c 3.0
redis 5.0.14
redis extension 5.3.7
mongodb extension 1.16.2
swoole extension 4.8.12
yaf extension 3.3.5
yar extension 2.3.2
msgpack extension 2.1.2
psr extension 1.2.0
phalcon extension 5.3.1
xdebug extension 3.1.6
Database Management Tools Version
phpMyAdmin 5.2.1
Adminer 4.8.1
File Managerment Tool Version
KodExplorer 4.52

Installation

  • If your server system: Amazon Linux 2/CentOS/Rocky Linux/AlmaLinux
yum -y install wget git
git clone https://github.com/teddysun/lamp.git
cd lamp
chmod 755 *.sh
./lamp.sh
  • If your server system: Debian/Ubuntu
apt-get -y install wget git
git clone https://github.com/teddysun/lamp.git
cd lamp
chmod 755 *.sh
./lamp.sh
./lamp.sh -h
  • Automation install mode example
./lamp.sh --apache_option 1 --apache_modules mod_wsgi,mod_security --db_option 1 --db_root_pwd teddysun.com --php_option 1 --php_extensions apcu,ioncube,imagick,redis,mongodb,libsodium,swoole --db_manage_modules phpmyadmin,adminer --kodexplorer_option 1

Upgrade

cd ~/lamp
git reset --hard         // Resets the index and working tree
git pull                 // Get latest version first
chmod 755 *.sh

./upgrade.sh             // Select one to upgrade
./upgrade.sh apache      // Upgrade Apache
./upgrade.sh db          // Upgrade MySQL or MariaDB
./upgrade.sh php         // Upgrade PHP
./upgrade.sh phpmyadmin  // Upgrade phpMyAdmin
./upgrade.sh adminer     // Upgrade Adminer

Backup

  • You must modify the config before run it
  • Backup MySQL or MariaDB datebases, files and directories
  • Backup file is encrypted with AES256-cbc with SHA1 message-digest (Depends on openssl command) (option)
  • Auto transfer backup file to Google Drive (Depends on rclone command) (option)
  • Auto transfer backup file to FTP server (Depends on ftp command) (option)
  • Auto delete remote file from Google Drive or FTP server (option)
./backup.sh

Uninstall

./uninstall.sh

Default Installation Location

Apache Location Path
Install prefix /usr/local/apache
Web root location /data/www/default
Main configuration File /usr/local/apache/conf/httpd.conf
Default virtual host conf /usr/local/apache/conf/vhost/default.conf
Virtual host conf /usr/local/apache/conf/vhost/your_virtual_host.conf
Virtual host SSL location /usr/local/apache/conf/ssl/your_virtual_host
Virtual host location /data/www/your_virtual_host_names
Virtual host log location /data/wwwlog/your_virtual_host_names
phpMyAdmin Location Path
Installation location /data/www/default/phpmyadmin
Adminer Location Path
Installation location /data/www/default/adminer.php
KodExplorer Location Path
Installation location /data/www/default/kod
PHP Location Path
Install prefix /usr/local/php
Configuration file /usr/local/php/etc/php.ini
ini additional location /usr/local/php/php.d
MySQL Location Path
Install prefix /usr/local/mysql
Default data location /usr/local/mysql/data
my.cnf configuration File /etc/my.cnf
MariaDB Location Path
Install prefix /usr/local/mariadb
Default data location /usr/local/mariadb/data
my.cnf configuration file /etc/my.cnf

Process Management

Process Command
Apache /etc/init.d/httpd (start|stop|status|restart)
MySQL/MariaDB /etc/init.d/mysqld (start|stop|status|restart)
Memcached /etc/init.d/memcached (start|stop|restart)
Redis-Server /etc/init.d/redis-server (start|stop|restart)

lamp Command

Command Description
lamp add Create a new Apache virtual host
lamp del Delete a Apache virtual host
lamp list List all of Apache virtual hosts
lamp version Print version and exit

Bugs & Issues

Please feel free to report any bugs or issues to us, email to: i@teddysun.com or open issues on Github.

Support(Chinese only): https://lamp.sh/support.html

License

Copyright (C) 2013 - 2024 Teddysun

Licensed under the GPLv3 License.