Документация по ОС FreeBSD Четверг, 02.05.2024, 03:48
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » FTP

Вступление в net2ftp (FreeBSD7.1 and apache22) [2009]
Вступление в Net2ftp — ftp-клиент для заливки файлов через веб-браузер

сорри за грамматику

Офф.сайт и первоисточник http://www.net2ftp.com/

Пару слов:

Возможности для пользователей:

   * перемещение по каталогам и подкаталогам ftp сервера
   * загрузка файлов и поддержка распаковки архивов, flash-загрузчики
   * скачивание файлов, если выбрали множество файлов(каталогов) - загрузка в zip-архиве
   * архивирование файлов(каталогов) и возможность отправки этого архива *.zip на email, отправка
     файлов не анонимна: ваш IP-адрес так же как и время отправления будет добавлен в email.
   * разархивирование: поддержываемые форматы .zip, .tar, .tgz and .gz.
   * установка PHP-скриптов (если настроена такая возможность на сервере)
   * копирование, перемещения, удаление файлов(каталогов)
   * переименование, изменение прав доступа для файлов(каталогов)
   * копирование или перемещения файлов(каталогов) на другой ftp-сервер
   * просмотр кода с подсветкой синтаксиса
   * подсчет размера файлов(каталогов)
   * поиск файлов по слову или выражению
   * редактирование html, php кода с подсветкой синтаксиса(CodePress)
   * текстовый редактор — для редактирования файлов

Возможности для администраторов:

   * Safe Mode — net2ftp прекрасно работает при SafeMode
   * MySQL DB — нужна для ведени логов, дневного лимит; опцию можна включить в конфигурационном файле
   * Авторизация — возможность подключаться пользователям к различным ftp-серверам
   * Введение лог-файлов — доступны 3 различных типа логов: по запрашиваемым страницам,
     по ошибкам, по логинам
   * Дневной лимит — ограничение дневного обьема передачи данных и время исполнения скриптов для
     каждого пользователя. Как только пользователь превышает предел - передача данных к серверу
     заблокируется
   * Лимит больших фалов - файлы, которые больше чем этот лимит не могут быть загружены/скачаны,
     остаеться возможность — переименовывать/удалять/изменять права
   * Запрещенные имена — файлы(каталоги), соддержащие эти имена -не обрабатываются
   * Интеграция с другими PHP приложениями — доступны модули для Mambo, Drupal and Xoops

Требования:
   * веб-сервер(apache) с поддержкой PHP5. Для других веб-серверов свои особенности!!!
     Здесь  не рассматриваются!!!
   * ftp-сервер с авторизацией пользователей(pure-ftpd, proftpd, vsftpd)
   * MySQL51-server(для некоторых возможностей)
   
У меня : apache-2.2.11_3 с PHP5 и pure-ftpd-1.0.21_4(с хранением пользователей в MySQL
— умение выставлять ограничение по скорости, пароли, квоты и т.д), mysql-server-5.1.32


-не забудьте выставить алиас для вашего net2ftp:
Alias /webftp "/usr/local/www/webftp/"
<Directory "/usr/local/www/webftp/">
AllowOverride AuthConfig
Options Indexes MultiViews
Order allow,deny
Allow from all
</Directory>

Скачиваем stable версию http://www.net2ftp.com/download/net2ftp_v0.97.zip
и делаем unzip в /usr/local/www/net2ftp
# cd /usr/local/www/
# mkdir net2ftp
# mkdir webftp
# cp -R ./net2ftp/files_to_upload/* ./webftp/

Создание базы, пользователя webftp(права и пасс)
mysql> create database webftp;
Query OK, 1 row affected (0.06 sec)
mysql> show databases;
...............

mysql> grant all on webftp.* to 'webftp'@'localhost' identified by 'rdfynjdfystxbckfufeccf';

Далее еще нада заполнить базу: это можно сделать 2-мя способами либо вручную импортировать файл,
либо через web-интерфейс net2ftp, либо через Phpmyadmin. См. далее
# cat settings.inc.php
<?php

// -------------------------------------------------------------------------------
// | net2ftp: a web based FTP client |
// | Copyright (c) 2003-2008 by David Gartner |

// ----------------------------------------------------------------------------------
// Базовые настройки
// ----------------------------------------------------------------------------------

// Введите ваш email
// This is used as "from" address when sending files in attachment
$net2ftp_settings["email_feedback"] = "gnixua@yahoo.com";

// Выберите язык и скин по-умолчанию (загляните в /languages и /skins для просмотра доступных языков 
// и скинов)
$net2ftp_settings["default_language"] = "ru";
$net2ftp_settings["default_skin"] = "blue";

// Введите текст, ссылки для поддержки пользователей(форум) Оставьте поля пустыми, если не 
// используете этого
$net2ftp_settings["help_text"] = "";
$net2ftp_settings["help_link"] = "";

// Отчет ошибок php
//$net2ftp_settings["error_reporting"] = "NONE";
//$net2ftp_settings["error_reporting"] = "standard";
$net2ftp_settings["error_reporting"] = "ALL";

// Исправление ошибки полупрозрачностьи PNG изображений в IE(Internet Explorer младше 7-й версии не 
// умеет отображать альфа-канал в файлах PNG)
$net2ftp_settings["fix_png"] = "yes";

// Измените md5 алгоритм хеширования для улучшения безопасности
//$net2ftp_settings["encryption_string"] = "462E16CB7C3F369BD9F4DBEE0A926F8F14FFB3";
$net2ftp_settings["encryption_string"] = "TH56II56RC3F369BD9F4DBEE0A926F8F1434TY";

// ----------------------------------------------------------------------------------
//Логин и пароль администратора для админ панели
// ----------------------------------------------------------------------------------

$net2ftp_settings["admin_username"] = "gx_ua";
$net2ftp_settings["admin_password"] = "dscjrbthzlsaehmt749";

// ----------------------------------------------------------------------------------
// Введите сообщение для пользователей, отображаеться над опциональными клавишами при входе
// ----------------------------------------------------------------------------------

$net2ftp_settings["message_browse"] = "Welcome to the my home ftp!!!";

// ----------------------------------------------------------------------------------
// Включить поддержку MySQL(Сначала поставьте no, после создания таблиц и другого, включим)
$net2ftp_settings["use_database"] = "no"; // "yes" or "no"

//Введите ваши настройки для MySQL
$net2ftp_settings["dbusername"] = "";
$net2ftp_settings["dbpassword"] = "";
$net2ftp_settings["dbname"] = "";
$net2ftp_settings["dbserver"] = "";

// Различные типы логов(ошибки, доступа)(если включаете — настройте секцию MySQL)
$net2ftp_settings["log_access"] = "yes";
$net2ftp_settings["log_error"] = "yes";

// Удалять автоматически логи,которые старше 31 дня
$net2ftp_settings["log_length_days"] = 31;

// ----------------------------------------------------------------------------------
// Возможность использовать syslog(отключим)
// ----------------------------------------------------------------------------------

$net2ftp_settings["use_syslog"] = "no";
$net2ftp_settings["syslog_priority"] = LOG_NOTICE;
$net2ftp_settings["syslog_facility"] = LOG_MAIL;
$net2ftp_settings["syslog_ident"] = "net2ftp";

// ----------------------------------------------------------------------------------
// Устанавливаем лимиты для файлов
// ----------------------------------------------------------------------------------

$net2ftp_settings["max_filesize"] = "100000000"; // 100 MB или 97656.25 KB

// Надо также изменить некоторые параметры в php.ini
// 1 - in the file php.ini: upload_max_filesize, post_max_size,
// max_execution_time, memory_limit
// 2 - in the file php.conf: LimitRequestBody

// max_execution_time = 300
// post_max_size = 500M
// upload_max_filesize = 500M
// register_globals = On
// Ограничения:
// Максимальный размер одного файла ограничен net2ftp до 97656.25 Кб и PHP до 500M
// Максимальное время выполнения 300 секунд
// Если надо еще больше обьемы заливать — увеличьте все значения

// ----------------------------------------------------------------------------------
// Настройки потребление ресурсов(если включаете — настройте секцию MySQL)
// ----------------------------------------------------------------------------------

// Switch consumption checking on or off
$net2ftp_settings["check_consumption"] = "yes";

// Максимальный обьем передачи данных на день (в Bytes)
$net2ftp_settings["max_consumption_ipaddress_datatransfer"] = 1000000000; // для 1-го IP адреса
// у нас 1Гб
$net2ftp_settings["max_consumption_ftpserver_datatransfer"] = 5000000000; // для FTP сервера(5Гб)

// Максимальное время выполнения скрипта (в seconds)
$net2ftp_settings["max_consumption_ipaddress_executiontime"] = 5000; // для 1-го IP адреса
$net2ftp_settings["max_consumption_ftpserver_executiontime"] = 10000; // для FTP сервера

$net2ftp_settings["check_homedirectory"] = "yes";

// ----------------------------------------------------------------------------------
// Не изменяйте опции ниже
// ----------------------------------------------------------------------------------

$net2ftp_settings["application_version"] = "0.97";
$net2ftp_settings["application_build_nr"] = "44";
$net2ftp_settings["net2ftpdotcom"] = "no";
$net2ftp_settings["show_google_ads"] = "no";

?>

Также доступна натройка опций авторизации в settings_authorizations.inc.php:
<?php
// -------------------------------------------------------------------------------
// | net2ftp: a web based FTP client |
// | Copyright (c) 2003-2008 by David Gartner |
// ...........................................

// ----------------------------------------------------------------------------------
// Использовать опции авторизации
// ----------------------------------------------------------------------------------
$net2ftp_settings["check_authorization"] = "yes";

// ----------------------------------------------------------------------------------
// Доступные ftp сервера(уже заранее определены администратором)

