
Determine the current operating system version and architecture (32-bit or 64-bit) to download the correct VirtualBox version and compatible Linux distributions for building the lab.
Learn to check the exact Windows version and confirm you are running a 64-bit operating system, including a basic command-line method.
Learn to verify the Ubuntu host version using about this computer or the terminal, and determine 64-bit versus 32-bit architecture with commands like uname -a or uname -m.
Practice verifying system architecture by opening a terminal and running uname -a to confirm a 64-bit Linux architecture, with commands mirroring Linux standards.
VirtualBox emulates hardware to run guest operating systems inside a host system, enabling safe Linux learning by installing a Linux guest on Windows.
Open your browser, download the latest VirtualBox for Windows, run the installer with defaults, create shortcuts, and review the network interface warning before finishing.
Install the latest VirtualBox on Ubuntu by downloading from the official downloads page, avoiding older software center version, and ensure a 64-bit system; if not found, search for VirtualBox.
Install VirtualBox on OS X by downloading the package, running the installer, choosing a location, and confirming the installation completes.
Learn how to set up a free Linux learning environment by installing common distributions on multiple machines, focusing on Red Hat–derived and Debian-based systems, and overviewing popular options like Slackware.
Learn to create a virtual machine in VirtualBox, choose the operating system, allocate RAM, configure a dynamic VDI hard drive, and attach an ISO for Linux installation.
Install CentOS via a minimal ISO in VirtualBox, create a Linux VM with 2 GB RAM and a 20 GB dynamic disk, and complete automated partitioning and installation.
Install Ubuntu in a VirtualBox VM by mounting the downloaded 64-bit ISO, allocating 4 GB RAM and 20 GB disk, and completing language and user setup.
Install Debian in a virtual machine by downloading the appropriate 64-bit ISO, using net install with graphical setup, configuring locale, network, user accounts, partitions, bootloader, and booting.
Create backup machines before configuring to avoid rework, using full or linked clones. Test clones to ensure they work like originals and group them to simplify workflow.
Explore basic Linux concepts and commands within the context of building a learning environment. Follow along with commands to gain comfort and understand how they work.
Explore Linux OS basics: the kernel as the heart that manages hardware, memory, and processes, the shell as a command interpreter, and the file system for storing and retrieving data.
Compare the historical roles of consoles, terminals, and shells, and demonstrate switching between six virtual terminals and a graphical interface in linux using ctrl+alt+f1–f7.
Learn how Linux commands use options and arguments to modify behavior, using ls to list files and -l for details, while understanding case sensitivity and short versus long options.
Explore how to get help in bash with tab completion, manual pages via man, and quick access to command options for ls, using less and search features.
Learn how to redirect input and output in Linux, directing stdout and stderr to files or pipes, and chain commands through pipes to process data efficiently.
Learn to use bash history to view and reuse commands, re-run by index, perform reverse search with ctrl-r, and navigate with arrows; prevent recording by starting commands with a space.
Explore the Linux file system structure and how it compares to Windows. Follow the slash-based root hierarchy with /home and /usr, and understand system access vs user access.
Learn to navigate the linux file system using relative and absolute paths, from the root to your home and subdirectories like music and videos, with the change directory command.
Revisit the Linux operating system structure, explore how Linux components interact, master command syntax and history usage, and navigate the Linux system in this outro.
Configure internet access for virtual machines in VirtualBox using NAT and bridged modes, and learn networking basics such as patching, trace routes, DNS queries, IP addresses, and gateways.
Learn how to view and configure Ubuntu internet connections using ifconfig (deprecated) and the modern IP address command; switch between NAT and bridge modes in VirtualBox and validate internet access.
Explore internet connectivity on CentOS by checking default settings, testing routes, and switching from NAT to bridged networking, while examining IP address changes via ifconfig.
Test the Debian network by checking the configuration and ip address, noting the VirtualBox interface obtaining an ip address and then one from the home router via a bridge adapter.
Configure management interfaces for virtual machines, compare VirtualBox and remote SSH connections, and set up a network adapter with a fixed IP subnet for reliable remote access.
Configure CentOS management interfaces by adding a host-only adapter for management alongside a NAT internet adapter, set a static IP for the new interface, and ensure persistence via ifcfg.
Configure a new management interface on Debian, assign a static IP via the interfaces file, ensure persistence, test ssh login, and enable root access after adjusting sshd_config.
Set up a free Linux learning environment and ssh from Ubuntu to a guest OS. Manage guests from the host terminal with a focus on terminal usability, fonts, and fullscreen.
Set up a local network connecting virtual machines to test servers, such as an FTD server, a DNS server, and a web server, and explore proxies, VPNs, and iptables.
Configure interconnecting VMs on CentOS by adding an internal network adapter, assigning a static IP via ifcfg files, and restarting the networking service to persist the settings.
Configure inter-VM networking on Ubuntu by adding and aligning a dedicated interface across adapters, editing /etc/network/interfaces with root privileges, setting an IP, restarting networking, and verifying persistence.
Configure inter-VM networking on Debian by editing the interfaces file, adding an internal network adapter, assigning a static IP, and rebooting to ensure persistent connectivity.
Test the inter-VM network by listing IP addresses with ip address show and confirming each VM can reach the others. The exercise demonstrates verifying connectivity across all configured machines.
Review how you configured internet access and interfaces across Linux distributions. Learn Linux concepts, components, command syntax, I/O redirection, history, and file system navigation in a functional Linux learning lab.
Launch the bonus section by guiding you through the basic installation of common Linux services, including servers, DNS servers, and proxies, with practical examples and installation basics.
Install essential networking and web testing tools across four machines, including a file transfer client, net-tools, DNS utilities such as dig, and get for retrieving content, then start servers.
Install and start a vsftpd ftp server with yum search and install, verify port 21 is listening, and adjust firewall rules for ftp access.
install and start a web server, view pages with a browser on the local ip, and configure firewall rules and port 80 while exploring proxy server options.
Install and configure bind on Debian to run a basic dns server, create a master zone, define an A record, and test name resolution via localhost and dig.
Install squid on a Centaurus server, start the service, and disable the firewall to route web traffic through the proxy; verify with a browser and test blocking rules via acl.
Test all installed servers on Centaurus, confirm they listen on ports 80, 21, and 3128, and start on reboot via systemd enable; verify dns with bind and proxy access.
Configure and test Linux firewall rules using firewall-cmd in the public zone, add services to allow more connections, and make the configuration persistent with --permanent and a restart.
Conclude the Linux learning environment course by reflecting on basic installations and encouraging continued learning and curiosity about business.
The Build a free and complete Linux learning environment course is designed for Linux beginners who need a practice environment and intermediate users who want to study more advanced topics.
In this course we will:
Install VirtualBox on Windows, OS X and Linux. In the process you will get familiar with terms like Host OS and Guest OS.
Install Debian Server, CentOS Server and Ubuntu Desktop. You will learn to install the most adopted Linux distributions in the world.
Learn fundamental Linux concepts and commands.
Configure the Internet connection for all guest Operating Systems. You will learn both the VirtualBox configuration part and the Linux configuration part. You will understand the difference between a NAT and a Bridged connection.
Configure the management interfaces for Debian and CentOS. You will learn how to access the machine via a separate terminal session, get familiar with Putty and SSH.
Configure a new interface for every machine so you can communicate from any Guest OS to any Guest. In the process you will learn about Linux network configuration files.
Lear to install and perform a basic configuration on the most common Linux servers.
You will find attached files with all download links and all settings used in the Virtual Machines.
The Lab should be up&running in about 6 hours, including download and OS install time.
By the end of the course you will have a complete Linux Lab and new Linux skills!