#!/bin/bash
# This script installs Nginx, .NET SDK 7.0, PostgreSQL, and MongoDB on Ubuntu/Debian-based systems.
# --- Update and Upgrade System ---
echo "Updating and upgrading system packages..."
sudo apt-get update -y
sudo apt-get upgrade -y
echo "System update and upgrade complete."
# --- Install Nginx ---
echo "Installing Nginx..."
sudo apt-get install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
echo "Nginx installation complete. Nginx is running and enabled."
# --- Install .NET SDK 7.0 ---
echo "Installing .NET SDK 7.0..."
# Register Microsoft package repository
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
# Install .NET SDK 7.0
sudo apt-get update -y
sudo apt-get install -y dotnet-sdk-7.0
echo ".NET SDK 7.0 installation complete."
dotnet --version
# --- Install PostgreSQL ---
echo "Installing PostgreSQL..."
sudo apt-get install postgresql postgresql-contrib -y
sudo systemctl start postgresql
sudo systemctl enable postgresql
echo "PostgreSQL installation complete. PostgreSQL is running and enabled."
# Display PostgreSQL version
psql --version
# --- Install MongoDB ---
echo "Installing MongoDB..."
# Import the public key used by the package management system
sudo apt-get install gnupg curl -y # Ensure gnupg and curl are installed
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-archive-keyring.gpg --dearmor
# Create a list file for MongoDB
echo "deb [ arch=amd64 signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
# Reload local package database
sudo apt-get update -y
# Install MongoDB
sudo apt-get install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
echo "MongoDB installation complete. MongoDB is running and enabled."
# Display MongoDB version
mongod --version
echo "---------------------------------------------------"
echo "All installations complete!"
echo "Nginx, .NET SDK 7.0, PostgreSQL, and MongoDB have been installed."
echo "Remember to configure your applications and databases as needed."
echo "---------------------------------------------------"