/oneinstack

OneinStack - A PHP/JAVA Deployment Tool

Primary LanguageShellApache License 2.0Apache-2.0

This script is written using the shell, in order to quickly deploy LEMP/LAMP/LNMP/LNMPA/LTMP(Linux, Nginx/Tengine/OpenResty, MySQL in a production environment/MariaDB/Percona, PHP, JAVA), applicable to RHEL 7, 8, 9(including CentOS,RedHat,AlmaLinux,Rocky), Debian 9, 10, 11, 12, Ubuntu 16, 18, 20, 22 and Fedora 27+ of 64.

Script properties:

  • Continually updated, Provide Shell Interaction and Autoinstall
  • Source compiler installation, most stable source is the latest version, and download from the official site
  • Some security optimization
  • Providing a plurality of database versions (MySQL-8.0, MySQL-5.7, MySQL-5.6, MySQL-5.5, MariaDB-10.11, MariaDB-10.5, MariaDB-10.4, MariaDB-5.5, Percona-8.0, Percona-5.7, Percona-5.6, Percona-5.5, PostgreSQL, MongoDB)
  • Providing multiple PHP versions (PHP-8.2, PHP-8.1, PHP-8.0, PHP-7.4, PHP-7.3, PHP-7.2, PHP-7.1, PHP-7.0, PHP-5.6, PHP-5.5, PHP-5.4, PHP-5.3)
  • Provide Nginx, Tengine, OpenResty, Apache and ngx_lua_waf
  • Providing a plurality of Tomcat version (Tomcat-10, Tomcat-9, Tomcat-8, Tomcat-7)
  • Providing a plurality of JDK version (OpenJDK-8, OpenJDK-11, OpenJDK-17)
  • According to their needs to install PHP Cache Accelerator provides ZendOPcache, xcache, apcu, eAccelerator. And php extensions,include ZendGuardLoader,ionCube,SourceGuardian,imagick,gmagick,fileinfo,imap,ldap,calendar,phalcon,yaf,yar,redis,memcached,memcache,mongodb,swoole,xdebug
  • Installation Nodejs, Pureftpd, phpMyAdmin according to their needs
  • Install memcached, redis according to their needs
  • Jemalloc optimize MySQL, Nginx
  • Providing add a virtual host script, include Let's Encrypt SSL certificate
  • Provide Nginx/Tengine/OpenResty/Apache/Tomcat, MySQL/MariaDB/Percona, PHP, Redis, Memcached, phpMyAdmin upgrade script
  • Provide local,remote(rsync between servers),Aliyun OSS,Qcloud COS,UPYUN,QINIU,Amazon S3,Google Drive and Dropbox backup script

Installation

Install the dependencies for your distro, download the source and run the installation script.

CentOS/Redhat

yum -y install wget screen

Debian/Ubuntu

apt-get -y install wget screen

Download Source and Install

wget http://mirrors.oneinstack.com/oneinstack-full.tar.gz
tar xzf oneinstack-full.tar.gz
cd oneinstack

If you disconnect during installation, you can execute the command screen -r oneinstack to reconnect to the install window

screen -S oneinstack

If you need to modify the directory (installation, data storage, Nginx logs), modify options.conf file before running install.sh

./install.sh

How to install another PHP version

~/oneinstack/install.sh --mphp_ver 54

How to add Extensions

~/oneinstack/addons.sh

How to add a virtual host

~/oneinstack/vhost.sh

How to delete a virtual host

~/oneinstack/vhost.sh --del

How to add FTP virtual user

~/oneinstack/pureftpd_vhost.sh

How to backup

~/oneinstack/backup_setup.sh    // Backup parameters
~/oneinstack/backup.sh    // Perform the backup immediately
crontab -l    // Can be added to scheduled tasks, such as automatic backups every day 1:00
  0 1 * * * cd ~/oneinstack/backup.sh  > /dev/null 2>&1 &

How to manage service

Nginx/Tengine/OpenResty:

systemctl {start|stop|status|restart|reload} nginx

MySQL/MariaDB/Percona:

systemctl {start|stop|restart|reload|status} mysqld

PostgreSQL:

systemctl {start|stop|restart|status} postgresql

MongoDB:

systemctl {start|stop|status|restart|reload} mongod

PHP:

systemctl {start|stop|restart|reload|status} php-fpm

Apache:

systemctl {start|restart|stop} httpd

Tomcat:

systemctl {start|stop|status|restart} tomcat

Pure-FTPd:

systemctl {start|stop|restart|status} pureftpd

Redis:

systemctl {start|stop|status|restart|reload} redis-server

Memcached:

systemctl {start|stop|status|restart|reload} memcached

How to upgrade

~/oneinstack/upgrade.sh

How to uninstall

~/oneinstack/uninstall.sh

Installation

For feedback, questions, and to follow the progress of the project:
Telegram Group
OneinStack