Net2ftp – працюємо з ФТП через браузер
Є кілька працюючих FTP-серверів. Ну а оскільки протокол тішить тим, що використовуються стандартні команди, то спалахнув ідеєю прикрутити до FTP-серверів веб-інтерфейс. Погуглів знайшов кілька скриптів (до речі в портах є ще й phpwebftp, але він виявився дуже кострубатим у роботі). Випробувавши кілька версій, знайшов інформацію про net2ftp, тим паче цей софт опинився в портах. Pkg-descr теж порадував. Ну а коли пошукав ще інформації, то просто потішило:
Можливості для користувачів:
Можливості для адміністраторів:
- Safe Mode - net2ftp чудово працює при SafeMode;
- MySQL DB - необхідна для ведення логів, добового обмеження; опцію можна включити у конфігураційному файлі;
- Авторизація - можливість підключатися користувачам до різних ftp-серверів;
- Введення лог-файлів - доступні 3 різних типи логів: за запитуваними сторінками, помилками, логінами;
- Денний ліміт – обмеження денного обсягу передачі даних та час виконання скриптів для кожного користувача. Як тільки користувач перевищує межу – передача даних до сервера заблокується;
- Ліміт великих файлів - файли, які більше ніж цей ліміт не можуть бути завантажені/завантажені, залишається можливість - перейменовувати/видаляти/змінювати права;
- Заборонені імена - файли (каталоги), що містять ці імена - не обробляються;
- Інтеграція з іншими програмами PHP — доступні модулі для Mambo, Drupal and Xoops.
Вирішено. "Помацаємо" що це таке. Приступаємо до встановлення:
| #cd /usr/ports/ftp/net2ftp/ && make install clean && rehash |
Додаємо до httpd.conf наступний блок:
| Alias /ftp/ "/usr/local/www/net2ftp/" Options none AllowOverride All Order Allow,Deny Allow from all |
Перевіряємо, чи не припустилися помилок при редагуванні httpd.conf, і якщо все гаразд, то "м'яко" перезапускаємо apache:
# apachectl configtest Syntax OK# apachectl graceful
Далі створюємо БД MySQL, користувача MySQL і даємо йому повні права на цю БД.
# mysql –u username –p Enter password: mysql>create database net2ftp; Query OK, 1 рядок (0.00 sec) mysql>grant all on net2ftp.* to 'net2ftp'@'localhost' >password '; Query OK, 0 рядки (0.00 sec) mysql>quit
Заливаємо дані у БД:
| # mysql -u net2ftp -p net2ftp ftp [at] muff [dot] kiev [dot] ua "; |
// Використання MySQL є опціональним. Ви можете використовувати цю опцію // для логування користувачів, перевірки використання мережі та ресурсів // сервера (обсяг переданих даних та час виконання скриптів), а також // перевірки домашнього каталогу користувача
Далі за допомогою .htaccess змінимо деякі глобальні змінні php.ini для нашого каталогу:
| #cd /usr/local/www/net2ftp/ && mv htaccess.txt .htaccess |
Я встановив такі значення:
| # cat /usr/local/www/net2ftp/.htaccess php_value max_execution_time 1200 php_value memory_limit 200M php_value post_max_size 200M |
Ось і все, налаштування завершено. Залишився тільки завершальний штрих: