15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало
31.10.2024
1 +1

Инсталиране и конфигуриране на Ubuntu компоненти: Пълно ръководство

Ubuntu остава един от най-популярните Linux дистрибутиви в света — и с добра причина. Неговата гъвкавост, мощна екосистема от пакети и силна поддръжка на общността го правят идеална платформа за разработчици, системни администратори и бизнеси. Независимо дали настройвате локална машина за разработка или предоставяте VPS Hosting среда в облака, знанието как правилно да инсталирате и конфигурирате Ubuntu компоненти е основно умение, което носи дивиденти на всяко ниво на вашата инфраструктура.

Този всеобхватен водач ви преведе през всяка критична стъпка: актуализиране на вашата система, инсталиране на основни пакети, конфигуриране на защитни стени, настройване на сървъри за бази данни, оптимизиране на производителност и много повече. В края вашата Ubuntu система ще бъде закалена, ефективна и готова за производствени работни натоварвания.

Съдържание

  1. Актуализиране на Ubuntu преди инсталиране на нещо
  2. Инсталиране на основни компоненти
  3. Конфигуриране на хранилища за софтуер
  4. Инсталиране и конфигуриране на защитна стена с UFW
  5. Инсталиране и конфигуриране на сървъри за бази данни
  6. Инсталиране на допълнителни инструменти и помощни програми
  7. Персонализиране на системни настройки на Ubuntu
  8. Настройване на автоматизирани резервни копия
  9. Мониторинг на системата и оптимизиране на производителност
  10. Финални съвети за Ubuntu система, готова за производство

1. Актуализиране на Ubuntu преди инсталиране на нещо

Преди да докоснете един пакет, винаги приведете вашата система в пълна актуалност. Това гарантира, че работите с най-новите пачове за сигурност, поправки на грешки и подобрения на съвместимостта на софтуера.

sudo apt update && sudo apt upgrade -y

Какво прави това:

  • apt update — Обновява локалния индекс на пакети от всички конфигурирани хранилища.
  • apt upgrade -y — Надстройва всички инсталирани пакети до техните най-новите налични версии, автоматично потвърждавайки подсказки.

> Професионален съвет: На наскоро предоставен сървър — особено ако работите Ubuntu на Dedicated Server — тази стъпка е неоспорима. Остарелите пакети са един от най-честите вектори за нарушения на сигурността.

След надстройване, рестартирайте, ако ядрото е било актуализирано:

sudo reboot

2. Инсталиране на основни компоненти

Мощта на 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 main

2.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 -y
  • net-tools — Предоставя ifconfig, netstat и свързани команди.
  • dnsutils — Включва dig и nslookup за отстраняване на неизправности на DNS.
  • traceroute — Проследява мрежовия път до отдалечен хост.

2.4. Текстови редактори

Всеки системен администратор се нуждае от надежден текстов редактор от командния ред. Ubuntu поддържа няколко опции в зависимост от вашите предпочитания и работния процес.

Nano (начинаещи-приятелски):

sudo apt install nano -y

Vim (мощен, силно конфигурируем):

sudo apt install vim -y

Emacs (богат на функции, разширяем):

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 apache2

Nginx срещу Apache — кой трябва да изберете?

ФункцияNginxApache
Производителност под натоварванеОтлична (управлявана от събития)Добра (базирана на процес/нишка)
Обслужване на статични файловеМного бързоБързо
Поддръжка на .htaccessНеДа
Екосистема на модулиРастящаОбширна
Използване на паметПо-нискоПо-високо

За повечето съвременни развертавания — особено в облачни VPS Hosting среди — Nginx е предпочитаният избор поради неговото превъзходно управление на едновременни свързания и по-нисък отпечатък на памет.

3. Конфигуриране на хранилища за софтуер

Инсталацията на Ubuntu по подразбиране активира само хранилищата Main и Restricted. За достъп до значително по-широк диапазон от софтуер, трябва да активирате хранилищата Universe и Multiverse.

Метод 1: Използване на GUI (Desktop Ubuntu)

  1. Отворете Software & Updates от менюто на приложенията.
  2. Под раздела Ubuntu Software, отметнете полетата за Universe и Multiverse.
  3. Щракнете 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 -p

5.2. Инсталиране на MariaDB (съвместима с MySQL алтернатива)

MariaDB е разработена от общността разклонение на MySQL с подобрена производителност и допълнителни функции:

sudo apt install mariadb-server mariadb-client -y
sudo mysql_secure_installation
sudo systemctl enable --now mariadb

5.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;
q

6. Инсталиране на допълнителни инструменти и помощни програми

Отвъд основите, следните инструменти драматично подобряват вашата производителност, видимост на системата и възможности за развертаване.

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 -y

htop — интерактивен преглед на процесите

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 -y

7. Персонализиране на системни настройки на 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)

Контролирането кои приложения се стартират при влизане помага да намалите времето за зареждане и да спестите системни ресурси.

  1. Потърсете Startup Applications в менюто на приложенията на GNOME.
  2. Прегледайте списъка на активирани програми при стартиране.
  3. Изключете всички приложения, които не се нуждаете при влизане.
  4. Използвайте бутона 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=enabled

7.3. Конфигуриране на часовата зона на системата

Правилното конфигуриране на часовата зона е от съществено значение за точност на дневниците, планирани задачи и валидиране на SSL сертификати.

# Check current timezone
timedatectl

# List available timezones
timedatectl list-timezones

# Set timezone
sudo timedatectl set-timezone Europe/London

7.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)

  1. Потърсете Backups (Déjà Dup) в менюто на приложенията.
  2. Конфигурирайте вашата дестинация за резервно копие: външен диск, мрежова папка или облачно хранилище.
  3. Задайте график за резервно копие под раздела Scheduling.
  4. Активирайте 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 копия на данни, на
15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало