Dear students,
As a system administrator, you will inevitably encounter a wide variety of interesting tasks and challenges. Throughout your career, you will face numerous problems — some typical, others unique. One of your main tools will be the search engine Google, as well as modern technologies like artificial intelligence, particularly ChatGPT. These resources can often help you find answers to many questions, but not every solution you find will fully meet your unique requirements or the specifics of your infrastructure.
To become a true professional, it is essential not only to search for ready-made answers, but also to develop the ability to analyze situations and create your own solutions. This course is designed not only to provide you with fundamental knowledge, but also to foster your ability to solve problems independently. In the world of system administration, new and unusual challenges will always arise, and our goal is to teach you how to deal with them effectively, even when facing completely new situations.
In this course, you will solve practical tasks that closely mirror real-world situations faced by system administrators in their daily work. The main focus is on hands-on experience — theoretical information is provided only to the extent necessary for understanding your actions and the consequences of your decisions. This approach enables you not only to learn the basic principles of system administration, but also to gain valuable experience required for independent problem-solving in a professional environment.
During your studies, you will encounter assignments typically handled by IT staff in modern companies: deploying and configuring a website, setting up a telephone (VoIP) server, configuring a file server using Samba and other services, and many other real-life scenarios. This method allows you to consolidate your theoretical knowledge and, most importantly, learn how to apply it in practice — which is a key requirement for any modern system administrator.
The skills and qualifications required of a Linux system administrator go far beyond purely technical knowledge acquired through training and certification. While a thorough understanding of operating systems, network protocols, services, and automation tools is fundamental, day-to-day work also demands well-developed personal and communication skills.
One of the most critical competencies is the ability to solve problems efficiently: a system administrator must be able to quickly identify the causes of malfunctions, analyze possible solutions, and resolve issues in the organization’s infrastructure.
Equally important is strong critical thinking — it enables you to evaluate situations from multiple angles, assess risks, and make optimal decisions based on analysis of facts and available options.
Communication skills play a major role: being able to clearly express your thoughts, actively listen to colleagues, and collaborate as part of a team is essential for successful joint problem-solving, especially when dealing with complex tasks.
Additionally, working with documentation is a key requirement for system administrators. The ability to quickly locate, read, and comprehend technical documentation, official manuals, and instructions is vital for correctly configuring and maintaining modern information systems.
The goal of this course is to prepare you for the role of a Linux system administrator, with a strong focus on acquiring practical skills required for real-world problem-solving. To successfully master the material, you will need your own training environment where you can independently complete tasks and reinforce your newly acquired knowledge through hands-on practice.
You can use either virtual machines deployed on your personal computer or any cloud-based VPS (Virtual Private Server) that provides access to a full Linux environment. In the initial stages of the course, we will concentrate on working with virtual machines locally on your computer. This approach allows you to experiment safely without the risk of affecting your main operating system.
For the purposes of this course, we will use Ubuntu Server 24.04 as our operating system. The initial step is to install VirtualBox — a virtualization platform — on your computer and deploy a new virtual machine with Ubuntu Server installed.
Please note: for each lesson, we will create a separate virtual machine. This approach mirrors real-world practice, where each server typically runs its own dedicated instance of the required software to avoid interference and ensure stable operation.
During the course, you will need to install and configure the following components on your VirtualBox virtual machine: Nginx (web server), PHP-FPM (PHP process manager), and MySQL (or MariaDB), which is a database management system.
What are Nginx, PHP-FPM, MySQL, and Ubuntu Server? You will learn about each of these components as the lesson progresses. Each practical task will be accompanied by explanations to ensure that every step is clear, even for beginners.