Program

Linux Administration

Linux administration skills are essential for managing and maintaining Linux-based servers, which are commonly used in web hosting, cloud computing, and other areas of IT infrastructure.  According to a survey by the Linux Foundation, Linux is the dominant operating system for servers, with a market share of over 90%. Linux administrators need to be familiar with various aspects of Linux system administration, including Linux OS installation and configuration, file system management, user and group management, package management, network configuration, web server administration, database administration, and virtualization. The course is also suitable for individuals who want to pursue a career in DevOps.

Application to the program is currently not active
Start date

April 2023

Duration

2,5 months

Group size

25 students

Schedule

II, IV and VII day of week (non-working hours)

Admission requirements
Age

21 and older

Language skills

Knowledge of English at least Intermediate level

Requirement

Availability of a personal laptop or computer

Gözlənti

Computer skills: a good understanding of basic computer skills, including using the operating system, file management, and working with applications.

Upon the course completion you will::

Comprehensive understanding of Linux operating system architecture, including kernel, libraries, system utilities, and the initializer.

Proficiency in Linux OS installation, manual partitioning, LVM, RAID, disk partition management, and mounting disk partitions.

Expertise in managing files and obtaining information in command line mode, understanding different types of file systems, LVM structure, RAID arrays, and I/O streams.

Knowledge of system scheduler cron, monitoring, and logging of events in the system, including event logs and logrotate scripts.

Mastery of working with users and groups, including user and group ID changes, utilities like chown, chmod, umask value, suid, sgid, POSIX ACL extended rights standard, setfacl, getfacl, useradd, groupadd, and usermod.

Competence in OSI and TCP/IP network models, physical and channel levels, IPv4 and IPv6 blocks, reserved addresses, transport, session, presentation, and application levels, network filters, data transfer protocols, and software implementations.

Program

Linux Administration
5

Number of modules

  • Linux OS architecture: kernel, libraries, system utilities. Initializer: init, systemd.
  • Linux OS installation, manual partitioning + LVM/manual partitioning + RAID.
  • VFS virtual file system. Index descriptors inode, vnode. Text editors. Commands for managing files and obtaining information in command line mode.
  • Types of file systems. Structure of LVM, types of RAID arrays. Management of disk partitions. Mounting disk partitions. I/O streams.
  • Concept of process, types of processes, interrupt signals. Programs for working with processes. Named pipe channels, command and script completion codes.
  • System scheduler cron, monitoring, logging of events in the system (messages, syslog, rsyslog, auth.log, dpkg.log and others). Auditd event logs. Logrotate scripts.
  • Users and groups. User ID change bit, group ID, and stickiness bit; utilities chown, chmod, umask value, suid, sgid. Posix ACL extended rights standard, setfacl, getfacl utilities. Utilities for working with users: useradd, groupadd, usermod.
  • Package managers: dpkg, apt, apt-get, rpm, yum. Repositories, compilation of own lists of repositories. Manually building packages from source codes.
  • OSI, TCP/IP network models. Physical, channel levels.
  • OSI network layer, IPv4 and IPv6 blocks, reserved addresses. DHCP protocol.
  • Model levels: transport, session, presentation, application. Network filters: iptables (ufw), NAT translators (DNAT/SNAT) and PAT, PROXY.
  • Data transfer protocols and software implementations: ftp, ftps, sftp, samba, nfs, scp, nc.
  • Stages of loading the system. Grub bootloader. Transferring the system to another medium, system utilities dump, restore.
  • Images initramfs, vmlinuz, grub cli management, manual system boot. Recovery mode. Boot from RescueCD, connect chroot.
  • Basics of scripting in shell, bash. Syntax, examples.
  • Step project

  • Principles of work. Architecture. System root servers.
  • Types of NS records. NS servers, connections.
  • HTTP protocol, types of requests. Basics of HTML.
  • Apache web server. Architecture, configuration, modes of operation. System of modules. Apache management teams. Virtual hosts. Apache Tomcat.
  • Installation and configuration of the Apache web server. Configurations, modules. Creation of virtual hosts. Installing and configuring tomcat.
  • Nginx web server. Architecture, configuration, virtual hosts, locations.
  • Nginx + Apache. Features, types of proxying. Virtual hosts.
  • Basics of the SQL language. DBMS MySQL, architecture, forks (percona, mariadb). Types of engines, comparison.
  • Basics of the Python language, Best Practices for Writing Bash Scripts
  • Link forwarding (redirects), ACL, Basic AUTH, static-cache caching, GZIP compression.
  • Logging, access logs, error logs. Interpretation of logs. Web server response codes. server-status.
  • Setting up an SSL certificate for the site: self-signed, paid, letsencrypt.
  • High loads. HAProxy, a cluster of web servers.
  • Web server monitoring. Zabbix Cacti, Munin
  • Creation of backup copies (files + DB) using own scripts.
  • Performance tuning of web servers. Google Pagespeed. Site acceleration (using WordPress as an example). Best practices for configuring web servers.
  • Step project
  • MySQL configuration files, changing the configuration of MySQL. 
  • Types of tables. MySQL system variables. Data cell types, MySQL JOIN.
  • Database backup and recovery methods.
  • Peculiarities of reservation of MyISAM tables.
  • Peculiarities of InnoDB table redundancy.
  • Getting information about MySQL. MySQL performance statistics
  • MySQL replication
  • MySQL forks
  • Fine-tuning and tuning of DBMS
  • PostgreSQL
  • PostgreSQL replication
  • MySQL security
  • MongoDB
  • CassandraDB
  • Step project
  • Setting up a domain name, Setting up a domain name for working with mail. Setting TXT records SPF, MX, DMARC.
  • SMTP, IMAP, POP3 protocols. Answer codes. Letter headers, sending a letter from the console, the mail command. Sending a letter via telnet.
  • MTA, MSA. Exim, Postfix. Architecture, configuration.
  • MDA. Dovecot. Architecture, configuration.
  • Different user configurations
  • Log files, analysis. Interpretation of letter headings.
  • Setting up an SSL certificate for mail. Self-signed certificate, letsencrypt and paid certificates.
  • DKIM keys for authentication and mail server ranking. Mail server with iRedAdmin panel.
  • Step project
  • Technology capabilities, installation, creation and management of virtual machines based on KVM
  • VMware Esxi. Overview of components for managing virtual machines, network, disk storage in vmware esxi.
  • Opportunities of technologies. Overview of LXC/LXD components, resource management, network configuration.
  • Capabilities of Proxmox technology. Standalone server and Proxmox PVE cluster.
  • Setting up backups and updating Proxmox to new versions.
  • The theory of building clusters, distributed FS in Proxmox
  • Technology capabilities, installation, creation of containers based on Docker, writing Dockerfile, launching containers.
  • Step project