Установка и настройка FTP сервера Linux. Настройка и использование FTP-сервера в Ubuntu Linux Установка и настройка vsftpd ubuntu


Это возможность передавать файлы с помощью file transfer protocol. Он используется для удобного обмена файлами по проводной и беспроводной местной сети. Этим локальный сервер может быть полезен как в работе, так и в домашних условиях. С использованием Ubuntu, FTP-сервер ещё более удобен, поскольку требует минимум сил и ресурсов для настройки и использования.

На базе Ubuntu можно установить ftp-сервер.


Протокол обмена файлами сегодня особенно часто используют для передачи собственных ресурсов на серверы в интернете, а также между доверенными компьютерами. Хорошо известные клиенты FTP для Windows, например, FileZilla, нацелены на взаимодействие двух компьютеров , обмен данными между которыми максимально прост и управляем.

Протокол строится на базе клиент-серверной логики. Это означает наличие двух технических сторон - клиента (чьи нужды обслуживаются) и сервера (который и обслуживает нужды). Подключение к серверу может выполняться как с помощью открытой аутентификации (логин и пароль), так и анонимно (если поддерживается). Несмотря на это, протокол ФТП слаб в отношении защиты, особенно по стандартам сегодняшнего дня. Однако в Ubuntu установка FTP может включать некоторые дополнительные стандарты защиты.

Переходим к практике. Демон Profpd

Для того чтобы установка FTP-сервера Ubuntu прошла удачно, мы используем так называемый «демон». Это программа, которая позволяет выполнять рутинные задачи, будучи запущенной в фоне. Демон, который нужен для FTP на Ubuntu - Proftpd. Его установка выполняется простой командой в Терминале :

«sudo apt-get install proftpd».

Когда установка будет завершена, потребуется обновить конфигурацию сервера и изменить базовые настройки. Это поможет конфигурировать процесс входа на сервер. Все нужные изменения требуется вносить в файле «/etc/proftpd/proftpd.conf». Его можно сразу открыть при помощи редактора nano.

Итак, настройка FTP-сервера Ubuntu началась. Прежде всего, изменим 2 нужных параметра.

В самый конец файла необходимо добавить строку:

«AuthUserFile /etc/proftpd/ftpd.passwd»

Именно в этом документе, который мы предложим вам добавить позднее, будут хранится основные параметры входа. Убираем символ комментария со строки «DefaultRoot» - «#». Теперь перейдём к правке файла «/etc/shells». В него нужно добавить строку «/bin/false». C помощью этих команд вы сможете добавлять новых пользователей в существующую группу:

«addgroup имя_пользователя группа», если вставить «имя_пользователя» = «ftp» и «группа» = «www-data», то становится возможным работать с файлами в «собственности» сервера.

Кроме того, установка FTP-сервера Ubuntu предусматривает команду «change owner»: «chown -R ftp:www-data». С её помощью можно сделать владельцем файлов пользователя «ftp». Группе пользователей «www-data» будет предоставлен групповой доступ к документам. Когда все настройки будут завершены, просто перезагрузите сервер:

«sudo /etc/init.d/proftpd restart»

Теперь нужно настраивать виртуальные учётные записи пользователей. Это необходимо делать по такой схеме:

«ftpasswd -passwd -file=/etc/proftpd/ftpd.passwd -name=(имя пользователя) -shell=/bin/false -home=/var/www/html -uid=(ID пользователя, можно узнать по команде «id ftp») -gid=(ID группы, допустим для группы «www-data» – 33)

«sudo nano /etc/dhcp3/dhcpd.conf»

В него нужно записать следующее:

«#Имя домена (внутренного).
option domain-name “имя_домена”;
#DNS сервер на подключаемом ПК.
option domain-name-servers IP_адрес;
#С этой строки нужно убрать комментарий «#».
authoritative;
#Желаемые данные подсети для сервера.
subnet 192.168.0.0 netmask 255.255.255.0 {
#Диапазон выдачи адресов.
range IP_адрес IP_адрес;
#Роутер с выходом в интернет. option routers IP_адрес;
#Загружаемый при начальной загрузке в сети файл.
filename = “tftp/pxelinux.0”;

Теперь осталось только перезагрузить DHCP-сервер:

«sudo /etc/init.d/dhcp3-server restart».

Как видите, настройка FTP-сервера Ubuntu не требует особых технических навыков. Кроме того, она довольно проста в исполнении для каждого, кто работал в Linux.

В завершение

В этой статье мы подробно и детально рассмотрели, как установить FTP-сервер на Ubuntu, а также уделили внимание настройке TFTP-сервера. Эти инструменты - прекрасный образец того, насколько Убунту гибка и функциональна. Если у вас всё же появились вопросы по её использованию и настройке - не стесняйтесь задавать их в комментариях к этой статье. А также читайте другие материалы на страницах нашего сайта.

Н а этом уроке мы покажем вам установку и настройку VSFTPD на в . VSFTPD является аббревиатурой от очень безопасного протокола передачи файлов Daemon. Это бесплатный и с открытым исходным кодом, быстрый, стабильный, легкий и очень безопасный FTP – сервер для операционных систем Unix и Linux, установленных в соответствии с GNU General Public License. VSFTPD является одним из наиболее часто используемых FTP – серверов для Linux и используется в качестве FTP – сервера по умолчанию в некоторых из самых больших дистрибутивах, таких как , Fedora, Ubuntu, NimbleX, Slackware и RHEL.

Для того чтобы установить VSFTPD на вашем сервере Ubuntu 16.04, вы должны войти через SSH как пользователь root

Ssh root@IP_address

Прежде всего, убедитесь, что все установленные пакеты находятся в актуальном состоянии

Apt-get update && apt-get upgrade

Все, что вам нужно сделать, чтобы установить VSFTPD на вашем Ubuntu 16.04 VPS, это выполнить следующую команду в вашем терминале Linux

Apt-get -y install vsftpd

После того, как он будет успешно установлен, мы должны внести некоторые изменения в его конфигурацию. Откройте файл /etc/vsftpd.conf, найдите и измените следующие строки:

Vim /etc/vsftpd.conf # Контроль анонимного вход, разрешен или нет. anonymous_enable=NO # Локальные пользователи для входа в систему local_enable=YES # Набор "write_enable", для того, чтобы разрешить изменения в файловой системы write_enable=YES # включить отправку в ASCII (для предотвращения загрузки скриптов и т. д. от взлома), # без риска Осн размера и скачивания в формате ASCII. ASCII должен быть # на клиенте в любом случае.. ascii_upload_enable=YES ascii_download_enable=YES # Можно задать корневой каталог для пользователей FTP. Если не указано, домашний каталог пользователя равен корневому каталогу FTP local_root=public_html

Сохраните файл конфигурации и перезапустите FTP-сервер для того, чтобы изменения вступили в силу

Systemctl restart vsftpd

Установите VSFTPD на автоматический запуск при загрузке системы

Systemctl enable vsftpd

Вы можете найти список всех опций в файле конфигурации на http://vsftpd.beasts.org/vsftpd_conf.html

Корневые логин по умолчанию отключен в VSFTPD по соображениям безопасности. Для того, чтобы получить доступ к своему FTP-сервер, вам придется создать нового пользователя системы

Adduser FTPUSER

Где FTPUSER это имя пользователя, которого вы хотите создать. Вам будет предложено ввести новый пароль для нового пользователя и несколько дополнительных сведений, таких как полное имя пользователя, номер телефона, и т.д.. Пожалуйста, обратите внимание, что очень важно всегда использовать для учетных записей. Лучше всего использовать комбинацию букв и цифр и не менее 10 символов.

Теперь, как только ваш FTP-сервер и установлен и настроен, и создается новый пользователь FTP, вы можете получить доступ к FTP-серверу с помощью вновь созданного пользователя с помощью терминала, веб-браузер или с помощью клиента FTP, такие как FileZilla.

FTP (File Transfer Protocol) – протокол передачи файлов. Протокол FTP позволяет передавать и скачивать файлы с сервера. На сегодняшний день данный протокол не является особо популярным, так как он не поддерживает шифрование данных. Вместо FTP используют протокол SFTP (передача данных по SSH), а также протокол SCP . В этой статье рассмотрена настройка обычного FTP-сервера на базе Ubuntu.

Протокол FTP работает в режиме клиент-сервер. Сервер постоянно слушает запросы от удаленных клиентов на 21 порту. При получении запроса он управляет входом и устанавливает соединение. На протяжении сессии сервер выполняет любые команды, переданные клиентом FTP. В качестве протокола транспортного уровня используется TCP. Для передачи данных FTP использует два типа соединения:

  1. Управляющее соединение (порт 21)
  2. Соединение данных (в активном режиме порт 20, в пассивном любой порт больше 1024)

Разделение на управляющее соединение и соединение для передачи данных является эффективным. Это позволяет передавать команды и файлы независимо друг от друга.

FTP поддерживает два типа аутентификации:

  1. Анонимный (логин ftp или anonymous, пароль – электронная почта)
  2. Авторизованный (логин и пароль у каждого пользователя свой)

При работе по протоколу FTP между клиентом и сервером может быть установлено два режима: активный и пассивный. Управляющее соединение одинаково для Активного и Пассивного режима. Клиент инициирует TCP-соединение с динамического порта (1024 – 65535) к порту номер 21 на FTP-сервере, после чего происходит аутентификация. Дальнейшие действия зависят от того какой режим выбран.

В активном режиме, после аутентификации, клиент сообщает серверу также номер своего порта (из динамического диапазона 1024 – 65535) для того, чтобы сервер мог подключиться к клиенту для установки соединения передачи данных. FTP-сервер подключается к заданному номеру порта клиента используя со своей стороны номер TCP-порта 20 для передачи данных.

В пассивном режиме, после аутентификации, сервер сообщает клиенту номер TCP-порта (из динамического диапазона 1024 – 65535), к которому можно подключиться для установки соединения передачи данных.

Таким образом, в активном режиме инициатором соединения является сервер, так как он подключается к клиенту. В пассивном режиме инициатор соединения – клиент.

Активный режим “вреден” для клиента в том плане, что когда к нему по случайному порту подключается сервер, такое соединение будет скорее всего блокировано брандмауэром на стороне клиента. Таким образом, необходимо открывать порты на стороне клиента, что приводит к “дырам” в безопасности. С другой стороны, для сервера такой режим будет полезен, так как для передачи данных используется общеизвестный порт 20.

Пассивный режим “вреден” в свою очередь для сервера, но “выгоден” для клиента. Клиент будет делать оба соединения к серверу, но одно из них будет к случайному высокому порту, такое соединение будет блокировать брандмауэром на стороне сервера.

Пассивный режим используется, как правило, когда между клиентом и сервером находится межсетевой экран.

Наиболее популярные команды FTP:

Команда Описание
USER Указать имя пользователя
PASS Указать пароль
LIST Просмотр содержимого каталога
CWD Смена текущего каталога
RETR Передать файл с сервера на клиент
STOP Передать файл с клиента на сервер
TYPE Установить режим передачи
DELE Удалить файл
MDK Создать каталог
RMD Удалить каталог
PASV Использовать пассивный режим
QUIT Выход и разрыв соединения

FTP имеет три режима передачи:

  1. Поточный – непрерывная передача данных в виде потока (без обработки, обработка выполняется TCP)
  2. Блочный – FTP делит данные на блоки (заголовок, поле данных, размер файла в байтах) и передает их TCP
  3. Режим сжатия единым алгоритмом

FTP-сервер – “библиотека” файлов на хостинге, используется для хранения файлов разных форматов. Самые популярные ftp-сервера это vsftpd и proftpd. FTP-сервера нужны для того, чтобы размещать на них для публичного и приватного скачивания больших объемов данных. Часто сервера используются для анонимного (гостевого) доступа к размещенным в открытом виде дистрибутивов ПО, музыки и фото. Доступ для анонимов позволяет, как правило, только просматривать каталоги и скачивать необходимую информацию, но на некоторых серверах наоборот – есть спецкаталоги, куда любой пользователь может загрузить файл для совместного пользования.

При неанонимном доступе возможностей больше, но они ограничены тем каталогом, куда предоставлен доступ.

Перейдем к настройке сервера. Работать будем с такой схемой.

Доступ к FTP-серверу будут иметь как администратор, так и пользователь. Администратор и пользователь имеют авторизованный доступ. При этом необходимо настроить права доступа таким образом, чтобы администратор имел неограниченный доступ, а пользователь имел доступ только к своей домашней директории. Также необходимо настроить анонимный доступ.

В Ubuntu для DHCP сервера доступен демон vsftpd. Устанавливаем DHCP-сервер, это выполняется командой:

testServer$ sudo apt-get install vsftpd

По умолчанию, анонимная загрузка запрещена. Необходимо изменить конфигурацию в файле /etc/vsftpd.conf.

testServer$ sudo nano /etc/vsftpd.conf

Находим там строку “anonymous_enable” и присваиваем ей значение “Yes”. Данная строка отвечает за доступ к FTP-серверу для анонимных пользователей.

Также необходимо раскоментировать две строки: “write_enable” и “chroot_local_user”. Первая строка отвечает за возможность записи на сервер, вторая строка блокирует возможность локальных пользователей подниматься на каталог выше, чем их домашняя папка.

В конце файла конфигурации добавляем две настройки:

Данные настройки устанавливают домашние папки для анонимных и локальных пользователей.

Сохраняем конфигурацию файла сочетанием клавиш Ctrl + X (при предложении заменить текущий файл выбираем Yes). Далее необходимо перезагрузить сервер FTP командой

testServer$ sudo service vsftpd restart

Следующий этап – это создание пользователей.

Создаем суперпользователя командой:

testServer$ sudo adduser superuser

Задаем ему пароль:

testServer$ sudo passwd superuser

Даем ему неограниченные права:

testServer$ sudo adduser superuser sudo

Создаем обычного пользователя:

testServer$ sudo adduser user

Задаем ему пароль:

testServer$ sudo passwd user

Enter new UNIX password: 12345

Создаем группу пользователей для управления папками:

testServer$ sudo addgroup groupl

testServer$ sudo nano /etc/group

Находим строчку “groupl” с помощью Ctrl + W.

В эту строчку добавляем наших пользователей superuser и user.

Создаем папки для пользователей:

testServer$ sudo mkdir /srv/ftp/upload

testServer$ sudo mkdir /srv/ftp/superuser

testServer$ sudo mkdir /srv/ftp/user

Задаем права доступа для папок:

testServer$ sudo chmod 700 /srv/ftp/superuser

testServer$ sudo chmod 770 /srv/ftp/user

testServer$ sudo chmod 575 /srv/ftp/upload

Меняем владельцов папок:

testServer$ sudo chown superuser: /srv/ftp/superuser

testServer$ sudo chown user:groupl /srv/ftp/user

testServer$ sudo chown:groupl /srv/ftp/upload

Таким образом, у нас получается следующая картина:

  1. К папке superuser имеет доступ только пользователь superuser, он же является владельцем этой папки
  2. К папке user имеет доступ как user, так и superuser. Это из-за того, что мы выставили права 77 0. Вторая семерка устанавливает полные права для группы пользователей groupl, в которую мы добавили superuser.
  3. К папке upload полный доступ имеют как user, так и superuser. Для всех остальных установлены только права на чтение и выполнение 5 75 . 5 = 101 (в двоичной системе). 101 ~ r-x. То есть остальные пользователи (а к ним относится анонимный) не могут ничего записывать в папке upload.

Проверяем права доступа и владельцев командой:

testServer$ ls -l /srv/ftp

Для того, чтобы проверить доступ к FTP-серверу, необходимо в любом браузере в адресной строке набрать:

ftp://172.16.1.2

В данном случае мы попадаем как анонимный пользователь, так как не вводим имя и пароль.

Видим три папки superuser/, upload/, user/. Так как мы зашли под анонимным пользователем доступ есть только к папке upload/.

Для того, чтобы войти под именем суперпользователя вводим:

ftp://[email protected]

Вводим имя пользователя: superuser , пароль: 12345 . Под superuser’ом мы получаем доступ ко всем папкам.

Проверим напоследок обычного пользователя. Чтобы не вводить имя и пароль каждый раз при входе, можно в адресной строке написать следующее:

ftp://user:[email protected]

Под user’ом мы можем попадать только в папки upload/ и user/ . К папке superuser/ доступ закрыт.

Поддержите проект

Друзья, сайт Netcloud каждый день развивается благодаря вашей поддержке. Мы планируем запустить новые рубрики статей, а также некоторые полезные сервисы.

У вас есть возможность поддержать проект и внести любую сумму, которую посчитаете нужной.

Время от времени у каждого системного администратора возникает потребность в FTP-сервере, чаще всего это связано с необходимостью обеспечить обмен информацией в автоматическом режиме между приложениями, например, при автообмене распределенной информационной базы 1С, или для доступа к файлам на веб-сервере. Сегодня мы расскажем, как меньше чем за полчаса создать такой сервер на платформе Ubuntu.

Но сначала немного теории. Протокол FTP (File Transfer Protocol) предназначен, как следует из названия, для передачи файлов и появился в 1971 году, но несмотря на свой преклонный возраст продолжает широко использоваться до сих пор. Хотя сегодня его использование носит чаще технический характер, для доступа конечных пользователей к данным обычно используют браузер и протокол HTTP. К достоинствам FTP можно отнести возможность докачки файла при обрыве связи и возможность одинаково легко как считывать файлы, так и записывать их. Но есть и недостатки, самый серьезный - низкая безопасность, поэтому этому вопросу следует уделить самое пристальное внимание.

FTP, как и PPTP, использует разные соединения для передачи команд и передачи данных. При инициации соединения клиент передает управляющие команды на порт 21 сервера, который в свою очередь устанавливает исходящее соединение для передачи данных на 20 порту, порт со стороны клиента определяется в результате согласования. Однако при нахождении клиента за NAT соединение подобным образом установить не удастся, поэтому был разработан дополнительный режим FTP passive mode (пассивный режим), когда соединение для передачи данных устанавливает не сервер, а клиент, однако с параметрами, указанными сервером. Эти моменты следует учитывать при форвардинге FTP и при настройке сетевого фильтра.

Для нашего сервера мы будем использовать vsftpd - простой, быстрый и безопасный FTP сервер. Так как он будет обслуживать как внешнюю, так и внутреннюю сети, то имеет смысл добавить эту роль нашему . Установка сервера предельно проста:

Apt-get install vsftpd

Настройка сервера производится через конфигурационный файл /etc/vsftpd.conf он имеет простую структуру, хорошо откомментирован и позволяет настроить сервер без какой-либо инструкции при наличии минимальных знаний. Рассмотрим его основные параметры.

Сервер может быть запущен постоянно, как служба или стартовать при необходимости, нам больше подходит первый вариант:

Listen=YES

Данная опция имеет взаимоисключающую запись, которую следует привести к виду:

Listen_ipv6=NO

Разрешим вход только локальным пользователям:

Anonymous_enable=NO
local_enable=YES

Разрешим пользователям записывать файлы и укажем серверу автоматически выставлять нужные права (755 на папки и 644 на файлы):

Write_enable=YES
local_umask=022

Если требуется установить иной набор прав: 775 и 664, то umask должен быть равен 002.

По умолчанию сервер использует время GMT, чтобы файлам устанавливалось время вашего часового пояса, используйте опцию:

Use_localtime=YES

Включим лог загружаемых и скачиваемых файлов:

Xferlog_enable=YES

Разрешим серверу устанавливать соединения для передачи данных на порт 20 (активный режим):

Connect_from_port_20=YES

Следующие опции задают место и формат хранения логов:

Xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES

Зададим таймауты сессии:

Idle_session_timeout=600
data_connection_timeout=120

Также в целях безопасности изолируем пользователя в его домашнем каталоге и сразу разрешим запись в его корень:

Chroot_local_user=YES
allow_writeable_chroot=YES

Для коррекной работы с текстовыми данными можно включить поддержку ASCII, это позволит при передаче текстового файла с Windows системы в UNIX (Linux) корректно заменить символы переноса строки с CR+LF на LF для корректного отображение содержимого и выполнить обратное преобразование при передаче его назад.

Ascii_upload_enable=YES
ascii_download_enable=YES

Можно включить только одну опцию, для закачки или скачивания. Обратите внимание, что при передаче бинарного файла в режиме ASCII последний может быть поврежден.

Достаточно интересная опция:

Ls_recurse_enable=YES

Она позволяет рекурсивный просмотр каталогов, с одной стороны это удобно, с другой способно вызвать большую нагрузку на сервер, если, например, получить листинг директории, содержащей большое количество файлов и каталогов.

Все остальные опции оставляем по умолчанию, хотя можете отредактировать приветствие сервера, написав там все что вам нравится:

Ftpd_banner=Welcome to Roga i Kopyta LLC FTP

В конце конфигурационного файла зададим настройки для пассивного режима, рекомендуется явно задать порты, чтобы была возможность указать их при форвардинге, если сервер стоит за NAT или в правилах брандмауера:

Pasv_enable=YES
pasv_min_port=62000
pasv_max_port=62999

Перезапускаем сервер (это нужно делать всякий раз после внесения изменений в конфигурацию):

Service vsftpd restart

и пробуем подключиться любым FTP-клиентом используя учетные данные существующего пользователя. Мы должны попасть в его домашнюю директорию и быть изолированы в ней.

В случае появления ошибки, связанной с некорректной работой vsftpd и системы безопасности seccomp:

500 OOPS: prctl PR_SET_SECCOMP failed

добавьте в файл недокументированную опцию:

Seccomp_sandbox=NO

Однако помните, что FTP - небезопасный протокол, поэтому пускать на сервер любого локального пользователя, как это сделано сейчас, не самый лучший вариант. Чтобы избежать такой ситуации vsftpd имеет встроенный механизм контроля пользователей. Добавим в конфигурационный файл опцию:

Userlist_enable=YES

и создадим файл списка пользователей:

Touch /etc/vsftpd.user_list

По умолчанию vsftpd запрещает доступ к серверу пользователям, указанным в данном списке еще до ввода пароля, т.е. реализует принцип разрешено всем, кому не запрещено. Но гораздо лучше будет реализовать иной подход: запрещено всем, кому не разрешено. Т.е. разрешать доступ только указанным пользователям. Для этого добавим опцию:

Userlist_deny=NO

Теперь доступ к FTP-серверу будут иметь только явно указанные пользователи, их следует указывать в vsftpd.user_list по одному в строку, например:

Ivanov
petrov

Если не указано иное, то подключившись по FTP пользователи попадают в свой домашний каталог. Это не всегда удобно, часто нужно перенаправлять их в иную директорию. Если это общая для всех папка, скажем /var/ftp, то можно задать опцию:

Local_root=/var/ftp

Которая перенаправит всех пользователей в указанный каталог и изолирует их там.

Это самая простая ситуация, реальные задачи обычно сложнее, допустим нам надо установить пользователю Иванову в качестве корневой директории /var/www/example1.com , а Петрову /var/www/example2.com , чтобы каждый из них работал со своей папкой. Для этих целей можно использовать еще одну возможность vsftpd - пользовательские настройки, которые перекрывают настройки основного конфигурационного файла.

Для этого добавим опцию:

User_config_dir=/etc/vsftpd_user_conf

Затем создадим саму директорию

Mkdir /etc/vsftpd_user_conf

Чтобы задать пользователю собственные настройки в данной директории следует создать файл с именем пользовтаеля и добавить в него необходимые опции. Изменения применяются без перезапуска FTP-сервера при следующем подключении клиента.

Создадим файл с настройками для Иванова:

Tocuh /etc/vsftpd_user_conf/ivanov

и внесем в него опцию:

Local_root=/var/www/example1.com

При следующем подключении корневая директория пользователя изменится на указанную. Также в этом файле мы можем задавать любые персональные опции, например, другой umask или права на доступ к файлам. Однако мы не можем использовать здесь глобальные настройки: опции подключения, логгирования, аутентификации, они будут просто игнорироваться.

Если вам нужно скрыть реальных владельцев файлов и папок, то можно использовать опцию:

Hide_ids=YES

В этом случае вместо реальных владельцев и групп будет указано ftp:ftp, это может быть полезным в случае публичного сервера или наличия в списке пользователей посторонних лиц, которым вы не хотите раскрывать реальные имена пользователей вашей системы.

Как видим, мы действительно создали рабочий FTP-сервер менее чем за полчаса.

Совсем недавно я писал о том, на свой компьютер. Это очень полезно для вебмастера, так как установив себе такой "домашний" сервер, можно проводить различные эксперименты с тестовыми сайтами или просто вести их разработку.

Но есть одна проблема: если вы, к примеру, попытаетесь на таком локальном сервере установить тот же плагин в wordpress, то получите отказ: "Не удалось подключиться к FTP-серверу localhost:21 "

Как вы понимаете, вам нужно установить и настроить ftp сервер на своём компьютере, чтобы осуществить установку плагинов. Как установить ftp сервер на свой компьютер в Linux?

В Linux есть много бесплатных серверов, я пробовал несколько и остановился на vsftpd. Этот сервер лёгок и прост в настройке.

1. Как установить ftp сервер vsftpd?

Установить его можно одной командой:

Sudo apt-get install vsftpd

После установки сервера нам нужно его немного под настроить. Но сначала протестируем наш ftp сервер, введём в браузер такой адрес: ftp://127.0.0.1/ Мы должны увидеть следующее:


Но мало установить сервер vsftpd, это как вы видите делается просто, важно настроить ftp сервер. Но и это делается просто, если следовать моему опыту.

2. Как настроить ftp сервер vsftpd?

Чтобы добраться до настроек сервера, введите в терминале команду:

Sudo gedit /etc/vsftpd.conf

Удаляем из этого файла всю и вставляем вот это:

Listen=YES # делаем анонимный доступ, с правом записи anonymous_enable=YES no_anon_password=YES anon_root=/ПУТЬ К ПАПКЕ С САЙТОМ! anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES anon_umask=022 # разрешаем вход локальным пользователям с правом записи в домашних директориях local_enable=YES local_umask=022 write_enable=YES # помещаем локальных юзеров в их домашние каталоги, иначе пользователю будет доступен корень системы. chroot_local_user=YES chroot_list_enable=YES # настройки журналирования xferlog_enable=YES vsftpd_log_file=/var/log/vsftpd.log

Перезагружаем ftp сервер командой:

Sudo /etc/init.d/vsftpd restart

Да, ещё очень важно! На папку с сайтом и и всем файлам к ней нужно дать доступ 755, публичные права на запись давать папке НЕЛЬЗЯ !

Установить новую, более правильную версию сервера можно добавив :

Sudo add-apt-repository ppa:thefrontiergroup/vsftpd sudo apt-get update sudo apt-get install vsftpd

После этого идём в админку WordPress и пробуем установить какой-нибудь плагин. Нас попросят ввести адрес сервера, логин и пароль. В строке сервера пишем 127.0.0.1 , а логин и пароль пишем - anonymous

Если у вас появится ошибка: Не удалось определить директорию содержимого WordPress (wp-content), то нужно в конец файла wp-config.php вставить такой код:

If (is_admin()) { add_filter ("filesystem_method", create_function("$a", "return "direct";")); define ("FS_CHMOD_DIR", 0751); }

После этого у меня всё заработало. Так настройка vsftpd сервера для меня закончилась. Вот так можно установить и настроить ftp сервер vsftpd на своём домашнем компьютере.

Такой сервер, конечно, не будет слишком производительным, это вам не настоящий сервер IBM HS23e на SSD дисках. И если вы дадите к нему доступ всей своей локальной сети, ваш компьютер может изрядно попотеть, постоянно что то копируя.

Но моя цель вам понятна, но она, конечно, не единственная. FTP сервер на своём компьютере можно использовать для разных целей, и чаще всего такие простые настройки вам подойдут. Если нет, то в сети много мануалов по настройке этого FTP сервера. Успехов!

Дописываю: как оказалось, в моем случае можно вообще обойтись без FTP. Проще работать через SSH и плагина ssh-sftp-updater-support, который добавляет протокол SSH в WordPress. Так намного безопаснее и не нужно поднимать FTP сервер.


Не нашли ответ на свой вопрос? Воспользуйтесь поиском...







2024 © gtavrl.ru.