Skip to content

Instantly share code, notes, and snippets.

@benzntech
Last active April 25, 2018 06:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save benzntech/c8084a856cba87cdf231795ad8f6301f to your computer and use it in GitHub Desktop.
Save benzntech/c8084a856cba87cdf231795ad8f6301f to your computer and use it in GitHub Desktop.
LAMP Easy installation Bash Script.

LAMP

Description

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

Supported System

  • CentOS-6.x
  • CentOS-7.x
  • Ubuntu-14.x
  • Ubuntu-15.x
  • Ubuntu-16.x
  • Ubuntu-17.x
  • Debian-7.x
  • Debian-8.x
  • Debian-9.x

Supported Software

  • Apache-2.4 (Include HTTP/2 module: mod_http2)
  • Apache Additional Modules: mod_wsgi, mod_security, mod_jk
  • MySQL-5.5, MySQL-5.6, MySQL-5.7, MariaDB-5.5, MariaDB-10.0, MariaDB-10.1, MariaDB-10.2, Percona-Server-5.5, Percona-Server-5.6, Percona-Server-5.7
  • PHP-5.6, PHP-7.0, PHP-7.1, PHP-7.2
  • PHP Additional Modules: opcache, ioncube_loaders, xcache, imagick, gmagick, libsodium, memcached, redis, mongodb, swoole, xdebug
  • Other Software: ImageMagick, GraphicsMagick, Memcached, phpMyAdmin, Redis-Server

Installation

  • If your server system: CentOS
yum -y install wget screen git
git clone https://github.com/teddysun/lamp.git
cd lamp
chmod +x *.sh
screen -S lamp
./lamp.sh
  • If your server system: Debian/Ubuntu
apt-get -y install wget screen git
git clone https://github.com/teddysun/lamp.git
cd lamp
chmod +x *.sh
screen -S lamp
./lamp.sh

Upgrade

git pull                 // Get latest version

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

Backup

  • You must modify the config before run it
  • Backup MySQL/MariaDB/Percona datebases, files and directories
  • Backup file is encrypted with AES256-cbc with SHA1 message-digest (option)
  • Auto transfer backup file to Google Drive (need install gdrive command) (option)
  • Auto transfer backup file to FTP server (option)
  • Auto delete Google Drive's or FTP server's remote file (option)
./backup.sh

Uninstall

./uninstall.sh

Default 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/extra/httpd-vhosts.conf
Virtual Host location /data/www/virtual_host_names
Virtual Host log location /data/wwwlog/virtual_host_names
Virtual Host conf /usr/local/apache/conf/vhost/virtual_host.conf
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
Data Location /usr/local/mysql/data
my.cnf Configuration File /etc/my.cnf
MariaDB Location Path
Install Prefix /usr/local/mariadb
Data Location /usr/local/mariadb/data
my.cnf Configuration File /etc/my.cnf
Percona Location Path
Install Prefix /usr/local/percona
Data Location /usr/local/percona/data
my.cnf Configuration File /etc/my.cnf

Process Management

Process Command
Apache /etc/init.d/httpd (start|stop|status|restart)
MySQL /etc/init.d/mysqld (start|stop|status|restart)
MariaDB /etc/init.d/mysqld (start|stop|status|restart)
Percona /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 virtual host
lamp list list all virtual host
lamp del remove a virtual host

Bugs & Issues

Please feel free to report any bugs or issues to us, or open issues on Github.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment