<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Unix4Me &#187; pure-ftpd</title>
	<atom:link href="http://unix4me.ru/archives/tag/pure-ftpd/feed" rel="self" type="application/rss+xml" />
	<link>http://unix4me.ru</link>
	<description>*nix</description>
	<lastBuildDate>Wed, 11 Aug 2010 22:32:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Pure-ftpd на FreeBSD</title>
		<link>http://unix4me.ru/archives/409</link>
		<comments>http://unix4me.ru/archives/409#comments</comments>
		<pubDate>Thu, 12 Mar 2009 10:06:25 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ftpd]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[pure-ftpd]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=409</guid>
		<description><![CDATA[Ставил и использовал большое количество фтп серверов, но в итоге для FreeBSD остановился на pure-ftpd с поддержкой mysql. Фтп сервер небольшой, удобный в настройки, быстрый и главное замечательно работает с любой версией mysql.

Прежде чем устанавливать - не поленитесь обновите дерево портов, делаю это через cvs(позже опишу настройку этого решения):
# cd /usr/ports/
# make update &#38;&#38; make [...]]]></description>
			<content:encoded><![CDATA[<p>Ставил и использовал большое количество фтп серверов, но в итоге для FreeBSD остановился на pure-ftpd с поддержкой mysql. Фтп сервер небольшой, удобный в настройки, быстрый и главное замечательно работает с любой версией mysql.<br />
<span id="more-409"></span><br />
Прежде чем устанавливать - не поленитесь обновите дерево портов, делаю это через cvs(позже опишу настройку этого решения):</p>
<pre># cd /usr/ports/
# make update &amp;&amp; make fetchindex</pre>
<p>после этого заходим, настраиваем параметры:</p>
<pre># cd /usr/ports/ftp/pure-ftpd/
# make config</pre>
<p>выбираем опции установки:<br />
- MYSQL<br />
- PRIVSEP<br />
- PERUSERLIMITS<br />
- THROTTLING<br />
- BANNER<br />
- UPLOADSCRIPT<br />
- UTF8<br />
- SENDFILE<br />
- LARGEFILE<br />
Нажимаем OK и начинаем установку:</p>
<pre># make install clean</pre>
<p>После установки в папке /usr/local/etc появились файлы конфигурации - pure-ftpd.conf.sample pureftpd-ldap.conf.sample pureftpd-mysql.conf.sample  pureftpd-pgsql.conf.sample. Копируем, убирая слово sample только необходимые для настройки:</p>
<pre># cd /usr/local/etc
# cp pure-ftpd.conf.sample pure-ftpd.conf
# cp pureftpd-mysql.conf.sample pureftpd-mysql.conf</pre>
<p>И приступаем к непосредственно к настройки</p>
<pre><em>pure-ftpd.conf</em>
ChrootEveryone              yes
BrokenClientsCompatibility  no
MaxClientsNumber            50
Daemonize                   yes
MaxClientsPerIP             5
VerboseLog                  no
DisplayDotFiles             no
AnonymousOnly               no
NoAnonymous                 yes
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 10
MySQLConfigFile               /usr/local/etc/pureftpd-mysql.conf
LimitRecursion              2000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
AntiWarez                   no
Umask                       133:022
MinUID                      100
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       yes
ProhibitDotFilesRead        yes
AutoRename                  no
AnonymousCantUpload         yes
NoChmod                     yes
KeepAllFiles                yes
MaxDiskUsage               80
CustomerProof              yes
IPV4Only                 yes
FileSystemCharset   koi8-r
ClientCharset       cp1251</pre>
<p>И настройка для подключения к базе mysql</p>
<pre><em>pureftpd-mysql.conf</em>
MYSQLSocket     /tmp/mysql.sock
MYSQLUser       user
MYSQLPassword   password
MYSQLDatabase   pureftpd
MYSQLCrypt      cleartext
MYSQLGetPW      SELECT password FROM users WHERE user="L" AND active ="1"
MYSQLGetUID     SELECT uid FROM users WHERE user="L"
MYSQLGetGID     SELECT gid FROM users WHERE user="L"
MYSQLGetDir     SELECT home FROM users WHERE user="L"
MySQLGetQTAFS  SELECT QuotaFiles FROM users WHERE user="L"
MySQLGetQTASZ  SELECT QuotaSize FROM users WHERE user="L"
MySQLGetRatioUL SELECT ULRatio FROM users WHERE user="L"
MySQLGetRatioDL SELECT DLRatio FROM users WHERE user="L"
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE user="L"
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE user="L"</pre>
<p>Каждый параметр подробно описан в самом конфигурационном файле, поэтому не будем останавливаться на каждом в отдельности.<br />
Далее заходим в mysql и создаем базу pureftpd, пользователя user c паролем password, даем пользователю user права на базу pureftpd и создаем таблицу:</p>
<pre># mysql
mysql&gt; CREATE DATABASE pureftpd;
mysql&gt; GRANT ALL PRIVILEGES on pureftpd.* to user@localhost identified by 'password';
mysql&gt; USE pureftpd;
mysql&gt; CREATE TABLE `users` (
mysql&gt; `user` varchar(16) binary NOT NULL,
mysql&gt; `password` varchar(64) binary NOT NULL,
mysql&gt; `uid` int(11) NOT NULL default '-1',
mysql&gt; `gid` int(11) NOT NULL default '-1',
mysql&gt; `home` varchar(128) binary NOT NULL default '/usr/home/anonymous',
mysql&gt; `QuotaFiles` int(9) NOT NULL default '10000',
mysql&gt; `QuotaSize` int(6) NOT NULL default '100',
mysql&gt; `ULRatio` int(2) NOT NULL default '1',
mysql&gt; `DLRatio` int(2) NOT NULL default '10',
mysql&gt; `ULBandwidth` int(6) NOT NULL default '1024',
mysql&gt; `DLBandwidth` int(6) NOT NULL default '1024',
mysql&gt; `active` int(1) NOT NULL default '1',
mysql&gt; PRIMARY KEY  (`user`)
mysql&gt; ) TYPE=MyISAM;</pre>
<p>Как таковая настройка закончилась, теперь необходимо создать хотябы одного пользователя. Добавляем пользователя, создаем папку и даем возможность пользователю записывать туда файлы/создавать директории:</p>
<pre>mysql&gt; INSERT INTO `users` VALUES ('user', 'password', 1111, 1111, '/usr/ftp/user', 10000, 100, 1, 10, 1024, 1024, 1);
mysql&gt; quit;
# mkdir /usr/ftp/user
# chown 1111:1111 /usr/ftp/user</pre>
<p>Вот и все. Ошибки(как и остальные логи) по умолчанию будут записываться в /var/log/xferlog.</p>
<p>Во вспоминании по настройки сервера очень помог <a href="http://www.lissyara.su/?id=1177">ресурс</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/409/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