//$net2ftp_settings["allowed_ftpservers"][1] = "ALL";
$net2ftp_settings["allowed_ftpservers"][1] = "myhost.com.ua";
$net2ftp_settings["allowed_ftpservers"][2] = "myhost2.com.ua";
//$net2ftp_settings["allowed_ftpservers"][3] = "ftp.mydomain2.org";

// ftp-сервера, которые забанены, имеет смысл ставить если предыдущая опция в ALL
$net2ftp_settings["banned_ftpservers"][1] = "NONE";
//$net2ftp_settings["banned_ftpservers"][1] = "192.168.1.1";
//$net2ftp_settings["banned_ftpservers"][2] = "192.168.1.2";
//$net2ftp_settings["banned_ftpservers"][3] = "192.168.1.3";

// Доступные порты
$net2ftp_settings["allowed_ftpserverport"] = "ALL";
//$net2ftp_settings["allowed_ftpserverport"] = "21";

// Разрешенные ip адреса
$net2ftp_settings["allowed_addresses"][1] = "ALL";
//$net2ftp_settings["allowed_addresses"][1] = "127.0.0.1"; // IP address
//$net2ftp_settings["allowed_addresses"][2] = "192.168.100"; // IP address range
//$net2ftp_settings["allowed_addresses"][3] = "10.0.0.1";

// Забанненые ip адреса
$net2ftp_settings["banned_addresses"][1] = "NONE";
//$net2ftp_settings["banned_addresses"][1] = "127.0.0.1";
//$net2ftp_settings["banned_addresses"][2] = "192.168.1.2";
//$net2ftp_settings["banned_addresses"][3] = "192.168.1.3";

// Запрещенные имена для папок и файлов
// Если создадите папку например paypal, вы получите сообщение
// С помощью net2ftp нельзя управлять данными, содержащими запрещенные слова. 
// Это необходимо для защиты от подделок PayPal или Ebay.

//$net2ftp_settings["banned_keywords"][1] = "NONE";
$net2ftp_settings["banned_keywords"][1] = "paypal";
$net2ftp_settings["banned_keywords"][2] = "ebay";
$net2ftp_settings["banned_keywords"][3] = "wachoviabank";
$net2ftp_settings["banned_keywords"][4] = "wellsfargo";
$net2ftp_settings["banned_keywords"][5] = "bankwest";
$net2ftp_settings["banned_keywords"][6] = "hsbc";
$net2ftp_settings["banned_keywords"][7] = "halifax-online";
$net2ftp_settings["banned_keywords"][8] = "lloydstsb";
$net2ftp_settings["banned_keywords"][9] = "egg.com";
?>

Обязательно измените права, иначе не сможете заливать файлы
# pwd
/usr/local/www/webftp

# chmod 555 *
# chmod 0777 temp/
# cd temp
# cat .htaccess
deny from all

Далее заполняем базу данных webftp:
1)Вручную
$ :> ~/.my.cnf
$cat ~/.my.cnf
[client]
host=localhost
user=webftp
password= rdfynjdfystxbckfufeccf

$ mysql webftp < /usr/local/www/webftp/create_tables.sql

2)Заходим через web интерфейс в админку и вводим нужные данные.....
Запрос:
Используемые настройки:

Имя пользователя MySQL: webftp
Длина пароля MySQL: 22
База данных MySQL: webftp
MySQL server: localhost

Результаты:

SQL-запрос 1 был успешно выполнен.
SQL-запрос 2 был успешно выполнен.
SQL-запрос 3 был успешно выполнен.
SQL-запрос 4 был успешно выполнен.
SQL-запрос 5 был успешно выполнен.
SQL-запрос 6 был успешно выполнен.
SQL-запрос 7 был успешно выполнен.
SQL-запрос 8 был успешно выполнен.
SQL-запрос 9 был успешно выполнен.
SQL-запрос 10 был успешно выполнен.
SQL-запрос 11 был успешно выполнен.
SQL-запрос 12 был успешно выполнен.
SQL-запрос 13 был успешно выполнен.
SQL-запрос 14 был успешно выполнен.

Включить поддержку MySQL
$net2ftp_settings["use_database"] = "yes"; // "yes" or "no"

//Введите ваши настройки для MySQL
$net2ftp_settings["dbusername"] = "webftp";
$net2ftp_settings["dbpassword"] = "rdfynjdfystxbckfufeccf";
$net2ftp_settings["dbname"] = "webftp";
$net2ftp_settings["dbserver"] = "localhost";

Логи:
mysql> show tables;
+-----------------------------------+
| Tables_in_webftp |
+-----------------------------------+
| net2ftp_log_access |
| net2ftp_log_consumption_ftpserver |
| net2ftp_log_consumption_ipaddress |
| net2ftp_log_error |
| net2ftp_users |
+-----------------------------------+
5 rows in set (0.00 sec)

Все.... вроде работает, большие файлы заливаються .... Заходим на http://ip/webftp, вводим логин и пасс.....  
Дополняйте, исправляйте......



Источник: http://www.lissyara.su/?id=1901
Категория: FTP | Добавил: oleg (26.03.2009) | Автор: gx_ua
Просмотров: 2026 | Комментарии: 1 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024