# Setup Instructions for Ubuntu

This guide will help you set up a basic development environment on Ubuntu with the following tools:
- Update and upgrade the system
- Install **nvm** (Node Version Manager)
- Install **Node.js 20**
- Install **Git**
- Install **NGINX**

## Prerequisites
- Ubuntu (any version)
- A terminal or SSH access to the system

---

## 1. Update and Upgrade the System

Start by updating and upgrading your Ubuntu packages to make sure you have the latest versions and security patches.

```bash
sudo apt update && sudo apt upgrade -y
```

This will:
Update the local package index (apt update)
Upgrade all the installed packages to the latest version (apt upgrade)

## 2. Install NVM (Node Version Manager)
Next, we'll install nvm (Node Version Manager) to manage multiple versions of Node.js.

Install NVM
```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

```

Once the installation is complete, you’ll need to restart your terminal or source your profile:
```bash
source ~/.bashrc   # Or use ~/.zshrc or ~/.profile based on your shell
```

Verify the Installation
You can verify that nvm is installed successfully by running:

```bash
command -v nvm
```

If the installation was successful, it should return nvm.

## 3. Install Node.js Version 20
Now that nvm is installed, you can use it to install Node.js version 20:

```bash
nvm install 20
```


### Set Node.js 20 as Default Version
To set Node.js version 20 as the default version for your terminal sessions, run:

```bash
nvm use 20
nvm alias default 20
```

You can verify the installed version of Node.js by running:

```bash
node -v
```

## 4. Install Git
Git is essential for version control. To install Git, run the following:

```
sudo apt install git -y
```

### Verify the Installation
To check if Git is installed correctly, run:

```bash
git --version
```

5. Install NGINX
Finally, install NGINX, a popular web server.

Install NGINX
```
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
```
