Home Beginner's Guide First steps in managing Ubuntu Server for beginners

First steps in managing Ubuntu Server for beginners

This beginner's guide to Ubuntu Server provides an easy-to-follow introduction to setting up and managing an Ubuntu Server. Learn the essentials of installation, configuration, and basic server tasks, paving the way for a successful and efficient server management experience.

by Arun Kumar
ubuntu server for beginners

Welcome to my comprehensive guide on Ubuntu Server for beginners! Embarking on the journey of managing an Ubuntu Server is both exciting and challenging, especially for those transitioning from a different operating system or who are new to server management.

In this comprehensive guide, we cover the essentials of Ubuntu Server for beginners, including initial setup, post-installation configurations, basic server administration, and networking essentials. We delve into practical aspects such as managing user accounts, securing your server, configuring DNS settings, and understanding networking basics.

Additionally, we explore how to deploy server applications like Apache2 and MySQL, which are pivotal for running web applications. This guide is designed to provide you with the foundational knowledge and skills needed to confidently manage an Ubuntu Server.

Understanding Ubuntu server

Ubuntu Server is a free, open-source operating system based on Linux. It’s known for its stability, security, and scalability, making it a popular choice for servers worldwide. Unlike its desktop counterpart, Ubuntu Server does not include a graphical user interface (GUI), but don’t let that intimidate you! The command-line interface (CLI) is a powerful tool that offers precision and control.

Why choose Ubuntu server?

Here’s why I personally prefer Ubuntu Server:

  • Stability and reliability: One of the most compelling reasons to choose Ubuntu Server is its renowned stability. Built on the solid foundation of Debian, Ubuntu Server is designed for uptime and reliability. This makes it an ideal choice for critical applications and environments where downtime is not an option. I’ve personally experienced months of uninterrupted service with Ubuntu Server, a testament to its robustness.
  • Security: Ubuntu Server is known for its strong security features. With built-in firewall and security tools like AppArmor, it offers a secure environment right out of the box. Canonical, the company behind Ubuntu, provides regular security patches and updates, ensuring that vulnerabilities are quickly addressed. This proactive security approach is essential in today’s landscape of ever-evolving threats.
  • Regular and predictable release cycle: Canonical offers new LTS (Long Term Support) releases every two years and supports them for five years. This predictability allows for better planning and stability, especially for enterprise environments. The availability of regular releases ensures that you have access to the latest software and security updates.
  • Extensive software repositories: Ubuntu’s vast repositories contain thousands of packages, providing a rich set of applications and tools for server management. Whether you need a web server, a database server, or development tools, Ubuntu’s repositories have you covered. The convenience of installing and managing software through the apt package manager simplifies server administration, especially for beginners.
  • Wide community support and documentation: The Ubuntu community is one of the largest and most active among Linux distributions. This community offers extensive support through forums, tutorials, and documentation, making it easier to find solutions to problems and learn best practices. As someone who’s leaned on the community more than once, I can vouch for the invaluable help it provides, especially when you’re starting out.
  • Compatibility and hardware support: Ubuntu Server excels in hardware compatibility, running efficiently on various hardware configurations, from older machines to the latest servers. This compatibility extends to cloud environments, where Ubuntu Server is often a preferred choice due to its performance and scalability.
  • Performance and scalability: Known for its performance, Ubuntu Server can handle demanding workloads and scales efficiently as your needs grow. Whether you’re running web applications, databases, or cloud services, Ubuntu Server maintains optimal performance, ensuring that your services run smoothly.
  • Versatility: From running a simple file server to hosting complex applications, Ubuntu Server’s versatility is unmatched. It’s suitable for a wide range of server applications, including web hosting, mail servers, file servers, and cloud computing.
  • Ease of use: Despite being a command-line-driven interface, Ubuntu Server is user-friendly, especially with its straightforward package management system and helpful command-line tools. This ease of use is a boon for beginners and experienced users alike.
  • Customization: With Ubuntu Server, you have the freedom to customize the system to fit your specific needs. Whether it’s setting up a LAMP stack for web hosting or configuring a lightweight server for a small project, the flexibility is there.

Getting started with Ubuntu server

Downloading and installing Ubuntu server

  1. Download Ubuntu Server: Go to the official Ubuntu website and download the latest LTS (Long Term Support) version.
  2. Create a bootable USB drive: Use a tool like Rufus or BalenaEtcher to create a bootable USB drive.
  3. Install Ubuntu Server: Boot from the USB drive and follow the on-screen instructions. Choose a strong password for the administrative user (root).
  4. Detailed step-by-step instructions here: How to install Ubuntu Server 22.04 LTS

First login

After installation, log in using your username and password. You’ll be greeted by a command prompt, something like this:

fosslinux@hostname:~$

Updating and upgrading

It’s a good practice to update your server’s package list and upgrade all packages to their latest versions:

sudo apt update
sudo apt upgrade

You’ll see a list of packages to be upgraded. Press Y to proceed.

Install essential packages

For example, to install vim, git, and curl:

sudo apt install vim git curl

Basic server management

Managing users

  • Adding a user: sudo adduser newusername
  • Giving a user sudo access: sudo usermod -aG sudo newusername

Installing software

You can install software using the apt package manager. For example, to install nginx, a popular web server, use:

sudo apt install nginx

Setting up a firewall

Ubuntu uses ufw (Uncomplicated Firewall) for managing firewall settings. To enable the firewall and allow SSH connections:

sudo ufw enable
sudo ufw allow ssh

Accessing your server remotely

To access your server from another computer, use SSH:

ssh username@your_server_ip

Allow necessary ports (like SSH, HTTP, or HTTPS):

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

Basic server administration

Introduction to command-line interface (CLI) and essential commands

The CLI is the primary interface for managing your Ubuntu Server. Essential commands include ls for listing directory contents, cd to change directories, cp for copying files, and rm to delete files.

Common file system operations and navigation

Navigating the file system is a fundamental skill:

  • Listing files: ls
  • Changing directories: cd /path/to/directory
  • Copying files: cp source destination
  • Moving or renaming files: mv source destination

Managing user accounts and permissions

  • Adding a user: sudo adduser newuser
  • Changing a user’s password: sudo passwd username
  • Modifying file permissions: chmod (e.g., chmod 755 filename)

Networking essentials

Setting up a static IP address for Ubuntu Server

To set a static IP:

  1. Edit the Netplan configuration file:
    sudo nano /etc/netplan/01-netcfg.yaml
    
  2. Configure your settings like so:
    network:
      version: 2
      ethernets:
        your-network-interface:
          dhcp4: no
          addresses:
            - 192.168.1.100/24
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 8.8.4.4]
    
  3. Apply the changes:
    sudo netplan apply

Configuring DNS settings for internet access

Proper DNS (Domain Name System) configuration is crucial for your Ubuntu Server to resolve domain names into IP addresses, which is essential for accessing the internet. Here’s a more detailed guide on setting up DNS:

  1. Identify Your Network Interface: First, you need to know the name of your network interface. You can find this by running:
    ip a
    

    Look for entries like eth0, ens33, or something similar. This is your network interface name.

  2. Edit Netplan Configuration: Ubuntu Server uses Netplan for network configuration. Open the Netplan configuration file with a text editor like nano. The file might have a different name, so look for a .yaml file inside /etc/netplan/.
    sudo nano /etc/netplan/01-netcfg.yaml
    

    Replace 01-netcfg.yaml with the actual file name you find in the directory.

  3. Configure DNS Settings: In the Netplan configuration file, under your network interface settings, you’ll specify the DNS servers. Here’s an example configuration:
    network:
      version: 2
      renderer: networkd
      ethernets:
        your-network-interface-name:
          addresses:
            - 192.168.1.100/24  # Your static IP and subnet mask
          gateway4: 192.168.1.1  # Your gateway IP
          nameservers:
            addresses: [8.8.8.8, 8.8.4.4]  # Google DNS servers
    

    Replace your-network-interface-name with the actual name of your network interface. The addresses under nameservers are the DNS servers you want to use. In this example, Google’s public DNS servers (8.8.8.8 and 8.8.4.4) are used.

  4. Apply the Changes: After saving the file, apply the changes with:
    sudo netplan apply
    
  5. Verify Configuration: To ensure that the DNS settings are working correctly, try pinging a domain:
    ping google.com
    

    If you receive a response, your DNS is configured correctly.

  6. Troubleshooting: If you encounter issues, you can check your configuration for syntax errors or review the network interface settings. Remember that incorrect DNS settings can lead to an inability to resolve domain names, impacting internet connectivity.

By following these steps, you’ll set up DNS for your Ubuntu Server, ensuring it can properly translate domain names into IP addresses for successful internet access.

Exploring server applications

Installing and configuring a web server like Apache2

  1. Install Apache2:
    sudo apt install apache2
    
  2. Configure Apache2: Edit the configuration files in /etc/apache2/sites-available/.

Setting up a database server like MySQL or PostgreSQL

  1. Install MySQL:
    sudo apt install mysql-server
    
  2. Secure MySQL installation:
    sudo mysql_secure_installation
    
  3. For PostgreSQL:
    sudo apt install postgresql postgresql-contrib

Hosting a website

Hosting a website on Ubuntu Server is straightforward. Here’s a basic example using nginx:

  1. Install nginx:
    sudo apt install nginx
    
  2. Create a directory for your website:
    mkdir -p /var/www/mywebsite/html
    
  3. Add your HTML files. You can use nano or any text editor to create an index.html file in the /var/www/mywebsite/html directory.
  4. Configure nginx to serve your site. Create a new configuration file:
    sudo nano /etc/nginx/sites-available/mywebsite
    

    Add the following configuration:

    server {
        listen 80;
        root /var/www/mywebsite/html;
        index index.html;
        server_name your_domain.com www.your_domain.com;
    }
  5. Enable the file by linking it to the sites-enabled directory:
    sudo ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/
    
  6. Test your configuration:
    sudo nginx -t
    
  7. Restart nginx:
    sudo systemctl restart nginx
    

Visit your_domain.com in a browser, and you should see your website!

Comparative table: Windows commands vs Ubuntu Server commands

This table provides a quick reference for users who are more accustomed to Windows commands and are making their first foray into managing an Ubuntu Server. Remember, while some commands might serve similar purposes, their syntax and options can differ significantly. Always refer to the man pages (man <command>) in Ubuntu for detailed usage and options.

Windows Command Ubuntu Server Command
dir ls
cd cd
copy cp
move mv
del rm
ipconfig ifconfig / ip a
ping ping
tracert traceroute
netstat netstat / ss
chkdsk fsck
tasklist ps / top
shutdown shutdown / poweroff
sfc fsck, debsums
gpupdate sudo apt update && sudo apt upgrade

Conclusion

As we wrap up this beginner’s guide to Ubuntu Server, it’s important to recognize the power and flexibility that Ubuntu offers. The journey from installing the OS to configuring server applications is a learning curve, but it’s filled with opportunities for growth and development.

Whether you are setting up a personal project or managing servers in a professional setting, the skills you acquire through this process are invaluable. The Ubuntu community is always a resource for support and guidance. With dedication and practice, you’ll find that managing an Ubuntu Server is not just about maintaining a system, but also about harnessing the potential of open-source technology to achieve your goals.

You may also like

Leave a Comment

fl_logo_v3_footer

ENHANCE YOUR LINUX EXPERIENCE.



FOSS Linux is a leading resource for Linux enthusiasts and professionals alike. With a focus on providing the best Linux tutorials, open-source apps, news, and reviews written by team of expert authors. FOSS Linux is the go-to source for all things Linux.

Whether you’re a beginner or an experienced user, FOSS Linux has something for everyone.

Follow Us

Subscribe

©2016-2023 FOSS LINUX

A PART OF VIBRANT LEAF MEDIA COMPANY.

ALL RIGHTS RESERVED.

“Linux” is the registered trademark by Linus Torvalds in the U.S. and other countries.