
Learn Linux through real-world projects, from installing distros and backing up data to streaming media, clustering for high availability, and automating tasks with bash scripts.
Learn how to obtain the Ubuntu ISO, choose between long term support and latest releases, and create a bootable USB drive with Rufus for installation.
Launch Ubuntu 17.10 from a live cd to explore without touching your disk, then run the installation wizard with language, updates while installing, and third party software options.
install CentOS 7 by selecting an iso (dvd, everything, minimal) and using the graphical installer to customize software, partitioning with LVM, network settings, and user setup.
Learn how a native Linux backup tool performs full and incremental backups, preserves permissions and ownership, and automates scheduled backups over ssh via cron for reliable protection.
Rsync for local to local backups demonstrates transferring files between directories, using trailing slashes, archive mode, and optional compression to preserve ownership, permissions, and timestamps.
Master rsync over the network to back up and transfer files from local to remote machines, transferring only changed or missing files. Recover remote files to local system via ssh.
Learn advanced ssh options for rsync, including passwordless key authentication, generating keys, deploying public keys to remote hosts, and running unattended sync with cron and port customization.
Master advanced rsync backup options, showing real-time progress, deleting extraneous files, syncing only existing ones, and including or excluding patterns to tailor transfers between source and destination.
Install VLC on Linux using EPL and RPM Fusion repositories, then set up streaming from a local file via HTTP, adjust firewall, optionally transcode, and verify streaming from another machine.
Explore how to create a Linux cluster for high availability using a shared service IP, active-active or active-passive modes, and shared storage.
Change hostnames to reflect the iSCSI target role, create a volume group with two logical volumes for shared storage and quorum, and configure iSCSI targets with initiator names.
Set up a two-node Linux cluster by installing pacemaker and related packages, configuring hostnames, passwords, firewall rules, and initializing a pcs cluster for shared IP and storage resources.
Configure a fencing device to isolate a failing node and protect data integrity in a two-node cluster using shared iSCSI storage.
Configure a shared storage resource for a Linux cluster by partitioning and formatting a disk, mounting it for the Apache web server, and exposing it as a Pacemaker resource.
Explore how to build a two-node Linux cluster with pacemaker, configure a shared virtual IP and storage, and enable failover to keep the Apache web server running during node outages.
Learn to install and start the Apache web server on CentOS (and Ubuntu), serve static HTML files from /var/www/html, and use index.html as the default page served on port 80.
Discover how to configure Apache on CentOS, edit the httpd.conf, set listen 80, define the document root at /var/www/html, and implement virtual hosts and access controls.
Install and configure Apache on Ubuntu and other Debian-based systems, exploring default configuration, ports, and ssl. Manage virtual hosts with sites-available and sites-enabled using symbolic links.
Create a dedicated example.com directory under the default web path, add an index page, configure an Apache virtual host on Ubuntu, enable the site, reload Apache, and test.
Configure virtual hosts on CentOS by creating sites-available and sites-enabled directories, enabling hosts with symbolic links, and updating httpd.conf to include these sites, then restart Apache and verify with example.com.
Enable https on apache by generating a private key, creating a certificate request, and installing a self-signed or certificate authority–signed certificate, then configure ssl and test encrypted connections.
Install and configure php with Apache to enable server side processing, integrating php with Apache. Create an index.php to display php configuration and restart Apache.
Configure nginx as a reverse proxy for a BHB application server, set up fastcgi communication, secure pathinfo, and host a virtual site for serving dynamic and static content.
Configure nginx as a reverse proxy for a node js application, routing root requests to the back end while serving static content for improved performance.
Learn how squid works as a proxy and caching server, improving performance, controlling access, and hiding client IPs, with installation on Ubuntu, starting services, and optional from-source compilation.
Explore the squid.conf sample to start a squid server and configure a local proxy; understand directive types and how http_access and acl control access.
Learn how to configure squid ACLs to control client access and web resource permissions, including port tweaks (3128 and 80) and restricting to local hosts like 127.0.0.1.
Learn to use the http_access directive with ACLs to control squid proxy access by defining source and destination IPs, domains, and ports, and applying a catch-all deny.
Configure access controls to deny media files with ACLs and regular expressions, and optimize web performance by configuring Squid caching, cache directories, and proxy settings.
Examine how to set up a Linux database server. Compare relational, NoSQL, and in-memory engines, including tables and joins, documents and collections, and data stored in memory.
Learn MySQL installation on Ubuntu and CentOS, including choosing MySQL server or MariaDB. Secure setup with mysql_secure_installation to set root password and disable remote access, remove test database.
Learn basic MySQL commands to set up a bookstore database, show databases, grant access, use the database, and perform insert, select, update, and delete on authors.
Install and configure phpMyAdmin on Ubuntu with Apache, access localhost, and manage a bookstore database by creating an authors table with name, phone, address, and inserting records via GUI.
Install MongoDB and explore document-based storage, collections, and JSON data; learn to insert, find, and query with filters, inspect with pretty, and understand the NoSQL paradigm.
Learn how to update and remove records in MongoDB, use object id lookups and $set, and secure the database by enabling authentication and creating admin and read/write users.
Learn to use sqlite3 with Python to build an embedded, portable database: in-memory or file-based, with tables, inserts, selects, and persistent storage.
Master bash basics by using shell variables and echo with proper quoting. Learn to create and run shell scripts with a shebang and executable permissions.
Learn how bash spawns sub shells and how environment variables, like the path variable, export to descendant shells, enabling scripts to access values across contexts.
Learn how to pass arguments to a bash script using positional parameters like $1, $2, and $0, compare $* and $@, and check argument counts with $# to handle errors.
Explore how to create and use functions in bash, pass positional arguments, and distinguish function scope from scripts, including arguments visibility and the export requirement.
Learn how exit status signals bash script success or failure. Understand that zero means success, non-zero signals errors, and use the $? variable with if conditions to handle chained scripts.
Use test and square bracket syntax to compare numbers, test file properties, and handle variables with double brackets in if conditions guided by exit statuses.
Develop a root-only script that automates user creation with the universal useradd tool by interactively collecting username, alias, groups, home, shell, expiry, and password-change settings.
Learn to automate Linux user creation with expiry date handling, alias processing, and password expiry, while enforcing a mandatory primary group and optional secondary groups through reusable functions.
Finalizes an automation script that creates a user with a home directory and login shell, ensures ownership and 755 permissions, and applies default paths when unspecified.
Learn how linux programmers use a code editor to build and share environments, with features like syntax highlighting, line numbers, bracket matching, autosave, and plugins for python and shell scripts.
Discover vim, the powerful shell text editor, with command and insert modes, efficient navigation (h j k l, arrows, w, b), search, line jumps, and safe quit and save commands.
Discover Sublime Text, a feature-rich code editor for Linux, offering go to anything, fuzzy search, syntax highlighting, plugins, and a convenient command-line tool for editing.
Unlock sublime text power features: command palette, go-to shortcuts, and package control to install plugins, plus snippets, syntax highlighting, and multi-line editing for efficient coding.
Learn to use git for version control to track changes, revert to previous versions, and collaborate safely, including initializing repos, staging, committing, and reviewing history with diff and log.
Create and switch to a new branch to test changes without affecting the main code. Then merge successful branches back to master and use logs and checks to verify changes.
Master git basics for Linux projects by managing branches, committing changes, and using remote repositories on GitHub to push, pull, clone, and collaborate securely.
Backup and restore data over encrypted SSH, stream media, and build high-availability web clusters with Apache and reverse proxies, while deploying MySQL/MariaDB and MongoDB, Squid caching, and Bash automation.
Become familiar with Linux using this comprehensive hands-on course!
While other courses leave you hanging with textbook information about a technology, we have designed a course that specifically helps you with the question – what comes next?
This Linux Projects course has been created to help you get a hands-on experience with the Linux distros, as well as how to install a distro and even set up a complete back up server from scratch. The course has been designed for newbies and beginners, but it does require you have to some type of familiarity with any of the Linux distros to help make the transition easier.
This comprehensive tutorial has been built in collaboration with a Linux expert who has created the perfect way to not only become familiar with Linux but also master the art of building servers easily.
Using 8 different projects and a series of examples at every step, you’ll be guided into installing a Linux distro, building your own server and even performing a series of different tasks. That’s not all the course also comes equipped with a series of quizzes that can help you enhance your learning experience and your knowledge at the end of each section.
8 Projects That The Course Covers includes:
Project 1: Linux Installation for Desktops
Project 2: Backup and Streaming
Project 3: Linux for Clustering
Project 4: Using Linux as A web Server
Project 5: Using Linux as a Proxycache Server
Project 6: Linux as a Database Server
Project 7: Automation Using BASH
Project 8: Using Linux for programming
You’ll start at the very beginning by learning how to install Linux, and then go over the basic commands and functions that are required to operate it. From there you’ll learn about creating a complete back up server as well as how to back up and restore your files. You will also learn how to create clusters, use Linux as a web server and a proxycache server, and also how to automate your desktop and tasks by writing BASH Scripts from scratch.
At the end of this course, you will have enough experience with Linux that you’ll be able to install and create your own servers!
Enroll now and let’s get started building your own server with this Linux Project Course!