Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя Программы под FreeBSD Инсталляция и настройка net2ftp

Инсталляция и настройка net2ftp

Ставим из портов:
exim# cd /usr/ports/ftp/net2ftp/ && make install clean && rehash

Конфигурим виртуальный хост:
exim#ee /usr/local/etc/apache22/extra/httpd-vhosts.conf

 Добавляем:
<VirtualHost *:8020>
    ServerAdmin Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.  

    DocumentRoot "/usr/local/www/net2ftp/"
    ServerName net2ftp.mic.ru
    ErrorLog "/var/log/net2ftp-error_log"
    CustomLog "/var/log/net2ftp-access_log" common
          <Directory "/usr/local/www/net2ftp/">
                AllowOverride None
                Options None
                Order Allow,deny
                Allow from all
          </Directory>
</VirtualHost>

  Проверяем правильность настройки виртуальных хостов.
exim# apachectl -S
Должны увидеть
VirtualHost configuration:
10.10.10.203:8021      manager.xyz.ru (/usr/local/etc/apache22/extra/httpd-vhosts.conf:90)
10.10.10.203:8025      vexim.xyz.ru (/usr/local/etc/apache22/extra/httpd-vhosts.conf:107)
10.10.10.203:8070      exilog.xyz.ru (/usr/local/etc/apache22/extra/httpd-vhosts.conf:121)
10.10.10.203:8050      joomla.xyz.ru (/usr/local/etc/apache22/extra/httpd-vhosts.conf:137)
wildcard NameVirtualHosts and _default_ servers:
*:8080                 roundcube.xyz.ru (/usr/local/etc/apache22/extra/httpd-vhosts.conf:59)
*:8020                 net2ftp.xyz.ru (/usr/local/etc/apache22/extra/httpd-vhosts.conf:74)
*:80                   is a NameVirtualHost
         default server shop1.xyz.ru (/usr/local/etc/apache22/extra/httpd-vhosts.conf:27)
         port 80 namevhost shop1.xyz.ru (/usr/local/etc/apache22/extra/httpd-vhosts.conf:27)
         port 80 namevhost cto.xyz.ru (/usr/local/etc/apache22/extra/httpd-vhosts.conf:42)
Syntax OK

Проверяем включение возможности работы с виртуальными хостами:
exim# ee /usr/local/etc/apache22/httpd.conf
Должна быть раскоментирована строка:
# Virtual hosts
Include etc/apache22/extra/httpd-vhosts.conf
А заодно  проверяем разрешена ли работа по порту 8020.

Правим файл php.ini:
exim# ee /usr/local/etc/php.ini
Ставим свои значения.
У меня следующие:
max_execution_time = 30     ; Maximum execution time of each script, in seconds
memory_limit = 128M      ; Maximum amount of memory a script may consume (128MB)
; Maximum size of POST data that PHP will accept.
post_max_size = 15M
; Maximum allowed size for uploaded files.
upload_max_filesize = 10M
; Whether to allow HTTP file uploads.
file_uploads = On
 
Рестартим apache:
exim# apachectl graceful

Далее создаем БД MySQL, пользователя MySQL, и даем ему полные права на эту БД.
exim# mysql –u username –p
Enter password:
mysql> create database net2ftp;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on net2ftp.* to 'net2ftp'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
mysql>quit
Заливаем данные в БД:
# mysql -u net2ftp -p net2ftp < /usr/local/www/net2ftp/create_tables.sql
Enter password:
Далее правим конфигурационный файл /usr/local/www/net2ftp/settings.inc.php. Вот что у меня получилось:

 <?php
// Базовые настройки
// e-mail адресс. Будет использоваться в поле "From" при отправке
// сообщений с аттачментом. Почтовый ящик должен существовать.
$net2ftp_settings["email_feedback"] = Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

