GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - oneinstack/oneinstack: OneinStack - A PHP/JAVA Deployment Tool

BranchesTags
Open more actions menu

Latest commit

 

History

737 Commits
737 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
config
config
 
 
include
include
 
 
init.d
init.d
 
 
src
src
 
 
tools
tools
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
README.zh-CN.md
README.zh-CN.md
 
 
addons.sh
addons.sh
 
 
backup.sh
backup.sh
 
 
backup_setup.sh
backup_setup.sh
 
 
install.sh
install.sh
 
 
options.conf
options.conf
 
 
pureftpd_vhost.sh
pureftpd_vhost.sh
 
 
reset_db_root_password.sh
reset_db_root_password.sh
 
 
uninstall.sh
uninstall.sh
 
 
upgrade.sh
upgrade.sh
 
 
versions.txt
versions.txt
 
 
vhost.sh
vhost.sh
 
 

Repository files navigation

English | 中文

This script is written using the shell, in order to quickly deploy LEMP/LAMP/LNMP/LNMPA/LTMP(Linux, Nginx/Tengine/OpenResty/Caddy, MySQL in a production environment/MariaDB/Percona/PostgreSQL/ClickHouse/MongoDB, PHP, JAVA, Valkey/Redis), applicable to 64-bit RHEL 7, 8, 9 (including CentOS, RedHat, AlmaLinux, Rocky, Anolis), Debian 9, 10, 11, 12, 13, Ubuntu 16, 18, 20, 22, 24, TencentOS 3~4.4, openEuler, Kylin, and Fedora 27+.

Script properties:

  • Continually updated, Provide Shell Interaction and Autoinstall
  • Source compiler installation, most stable source is the latest version, and download from the official or high-speed mirrors
  • Some security optimization
  • Providing a plurality of database versions (MySQL-9.7 LTS, MySQL-8.4 LTS, MySQL-8.2, MySQL-8.0, MySQL-5.7, MySQL-5.6, MySQL-5.5, MariaDB-12.3 LTS, MariaDB-11.8 LTS, MariaDB-11.4 LTS, MariaDB-10.11, MariaDB-5.5, Percona-8.0, Percona-5.7, Percona-5.6, Percona-5.5, PostgreSQL-18.6, ClickHouse, MongoDB)
  • Providing multiple PHP versions (PHP-8.5, PHP-8.4, PHP-8.3, 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 (with native HTTP/3 & QUIC, OpenSSL 3.5.8), Tengine, OpenResty, Caddy, Apache and ngx_lua_waf
  • Providing a plurality of Tomcat version (Tomcat-11, Tomcat-10, Tomcat-9, Tomcat-8, Tomcat-7)
  • Providing a plurality of JDK version (OpenJDK-8, OpenJDK-11, OpenJDK-17, OpenJDK-18)
  • 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, xlswriter, grpc
  • Installation Nodejs, Pureftpd, phpMyAdmin according to their needs
  • Install Valkey (open-source Redis alternative) or Redis, Memcached according to their needs
  • Jemalloc optimize MySQL, Nginx
  • Providing virtual host management script, including Let's Encrypt SSL and DNS-01 wildcard certificates (Cloudflare, Aliyun DNS, DNSPod API automated renewal)
  • Provide Nginx/Tengine/OpenResty/Apache/Tomcat, MySQL/MariaDB/Percona, PHP, Valkey, 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 https://cdn.oneinstack.com/oneinstack.tar.gz
tar xzf oneinstack.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

Valkey:

systemctl {start|stop|status|restart} valkey-server

Redis:

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

Memcached:

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

ClickHouse:

systemctl {start|stop|status|restart} clickhouse-server

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

Anonymous Installation Statistics & Privacy Notice

To better guide future updates, version maintenance, and mirror optimization for OneinStack, install.sh sends a lightweight, non-blocking anonymous telemetry request when an installation starts and completes:

  1. What is collected:
    • System environment: OS distribution and version (e.g., ubuntu-24.04, debian-12, rocky-9), CPU architecture (e.g., x86_64, aarch64), and network region flag (used for mirror routing).
    • Selected component options: The software flags/options selected for installation (e.g., Web server option, PHP version and extension names, Database version and install method, JDK/Tomcat, Redis/Valkey/Memcached flags).
    • Installation status & duration: A randomly generated single-run session ID (install_id), start/completion status, and total installation time (in minutes).
  2. Purpose of statistics:
    • To understand real-world usage trends across Linux distributions and software versions, measure compilation durations, and track installation success rates so we can prioritize dependency updates, OS compatibility fixes, and mirror bandwidth allocation.
  3. Privacy guarantee:
    • No personal or sensitive data is ever collected: We NEVER collect or transmit database passwords, SSH ports, hostnames, system usernames, domain names, directory contents, or any personally identifiable information (PII).
    • Telemetry requests run asynchronously in the background with a strict 2–3 second timeout and will never block or affect your installation process even in offline or restricted network environments.

About

OneinStack - A PHP/JAVA Deployment Tool

oneinstack.com/

Topics

jdklamplemplnmhlnmplnmpalnmtmariadbmemcachedmysqlnginxoneinstackopenrestyperconaphpphpmyadminpureftpdredistenginetomcat

Resources

Readme
Apache-2.0 license
Activity

Stars

2.5k stars

Watchers

105 watching

Forks

600 forks
Report repository

Releases

Sponsor this project

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.