NEW UBUNTU SETUP FOR PHP, MYSQL (DEVELOPMENT)

~Editor

TL;DR

Shell scrip to install my development environment stack php, php extensions, composer, mysql, nvm, vscode, chrome

Copy the following code, and paste it in your newly installed ubuntu terminal

#!/bin/bash

set -e # Exit on error

# Specify your MySQL username and password
DB_USERNAME="root"
DB_PASSWORD="your_strong_password" # Set a strong password!

# Specify your PHP extensions list
PHP_EXTENSIONS="intl mbstring gd dom xml curl zip mysql"

# Update the package repository
apt-get update -y

# Install MySQL
apt-get install -y mysql-server

# Create a new MySQL user with the specified username and password
mysql -e "CREATE USER '$DB_USERNAME'@'localhost' IDENTIFIED BY '$DB_PASSWORD';"
mysql -e "GRANT ALL PRIVILEGES ON *.* TO '$DB_USERNAME'@'localhost';"
mysql -e "FLUSH PRIVILEGES;"

# Install PHP 8.2 and the specified PHP extensions
apt-get install -y software-properties-common
add-apt-repository -y ppa:ondrej/php
apt-get update -y
apt-get install -y php8.2 php8.2-{$PHP_EXTENSIONS// /,}

# Install Composer globally
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

# Install NVM (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash

# Load NVM in the current shell session and add to .bashrc/.zshrc
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

echo "source $NVM_DIR/nvm.sh" >> ~/.bashrc # or ~/.zshrc if you use zsh.
echo "export NVM_DIR=\"\$HOME/.nvm\"" >> ~/.bashrc
echo "[ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\"" >> ~/.bashrc

# Install the latest LTS version of Node.js using NVM
nvm install --lts

# Install Google Chrome
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add -
echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list
apt-get update -y
apt-get install -y google-chrome-stable

# Install Visual Studio Code
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list
apt-get update -y
apt-get install -y code

# Clean up
rm -f packages.microsoft.gpg

echo "Development environment setup complete."

After the installation, you'll be good to go