// Язык и скин по умолчанию
$net2ftp_settings["default_language"] = "ru";
$net2ftp_settings["default_skin"] = "blue";
// Введите адрес справки, форума поддержки или системы тикетов. Будет создан линк
// в футере. Оставьте незаполненым, если не хотите использовать.
$net2ftp_settings["help_text"] = "";
$net2ftp_settings["help_link"] = "";
// Настройка извещения об ошибках PHP
$net2ftp_settings["error_reporting"] = "standard";
// Исправление ошибки отображения прозрачности изображений PNG в IE
$net2ftp_settings["fix_png"] = "yes";
// Измените алгоритм MD5 хеширования для повышения безопасности
$net2ftp_settings["encryption_string"] = "462E16CB7C3F369BD9F4DBEE0A926F8F14FFB3";
// Логин и пароль администратора для панели управления.
// Если пароль не задан, панель управления будет недоступна
$net2ftp_settings["admin_username"] = "admin";
$net2ftp_settings["admin_password"] = "123456";
// Сообщение для пользователей. Будет отображаться над опциональными клавишами
// при входе
$net2ftp_settings["message_browse"] = "What do you want?";
// Использование MySQL является опциональным. Вы можете использовать эту опцию
// для логирования пользователей, проверки использования сети и ресурсов
// сервера (обьем переданных данных и время исполнения скриптов), а также
// проверки домашнего каталога пользователя
// Использовать MySQL или нет
$net2ftp_settings["use_database"] = "yes"; // "yes" or "no"
// Параметры соединения с MySQL
$net2ftp_settings["dbusername"] = "net2ftp";
$net2ftp_settings["dbpassword"] = "password";
$net2ftp_settings["dbname"] = "net2ftp";
$net2ftp_settings["dbserver"] = "localhost";
// Включение логгирования
$net2ftp_settings["log_access"] = "yes";
$net2ftp_settings["log_error"] = "yes";
// Автоматическое удаление логов "старше" этого значения
$net2ftp_settings["log_length_days"] = 31; // number of days
// Вести логирование в 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"] = "10000000"; // in Bytes, 10 МB
// ПРИМЕЧАНИЕ: Если Вы хотите разрешить загрузку больших файлов, необходимо
// изменить следующие параметры:
// 1 - в файле php.ini: upload_max_filesize, post_max_size,
// max_execution_time, memory_limit
// 2 - в файле php.conf: LimitRequestBody
// Настройка потребления ресурсов (если включаете, то настройте секцию MySQL
// Задействовать или нет ограничения по потреблению ресурсов
$net2ftp_settings["check_consumption"] = "yes";
// Максимальный обьем переданных даных в день
$net2ftp_settings["max_consumption_ipaddress_datatransfer"] = 50000000; // для IP адреса (50 МБ)
$net2ftp_settings["max_consumption_ftpserver_datatransfer"] = 50000000; // для FTP-сервера (50 ГБ)
// Максимальное время выполнения скрипта в день (в секундах)
$net2ftp_settings["max_consumption_ipaddress_executiontime"] = 1800; // для IP адреса (30 мин)
$net2ftp_settings["max_consumption_ftpserver_executiontime"] = 10800; // для FTP-сервера (3 часа)
// Максимальное количество доступных FTP-серверов за день
$net2ftp_settings["max_consumption_ipaddress_nr_of_ftpservers"] = 1;
// Проверять домашний каталог пользователя?
$net2ftp_settings["check_homedirectory"] = "yes";
// НЕ ИЗМЕНЯЙТЕ СЛЕДУЮЩИЕ ОПЦИИ
$net2ftp_settings["application_version"] = "0.98";
$net2ftp_settings["application_build_nr"] = "45";
// Is this net2ftp.com, or a net2ftp installation elsewhere
$net2ftp_settings["net2ftpdotcom"] = "no";
// Google Adsense advertisements
// Not shown when using HTTPS to avoid warnings on each pageload
$net2ftp_settings["show_google_ads"] = "no";
?>

Настраиваем файл авторизации settings_authorizations.inc.php:

 <?php
// Проверять авторизацию?
$net2ftp_settings["check_authorization"] = "yes";
// Разрешенные FTP-сервера
// Введите ALL для разрешения всех серверов
// Будет автоматически изменено приглашение:
// - если установлена опция ALL, будет доступно поле для ввода текста
// - если указан только один сервер, поле ввода отображаться не будет
// - если указано несколько разрешенных серверов, будет доступен
// выпадающий список
$net2ftp_settings["allowed_ftpservers"][1] = "localhost";
// Пример из нескольких серверов:
//$net2ftp_settings["allowed_ftpservers"][1] = "myhost.ru";
//$net2ftp_settings["allowed_ftpservers"][2] = "192.168.0.234";
// Список заблокированных серверов. Имеет смысл использовать, в случае, если
// опция разрешенных серверов выставлена в "ALL"
$net2ftp_settings["banned_ftpservers"][1] = "NONE";
// Разрешенные для FTP порты
$net2ftp_settings["allowed_ftpserverport"] = "21";
// Разрешенные IP-адресса или блок IP-адресов
$net2ftp_settings["allowed_addresses"][1] = "ALL";
// Список 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";
// Перечень имен для файлов и каталогов, использование которых запрещено.
// Пользователю будет выдано сообщение об ошибке
//$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";
?>

 Осталось дать права на папку:
exim# chown -R www:www /usr/local/www/net2ftp/

ПРИМЕЧАНИЕ: Чтобы разрешить или запретить определенные функции, выставьте значение "yes" или "no" в файле settings_screens.inc.php
Свой конфиг прилагаю:


<?php


// Create new directory
$net2ftp_settings["functionuse_newdir"] = "no";
// Create new file
$net2ftp_settings["functionuse_newfile"] = "no";
// Upload (upload, upload-and-unzip)
$net2ftp_settings["functionuse_upload"] = "yes";
// Java upload
$net2ftp_settings["functionuse_jupload"] = "no";
// Flash upload
$net2ftp_settings["functionuse_swfupload"] = "no";
// Create a website from pre-made HTML templates
$net2ftp_settings["functionuse_easyWebsite"] = "no";
// Bookmark a page
$net2ftp_settings["functionuse_bookmark"] = "yes";
// Install functions
$net2ftp_settings["functionuse_install"] = "no";
// Advanced functions
$net2ftp_settings["functionuse_advanced"] = "yes";
// ----------------------------------------------------------------------------------
// Functions on the Browse screen - TOP RIGHT
// Indicate which functions are enabled or disabled
// ----------------------------------------------------------------------------------

// Copy, move and delete directories and files
$net2ftp_settings["functionuse_copy"] = "no";
$net2ftp_settings["functionuse_move"] = "no";
$net2ftp_settings["functionuse_delete"] = "no";
// Rename
$net2ftp_settings["functionuse_rename"] = "no";
// Chmod
$net2ftp_settings["functionuse_chmod"] = "no";
// Zip-and-download
$net2ftp_settings["functionuse_downloadzip"] = "no";
// Unzip
$net2ftp_settings["functionuse_unzip"] = "no";
// Zip-and-save, zip-and-email
$net2ftp_settings["functionuse_zip"] = "no";
// Calculate size
$net2ftp_settings["functionuse_calculatesize"] = "yes";
// Find string
$net2ftp_settings["functionuse_findstring"] = "yes";
// ----------------------------------------------------------------------------------
// Functions on the Browse screen - ROW LEVEL
// Indicate which functions are enabled or disabled
// ----------------------------------------------------------------------------------

// Download file
$net2ftp_settings["functionuse_downloadfile"] = "yes";
// View file
$net2ftp_settings["functionuse_view"] = "no";
// Edit file
$net2ftp_settings["functionuse_edit"] = "no";
// Update file (beta function)
$net2ftp_settings["functionuse_update"] = "no";
// Open file
$net2ftp_settings["functionuse_open"] = "no";
?>

И вот, что получилось

net2ftp
 

Домашняя Программы под FreeBSD Инсталляция и настройка net2ftp