- Sysadminium
- Что такое Linux сервера
- Зачем нужны сервера
- Где искать приложения для Linux сервера
- Как осуществляется настройка приложений?
- Командная строка
- Linux server administration
- Contents
- What is Linux? [ edit | edit source ]
- Choosing a distribution [ edit | edit source ]
- A curriculum for the Linux users and administrators [ edit | edit source ]
- See also [ edit | edit source ]
Sysadminium
Это первый урок большого курса по администрированию Linux серверов. В этой статье рассмотрим общие принципы администрирования серверов Linux.
Что такое Linux сервера
В этом цикле статей мы будем учится администрировать операционные системы на базе ядра Linux, а именно GNU/Linux системы.
GNU/Linux — это тип операционной системы на базе ядра Linux и других программ. Существует много разных Linux систем. Все они используют одно и тоже ядро, но каждый дистрибутив имеет свои особенности. В этом курсе будем изучать особенности Debian 11 и Ubuntu 22.04.
Linux — это ядро системы, оно отвечает за взаимодействие с железом, распределение ресурсов и подобные низкоуровневые задачи.
Система состоит не только из ядра, другая часть системы состоит из программ, многие из которых написаны проектом GNU или для проекта GNU. Поэтому такой тип операционных систем называют «GNU/Linux«.
Существуют операционные системы на базе ядра Linux, которые не являются GNU/Linux, например Android. Компания Google модифицировала ядро Linux, а поверх ядра создало виртуальное окружение ART. Собственно в виртуальной среде происходит вся работа Android. Поэтому Android систему можно называть ART/Linux.
Зачем нужны сервера
Понятие «Сервер» имеет множество определений, смотря с какой стороны посмотреть. В этом курсе сервером я называю компьютер на котором работают серверные приложения, которые получают запросы от клиентских приложений и выполняют какие-то действия.
Серверных приложений много и решать они могут разные задачи, например:
- файловый сервер — хранит файлы пользователей и позволяет по сети получать доступ к этим файлам;
- почтовый сервер — позволяет отправлять и принимать почту, а также хранит её. Обычно в качестве клиентских программ выступают почтовые клиенты, например Outlook, Thunderbird и другие;
- веб сервер — хранит сайты и позволяет просматривать их с помощью веб браузеров;
- сервер IP Телефонии — позволяет организовать офисную телефонию, а в качестве клиентов выступают IP телефоны;
- 1Ссервер — позволяет работать клиентским приложениям 1С. А сам этот сервер работает с сервером баз данных для хранения там своих баз;
- сервер баз данных — служит для хранения баз данных. Такие сервера могут понадобятся, например web-сайтам или серверу 1С;
- существует еще много разных задач которые решают серверные приложения.
Где искать приложения для Linux сервера
Для Windows приложения обычно скачиваются из интернета и устанавливаются. В Linux в принципе можно делать также, но есть более верный путь.
Обычно для каждой системы Linux создается свой репозиторий. Это такое хранилище программ, от куда можно их скачивать и устанавливать. При этом в официальных репозиториях эти программы протестированы и гарантировано работают.
Программы в репозиториях хранятся в так называемых пакетах. В таком пакете могут находиться сразу несколько исполняемых файлов (программ), их конфигурационные файлы и руководства.
Для установки таких пакетов из репозитория используют специальную программу «Пакетный менеджер«, с помощью него же можно и удалять приложения.
Как осуществляется настройка приложений?
После установки серверного приложения, его ещё нужно настроить. Так как, обычно, сервер на Linux не имеет графического интерфейса, то для настройки серверных приложений используются конфигурационные файлы. Это текстовые файлы, в которых прописаны настройки того или иного серверного приложения. После редактирования такого файла обычно нужно перезапустить это приложение, перезагружать же всю операционную систему Linux обычно не требуется.
Серверное приложение обычно запускается в системе как служба. Служба — это фоновая, не интерактивная программа, которая отвечает на запросы других программ (клиентов) через некоторый механизм (обычно по сети). Службу можно запускать, останавливать, перезапускать. При запуске службы происходит чтение её конфигурационных файлов, чтобы служба знала с какими настройками ей запускаться.
Получается, для работы с сервером на Linux нужно установить серверную программу из репозитория, настроить её используя конфигурационные файлы, и запустить службу этого приложения.
Администратору Linux сервера периодически приходится выполнять с ним какие-то действия. Например, создать новый почтовый ящик для нового сотрудника, если это почтовый сервер. Некоторые из этих действий требуют перезапуск службы, а некоторые нет.
Командная строка
Вся работа с сервером обычно происходит в командной строке. Там системный администратор редактирует конфигурационные файлы, запускает и останавливает службы и т.д.
Для удаленного подключения к командной строке сервера используется протокол SSH и одноименный сервер. Установив ssh сервер на Linux сервер, и ssh клиент себе на компьютер, системный администратор может управлять сервером со своего рабочего места по сети. SSH клиент может работать как на Linux, так и на Windows и даже на Android.
В этом курсе мы будем изучать администрирование GNU/Linux серверов на базе дистрибутивов Debian 11 bullseye и Ubuntu 22.04 LTS (Jammy Jellyfish). Работать будем только в командной строке подключаясь к серверу по SSH.
Linux server administration
Linux server administration is one of the server administration learning projects. Linux server administration studies the use of the Linux operating system as an all purpose server.
Contents
What is Linux? [ edit | edit source ]
Linux, or GNU/Linux, refers to any Unix-like computer operating system which uses the Linux kernel. It is one of the most prominent examples of open source development and free software as well as user generated software; its underlying source code is available for anyone to use, modify, and redistribute freely. See the Linux article at Wikipedia for much more information
Choosing a distribution [ edit | edit source ]
Linux distributions are available in a very wide variety. Choosing only one is a difficult task. Popular examples that have been around for a while are
Others like Knoppix offers live CD experience. See the Comparison of Linux distributions at Wikipedia for an exhaustive list
NOTE: Wikiversity runs from Wikimedia servers using several distributions including Red Hat Enterprise Linux and Ubuntu.
A curriculum for the Linux users and administrators [ edit | edit source ]
This is for future contributers to add to and develop.
Level 1 : Introduction to Linux
- What is Linux?
- How Linux Began and Origins of Linux
- The GNU Project
- Platforms, Applications & Distributions
- Linux Resources
- Minimum System Requirements
- The Fedora Project
- Red Hat Linux 7,8,9 vs. Enterprise 3.x
- Chapter 1 Review
Level 2 : Linux Installation
- Is Your Hardware Compatible?
- System Requirements Table
- Initiating an Installation
- Hard Disk Management: fdisk, linux/mdadm, disk usage, blkid, lsblk
- Selecting an Installation Method
- Virtual Consoles
- Initiation Installation from Boot Media
- Welcome Screen and Boot Options
- Language Selection
- Keyboard & Mouse Configuration
- Installation Type Options
- Disk Partitioning Setup
- Boot Loader Configuration
- Network Configuration
- Firewall Configuration
- Language Support Selection
- Time Zone Configuration: NTP services
- Root Password Configuration
- Authentication Configuration
- Desktop Configuration
- Demo — Fedora Installation
- Directory structure[1]
- Chapter 2 Review
Level 3 : Package Managers: Red Hat Package Manager «RPM»
- What is RPM?
- Demo — Reflection X
- Downloading RPM’s
- RPM’s 5 Modes of Operation
- Installing with RPM
- Installation Errors/Remedies
- Uninstalling Packages
- Upgrading RPM’s
- Freshening RPM’s
- Querying RPM’s
- Verifying RPM’s
- Additional RPM Resources
- Other package management systems: dpkg, apt, yum
- Chapter 3 Review
Level 4 : Managing Users
- Linux User Types
- Adding Users
- Usernames
- Passwords
- User Home Directories
- UID and GID
- User Groups
- User Primary vs. Private Groups
- Sharing
- Files Built When Users are Created
- Files Checked by Bash
- Activating the User Manager GUI
- System Created Users & Groups
- Command Line User Deletion
- Chapter 4 Review
Level 5 : Partitioning and Filesystems
- Devices & Device Nodes
- IDE Devices
- SCSI Devices
- IDE Device Naming
- SCSI Chain
- Filesystem Management Commands
- Partition Planning
- Partition Types
- Supported Filesystems
- Creating Filesystems
- Files: (touch (command))
- Formatting devices: Floppies / USB
- More Filesystem Details
- Link Count
- Mounting Filesystems
- Unmounting Filesystems
- Mount Command Options
- Mounting Remote Filesystems
- fstab File
- Swap Space
- Special Case: Swap
- Special Case: Automounter
- Quotas
- Maintenance & Repair
- Adding a New Hard Drive
- Recovering a Partition
- LVM and ZFS
- Demo -fstab File
- Chapter 5 Review
Level 7 : Startup and Shutdown
- The Boot Process
- Run Levels
- Configuring Process Fields
- Inittab Example
- In The Beginning.Init
- The /etc/rc.d Directory
- /etc/rcX.d Script Sequencing
- Processes: ps and pstree utils
- Stop & Stop Services: systemd
- The /etc/rc.d/rc.local File
- Shutting Down Properly
- Methods of Rebooting
- Booting into Single-User Mode
- Creating a Boot Diskette
- Demo — Startup & Shutdown Procedures
- Chapter 7 Review
Level 8 : Compiling the Kernel
- What is the Linux Kernel?
- Why Compile the Kernel?
- Before You Get Started
- Four Kernel Upgrade Paths
- Check Your Tool Kit
- 4 Stages to Compile the Kernel
- Patching the Kernel
- Demo — Manually Compile the Kernel
- Chapter 8 Review
- 2 Major Scheduling Daemons
- crontab command
- The /etc/crontab File
- Simple /etc/crontab Example
- Complex /etc/crontab Example
- An actual /etc/crontab file
- Sample /etc/cron.daily/ directory
- Use /etc/cron.allow or /etc/cron.deny
- Starting & Stopping cron
- The at Command
- Anacron
- Starting & Stopping Anacron
- Sample /etc/anacrontab File
- Demo — Scheduling
- Chapter 9 Review
Level 10 : Basic Networking Concepts
- Platform Compatibility
- Physical Network Support
- Protocol Suite Support
- Network Device Names
- Network Kernel Modules
- ifconfig Command
- ifup & ifdown Scripts
- Interface Configuration
- Non-root User Control
- Multiple IP’s on a Single Interface
- Client DHCP/BOOTP
- Global Parameters
- Configuration Utilities
- Network Tools
- Demo — Reconfigure Network Information
- Demo — Sysconfig Directory
- Chapter 10 Review
- Linux Printing over the Last 2 Years
- Setup Printing
- Common Unix Printing System «CUPS»
- Printing Flow in a CUPS Environment
- CUPS Browser Interface
- Linux-Supported Printers
- Printer Configuration Tools
- User Command Interface
- Starting & Stopping Printing Services
- lpr Examples
- lpq Examples
- lprm Examples
- lpc Usage
- Printing from Linux Applications
- redhat-config-printer
- Availability
- Troubleshooting Printing
- Chapter 11 Review
Level 12 : Linux Security
- Basic Levels of Security
- Physical Security
- Grub Security
- User-based Security
- User Accounts & Patterns
- Typical User No-No’s
- Delegating Root Authority
- Password Security
- Pluggable Authentication Modules «PAM»
- Permissions
- File and directory permissions
- Controlling Permissions
- Files & Filesystem Security
- Filesystem Monitoring
- Avoiding Trojan Horses
- Encryption
- Introduction to iptables: filters and SNAT/DNAT
- hardening[2]
- Response Strategies
- Demo — Base Permissions
- Chapter 12 Review
Level 13 : Popular Linux Services
- SAMBA Naming, overview and components
- Exploring/Browsing Directories
- Browsing Resources with Linux Commands
- Letting Linux Use a Windows Printer
- Official SAMBA Website
- Web Servers:
- Apache Web Server: Naming confusion and configuration files
- Nginx
Level 14 : Operation and Monitoring
See also [ edit | edit source ]