Как установить Pure-FTPd и настроить FTP-сервер для передачи файлов?
Я хочу установить Pure-FTPd и настроить FTP-сервер для передачи файлов. Как я могу это сделать? Я использую Ubuntu 13.04.
2 ответа
Установите Pure-FTPd
root@www:~# aptitude -y install pure-ftpd
беги как демон
root@www:~# echo "yes" > /etc/pure-ftpd/conf/Daemonize
запретить аноним
root@www:~# echo "yes" > /etc/pure-ftpd/conf/NoAnonymous
включить chroot
root@www:~# echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
только IPV4
root@www:~# echo "yes" > /etc/pure-ftpd/conf/IPV4Only
root@www:~# /etc/init.d/pure-ftpd restart
Restarting ftp server: Running: /usr/sbin/pure-ftpd -l pam -E -A -8 UTF-8 -B -O clf:/var/log/pure-ftpd/transfer.log -u 1000 -4 -B
Я разработал руководство по установке PureFTP, MySQL и TLS на Xenial, поскольку у меня возникли некоторые трудности, возможно, это поможет.
http://ajoliveira.com/ajoliveira/uk/software/pure-ftpd-mysql.php
или на португальском
http://ajoliveira.com/ajoliveira/pt/software/pure-ftpd-mysql.php
Причина, по которой я установил PureFTP, объясняется в опубликованном мной руководстве: слишком много проблем с proftpd, который стал непригодным для использования после Trusty (пассивный режим, TLS) и ранее имел проблемы (сбои). Я обнаружил, что этот пакет прост в установке и работает без явных недостатков.
Я использовал ProFTPd в течение длительного времени. Однако на предыдущей версии Ubuntu LTS (Trusty) ProFTPd уже глючил, сам отключался, что я исправил с помощью скрипта.
На Xenial ситуация ухудшается: продукт останавливается, но не выключается. С другой стороны, я никогда не мог настроить ProFTPd для пассивной передачи FTP, и TLS никогда не работал должным образом, так как команда MLSD не прошла проверку подлинности TLS.
Итак, я решил попробовать PureFTP. Мне пришлось искать информацию на многих разных сайтах, поскольку на основном сайте нет информации о непонятных файлах, используемых в каталоге конфигурации. Это транскрипция параметров командной строки с четким синтаксисом.
Я обнаружил, что установка проста и повторяема, когда вы знаете, какие шаги нужно предпринять, и продукт работает как чудо, поэтому я решил поделиться процессом установки с сообществом.
Я предполагаю, что вы будете использовать phpMyAdmin в том, что касается операций MySQK, и знакомы с ним, поэтому я предоставлю файл sql для единственной необходимой базы данных и предположим, что InnoDB или другой механизм транзакций. Если вы используете MyISAM, просто прокомментируйте последнее предложение в предоставленном mysql.conf(MySQLTransactions On). Все команды bash должны начинаться с
sudo
или вы можете начать сеанс root сsu
,
Установите программное обеспечение.
sudo apt-get install pure-ftpd-mysql
Настройте пользователя и группу.
sudo groupadd -g 2001 ftpgroup sudo useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser
Настройте базу данных.
Теперь с помощью phpmyadmin на вкладке сервера создайте пользователя с именем pureftpd, запомните выбранный вами пароль и нажмите "Создать базу данных с тем же именем и предоставьте все привилегии".
Загрузите этот файл и распакуйте его.
На левой панели перейдите к только что созданной базе данных pureftpd и нажмите "Импорт". Выберите файл, который вы только что распаковали. Вы должны получить заполненную базу данных с одной таблицей, где:
• Пользователь - это имя пользователя
• статус0 inactive 1 active
• Пароль - это пароль, зашифрованный в MD5 (выберите MD5 после ввода пароля в раскрывающемся списке varchar(64). Измените пароль для предоставленного тестового пользователя, иначе он никогда не будет работать
• uid и gid будут выпущены в 2001 г.
• dir должен указывать на каталог, где у вас есть файлы. Либо этот каталог является владельцем созданного пользователя / группы (chown ftpuser.ftpgroup "dir"
) или вы можете просто добавить ftpuser в свою группу www-данных, если речь идет о файлах, обслуживаемых apache.
• ULBandwidth и DLBandidth - это ограничения в кбит / с для максимальной полосы пропускания загрузки / выгрузки, 0 означает отсутствие ограничений.
• комментарий должен служить вашим внутренним целям для идентификации пользователя.
• QuotaSize - максимальное пространство, которое пользователю разрешено загружать.
• QuotaFiles - максимальное количество файлов, которые пользователь может загружать.sudo cp /etc/pure-ftpd/db/mysql.conf /etc/pure-ftpd/db/mysql.conf.old
Настройте PureFTP.
Загрузите этот файл и распакуйте его.
Скопируйте mysql.conf из каталога db в /etc/pure-ftpd/db/Измените строку my_password в файле mysql.conf, поле MYSQLPassword, на пароль, который вы определили при создании пользователя с помощью mysqladmin.
Загрузите этот файл и распакуйте его.
Скопируйте все файлы в каталоге conf в/etc/pure-ftpd/conf/
В этих файлах предполагается, что пассивными портами являются 50000-50010 (PassivePortRange), без форсирования пассивного режима (без файла ForcePassiveIP, если вы хотите его создать и оставить свой IP там в одной строке), без автоматического создания домашнего каталога пользователя. (CreateHomeDir), без разрешения имен (DontResolve), без отображения скрытых файлов (DisplayDotFiles), без аутентификации локального пользователя (PAMAuthentication). Я увеличил максимальное количество файлов в папке и максимальную глубину директории (LimitRecursion) до 5000/50. Если вы хотите изменить их, обратитесь к документации.
sudo aptitude install openssl
Установите сертификат SSL.
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem chmod /etc/ssl/private/pure-ftpd.pem
-days 3650 создаст вам сертификат на 10 лет...
sudo chmod /etc/ssl/private/pure-ftpd.pem
Положить его на работу
sudo service pure-ftpd-mysql restart
Ну, это должно работать...
Установка вышеперечисленного полностью на ваш риск.