Linux

Linux

Linux is a family of free and open-source software operating systems built around the Linux kernel. Typically, Linux is packaged in a form known as a Linux distribution for both desktop and server use
Sean Robertson

Sean Robertson

1686066369

Command Line Hacking – Over The Wire Bandit Walkthrough (CTF Wargame)

Command Line Hacking – Over The Wire Bandit Walkthrough (CTF Wargame)

Improve your cybersecurity and Linux skills by solving challenges in the Bandit Wargame from OverTheWire. This video is a walk through of how to solve the challenges—but make sure to try each on your own before watching the solution!

⭐️ Contents ⭐️
⌨️ (0:00:00) Introduction
⌨️ (0:02:11) Level 0
⌨️ (0:04:06) Level 0 - Level 1
⌨️ (0:05:11) Level 1 - Level 2
⌨️ (0:06:18) Level 2 - Level 3
⌨️ (0:07:56) Level 3 - Level 4
⌨️ (0:09:11) Level 4 - Level 5
⌨️ (0:11:57) Level 5 - Level 6
⌨️ (0:14:51) Level 6 - Level 7
⌨️ (0:17:06) Level 7 - Level 8
⌨️ (0:18:37) Level 8 - Level 9
⌨️ (0:21:08) Level 9 - Level 10
⌨️ (0:22:45) Level 10 - Level 11
⌨️ (0:24:10) Level 11 - Level 12
⌨️ (0:27:11) Level 12 - Level 13
⌨️ (0:35:22) Level 13 - Level 14
⌨️ (0:37:01) Level 14 - Level 15
⌨️ (0:38:45) Level 15 - Level 16
⌨️ (0:41:35) Level 16 - Level 17
⌨️ (0:50:46) Level 17 - Level 18
⌨️ (0:53:07) Level 18 - Level 19
⌨️ (0:55:28) Level 19 - Level 20
⌨️ (0:58:23) Level 20 - Level 21
⌨️ (1:02:33) Level 21 - Level 22
⌨️ (1:07:47) Level 22 - Level 23
⌨️ (1:11:54) Level 23 - Level 24
⌨️ (1:26:39) Level 24 - Level 25
⌨️ (1:32:53) Level 25 - Level 26
⌨️ (1:43:25) Level 26 - Level 27
⌨️ (1:47:18) Level 27 - Level 28
⌨️ (1:52:10) Level 28 - Level 29
⌨️ (1:56:36) Level 29 - Level 30
⌨️ (2:00:17) Level 30 - Level 31
⌨️ (2:05:31) Level 31 - Level 32
⌨️ (2:10:34) Level 32 - Level 33
⌨️ (2:14:45) Level 33 - Level 34

🔗 Start the game here: https://overthewire.org/wargames/bandit/

#linux #hacking #cybersecurity #security 

Command Line Hacking – Over The Wire Bandit Walkthrough (CTF Wargame)
Jacob Banks

Jacob Banks

1686064376

Build Cross Platform Desktop Apps with Python and PySide6

Learn Python GUI Development for Desktop – PySide6 and Qt Tutorial

Learn how to use Qt for Python using PySide6 to build cross platform desktop apps for Windows, Mac and Linux.

⭐️ Course Contents ⭐
Part 1:
⌨️ (0:00:00) Intro
⌨️ (0:05:50) Welcome
⌨️ (0:16:54) Get the most
⌨️ (0:19:55) Python and PySide6 Install
⌨️ (0:28:41) Understanding the code
⌨️ (0:35:40) Organizing the code in classes
⌨️ (0:50:57) Signals and Slots
⌨️ (1:08:47) Intro to Widgets
⌨️ (1:09:21) Using QWidget
⌨️ (1:22:02) QMainWindow
⌨️ (1:48:02) QMessageBox
⌨️ (2:06:46) QPushButton
⌨️ (2:12:31) QLabel and QLineEdit

Part 2:
⌨️ (2:24:33) QTextEdit
⌨️ (2:42:11) QLabel and Images
⌨️ (2:47:29) Size Policies and Stretches
⌨️ (3:02:10) QGridLayout
⌨️ (3:09:42) QCheckBox and QRadioButton
⌨️ (3:25:45) QListWidget
⌨️ (3:37:32) QTabWidget
⌨️ (3:45:35) QComboBox
⌨️ (3:52:22) Qt Designer : Introduction & Install
⌨️ (3:59:41) Using Qt Designer
⌨️ (4:08:40) Qt Designer and QUiLoader
⌨️ (4:17:48) Wrapping loader object into ui class
⌨️ (4:24:11) Compiling User Interfaces to Python
⌨️ (4:39:57) Working with resources manually : Qt Designer
⌨️ (4:56:41) Loading resources from Qt Designer
⌨️ (5:04:05) QMainWindow : Putting it all together!
⌨️ (5:18:01) Farewell

💻 Source code: https://github.com/rutura/Qt-For-Python-PySide6-GUI-For-Beginners-The-Fundamentals-

#python #pyside6 #gui #windows #mac #linux

Build Cross Platform Desktop Apps with Python and PySide6
Code  Camp

Code Camp

1686036537

Learn Linux for Beginners - Full Course

Introduction to Linux – Full Course for Beginners

If you're new to Linux, this beginner's course is for you. You'll learn many of the tools used every day by both Linux SysAdmins and the millions of people running Linux distributions like Ubuntu on their PCs. This course will teach you how to navigate Linux's Graphical User Interfaces and powerful command line tool ecosystem.

⭐️ Contents ⭐️
⌨️ (0:00:00)  Introduction
⌨️ (0:01:38) Chapter 1. Introduction to Linux Families
⌨️ (0:07:39) Chapter 2. Linux Philosophy and Concepts
⌨️ (0:16:37) Chapter 3. Linux Basics and System Startup
⌨️ (1:05:36) Chapter 4. Graphical Interface
⌨️ (1:34:29) Chapter 5. System Configuration from the Graphical Interface
⌨️ (2:04:27) Chapter 6. Common Applications
⌨️ (2:12:57) Chapter 7. Command Line Operations
⌨️ (3:25:50) Chapter 8. Finding Linux Documentation
⌨️ (3:36:53) Chapter 9. Processes
⌨️ (4:07:51) Chapter 10. File Operations
⌨️ (4:31:11) Chapter 11. Text Editors
⌨️ (4:49:25) Chapter 12. User Environment
⌨️ (5:13:32) Chapter 13. Manipulating Text
⌨️ (5:40:04) Chapter 14. Network Operations

🔗 Linux Installation guide: https://courses.edx.org/asset-v1:LinuxFoundationX+LFS101x+1T2020+type@asset+block@Preparing_Your_Computer_for_Linux_Training.pdf

#linux 

Learn Linux for Beginners - Full Course

Common Terminal Commands for Developers

In this tutorial provides an overview of common terminal commands used in the Linux/MacOS command-line interface. You will learn basic commands such as navigating directories, managing files, and accessing system information. The tutorial will guide you in using command-line tools such as ls, cd, mkdir, cp, rm, and more. By the end of this tutorial, you will have the skills to navigate and manipulate the command-line interface efficiently, which is the foundation for using the terminal in Linux or MacOS operating systems.

Key Commands & Navigation

Before we look at some common commands, I just want to note a few keyboard commands that are very helpful:

  • Up Arrow: Will show your last command
  • Down Arrow: Will show your next command
  • Tab: Will auto-complete your command
  • Ctrl + L: Will clear the screen
  • Ctrl + C: Will cancel a command
  • Ctrl + R: Will search for a command
  • Ctrl + D: Will exit the terminal

Manual Command

On Linux and Mac, the man command is used to show the manual of any command that you can run in the terminal. So if you wanted to know more about the ls command, you could run:

  man ls

Unfortunately, if you are on Windows and using Git Bash, the man command is not included, however, you can just type the command that you want to know more about and then --help and you will get similar info:

  ls --help

You should be able to use the arrow keys or page up and down. When you are ready to exit, just press q.

The whoami Command

The whoami command will show you the current user that you are logged in as.

  whoami

The date Command

Another really simple one is the date command, which, surprise, will show you the current date and time.

  date

File System Navigation

Commands to navigate your file system are very important. You will be using them all the time. You won't remember every single command that you use, but these are the ones that you should remember.

CommandDescription
pwdLists the path to the working directory
lsList directory contents
ls -aList contents including hidden files (Files that begin with a dot)
ls -lList contents with more info including permissions (long listing)
ls -rList contents reverse order
cdChange directory to home
cd [dirname]Change directory to specific directory
cd ~Change to home directory
cd ..Change to parent directory
cd -Change to previous directory (which could be different than the parent of course)
find [dirtosearch] -name [filename]Find location of a program

Of course, you can group flags together. For example, if I want to see more info and view hidden files, I could do ls -l -a and even shorten it to ls -la.

Opening a Folder or File

If you want to open a file or a folder in the GUI from your terminal, the command is different depending on the OS.

Mac - open [dirname] Windows - start [dirname] Linux - xdg-open [dirname]

You can open folders, files and even URLs

  open https://traversymedia.com

Modifying Files & Directories

CommandDescription
mkdir [dirname]Make directory
touch [filename]Create file
rm [filename]Remove file
rm -i [filename]Remove directory, but ask before
rm -r [dirname]Remove directory
rm -rf [dirname]Remove directory with contents
rm ./*Remove everything in the current folder
cp [filename] [dirname]Copy file
mv [filename] [dirname]Move file
mv [dirname] [dirname]Move directory
mv [filename] [filename]Rename file or folder
mv [filename] [filename] -vRename Verbose - print source/destination directory

We can also do multiple commands at once with the && operator:

cd test2 && mkdir test3

Right angle bracket >

This symbol tells the system to output results into whatever you specify next. The target is usually a filename. You can use this symbol by itself to create a new file:

> [filename]

When you are done, hit ctrl+D

The cat (concatenate) Command

The cat command is a very common command and allows you to create single or multiple files, view content of a file, concatenate files and redirect output in terminal or files.

The most common thing I use it for is to display the contents of a file:

  cat [filename]

You can also view the contents of multiple files:

  cat [filename] [filename]

You can also create a file using the cat command:

  cat > [filename]

This will open up a new file and you can start typing. When you are done, you can press Ctrl + D to save and exit.

You can also append to a file:

  cat >> [filename]

This will open up the file and you can start typing. When you are done, you can press Ctrl + D to save and exit.

You can use it to show line numbers:

  cat -n [filename]

There are other uses as well, but as you can see, the cat command is very powerful.

The less Command

The less command is used to view the contents of a file. It is similar to the cat command, but it allows you to scroll up and down.

  less [filename]

To exit the less command, just press q.

The echo Command

The echo command is used to display messages, or to create and write to files. It is similar to the cat command, but it is used to display a single line of text.

  echo "Hello World"

You can also use it to create a file:

  echo "Hello World" > [filename]

You can also append to a file:

  echo "Hello World" >> [filename]

The nano Command

The nano command is a text editor that is installed by default on most Linux distributions, MacOS and you can even use it with Git Bash on Windows. It is very similar to the vim editor, but it is much easier to use.

You can open an existing file to edit or create a new file and open it with:

  nano [filename]

When you're ready to exit, just hit Ctrl + X and then Y to save and N to not save.

The head and tail Commands

The head command is used to output the first part of files. By default, it outputs the first 10 lines of each file. You can also specify the number of lines to output.

  head [filename]

You can also specify the number of lines to output:

  head -n 5 [filename]

The tail command is used to output the last part of files. By default, it outputs the last 10 lines of each file. You can also specify the number of lines to output.

  tail [filename]

You can also specify the number of lines to output:

  tail -n 5 [filename]

The grep Command

The grep command is used to search for a text pattern in a file. It is very powerful and can be used to search for a string or regular expression in a file or set of files.

  grep [searchterm] [filename]

You can also search for a string in multiple files:

  grep [searchterm] [filename] [filename]

There are a lot more things that you can do with the grep command, but it's a but more advanced.

The find command

The find command is extremely powerful and is used to find the location of files and directories based on conditions that you specify.

To start off by creating something to work with. Let's create 100 files in the current directory. This is one of those things that I talked about earlier where you can do certain things much faster than you could in the GUI. We already know that the touch command will create a file. It can also be used to create multiple files.

  touch file-{001..100}.txt

Now we have 100 .txt files in the current directory. Something that would have taken a lot longer to do in the GUI.

Let's do something very simple and find a specific file. The format looks like this:

  find [dirname] -name [filename]

Let's find the file called file-001.txt:

  find . -name "file-001.txt"

This will look in the current directory, which is represented with a dot.

We can look in other directories as well. Let's create a file in our home folder called test.txt

  touch ~/test.txt

To find that file:

  find ~/ -name "test.txt"

We can look for files that match a certain pattern as well. Let's find all files that start with file-:

  find . -name "file-*"

We can search for files that are empty:

  find . -empty

Let's append some text to the file file-002.txt. We could use the cat command, like I showed you earlier, but we can also use the echo command:

  echo "Hello World" >> file-002.txt

Now if we find the empty files again, we will see that file-002.txt is no longer empty:

  find . -empty

We can remove all of the files that we created with this command:

  find . -name "file-*" -delete
  rm -f file-* # This will also work

There is so much more that you can do with the find command, but it goes beyond the scope of this tutorial.

Piping

Piping is very powerful. It is a way of redirecting standard output to another destination, such as another file. Let's actually use the find command to find a list of files and then pipe them to a new file.

First, we'll create 10 files:

touch file-{001..010}.txt

Now, let's pipe the result from our find into a new file named output.txt

find . -name "file-0*" > output.txt

You can see the results now in the new file:

cat output.txt

Creating a Symlink

A symlink is a special type of file that points to another file. It is a shortcut to the original file. It is useful when you want to access a file in a different location without having to copy it.

We can use the ln command to create a symlink:

  ln -s [filename] [symlinkname]

You can remove a symlink with the rm command:

  rm [symlinkname]

If you're on Windows and you are not using something like Git Bash, you can use the mklink command:

  mklink [symlinkname] [filename]

File Compression

tar is a program for concatenating multiple files into one big file called a tarball and reversing this process by extracting the files from the tarball.

CommandDescription
tar czvf [dirname].tar.gz [dirname]Create tarball
tar tzvf [dirname]See what is in the tarball
tar xzvf [dirname].tar.gzExtract tarball
  • -c : Creates Archive
  • -x : Extract the archive
  • -f : creates archive with given filename
  • -t : displays or lists files in archived file
  • -u : archives and adds to an existing archive file
  • -v : Displays Verbose Information
  • -A : Concatenates the archive files
  • -z : zip, tells tar command that creates tar file using gzip
  • -j : filter archive tar file using tbzip
  • -W : Verify a archive file
  • -r : update or add file or directory in already existed .tar file

The history Command

Used to display the history of commands that you have run.

  history

You can also use the ! to run a command from the history.

  !100

This will run the command that is in the 100th position in the history.

Download Details:
 

Author: bradtraversy
Download Link: Download The Source Code
Official Website: https://gist.github.com/bradtraversy/cc180de0edee05075a6139e42d5f28ce 
#linux #macos 

Common Terminal Commands for Developers
Dylan North

Dylan North

1686022047

Linux Server Setup: Deploying MERN App on Linux Server

These are the steps to setup an Ubuntu server from scratch and deploy a MERN app with the PM2 process manager and Nginx. We are using Linode, but you could just as well use a different cloud provider or your own machine or VM.

  • Create an account at Linode
  • Click on Create Linode
  • Choose your server options (OS, region, etc)

SSH Keys

You will see on the setup page an area to add an SSH key.

There are a few ways that you can log into your server. You can use passwords, however, if you want to be more secure, I would suggest setting up SSH keys and then disabling passwords. That way you can only log in to your server from a PC that has the correct keys setup.

I am going to show you how to setup authentication with SSH, but if you want to just use a password, you can skip most of this stuff.

You need to generate an SSH key on your local machine to login to your server remotely. Open your terminal and type

ssh-keygen

By default, it will create your public and private key files in the .ssh directory on your local machine and name them id_rsa and id_rsa.pub. You can change this if you want, just make sure when it asks, you put the entire path to the key as well as the filename. I am using id_rsa_linode

Once you do that, you need to copy the public key. You can use the cat command and then copy the key

cat ~/.ssh/id_rsa_linode.pub

Copy the key. It will look something like this:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDEwMkP0KHX19q2dM/9pB9dpB2B/FwdeP4egXCgdEOraJuqGvaylKgbu7XDFinP6ByqJQg/w8vRV0CsFXrnr+Lh51fKv8ZPvV/yRIMjxKzNn/0+asatkjrkOwT3f3ipbzfS0bsqfWTHivZ7UNMrOHaaSezxvJpPGbW3aoTCFSA/sUUUSiWZ65v7I/tFkXE0XH+kSDFbLUDDNS1EzofWZFRcdSFbC3zrGsQHN3jcit6ba7bACQYixxFCgVB0mZO9SOgFHC64PEnZh5hJ8h8AqIjf5hDF9qFdz2jFEe/4aQmKQAD3xAPKTXDLLngV/2yFF0iWpnJ9MZ/mJoLVzhY2pfkKgnt/SUe/Hn1+jhX4wrz7wTDV4xAe35pmnajFjDppJApty+JOzKf3ifr4lNeZ5A99t9Pu0294BhYxm7/mKXiWPsevX9oSZxSJmQUtqWWz/KBVoVjlTRgAgLYbKCNBzmw7+qdRxoxxscQCQrCpJMlat56vxK8cjqiESvduUu78HHE= trave@ASUS

Now paste that into the Linode.com textarea and name it (eg.My PC)

At some point, you will be asked to enter a root password for your server as well.

Connecting as Root

Finish the setup and then you will be taken to your dashboard. The status will probably say Provisioning. Wait until it says Running and then open your local machine's terminal and connect as root. Of course you want to use your own server's IP address

ssh root@69.164.222.31

At this point, passwords are enabled, so you will be asked for your root password.

If you authenticate and login, you should see a welcome message and your prompt should now say root@localhost:~#. This is your remote server

I usually suggest updating and upgrading your packages

sudo apt update
sudo apt upgrade

Create a new user

Right now you are logged in as root and it is a good idea to create a new account. Using the root account can be a security risk.

You can check your current user with the command:

whoami

It will say root right noe.

Let's add a new user. I am going to call my user brad

adduser brad

Just hit enter through all the questions. You will be asked for a use password as well.

You can use the following command to see the user info including the groups it belongs to

id brad

Now, let's add this user to the "sudo" group, which will give them root privileges.

usermod -aG sudo brad

Now if you run the following command, you should see sudo

id brad

Add SSH keys for new account

If you are using SSH, you will want to setup SSH keys for the new account. We do this by adding it to a file called authorized_keys in the users directory.

Go to the new users home directory

cd /home/brad

Create a .ssh directory and go into it

mkdir .ssh
cd .ssh

Create a new file called authorized_keys

touch authorized_keys

Now you want to put your public key in that file. You can open it with a simpl text editor called nano

sudo nano authorized_keys

Now you can paste your key in here. Just repeat the step above where we ran cat and then the location of your public key. IMPORTANT: Make sure you open a new terminal for this that is not logged into your server.

Now paste the key in the file and hi ctrl or cmd+X then hit Y to save and hit enter again

Disabling passwords

This is an extra security step. Like I said earlier, we can disable passwords so that only your local machine with the correct SSH keys can login.

Open the following file on your server

sudo nano /etc/ssh/sshd_config

Look for where it says

PasswordAuthentication Yes

Remove the # if there is one and change the Yes to No

If you want to disable root login all together you could change permitRootLogin to no as well. Be sure to remove the # sign becayse that comments the line out.

Save the file by exiting (ctrl+x) and hit Y to save.

Now you need to reset the sshd service

sudo systemctl restart sshd

Now you can logout by just typing logout

Try logging back in with your user (Use your username and server's IP)

ssh brad@69.164.222.31

If you get a message that says "Publick key denied" or something like that, run the following commands:

eval `ssh-agent -s`
ssh-add ~/.ssh/id_rsa_linode     # replace this with whatever you called your key file

try logging in again and you should see the welcome message and not have to type in any password.

Node.js setup

Now that we have provisioned our server and we have a user setup with SSH keys, it's time to start setting up our app environment. Let's start by installing Node.js

We can install Node.js with curl using the following commands

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

# Check to see if node was installed
node --version
npm --version

Get files on the server

We want to get our application files onto the server. We will use Git for this. I am using the goal setter app from my MERN stack series on YouTube

On your SERVER, go to where you want the app to live and clone the repo you want to deply from GitHub (or where ever else)

Here is the repo I will be using. Feel free to deploy the same app: https://github.com/bradtraversy/mern-tutorial

mkdir sites
cd sites
git clone https://github.com/bradtraversy/mern-tutorial.git

Now I should have a folder called mern-tutorial with all of my files and folders.

App setup

There are a few things that we need to do including setting up the .ENV file, installing dependencies and building our static assets for React.

.env file

With this particular application, I create a .envexample file because I did not want to push the actual .env file to GitHub. So you need to first rename that .envexample:

mv .envexample .env

# To check
ls -a

Now we need to edit that file

sudo nano .env

Change the NODE_ENV to "production" and change the MONGO_URI to your own. You can create a mongodb Atlas database here

Exit with saving.

Dependencies & Build

We need to install the server dependencies. This should be run from the root of the mern-tutorial folder. NOT the backend folder.

npm install

Install frontend deps:

cd frontend
npm install

We need to build our static assets as well. Do this from the frontend folder

npm run build

Run the app

Now we should be able to run the app like we do on our local machine. Go into the root and run

npm start

If you go to your ip and port 5000, you should see your app. In my case, I would go to

http://69.164.222.31:5000

Even though we see our app running, we are not done. We don't want to leave a terminal open with npm start. We also don't want to have to go to port 5000. So let's fix that.

Stop the app from running with ctrl+C

PM2 Setup

PM2 is a production process manager fro Node.js. It allows us to keep Node apps running without having to have terminal open with npm start, etc like we do for development.

Let's first install PM2 globally with NPM

sudo npm install -g pm2

Run with PM2

pm2 start backend/server.js   # or whatever your entry file is

Now if you go back to your server IP and port 5000, you will see it running. You could even close your terminal and it will still be running

There are other pm2 commands for various tasks as well that are pretty self explanatory:

  • pm2 show app
  • pm2 status
  • pm2 restart app
  • pm2 stop app
  • pm2 logs (Show log stream)
  • pm2 flush (Clear logs)

Firewall Setup

Obviously we don't want users to have to enter a port of 5000 or anything else. We are going to solve that by using a server called NGINX. Before we set that up, lets setup a firewall so that people can not directly access any port except ports for ssh, http and https

The firewall we are using is called UFW. Let's enable it.

  sudo ufw enable

You will notice now if you go to the site using :5000, it will not work. That is because we setup a firewall to block all ports.

You can check the status of the firewall with

sudo ufw status

Now let's open the ports that we need which are 22, 80 and 443

sudo ufw allow ssh (Port 22)
sudo ufw allow http (Port 80)
sudo ufw allow https (Port 443)

Setup NGINX

Now we need to install NGINX to serve our app on port 80, which is the http port

sudo apt install nginx

If you visit your IP address with no port number, you will see a Welcome to nginx! page.

Now we need to configure a proxy for our MERN app.

Open the following config file

sudo nano /etc/nginx/sites-available/default

Find the location / area and replace with this

location / {
        proxy_pass http://localhost:5000;    # or which other port your app runs on
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

Above that, you can also put the domain that you plan on using:

server_name yourdomain.com www.yourdomain.com;

Save and close the file

You can check your nginx configuration with the following command

sudo nginx -t

Now restart the NGINX service:

sudo service nginx restart

Now you should see your app when you go to your IP address in the browser.

Domain Name

You probably don't want to use your IP address to access your app in the browser. So let's go over setting your domain with a Linode.

You need to register your domain. It doesn't matter who you use for a registrar. I use Namecheap, but you could use Godaddy, Google Domains or anyone else.

You need to change the nameservers with your Domain registrar. The process can vary depending on who you use. With Namecheap, the option is right on the details page.

You want to add the following nameservers:

  • ns1.linode.com
  • ns2.linode.com
  • ns3.linode.com
  • ns4.linode.com
  • ns5.linode.com

Technically this could take up to 48 hours, but it almost never takes that long. In my own experience, it is usually 30 - 90 minutes.

Set your domain in Linode

Go to your dashboard and select Domains and then Create Domain

Add in your domain name and link to the Linode with your app, then submit the form.

Now you will see some info like SOA Record, NS Record, MX Record, etc. There are A records already added that link to your IP address, so you don't have to worry about that. If you wanted to add a subdomain, you could create an A record here for that.

Like I said, it may take a few hours, but you should be all set. You have now deployed your application.

if you want to make changes to your app, just push to github and run a git pull on your server. There are other tools to help automate your deployments, but I will go over that another time.

Set Up SSL

You can purchase an SSL and set it with your domain registrar or you can use Let's Encrypt and set one up for free using the following commands:

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

# Only valid for 90 days, test the renewal process with
certbot renew --dry-run

Download Details:
 

Author: bradtraversy
Download Link: Download The Source Code
Official Website: https://gist.github.com/bradtraversy/b8b72581ddc940e0a41e0bc09172d91b 

#linux #mern #nodejs #javascript 

Linux Server Setup: Deploying MERN App on Linux Server
Gunar  Thies

Gunar Thies

1686019749

Learn Bash Scripting - Crash Course for Beginners

Bash Scripting Tutorial for Beginners

Learn bash scripting in this crash course for beginners. Understanding how to use bash scripting will enhance your productivity by automating tasks, streamlining processes, and making your workflow more efficient.

⌨️ (00:00) Introduction
⌨️ (03:24) Basic commands
⌨️ (06:21) Writing your first bash script
⌨️ (11:29) Variables
⌨️ (14:55) Positional arguments
⌨️ (16:23) Output/Input redirection
⌨️ (23:23) Test operators
⌨️ (25:19) If/Elif/Else
⌨️ (28:37) Case statements
⌨️ (32:16) Arrays
⌨️ (34:12) For loop
⌨️ (36:03) Functions
⌨️ (41:31) Exit codes
⌨️ (42:30) AWK
⌨️ (45:11) SED

💻 Code: https://github.com/herbertech/bash-intro-tutorial

#bash #linux 

Learn Bash Scripting - Crash Course for Beginners
Laura  Fox

Laura Fox

1629267300

How to Install Kali Linux in Virtual Box Easily on Windows 10

For hacking , it requires tools, actually a lot of tools.

And Kali Linux is an Operating System, loaded with tons of hacking tools

Along with Kali Linux we require Virtual Box to run Kali Linux in a Windows machine

#virtual #linux 

How to Install Kali Linux in Virtual Box Easily on Windows 10

How to install Wine using Ubuntu To Run Windows Programs on Linux

How to Run Windows Programs on Linux is a Wine Install Tutorial using Ubuntu 20.04 LTS showing you how to install Wine on your Linux Distro. Install Wine / WineHQ on your Ubuntu 20.04 LTS Distro today. Run Windows Programs on your Linux Distro. A How To Tutorial on Running Wine on Ubuntu 20.04 LTS.

How to Install Wine on Ubuntu 20.04 LTS will allow you to run Windows applications on Linux by translating Windows API calls into POSIX on Linux, MacOS, or BSD that way it's you seamless experience. You won't be emulating the programs you'll actually be running them on your Linux system. This is a great tool to have if you need to still need to run some Windows programs in Linux. 
Great Amazon Items!
 

#linux #ubuntu 

How to install Wine using Ubuntu To Run Windows Programs on Linux

How to Install Ubuntu 20.04 LTS Linux Easily for Beginner

Ubuntu 20.04 Linux Install Tutorial (Focal Fossa) is a 2021 Guide on How to Install Ubuntu 20.04 Linux (Focal Fossa) on a computer, server, and/or vm of your choice. Run through the steps required to install Ubuntu 20.04 the Desktop Version on a system. Ubuntu 20.04 Linux Install Tutorial is intended for beginner users and shows all necessary steps.

Ubuntu is one of the most used and user friendly linux distributions out there and there focus is offering a great free solution to linux with a great community for support.  It deploys the GNOME desktop environment with its standard desktop installation and is available in different projects from Desktop, Server, IOT, and even embedded support.  This is great place to start if you’re new to the linux experience and are looking for something with great support and stability.  A lot of other distributions build off the Ubuntu distro and add their own tweaks.  Which I’m sure we’ll be seeing a bunch of updates coming from other distros here in the next few weeks.
 

#linux #ubuntu 

How to Install Ubuntu 20.04 LTS Linux Easily for Beginner

How to Install Linux Mint in VirtualBox on Windows 10 for Beginners

How to Install Linux Mint in VirtualBox on Windows 10 a 2020 Tutorial. We'll run through the steps to install Linux Mint in VirtualBox on Windows 10. This Linux Mint (19.3 Tricia) Install on VirtualBox is intended for beginners. This guide will show you how to install Linux Mint (19.3 Tricia) on VirtualBox. Install and Try Linux Mint (19.3 Tricia) for the first time today.

Linux Mint is an Ubuntu based distribution with a focus on a nice user centric platform and comes with all the necessary drivers, tools, and applications for an everyday user.  They heavily focus on making the platform an all encompassing one that way you can jump on in without having to start searching for drivers or basic packages that an everyday user might need. Instead it’s all neatly packaged and ready to go for the most part in this distribution and is a big reason why many choose to migrate to Linux Mint as their first linux platform.  Where stability and the end-user is in focus. 
 

#linux #virtualbox 

How to Install Linux Mint in VirtualBox on Windows 10 for Beginners

How to Install Elementary OS Linux (5.1 Hera 2021) for Beginner

Elementary OS 5.1 Linux Install Tutorial (Hera) is a 2021 Guide on How to Install Elementary OS 5.1 Linux (Hera) on a computer, server, and/or vm of your choice. Run through the steps required to install Elementary OS 5.1 on a system. Elementary OS 5.1 Linux Install Tutorial is intended for beginner users and shows all necessary steps.

Elementary OS is a Ubuntu based stable release branch that uses its own custom desktop environment called Pantheon as its default desktop environment and it seems geared towards MacOS users since the environment has a similar layout. I personally use a Mac so I’m partial to their desktop environment that they’ve created and I really enjoy 
 

00:00 - Intro
00:30 - Download the ISO for Elementary OS 5.1 Hera
01:22 - Flash a disk to install Elementary OS
02:25 - Explaining how to launch the Flashed Disk
03:02 - Starting the install for Elementary OS
07:27 - Logging in with the newly installed Elementary OS System
08:20 - Explore the Elementary OS Desktop
10:00 - Check system resources being used on Elementary OS

#linux 

How to Install Elementary OS Linux (5.1 Hera 2021) for Beginner

How to Install Manjaro Linux in VirtualBox on Windows 10 for Beginners

How to Install Manjaro 19 Linux in VirtualBox on Windows 10 a 2021 Tutorial. We'll run through the steps to Install Manjaro 19 Linux in VirtualBox on Windows 10. This Manjaro 19 Linux Install on VirtualBox is intended for beginners. The guide will show you How to Install Manjaro Linux on VirtualBox. Install and Try Manjaro Linux for the first time today.

Manjaro linux is a user friendly distro based on arch linux and deploys and offers a great user interface with tweaked desktop environments including xfce kde plasma and gnome they have a stable/semi rolling release model that they use and upkeep and they have a great community and support available if you need and on top of things it makes arch linux really easy to install on your computer instead of having to go through the normal arch linux terminal installation which makes Manjaro a great alternative if you want to use Arch Linux but not go through it's install complicated install process.
 

#linux #virtualbox 

How to Install Manjaro Linux in VirtualBox on Windows 10 for Beginners

How to Install MX Linux 19 in VirtualBox on Windows 10 for Beginners

How to Install MX Linux in VirtualBox on Windows 10 a 2021 Tutorial. We'll run through the steps to Install MX Linux Buster in VirtualBox on Windows 10. This MX Linux Install on VirtualBox is intended for beginners. The guide will show you How to Install MX Linux on VirtualBox. Install and Try MX Linux for the first time today.

MX Linux has been developed by the antiX and former MEPIS linux communities and deploys an XFCE desktop as its default.  It builds off the Debian stable branch and is considered a semi-rolling release. MX Linux also considers itself a middle weight distribution that has a lot to offer to everyday users and is well balanced between performance and user friendliness.  It’s become one of the more popular distributions for people making the switchover from Windows or other platforms. 
 

#linux #virtualbox 

How to Install MX Linux 19 in VirtualBox on Windows 10 for Beginners

How to Install Debian Linux in VirtualBox on Windows 10 for Beginner

How to Install Debian Linux in VirtualBox on Windows 10 a 2021 Tutorial. We'll run through the steps to Install Debian Linux Buster in VirtualBox on Windows 10. This Debian Linux Install on VirtualBox is intended for beginners. The guide will show you How to Install Debian Linux on VirtualBox. Install and Try Debian Linux for the first time today.

Debian is great and many other distributions are based off of it. Debian is totally free and the community focuses on stability making it one of the most reliable linux distributions out there. Debian is also tailored for intermediate to advanced users and is great for using as a server or firewall setup. Debian mainly covers the middle ground where the barriers of entry are large enough that some newer users will steer away from this distribution, but the vast documentation and helpful community should be a reason that newer users decide to go with Debian. It's great for learning and expanding your knowledge about operating systems.
 

#linux #Debian

How to Install Debian Linux in VirtualBox on Windows 10 for Beginner

How to Install Ubuntu Linux in VirtualBox on Windows 10 for Beginner

How to Install Ubuntu Linux in VirtualBox on Windows 10 a 2021 Tutorial. We'll run through the steps to Install Ubuntu Linux 2021 in VirtualBox on Windows 10. This Ubuntu Linux 19.10 Install on VirtualBox is intended for beginners. This guide will show you how to install Ubuntu Linux on VirtualBox. Install and Try Ubuntu Linux for the first time today.

Ubuntu is one of the most popular and user friendly Linux distributions out there and their focus is offering a great free solution to Linux with a great community for support. It deploys the gnome desktop environment by default and is available in different editions including desktop, server, iot, and even embedded. This is a great place to start if you’re new to the Linux experience and are looking for something with great support and stability. A lot of other distributions build off the Ubuntu distro and add their own tweaks.

#linux #ubuntu 

How to Install Ubuntu Linux in VirtualBox on Windows 10 for Beginner