FTP доступ на Виртуальной машине Битрикс

452  |  3

Достаточно редко, но все же случается, что нужно открыть FTP доступ к заранее известной папке на сайте под управлением 1С Битрикс, который работает на BitrixVM от Битрикс. Из коробки, FTP сервера там нет. Расскажу как настроить и ограничить FTP доступ одной папкой, на примере реальной задачи.

Итак: 1С Управление Торговлей умеет подключаться только по FTP, и только по 21-ому порту. На одном из разрабатываемых сайтов, 1С-УТ, с заданной периодичностью, должна была выкладывать прайс-лист в конкретную директорию внутри сайта.

Имеем: сайт работающий на Битрикс VM под управлением CentOS, директория куда должно происходить FTP соединение (от корня системы) /home/bitrix/ext_www/site.ru/price

Задача, настроить FTP доступ к данной директории, при этом создав отдельного пользователя и пароль, и ограничить этого пользователя только данной директорией- для безопасности. Все создаваемые им файлы должны принадлежать пользователю "bitrix", что бы веб-сервер мог с ними работать.

Для начала ставим pure-ftpd, в терминале выполняем команду

yum install pure-ftpd

Открываем на редактирование файл /etc/pure-ftpd/pure-ftpd.conf и раскомментируем строку

PureDB /etc/pure-ftpd/pureftpd.pdb

Создаем файл для хранения паролей FTP пользователей

touch /etc/pure-ftpd/pureftpd.passwd

Скачиваем вот этот архив, распаковываем и кладем файл gen_ftp_user.sh в директорию /root/ и добавляем право на запуск скрипта

chmod u+x /root/gen_ftp_user.sh

Открываем 21-ый порт в IP tables: команды выполнять поочереди

iptables -I INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT //Открываем порт
service iptables save //сохраняем
/etc/init.d/iptables restart //перезапускаем

И выполняем скрипт по следующему паттерну:

/root/gen_ftp_user.sh "bitrix" "ЛОГИН" "ПАРОЛЬ" "ПУТЬ ДО НУЖНОЙ ДИРЕКТОРИИ"

Для наглядности, в озвученной выше задаче было вот так

/root/gen_ftp_user.sh "bitrix" "1c_price" "YTprIGHce" "/home/bitrix/ext_www/site.ru/price"

Вот, в общем-то и все

Дополнительно по pure-ftpd

При перезагрузке виртуальной машины Битрикс, Pure-Ftpd не запускается автоматически, вы можете либо запускать его вручную командой

/etc/init.d/pure-ftpd start

Либо выполнить вот такую команду, что бы Pure-Ftpd запускался автоматически при перезагрузке/запуске системы

chkconfig --levels 235 pure-ftpd on
Расскажи друзьям-то:
Уважаемый читатель! В связи с участившимся спамом в комментариях, возможность писать доступна только для зарегистрированных пользователей
Зарегистрироваться Войти Напомнить пароль
Или войти через социальную сеть:
Владимир Бызов
При попытке соединится выдает вот что, как с этим быть?
http://prntscr.com/czxymp
Михаил Базаров
Цитата
Владимир Бызов написал:
При попытке соединится выдает вот что, как с этим быть?
http://prntscr.com/czxym
Видимо как то путь не правильно прописали или реально каталог закрыт по правам
ssass ssss
То же не работает , локальная машина ftp: connect: No route to host выдает. Сервис не достпуен или что это ?

© 2011—2016 Частный вебмастер: ИП Базаров, ОГРНИП: 315784700173692. Работает на 1С-Битрикс.
Копирование материалов запрещено: "ГК РФ, часть 4, раздел VII: Права на результаты интеллектуальной деятельности".

Информация размещенная на сайте, не является публичной офертой. Политика конфеденциальности
x
Как к Вам обращаться? *
Ваша электронная почта: *
Доп. материалы (логотип, тех. задание):
 
Обзор
Текст сообщения: