Зміст
Передача файлів у мережі здійснюється завдяки правильно налаштованому FTP-серверу. Такий протокол працює із застосуванням TCP по архітектурі клієнт-сервер і задіє різні мережеві з'єднання для забезпечення передачі команд між підключеними вузлами. Користувачі, які підключилися до певного хостингу, стикаються з потребою налаштування особистого FTP-сервера за вимогами компанії, що надає послуги забезпечення роботи сайту або іншого забезпечення. Далі ми продемонструємо, як створюється такий сервер в Linux на прикладі однієї з утиліт.
Створення FTP-сервера в Linux
Сьогодні ми будемо використовувати інструмент під назвою VSftpd. Переваги такого FTP-сервера в тому, що він за замовчуванням працює на багатьох ОС, обслуговує офіційні репозиторії різних дистрибутивів Linux і відносно просто налаштовується для коректного функціонування. До слова, на ядрі Лінукс офіційно застосовується саме цей FTP, і багато хостинги рекомендують ставити vsftpd. Тому давайте звернемо увагу на покроковий процес інсталяції та налаштування необхідних компонентів.
Крок 1: Встановлення VSftpd
За замовчуванням всіх потрібних бібліотек VSftpd в дистрибутивах немає, тому їх потрібно вручну завантажити через консоль. Здійснюється це наступним чином:
- Відкрийте &171;Термінал&187; будь-яким зручним методом, наприклад, через меню.
- Власникам версій Debian або Ubuntu потрібно прописати команду
sudo apt-get install vsftpd
. CentOS, Fedora &8212;yum install vsftpd
, а для Gentoo & 8212;emerge vsftpd
. Після введення натисніть на Enter , щоб запустити процес інсталяції. - Підтвердьте наявність прав у свого облікового запису, вказавши відповідний пароль.
- Очікуйте завершення додавання нових файлів до системи.
Звертаємо увагу власників CentOS, які задіють виділений віртуальний сервер від будь-якого хостингу. Вам буде потрібно провести оновлення модуля ядра ОС, оскільки без цієї процедури під час інсталяції відобразиться критична помилка. Послідовно вводите такі команди:
Yum update
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum install yum-plugin-fastestmirror
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-devel-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-doc-3.15.6-1.el7.elrepo.noarch.rpm
yum install kernel-ml-doc-3.15.6-1.el7.elrepo.noarch.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-headers-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-libs-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-devel-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-libs-devel-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum install perf-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/python-perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum install python-perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum --enablerepo=elrepo-kernel install kernel-ml
Після закінчення всієї цієї процедури запустіть будь-яким зручним чином конфігураційний файл /boot/grub/grub.conf
. Змініть його вміст таким чином, щоб в результаті наступні параметри мали відповідні значення:
Default=0
timeout=5
title vmlinuz-4.0.4-1.el7.elrepo.x86_64
root (hd0,0)
kernel /boot/vmlinuz-4.0.4-1.el7.elrepo.x86_64 console=hvc0 xencons=tty0 root=/dev/xvda1 ro
initrd /boot/initramfs-4.0.4-1.el7.elrepo.x86_64.img
Далі вам залишиться тільки перезавантажити виділений сервер і переходити до безпосередньої інсталяції FTP-сервера на комп'ютер.
Крок 2: початкове налаштування FTP-сервера
Разом з програмою на комп'ютер був завантажений її конфігураційний файл, відштовхуючись від якого і відбуватися функціонування FTP-сервера. Всі налаштування виконуються суто індивідуально за рекомендаціями хостингу або власними уподобаннями. Ми лише можемо показати, як відкривається цей файл і яким параметрам обов'язково слід приділити увагу.
- В операційних системах Debian або Ubuntu конфігураційний файл запускається так:
sudo nano /etc/vsftpd.conf
. У CentOS та Fedora це на шляху/etc/vsftpd/vsftpd.conf
, а в Gentoo & 8212;/etc/vsftpd/vsftpd.conf.example
. - У консолі або текстовому редакторі відобразиться сам файл. Тут зверніть увагу на зазначені нижче пункти. У вашому файлі конфігурації вони повинні мати однакові значення.
Anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES - Інше редагування здійснюйте самі, а після не забудьте зберегти зміни.
Крок 3: Додавання користувача з розширеними правами
Якщо ви збираєтеся працювати з FTP-сервером не через свою основну обліковий запис або хочете надати доступ іншим користувачам, створені профілі обов'язково повинні мати права суперкористувача, щоб при зверненні до утиліти VSftpd не виникало помилок з відмовою в доступі.
- Запустіть &171; Термінал & 187;
і введіть команду
sudo adduser user1
, де user1 &8212; ім'я нового облікового запису. - Задайте для нього пароль, після чого підтвердіть його. Крім цього, настійно рекомендуємо запам'ятати домашній каталог облікового запису, в подальшому може знадобитися звернення до нього через консоль.
- Заповніть основну інформацію &8212; повне ім'я, номер кімнати, номери телефонів та іншу інформацію, якщо потрібно.
- Після цього надайте користувачеві розширені права, ввівши команду
sudo adduser user1 sudo
. - Створіть для користувача окрему директорію під зберігання його файлів через
sudo mkdir /home/user1/files
. - Далі перейдіть до домашньої папки через
cd /home
і там зробіть нового користувача власником своєї директорії, ввівшиchown root:root /home/user1
. - Перезапустіть сервер після здійснення всіх змін
sudo service vsftpd restart
. Тільки в дистрибутиві Gentoo утиліта перезавантажується через/etc/init.d/vsftpd restart
.
Тепер ви можете виробляти всі необхідні дії на FTP-сервері від імені нового користувача, який володіє розширеними правами доступу.
Крок 4: налаштування брандмауера (лише для Ubuntu)
Користувачі інших дистрибутивів можуть сміливо пропустити цей крок, оскільки налаштування портів більше ніде не потрібно, лише в Ubuntu. За замовчуванням Firewall налаштований таким чином, що не пропустить вхідний трафік з потрібних нам адрес, тому буде потрібно дозволити його проходження вручну.
- У консолі по черзі активуйте команди
sudo ufw disable
іsudo ufw enable
, щоб перезапустити Firewall. - Додайте правила вхідних з'єднань за допомогою
sudo ufw allow 20/tcp
іsudo ufw allow 21/tcp
. - Перевірте, чи були застосовані введені правила, переглянувши статус фаєрвола
sudo ufw status
.
Окремо хочеться відзначити кілька корисних команд:
команди | опис |
---|---|
/etc/init.d/vsftpd start | аналіз конфігураційного файлу |
service vsftpd start | |
netstat -tanp | grep LISTEN | перевірка коректності установки FTP-сервера |
man vsftpd | виклик офіційної документації VSftpd для пошуку необхідної інформації стосовно роботи утиліти |
service vsftpd restart | перезавантаження сервера |
/etc/init.d/vsftpd restart |
Що стосується отримання доступу до FTP-сервера і подальшої роботи з ним, звертайтеся за отриманням цих даних до представників свого хостингу. У них же ви зможете уточнити інформацію з приводу тонкощів настройки і виникнення різного роду помилок.
На цьому стаття добігає кінця. Сьогодні ми розібрали процедуру установки сервера VSftpd без прив'язки до будь-якого хостингу, тому врахуйте це при виконанні наших інструкцій і порівнюйте їх з тими, що надає компанія, що містить Ваш віртуальний сервер. Крім усього, радимо ознайомитися з іншим нашим матеріалом, в якому розбирається тема установки компонентів lamp.
Читайте також: встановлення набору програм LAMP в Ubuntu