Самый простой способ поднять FTP (Windows).

Ответить
Аватара пользователя
AgentSIB
Сообщения: 329
Зарегистрирован: 17.05.2010
Не редко можно встретить вопросы на данную тему. Кто-то советует таких монстров как Gene6 Ftp, Serv-U, Golden FTP и прочее. Кто-то вообще не заморачивается и ставит HFS, DropBox или использует плагин для Opera.

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

Поднять FTP сервер нам поможет программка SlimFTPd. Небольшое консольное приложение с текстовыми настройками. Официальный сайт http://www.whitsoftdev.com/slimftpd/. Скачать его можно либо оттуда (SlimFTPd 3.181).

Для любителей поковырять код - внутри исходники.

Итак, приступим к настройке. Скачиваем файл, распаковываем в любую папку и открываем slimftpd.conf. Идем в самый низ и создаем пользователя. Вот пример создания анонимного пользователя и пользователя с паролем.

Код: Выделить всё

# Пользователь с логином bob
<User "bob">
# Если пароль комментироваться, то при входе он не запроситься.
	Password "abc123"

# Далее монтируем в корневую папку папку на сервере. Это будет начальной 
# папкой нашего фтп сервера. Папка может быть как пустая, так и с информацией.
	Mount / C:\ftproot

# Теперь устанавливаем разрешения. Возможные варинаты - Read, List, Write, All.
	Allow / Read List
# Права можно устанавливать так же на поддиректории, которые находятся в 
# монтированной директории, в данном случае  C:\ftproot\upload и  C:\ftproot\private
	Allow /upload Read List
	Allow /private All

# Далее, таким образом можно примонтировать любую папку 
	Mount /files D:\files
</User>


# Пользователь с логином anonymous, он же анонимный)
<User "anonymous">
# Пароль не нужен

# Далее монтируем в корневую папку папку на сервере. Это будет начальной 
# папкой нашего фтп сервера. Папка может быть как пустая, так и с информацией.
	Mount / C:\ftproot

# Теперь устанавливаем разрешения. Возможные варинаты - Read, List, Write, All.
	Allow / Read List
# Права можно устанавливать так же на поддиректории, которые находятся в 
# монтированной директории, в данном случае  C:\ftproot\upload и  C:\ftproot\private
	Allow /upload Write
	Deny /private All

# Далее, таким образом можно примонтировать любую папку 
	Mount /files D:\files
# Если папка содержит в названии пробелы, то ее нужно заключить в ковычки
# Однако, если заключили в ковычки, слеши нужно дублировать. Например.
	Mount /docs "C:\\Documents And Settings\\User\\Documents"
</User>
Пара слов о правах.
List - просмотр директории
Read - чтение файлов
Write - запись файлов
All - все атрибуты

Например, если вы разрешите только List, то пользователь сможет только просмотреть директорию, но не сможет с нее ничего скопировать. Если поставите Read или Write без List, то названия файлов пользователь прочитать не сможет, однако у него будут права на чтение или запись из данной папки.

После того, как конфиг прописан, запускаем приложение ServiceTool.exe. Оно позволит прописать SlimFTPd как службу Windows или удалить ее из служб.

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

net start slimftpd

Для остановки соответственно:

net stop slimftpd

Вот и все. Теперь у вас настроен простенький FTP сервер. Недостаток этого сервера - он неверно определяет размер файлов, которые больше 1 Гига, и если прервется закачка такого файла, то придется качать занова. Однако для матерых кодеров при наличии исходников - это не проблема)
Frustra fit per plura quod potest fieri per pauciora © Закон "Бритвы Оккама"

Ответить