|
www.lissyara.su
—> статьи
—> FreeBSD
—> программы
—> Установка net2ftp
Вступление в net2ftp (FreeBSD7.1 and apache22)
Автор: gx_ua.
Вступление в 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
Установка
% cd /usr/ports/ftp/net2ftp/ && make install clean && rehash
%pkg_info -Ix net2ftp\*
net2ftp-0.98 PHP scripts to work with ftp
|
% setenv D /usr/local/www/net2ftp
% ls -dl $D/temp
drwxr-xr-x 2 root wheel 512 19 окт 23:43 /usr/local/www/net2ftp/temp
%chmod 777 $D/temp
%ls -dl $D/temp
drwxrwxrwx 2 root wheel 512 19 окт 23:43 /usr/local/www/net2ftp/temp
| Добавляем в httpd.conf
Alias /net2ftp "/usr/local/www/net2ftp/"
<Directory "/usr/local/www/net2ftp/">
Options none
AllowOverride Limit
Order Allow, Deny
Allow from all
</Directory>
| Для .htaccess:
Limit. Допускает использование основных директив управления доступом (allow, deny и order), директив секционирования Limit, т.е. например ограничивают доступ к файлам в зависимости от адреса клиентского компьютера.
"Мягкий" рестарт apache22:
% /usr/local/etc/rc.d/apache22 graceful
Performing a graceful restart
| Создание базы, пользователя net2ftp(права и пасс)
mysql> create database net2ftp;
Query OK, 1 row affected (0.06 sec)
mysql> show databases;
...............
mysql> grant all on net2ftp.* to 'net2ftp'@'localhost'
mysql> 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)
// для 1-го IP адреса
$net2ftp_settings["max_consumption_ipaddress_datatransfer"] = 1000000000;
// у нас 1Гб
// для FTP сервера(5Гб)
$net2ftp_settings["max_consumption_ftpserver_datatransfer"] = 5000000000;
// Максимальное время выполнения скрипта (в seconds)
// для 1-го IP адреса:
$net2ftp_settings["max_consumption_ipaddress_executiontime"] = 5000;
// для FTP сервера:
$net2ftp_settings["max_consumption_ftpserver_executiontime"] = 10000;
$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";
//$net2ftp_settings["allowed_addresses"][2] = "192.168.100";
//$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";
?>
| Вы также можете использовать .htaccess для определения PHP значений вместо php.ini(см. выше):
0) Проверьте значения в вашем httpd.conf:
И конечно:
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
| для запрета доступа к вашему .htaccess, etc; если изменили AccessFileName, измените и тут.
1) Измените в
<Directory "/usr/local/www/net2ftp/">
...................
</Directory>
|
AllowOverride Limit на AllowOverride All
| 2) .htaccess
# cd /usr/local/www/net2ftp
# mv htaccess.txt .htaccess
|
# cat .htaccess
php_value max_execution_time 1200
php_value memory_limit 200M
php_value post_max_size 200M
php_value upload_max_filesize 200M
| Далее заполняем базу данных net2ftp:
1)Вручную
$ :> ~/.my.cnf
$cat ~/.my.cnf
[client]
host=localhost
user=net2ftp
password= rdfynjdfystxbckfufeccf
|
$ mysql net2ftp < /usr/local/www/net2ftp/create_tables.sql
| либо
2)Заходим через web интерфейс в админку и вводим нужные данные.....
Запрос:
Используемые настройки:
Имя пользователя MySQL: net2ftp
Длина пароля MySQL: 22
База данных MySQL: net2ftp
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"] = "net2ftp";
$net2ftp_settings["dbpassword"] = "rdfynjdfystxbckfufeccf";
$net2ftp_settings["dbname"] = "net2ftp";
$net2ftp_settings["dbserver"] = "localhost";
| Логи:
mysql> show tables;
+-----------------------------------+
| Tables_in_net2ftp |
+-----------------------------------+
| net2ftp_log_access |
| net2ftp_log_consumption_ftpserver |
| net2ftp_log_consumption_ipaddress |
| net2ftp_log_error |
| net2ftp_users |
+-----------------------------------+
5 rows in set (0.00 sec)
| Дополняйте, исправляйте....!!!
Скрины
размещено: 2009-03-22,
последнее обновление: 2010-01-26,
автор: gx_ua
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
Комментарии пользователей [6 шт.]