Инсталиране и конфигуриране на Ubuntu компоненти: Пълно ръководство
Ubuntu остава един от най-популярните Linux дистрибутиви в света — и с добра причина. Неговата гъвкавост, мощна екосистема от пакети и силна поддръжка на общността го правят идеална платформа за разработчици, системни администратори и бизнеси. Независимо дали настройвате локална машина за разработка или предоставяте VPS Hosting среда в облака, знанието как правилно да инсталирате и конфигурирате Ubuntu компоненти е основно умение, което носи дивиденти на всяко ниво на вашата инфраструктура.
Този всеобхватен водач ви преведе през всяка критична стъпка: актуализиране на вашата система, инсталиране на основни пакети, конфигуриране на защитни стени, настройване на сървъри за бази данни, оптимизиране на производителност и много повече. В края вашата Ubuntu система ще бъде закалена, ефективна и готова за производствени работни натоварвания.
Съдържание
- Актуализиране на Ubuntu преди инсталиране на нещо
- Инсталиране на основни компоненти
- Конфигуриране на хранилища за софтуер
- Инсталиране и конфигуриране на защитна стена с UFW
- Инсталиране и конфигуриране на сървъри за бази данни
- Инсталиране на допълнителни инструменти и помощни програми
- Персонализиране на системни настройки на Ubuntu
- Настройване на автоматизирани резервни копия
- Мониторинг на системата и оптимизиране на производителност
- Финални съвети за Ubuntu система, готова за производство
1. Актуализиране на Ubuntu преди инсталиране на нещо
Преди да докоснете един пакет, винаги приведете вашата система в пълна актуалност. Това гарантира, че работите с най-новите пачове за сигурност, поправки на грешки и подобрения на съвместимостта на софтуера.
sudo apt update && sudo apt upgrade -yКакво прави това:
apt update— Обновява локалния индекс на пакети от всички конфигурирани хранилища.apt upgrade -y— Надстройва всички инсталирани пакети до техните най-новите налични версии, автоматично потвърждавайки подсказки.
> Професионален съвет: На наскоро предоставен сървър — особено ако работите Ubuntu на Dedicated Server — тази стъпка е неоспорима. Остарелите пакети са един от най-честите вектори за нарушения на сигурността.
След надстройване, рестартирайте, ако ядрото е било актуализирано:
sudo reboot2. Инсталиране на основни компоненти
Мощта на Ubuntu се крие в неговата разширяемост. Следните подсекции обхващат най-критичните пакети за всяко сериозно развертаване на Ubuntu.
2.1. Build Essentials
Пакетът build-essential инсталира кураторски набор от инструменти, необходими за компилиране на софтуер от източник, включително GCC (GNU Compiler Collection), Make и стандартни C/C++ библиотеки.
sudo apt install build-essential -yПроверете инсталацията:
gcc --version
make --versionТози пакет е предпоставка за много други инструменти и среди за изпълнение на езици (например Python разширения, Ruby gems, Node.js нативни модули).
2.2. Git — система за контрол на версиите
Git е индустриалният стандартен инструмент за управление на изходния код, съвместна разработка и тръбопроводи за развертаване.
sudo apt install git -yСлед инсталиране конфигурирайте вашата глобална идентичност:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"Проверете вашата конфигурация:
git config --listОпционално, но препоръчано: Задайте вашето име на клон по подразбиране на main за съответствие със съвременните конвенции:
git config --global init.defaultBranch main2.3. Мрежови инструменти: curl и wget
Тези помощни програми са незаменими за изтегляне на файлове, тестване на API и отстраняване на неизправности на мрежовата свързаност директно от командния ред.
sudo apt install curl wget -yПримери за бързо използване:
# Download a file with wget
wget https://example.com/file.tar.gz
# Test an API endpoint with curl
curl -I https://example.comДопълнителни полезни инструменти за диагностика на мрежата:
sudo apt install net-tools dnsutils traceroute -ynet-tools— Предоставяifconfig,netstatи свързани команди.dnsutils— Включваdigиnslookupза отстраняване на неизправности на DNS.traceroute— Проследява мрежовия път до отдалечен хост.
2.4. Текстови редактори
Всеки системен администратор се нуждае от надежден текстов редактор от командния ред. Ubuntu поддържа няколко опции в зависимост от вашите предпочитания и работния процес.
Nano (начинаещи-приятелски):
sudo apt install nano -yVim (мощен, силно конфигурируем):
sudo apt install vim -yEmacs (богат на функции, разширяем):
sudo apt install emacs -y> Препоръка: За сървърни среди, Vim е най-универсално достъпната и способна опция. Инвестирайте време в изучаване на неговите основни команди — това значително ще ускори вашия работен процес.
2.5. Инсталиране на уеб сървър
Уеб сървърът е от съществено значение за хостване на уебсайтове, уеб приложения и API. Двата доминиращи избора на Ubuntu са Nginx и Apache.
#### Инсталиране на Nginx (препоръчано за висока производителност)
sudo apt install nginx -yСтартирайте и активирайте Nginx за автоматично стартиране при зареждане:
sudo systemctl start nginx
sudo systemctl enable nginxПроверете дали работи:
sudo systemctl status nginxТествайте вашата конфигурация преди преизтегляне:
sudo nginx -t#### Инсталиране на Apache
sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2Nginx срещу Apache — кой трябва да изберете?
| Функция | Nginx | Apache |
|---|---|---|
| Производителност под натоварване | Отлична (управлявана от събития) | Добра (базирана на процес/нишка) |
| Обслужване на статични файлове | Много бързо | Бързо |
| Поддръжка на .htaccess | Не | Да |
| Екосистема на модули | Растяща | Обширна |
| Използване на памет | По-ниско | По-високо |
За повечето съвременни развертавания — особено в облачни VPS Hosting среди — Nginx е предпочитаният избор поради неговото превъзходно управление на едновременни свързания и по-нисък отпечатък на памет.
3. Конфигуриране на хранилища за софтуер
Инсталацията на Ubuntu по подразбиране активира само хранилищата Main и Restricted. За достъп до значително по-широк диапазон от софтуер, трябва да активирате хранилищата Universe и Multiverse.
Метод 1: Използване на GUI (Desktop Ubuntu)
- Отворете Software & Updates от менюто на приложенията.
- Под раздела Ubuntu Software, отметнете полетата за Universe и Multiverse.
- Щракнете Close и преизтеглете списъка на пакетите, когато е подсказано.
Метод 2: Използване на командния ред (препоръчано за сървъри)
sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo apt updateПреглед на хранилищата:
| Хранилище | Съдържание |
|---|---|
| Main | Официално поддържан софтуер с отворен код |
| Restricted | Собствени драйвери с официална поддръжка |
| Universe | Софтуер с отворен код, поддържан от общността |
| Multiverse | Софтуер с ограничения на лицензирането |
Добавяне на PPA от трети страни
За софтуер, който не е налице в официалните хранилища, можете да добавите Personal Package Archives (PPA):
sudo add-apt-repository ppa:repository-name/ppa
sudo apt update
sudo apt install package-name> Забележка за сигурност: Добавяйте само PPA от доверени, добре известни източници. Хранилищата от трети страни могат да въведат непроверен софтуер в вашата система.
4. Инсталиране и конфигуриране на защитна стена с UFW
Ubuntu идва с UFW (Uncomplicated Firewall), удобен интерфейс за iptables. Правилното конфигуриране на вашата защитна стена е един от най-важните стъпки за сигурност за всеки сървър, достъпен от интернет.
Активиране на UFW
sudo ufw enableРазрешаване на основни услуги
Винаги разрешавайте SSH преди активиране на защитната стена, за да избегнете блокиране на себе си:
sudo ufw allow sshИли посочете портът изрично:
sudo ufw allow 22/tcpРазрешаване на HTTP и HTTPS трафик за уеб сървъри:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpРазрешаване на специфични профили на приложения:
sudo ufw allow 'Nginx Full'
# or
sudo ufw allow 'Apache Full'Проверка на статуса на защитната стена
sudo ufw status verboseДопълнителни команди на UFW
# Deny a specific port
sudo ufw deny 8080/tcp
# Delete a rule
sudo ufw delete allow 8080/tcp
# Reset all rules
sudo ufw reset
# Disable UFW
sudo ufw disable> Най-добра практика: Следвайте принципа на най-малкия привилегий — отворете само портове, които са изрично необходими за вашите услуги. Всеки ненужен отворен порт е потенциална повърхност за атака.
5. Инсталиране и конфигуриране на сървъри за бази данни
Базите данни са гръбнака на практически всяко уеб приложение. Ubuntu поддържа всички основни релационни и NoSQL системи за бази данни чрез своите хранилища на пакети.
5.1. Инсталиране на MySQL
MySQL е най-широко развернатата система за управление на релационни бази данни с отворен код в света.
sudo apt install mysql-server -yСлед инсталиране, стартирайте скрипта за закаляване на сигурността:
sudo mysql_secure_installationТози интерактивен скрипт ще:
- Задайте парола на root (или проверете силата на паролата)
- Премахнете анонимни потребители
- Забранете отдалечено влизане на root
- Премахнете тестовата база данни
- Преизтеглете таблици с привилегии
Стартирайте и активирайте MySQL:
sudo systemctl start mysql
sudo systemctl enable mysqlПроверете дали услугата работи:
sudo systemctl status mysqlСвържете се към обвивката на MySQL:
sudo mysql -u root -p5.2. Инсталиране на MariaDB (съвместима с MySQL алтернатива)
MariaDB е разработена от общността разклонение на MySQL с подобрена производителност и допълнителни функции:
sudo apt install mariadb-server mariadb-client -y
sudo mysql_secure_installation
sudo systemctl enable --now mariadb5.3. Инсталиране на PostgreSQL
PostgreSQL е мощна, система за управление на обектно-релационни бази данни на ниво предприятие, известна със своята съответствие със стандартите и разширяемост.
sudo apt install postgresql postgresql-contrib -yСтартирайте и активирайте PostgreSQL:
sudo systemctl start postgresql
sudo systemctl enable postgresqlПреминете към административния потребител на PostgreSQL и отворете обвивката:
sudo -i -u postgres
psqlСъздайте нова база данни и потребител:
CREATE DATABASE myapp_db;
CREATE USER myapp_user WITH ENCRYPTED PASSWORD 'strong_password';
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO myapp_user;
q6. Инсталиране на допълнителни инструменти и помощни програми
Отвъд основите, следните инструменти драматично подобряват вашата производителност, видимост на системата и възможности за развертаване.
Docker — контейнерна среда за изпълнение
Docker ви позволява да пакетирате приложения и техните зависимости в преносими контейнери, гарантирайки съответствие в развитие, подготовка и производствени среди.
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable dockerДобавете вашия потребител към групата Docker, за да стартирате команди без sudo:
sudo usermod -aG docker $USER
newgrp dockerПроверете дали Docker работи:
docker run hello-worldЗа производствени развертавания, помислете да инсталирате и Docker Compose:
sudo apt install docker-compose -yhtop — интерактивен преглед на процесите
htop предоставя преглед на процесите в реално време, цветно кодиран, на използване на CPU, потребление на памет и много повече — далеч по-добро от стандартната команда top.
sudo apt install htop -y
htopКлючови преки пътища на htop:
F6— Сортирайте процесите по колонаF9— Убийте процесF10— Изход/— Потърсете процес
Tmux — мултиплексор на терминала
Tmux ви позволява да създавате, управлявате и запазвате множество сесии на терминала в един SSH връзка — безценно за дълготрайни задачи на отдалечени сървъри.
sudo apt install tmux -yОсновни команди на Tmux:
# Start a new session
tmux new -s mysession
# Detach from session (keeps it running)
Ctrl+B, then D
# List all sessions
tmux ls
# Reattach to a session
tmux attach -t mysessionДопълнителни препоръчани помощни програми
# fail2ban — Intrusion prevention system
sudo apt install fail2ban -y
# unzip — Extract ZIP archives
sudo apt install unzip -y
# tree — Display directory structure
sudo apt install tree -y
# ncdu — Disk usage analyzer
sudo apt install ncdu -y
# jq — JSON processor for the command line
sudo apt install jq -y7. Персонализиране на системни настройки на Ubuntu
7.1. Активиране на автоматични актуализации на сигурност
Поддържането на вашата система с пачове е критично — особено на публично достъпни сървъри. Пакетът unattended-upgrades на Ubuntu автоматизира този процес.
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgradesЗа персонализиране на поведението, редактирайте файла на конфигурацията:
sudo nano /etc/apt/apt.conf.d/50unattended-upgradesКлючови настройки за преглед:
Unattended-Upgrade::Allowed-Origins— Определете кои хранилища активират автоматични актуализации.Unattended-Upgrade::Automatic-Reboot— Задайте наtrueза разрешаване на автоматични рестартирания след актуализации на ядрото.Unattended-Upgrade::Mail— Конфигурирайте имейл известия за активност на актуализирането.
7.2. Управление на приложения при стартиране (Desktop Ubuntu)
Контролирането кои приложения се стартират при влизане помага да намалите времето за зареждане и да спестите системни ресурси.
- Потърсете Startup Applications в менюто на приложенията на GNOME.
- Прегледайте списъка на активирани програми при стартиране.
- Изключете всички приложения, които не се нуждаете при влизане.
- Използвайте бутона Add за регистриране на нови скриптове за стартиране или приложения.
За сървърни среди, управлявайте услуги с systemd:
# Disable a service from starting at boot
sudo systemctl disable service-name
# Enable a service at boot
sudo systemctl enable service-name
# List all enabled services
sudo systemctl list-unit-files --state=enabled7.3. Конфигуриране на часовата зона на системата
Правилното конфигуриране на часовата зона е от съществено значение за точност на дневниците, планирани задачи и валидиране на SSL сертификати.
# Check current timezone
timedatectl
# List available timezones
timedatectl list-timezones
# Set timezone
sudo timedatectl set-timezone Europe/London7.4. Конфигуриране на SSH за безопасен отдалечен достъп
Ако управлявате отдалечен сървър, закаляването на вашата SSH конфигурация е от първостепенна важност.
sudo nano /etc/ssh/sshd_configПрепоръчани настройки за сигурност:
# Disable root login
PermitRootLogin no
# Disable password authentication (use SSH keys instead)
PasswordAuthentication no
# Change default SSH port (optional but reduces automated scanning)
Port 2222
# Limit login attempts
MaxAuthTries 3След направени промени, рестартирайте SSH:
sudo systemctl restart sshd> Важно: Винаги тествайте вашата нова SSH конфигурация в отделна сесия на терминала преди да затворите текущата си връзка, за да избегнете блокиране на себе си.
8. Настройване на автоматизирани резервни копия
Загубата на данни е катастрофална. Независимо дали работите личен проект или критично приложение за бизнеса, автоматизирани резервни копия са неоспорими.
Използване на вградения инструмент за резервно копие на Ubuntu (Desktop)
- Потърсете Backups (Déjà Dup) в менюто на приложенията.
- Конфигурирайте вашата дестинация за резервно копие: външен диск, мрежова папка или облачно хранилище.
- Задайте график за резервно копие под раздела Scheduling.
- Активирайте Automatic Backup и конфигурирайте периоди на запазване.
Резервно копие от командния ред с rsync (препоръчано за сървъри)
rsync е золотият стандарт за ефективни, инкрементални резервни копия на файлове на Linux сървъри.
# Basic local backup
rsync -avz /source/directory/ /backup/destination/
# Remote backup over SSH
rsync -avz -e ssh /local/directory/ user@remote-server:/backup/path/
# Exclude specific directories
rsync -avz --exclude='*.log' --exclude='tmp/' /source/ /destination/Автоматизиране на резервни копия с Cron
crontab -eДобавете дневна работа за резервно копие в 2:00 AM:
0 2 * * * rsync -avz /var/www/ /backup/www/ >> /var/log/backup.log 2>&1Най-добри практики за резервно копие
- Следвайте правилото 3-2-1: 3 копия на данни, на
