Передача файлів в мережі здійснюється завдяки правильно налаштованому FTP-сервера. Такий протокол працює із застосуванням TCP по архітектурі клієнт-сервер і задіє різні мережеві з'єднання для забезпечення передачі команд між підключеними вузлами. Користувачі, які підключилися до певного хостингу, стикаються з потребою настройки особистого FTP-сервера за вимогами компанії, що надає послуги забезпечення роботи сайту або іншого забезпечення. Далі ми продемонструємо, як створюється такий сервер в Linux на прикладі однієї з утиліт.
зміст
Сьогодні ми будемо використовувати інструмент під назвою VSftpd. Переваги такого FTP-сервера в тому, що він за замовчуванням працює на багатьох ОС, обслуговує офіційні репозиторії різних дистрибутивів Linux і відносно просто налаштовується для коректного функціонування. До слова, на ядрі Лінукс офіційно застосовується саме цей FTP, і багато хостинги рекомендують ставити VSftpd. Тому давайте звернемо увагу на покроковий процес інсталяції і настройки необхідних компонентів.
За замовчуванням всіх потрібних бібліотек VSftpd в дистрибутивах немає, тому їх потрібно вручну завантажити через консоль. Здійснюється це таким чином:
sudo apt-get install vsftpd
. CentOS, Fedora - yum install vsftpd
, а для Gentoo - 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-сервера на комп'ютер.
Разом з програмою на комп'ютер був завантажений її конфігураційний файл, відштовхуючись від якого і відбуватися функціонування FTP-сервера. Всі настройки виконуються суто індивідуально за рекомендаціями хостингу або власними уподобаннями. Ми лише можемо показати, як відкривається цей файл і якими параметрами обов'язково слід приділити увагу.
sudo nano /etc/vsftpd.conf
. У CentOS і Fedora він знаходиться по шляху /etc/vsftpd/vsftpd.conf
, а в Gentoo - /etc/vsftpd/vsftpd.conf.example
. anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
Якщо ви збираєтеся працювати з FTP-сервер не через свою основну обліковий запис або хочете надати доступ іншим користувачам, створені профілі обов'язково повинні мати права суперкористувача, щоб при зверненні до утиліти VSftpd не виникало помилок з відмовою у доступі.
sudo adduser user1
, де user1 - ім'я нового облікового запису. 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-сервері від імені нового користувача, який має розширені правами доступу.
Користувачі інших дистрибутивів можуть сміливо пропускати цей крок, оскільки настройка портів ніде більше не потрібно, тільки в 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
netstat -tanp | grep LISTEN
- перевірка коректності установки FTP-сервера; man vsftpd
- виклик офіційній документації VSftpd для пошуку необхідної інформації стосовно роботи утиліти; service vsftpd restart
або /etc/init.d/vsftpd restart
- перезавантаження сервера. Що стосується отримання доступу до FTP-сервера і подальшій роботі з ним, звертайтеся за отриманням цих даних до представників свого хостингу. У них же ви зможете уточнити інформацію з приводу тонкощів настройки і виникнення різного роду помилок.
На цьому стаття добігає кінця. Сьогодні ми розібрали процедуру установки сервера VSftpd без прив'язки до якого-небудь хостингу, тому врахуйте це при виконанні наших інструкцій і порівнюйте їх з тими, що надає компанія, яка містить ваш віртуальний сервер. Крім усього, радимо ознайомитися з іншим нашим матеріалом, в якому розбирається тема установки компонентів LAMP.
Читайте також: Установка набору програм LAMP в Ubuntu