Last active
July 22, 2026 14:22
-
-
Save emilas44/569116cf652066a53ab9a450d51672d8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| PHP_VERSION=8.5 | |
| export OS_USER_PASSWORD="password" | |
| export MYSQL_ROOT_PASSWORD="password" | |
| export MYSQL_USER_PASSWORD="password" | |
| echo " | |
| ███████╗███████╗████████╗ ██╗ ██████╗ ██████╗ █████╗ ██╗ ███████╗███████╗ | |
| ██╔════╝██╔════╝╚══██╔══╝ ██║ ██╔═══██╗██╔════╝██╔══██╗██║ ██╔════╝██╔════╝ | |
| ███████╗█████╗ ██║█████╗██║ ██║ ██║██║ ███████║██║ █████╗ ███████╗ | |
| ╚════██║██╔══╝ ██║╚════╝██║ ██║ ██║██║ ██╔══██║██║ ██╔══╝ ╚════██║ | |
| ███████║███████╗ ██║ ███████╗╚██████╔╝╚██████╗██║ ██║███████╗███████╗███████║ | |
| ╚══════╝╚══════╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝ | |
| " | |
| #sudo dpkg-reconfigure locales | |
| sudo tee -a /etc/locale.gen << EOF | |
| de_DE.UTF-8 UTF-8 | |
| EOF | |
| sudo locale-gen | |
| sudo dpkg-reconfigure tzdata | |
| #sudo ln -fs /usr/share/zoneinfo/Europe/Berlin /etc/localtime | |
| #sudo dpkg-reconfigure -f noninteractive tzdata | |
| echo "APT-GET UPDATE" | |
| sudo apt-get update | |
| echo "NANO-ZIP-GIT-CURL" | |
| sudo apt-get install -y nano git zip curl zsh redis-server openssh-server | |
| sudo apt-get install -y software-properties-common gnupg2 ca-certificates lsb-release ubuntu-keyring | |
| sudo mkdir -p /etc/apt/keyrings | |
| echo " | |
| ███╗ ██╗ ██████╗ ██╗███╗ ██╗██╗ ██╗ | |
| ████╗ ██║██╔════╝ ██║████╗ ██║╚██╗██╔╝ | |
| ██╔██╗ ██║██║ ███╗██║██╔██╗ ██║ ╚███╔╝ | |
| ██║╚██╗██║██║ ██║██║██║╚██╗██║ ██╔██╗ | |
| ██║ ╚████║╚██████╔╝██║██║ ╚████║██╔╝ ██╗ | |
| ╚═╝ ╚═══╝ ╚═════╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝ | |
| " | |
| curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | |
| | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg > /dev/null | |
| echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ | |
| https://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" \ | |
| | sudo tee /etc/apt/sources.list.d/nginx.list | |
| sudo apt-get update | |
| sudo apt-get install -y nginx | |
| echo " | |
| ██████╗ ██╗ ██╗██████╗ | |
| ██╔══██╗██║ ██║██╔══██╗ | |
| ██████╔╝███████║██████╔╝ | |
| ██╔═══╝ ██╔══██║██╔═══╝ | |
| ██║ ██║ ██║██║ | |
| ╚═╝ ╚═╝ ╚═╝╚═╝ | |
| " | |
| sudo apt-get install -y --no-install-recommends \ | |
| "php${PHP_VERSION}-fpm" \ | |
| "php${PHP_VERSION}-bcmath" \ | |
| "php${PHP_VERSION}-cgi" \ | |
| "php${PHP_VERSION}-common" \ | |
| "php${PHP_VERSION}-curl" \ | |
| "php${PHP_VERSION}-gd" \ | |
| "php${PHP_VERSION}-mbstring" \ | |
| "php${PHP_VERSION}-mysql" \ | |
| "php${PHP_VERSION}-xml" \ | |
| "php${PHP_VERSION}-zip" \ | |
| echo " | |
| ███████╗███████╗██╗ ██╗ ██████╗ ███████╗██████╗ ██╗███████╗ ██████╗ ██████╗ ███████╗███╗ ██╗███████╗███████╗██╗ ██╗ | |
| ╚══███╔╝██╔════╝██║ ██║ ██╔══██╗██╔════╝██╔══██╗██║██╔════╝ ██╔═══██╗██╔══██╗██╔════╝████╗ ██║██╔════╝██╔════╝██║ ██║ | |
| ███╔╝ ███████╗███████║█████╗██████╔╝█████╗ ██║ ██║██║███████╗█████╗██║ ██║██████╔╝█████╗ ██╔██╗ ██║███████╗███████╗███████║ | |
| ███╔╝ ╚════██║██╔══██║╚════╝██╔══██╗██╔══╝ ██║ ██║██║╚════██║╚════╝██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║╚════██║╚════██║██╔══██║ | |
| ███████╗███████║██║ ██║ ██║ ██║███████╗██████╔╝██║███████║ ╚██████╔╝██║ ███████╗██║ ╚████║███████║███████║██║ ██║ | |
| ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═════╝ ╚═╝╚══════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝╚══════╝╚══════╝╚═╝ ╚═╝ | |
| " | |
| sudo apt-get install -y zsh redis-server openssh-server | |
| echo " | |
| ██████╗ ██████╗ ██████╗ ██╗███████╗ ██████╗████████╗███████╗ ███████╗ ██████╗ ██╗ ██████╗ ███████╗██████╗ | |
| ██╔══██╗██╔══██╗██╔═══██╗ ██║██╔════╝██╔════╝╚══██╔══╝██╔════╝ ██╔════╝██╔═══██╗██║ ██╔══██╗██╔════╝██╔══██╗ | |
| ██████╔╝██████╔╝██║ ██║ ██║█████╗ ██║ ██║ ███████╗█████╗█████╗ ██║ ██║██║ ██║ ██║█████╗ ██████╔╝ | |
| ██╔═══╝ ██╔══██╗██║ ██║██ ██║██╔══╝ ██║ ██║ ╚════██║╚════╝██╔══╝ ██║ ██║██║ ██║ ██║██╔══╝ ██╔══██╗ | |
| ██║ ██║ ██║╚██████╔╝╚█████╔╝███████╗╚██████╗ ██║ ███████║ ██║ ╚██████╔╝███████╗██████╔╝███████╗██║ ██║ | |
| ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚══════╝ ╚═╝ ╚═════╝ ╚══════╝╚═════╝ ╚══════╝╚═╝ ╚═╝ | |
| " | |
| sudo mkdir -p /var/www/projects | |
| sudo chown $USER:$USER /var/www/projects | |
| echo " | |
| ███╗ ███╗██╗ ██╗███████╗ ██████╗ ██╗ ███████╗███████╗██████╗ ██╗ ██╗███████╗██████╗ | |
| ████╗ ████║╚██╗ ██╔╝██╔════╝██╔═══██╗██║ ██╔════╝██╔════╝██╔══██╗██║ ██║██╔════╝██╔══██╗ | |
| ██╔████╔██║ ╚████╔╝ ███████╗██║ ██║██║ █████╗ ███████╗█████╗ ██████╔╝██║ ██║█████╗ ██████╔╝ | |
| ██║╚██╔╝██║ ╚██╔╝ ╚════██║██║▄▄ ██║██║ ╚════╝ ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██╔══╝ ██╔══██╗ | |
| ██║ ╚═╝ ██║ ██║ ███████║╚██████╔╝███████╗ ███████║███████╗██║ ██║ ╚████╔╝ ███████╗██║ ██║ | |
| ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚══▀▀═╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝ | |
| " | |
| echo "Installing MySQL..." | |
| sudo apt-get install mysql-server -y | |
| echo "Creating MySQL user 'dbuser'..." | |
| sudo mysql <<EOF | |
| -- Remove anonymous users | |
| DELETE FROM mysql.user WHERE User=''; | |
| -- Remove test database | |
| DROP DATABASE IF EXISTS test; | |
| DELETE FROM mysql.db WHERE Db='test' OR Db='test_%'; | |
| -- Create application/admin user | |
| CREATE USER IF NOT EXISTS 'dbuser'@'localhost' | |
| IDENTIFIED BY '$MYSQL_USER_PASSWORD'; | |
| GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'localhost' WITH GRANT OPTION; | |
| FLUSH PRIVILEGES; | |
| EOF | |
| echo "MySQL installation and configuration complete." | |
| echo "RESTARTING NGINX" | |
| sudo systemctl restart php$PHP_VERSION-fpm && sudo systemctl restart nginx | |
| echo " | |
| ███████╗██╗ ██╗██████╗ ███████╗██████╗ ██╗ ██╗██╗███████╗ ██████╗ ██████╗ | |
| ██╔════╝██║ ██║██╔══██╗██╔════╝██╔══██╗██║ ██║██║██╔════╝██╔═══██╗██╔══██╗ | |
| ███████╗██║ ██║██████╔╝█████╗ ██████╔╝██║ ██║██║███████╗██║ ██║██████╔╝ | |
| ╚════██║██║ ██║██╔═══╝ ██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚════██║██║ ██║██╔══██╗ | |
| ███████║╚██████╔╝██║ ███████╗██║ ██║ ╚████╔╝ ██║███████║╚██████╔╝██║ ██║ | |
| ╚══════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝ | |
| " | |
| sudo apt-get install supervisor | |
| echo " | |
| ██████╗ ██╗ ██╗ ███╗ ███╗██╗ ██╗ ███████╗███████╗██╗ ██╗ | |
| ██╔═══██╗██║ ██║ ████╗ ████║╚██╗ ██╔╝ ╚══███╔╝██╔════╝██║ ██║ | |
| ██║ ██║███████║█████╗██╔████╔██║ ╚████╔╝█████╗ ███╔╝ ███████╗███████║ | |
| ██║ ██║██╔══██║╚════╝██║╚██╔╝██║ ╚██╔╝ ╚════╝███╔╝ ╚════██║██╔══██║ | |
| ╚██████╔╝██║ ██║ ██║ ╚═╝ ██║ ██║ ███████╗███████║██║ ██║ | |
| ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝ | |
| " | |
| echo "insert password for sudo" | |
| chsh -s $(which zsh) <<< "$OS_USER_PASSWORD" | |
| sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" "" --unattended | |
| echo " | |
| ██████╗ ██████╗ ███╗ ███╗██████╗ ██████╗ ███████╗███████╗██████╗ | |
| ██╔════╝██╔═══██╗████╗ ████║██╔══██╗██╔═══██╗██╔════╝██╔════╝██╔══██╗ | |
| ██║ ██║ ██║██╔████╔██║██████╔╝██║ ██║███████╗█████╗ ██████╔╝ | |
| ██║ ██║ ██║██║╚██╔╝██║██╔═══╝ ██║ ██║╚════██║██╔══╝ ██╔══██╗ | |
| ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚██████╔╝███████║███████╗██║ ██║ | |
| ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ | |
| " | |
| cd ~ | |
| curl -sS https://getcomposer.org/installer | php | |
| sudo mv composer.phar /usr/local/bin/composer | |
| echo " | |
| ██████╗ █████╗ ███████╗██╗ ██╗ █████╗ ██╗ ██╗ █████╗ ███████╗███████╗███████╗ | |
| ██╔══██╗██╔══██╗██╔════╝██║ ██║ ██╔══██╗██║ ██║██╔══██╗██╔════╝██╔════╝██╔════╝ | |
| ██████╔╝███████║███████╗███████║ ███████║██║ ██║███████║███████╗█████╗ ███████╗ | |
| ██╔══██╗██╔══██║╚════██║██╔══██║ ██╔══██║██║ ██║██╔══██║╚════██║██╔══╝ ╚════██║ | |
| ██╗██████╔╝██║ ██║███████║██║ ██║███████╗██║ ██║███████╗██║██║ ██║███████║███████╗███████║ | |
| ╚═╝╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝ | |
| " | |
| echo "alias upd='sudo apt update'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases | |
| echo "alias upg='sudo apt upgrade'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases | |
| echo "alias cls='clear'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases | |
| echo "alias ll='ls -lah'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases | |
| echo "alias www='cd /var/www/projects'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases | |
| echo "alias pa='php artisan'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases | |
| echo "alias lclear='composer dump-autoload && pa clear-compiled && pa config:clear && pa cache:clear && pa view:clear && pa route:clear'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases | |
| echo "alias phpunit='vendor/bin/phpunit'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases | |
| echo " | |
| ███████╗██╗ ██╗██████╗ ██████╗ ██████╗ ████████╗ ██████╗ ██████╗ ███╗ ███╗██████╗ ██████╗ ███████╗███████╗██████╗ ██████╗ ██╗███╗ ██╗ ██████╗ █████╗ ████████╗██╗ ██╗ | |
| ██╔════╝╚██╗██╔╝██╔══██╗██╔═══██╗██╔══██╗╚══██╔══╝ ██╔════╝██╔═══██╗████╗ ████║██╔══██╗██╔═══██╗██╔════╝██╔════╝██╔══██╗ ██╔══██╗██║████╗ ██║ ██╔══██╗██╔══██╗╚══██╔══╝██║ ██║ | |
| █████╗ ╚███╔╝ ██████╔╝██║ ██║██████╔╝ ██║█████╗██║ ██║ ██║██╔████╔██║██████╔╝██║ ██║███████╗█████╗ ██████╔╝█████╗██████╔╝██║██╔██╗ ██║█████╗██████╔╝███████║ ██║ ███████║ | |
| ██╔══╝ ██╔██╗ ██╔═══╝ ██║ ██║██╔══██╗ ██║╚════╝██║ ██║ ██║██║╚██╔╝██║██╔═══╝ ██║ ██║╚════██║██╔══╝ ██╔══██╗╚════╝██╔══██╗██║██║╚██╗██║╚════╝██╔═══╝ ██╔══██║ ██║ ██╔══██║ | |
| ███████╗██╔╝ ██╗██║ ╚██████╔╝██║ ██║ ██║ ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚██████╔╝███████║███████╗██║ ██║ ██████╔╝██║██║ ╚████║ ██║ ██║ ██║ ██║ ██║ ██║ | |
| ╚══════╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ | |
| " | |
| echo "and include .bash_aliases in .zshrc" | |
| tee -a /home/$USER/.zshrc << EOF | |
| if [ -f ~/.bash_aliases ]; then | |
| . ~/.bash_aliases | |
| fi | |
| EOF | |
| echo " | |
| █████╗ ██████╗ ████████╗ ██████╗ ███████╗████████╗ ██╗ ██╗██████╗ ██████╗ █████╗ ████████╗███████╗ | |
| ██╔══██╗██╔══██╗╚══██╔══╝ ██╔════╝ ██╔════╝╚══██╔══╝ ██║ ██║██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝██╔════╝ | |
| ███████║██████╔╝ ██║█████╗██║ ███╗█████╗ ██║ ██║ ██║██████╔╝██║ ██║███████║ ██║ █████╗ | |
| ██╔══██║██╔═══╝ ██║╚════╝██║ ██║██╔══╝ ██║ ██║ ██║██╔═══╝ ██║ ██║██╔══██║ ██║ ██╔══╝ | |
| ██║ ██║██║ ██║ ╚██████╔╝███████╗ ██║ ╚██████╔╝██║ ██████╔╝██║ ██║ ██║ ███████╗ | |
| ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ | |
| " | |
| sudo apt-get update | |
| echo " | |
| █████╗ ██████╗ ████████╗ ██████╗ ███████╗████████╗ ██╗ ██╗██████╗ ██████╗ ██████╗ █████╗ ██████╗ ███████╗ | |
| ██╔══██╗██╔══██╗╚══██╔══╝ ██╔════╝ ██╔════╝╚══██╔══╝ ██║ ██║██╔══██╗██╔════╝ ██╔══██╗██╔══██╗██╔══██╗██╔════╝ | |
| ███████║██████╔╝ ██║█████╗██║ ███╗█████╗ ██║ ██║ ██║██████╔╝██║ ███╗██████╔╝███████║██║ ██║█████╗ | |
| ██╔══██║██╔═══╝ ██║╚════╝██║ ██║██╔══╝ ██║ ██║ ██║██╔═══╝ ██║ ██║██╔══██╗██╔══██║██║ ██║██╔══╝ | |
| ██║ ██║██║ ██║ ╚██████╔╝███████╗ ██║ ╚██████╔╝██║ ╚██████╔╝██║ ██║██║ ██║██████╔╝███████╗ | |
| ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚══════╝ | |
| " | |
| sudo apt-get upgrade -y | |
| echo " | |
| █████╗ ██████╗ ████████╗ ██████╗██╗ ███████╗ █████╗ ███╗ ██╗ | |
| ██╔══██╗██╔══██╗╚══██╔══╝ ██╔════╝██║ ██╔════╝██╔══██╗████╗ ██║ | |
| ███████║██████╔╝ ██║█████╗██║ ██║ █████╗ ███████║██╔██╗ ██║ | |
| ██╔══██║██╔═══╝ ██║╚════╝██║ ██║ ██╔══╝ ██╔══██║██║╚██╗██║ | |
| ██║ ██║██║ ██║ ╚██████╗███████╗███████╗██║ ██║██║ ╚████║ | |
| ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ | |
| " | |
| sudo apt-get autoremove -y | |
| sudo apt-get clean -y | |
| echo ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" | |
| echo ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" | |
| echo ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" | |
| echo ":::::::::::::::: You need to logout or reconnect for changes to take affect :::::::::" | |
| echo ":::::::: when you log in the prompt for command line should be like this: ➜ ~ ::::::" | |
| echo ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment