Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: HowTo Виртуальный хостинг Proftpd и MySQL на базе Ubuntu 8.04 LTS  (Прочитано 17796 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vadim-nsk

  • Автор темы
  • LoCo команда
  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
Собственно перевод еще одного классного руководства с  http://www.howtoforge.com

Оригинал руководства можно найти по адресу:
 http://www.howtoforge.com/virtual-hosting-with-proftpd-and-mysql-ubuntu-8.04

Оглавление
Виртуальный хостинг Proftpd и MySQL на базе Ubuntu 8.04 LTS   1
Виртуальный хостинг Proftpd и MySQL на базе Ubuntu 8.04 LTS    3
1 Предварительные Примечание   3
1.1 Изменение оболочки по умолчанию   3
1.2 Отключение AppArmor   4
2 Установка MySQL и phpMyAdmin   4
3 Установка Proftpd с поддержкой MySQL   4
4 Создание базы данных MySQL для Proftpd   5
5 Настройка Proftpd   6
6 Заполнения базы данных и ее тестирование   7
7 Администрирование баз данных   8
Таблица ftpuser:   8
Таблица ftpquotalimits:   9
8 Анонимный FTP   9
9 Источник   11
10 Ссылки   11

Оффлайн LiguidCool

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Народ, а почему меня в 8.10 на команду apt-get install proftpd-mysql шлет лесом (мол нет такого пакета)

Оффлайн vadim-nsk

  • Автор темы
  • LoCo команда
  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
Народ, а почему меня в 8.10 на команду apt-get install proftpd-mysql шлет лесом (мол нет такого пакета)
не знаю на счет 8.10, но 9.04 поменялось и теперь нужный функционал можно получить с помощью модулей. Вот например что выдается на счет поиска пакетов в 9.04:
apt-cache search proftpd
auth2db-filters - Auth2db defaults filters pack
ftpd - File Transfer Protocol (FTP) server
gadmin-proftpd - GTK+ configuration tool for proftpd
gadmin-tools - GTK+ server administration tools
gforge-ftp-proftpd - collaborative development tool - FTP management (using ProFTPd)
gproftpd - GTK+ configuration tool for proftpd (transitional package)
proftpd - versatile, virtual-hosting FTP daemon
proftpd-basic - versatile, virtual-hosting FTP daemon - binaries
proftpd-doc - Versatile, virtual-hosting FTP daemon - documentation
proftpd-mod-ldap - versatile, virtual-hosting FTP daemon - LDAP module
proftpd-mod-mysql - versatile, virtual-hosting FTP daemon - MySQL module
proftpd-mod-pgsql - versatile, virtual-hosting FTP daemon - PostgreSQL module
Вопрос может для вас и покажется странным, но для меня вполне естественный, а зачем вам на сервере использовать не LTS релизы?

Оффлайн masterY0da

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
сделал все как написано в руководстве но попасть на сервер немогу, в клиенте пишу свой адресс, логин пароль , идет конект, конектиться а потом говорит что неверный пароль.
в лоах proftpd пишется no such user 'user' from  ....
подскажите!
само собой юзер и пароль верные :)

Оффлайн vadim-nsk

  • Автор темы
  • LoCo команда
  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
юзер имеет вид user@domain ?

Оффлайн mephy

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
сделал все как написано в руководстве но попасть на сервер немогу, в клиенте пишу свой адресс, логин пароль , идет конект, конектиться а потом говорит что неверный пароль.
в лоах proftpd пишется no such user 'user' from  ....
подскажите!
само собой юзер и пароль верные Smiley

у меня такое было - открыл
/etc/proftpd/modules.conf

и разкомментил
LoadModule mod_sql.c
LoadModule mod_sql_mysql.c

Оффлайн viktor6

  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
ребята подскахите как правильно настроить виртуал сервер для ftp тобиш
У меня есть 2 сайта и 2 доменых имени
my.site.com.ru
sof.site.com.ru
Хочу чтобы при наборе ftp://my.site.com.ru при анонимном доступе открывалась папка my
а при наборе ftp://sof.site.com.ru при анонимном доступе открывалась папка sof

вот мой конфиг
(Нажмите, чтобы показать/скрыть)

Оффлайн gridis

  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Я прочитал ваш манул, он не полон, для того, что бы все заработало, надо в файл /etc/proftpd/proftpd.conf изменить следующее:

<IfModule mod_quotatab.c>
# User quotas
# ===========
QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on

SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type,
bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail,
files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' AND
quota_type = '%{1}'"
SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used,
bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used
FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"
SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0},
bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2},
files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4},
files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type =
'%{7}'" ftpquotatallies
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5},
%{6}, %{7}" ftpquotatallies
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
RootLogin off
RequireValidShell off
</IfModule>


потом в файле /etc/proftpd/modules.conf раскомментировать несколько строк:
# Install one of proftpd-mod-mysql, proftpd-mod-pgsql or any other
# SQL backend engine to use this module and the required backend.
# This module must be mandatory loaded before anyone of
# the existent SQL backeds.
LoadModule mod_sql.c

и

# Install proftpd-mod-pgsql or proftpd-mod-mysql to use this
LoadModule mod_quotatab_sql.c
LoadModule mod_quotatab_radius.c
LoadModule mod_wrap.c
LoadModule mod_rewrite.c
LoadModule mod_load.c
LoadModule mod_ban.c
LoadModule mod_wrap2.c
LoadModule mod_wrap2_file.c
# Install proftpd-mod-pgsql or proftpd-mod-mysql to use this
LoadModule mod_wrap2_sql.c
LoadModule mod_dynmasq.c


после чего все должно заработать!
НО, обязательно проверьте SQL запросы, так как если будет разрыв он опять начнет ругаться


Оффлайн viktor6

  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Подскажите на русском языке есть  gadmin-proftpd

Оффлайн borodadada

  • Любитель
  • *
  • Сообщений: 54
  • Ну чё Боярский?
    • Просмотр профиля
Следовал по инструкции + дороботки которые написали ниже, при рестарте фтп
- Fatal: SQLNamedQuery: expected 'UPDATE' query-string table-name on line 55 of '/etc/proftpd/proftpd.conf'

55   SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE

Подскажите в чём дело?



Кажеться понял, сейчас данные о базе данных заносятся в отдельный файл в папке фтп.
« Последнее редактирование: 28 Февраль 2010, 18:23:22 от borodadada »

Оффлайн PsihoZ

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Отличная тема, отличный перевод, отличная комбинация FTP и базы (на мой взгляд) :). К сожалению уже старая, а более новой и столь же удачной не нашел, потому хотел бы подчеркнуть некоторые, уже выше описанные, моменты, и добавит кое что от себя, после установки на версию Ubuntu 10.04.

Надеюсь ни у кого проблем с редактированием файла proftpd.conf не возникает, только добавлю, т.к. в существующей (обновленной) версии proftpd, работа с базой данных ведется по конфигу из отдельного файла (sql.conf), то в proftpd.conf обязательно разкоментировать строку Include /etc/proftpd/sql.conf, а сам файл sql.conf должен быть следующего вида:

(Нажмите, чтобы показать/скрыть)

для тех, кто уже установил по инструкции и столкнулся с ошибками, могу лишь напомнить:

1)обязательно выполнить
sudo apt-get install proftpd-mod-mysqlapt-get install proftpd-mysql - не работает
это добавит модули для работы с БД

2)
Цитировать
потом в файле /etc/proftpd/modules.conf раскомментировать несколько строк:
# Install one of proftpd-mod-mysql, proftpd-mod-pgsql or any other
# SQL backend engine to use this module and the required backend.
# This module must be mandatory loaded before anyone of
# the existent SQL backeds.
LoadModule mod_sql.c

и

# Install proftpd-mod-pgsql or proftpd-mod-mysql to use this
LoadModule mod_quotatab_sql.c
LoadModule mod_quotatab_radius.c
LoadModule mod_wrap.c
LoadModule mod_rewrite.c
LoadModule mod_load.c
LoadModule mod_ban.c
LoadModule mod_wrap2.c
LoadModule mod_wrap2_file.c
# Install proftpd-mod-pgsql or proftpd-mod-mysql to use this
LoadModule mod_wrap2_sql.c
LoadModule mod_dynmasq.c

эти 2 пункта и
Цитировать
в proftpd.conf обязательно разкоментировать строку Include /etc/proftpd/sql.conf
должи избавить от ошибки:
Fatal: unknown configuration directive ' SQLAuthTypes' on line [номер строки] of '/etc/proftpd/proftpd.conf'
3) от ошибок:
- Fatal: SQLNamedQuery: expected 'UPDATE' query-string table-name on line [номер строки] of '/etc/proftpd/sql.conf'и
- Fatal: unknown configuration directive 'bytes_in_avail,' on line 77 of '/etc/proftpd/sql.conf'избавят соответствующие исправления в коде файла sql.conf приведенные мною выше.


И еще.
Зачем хранить пароли учеток в открытом виде, если их можно шифровать?
А сделать это можно двумя функцуиями:
1) в файле sql.conf изменить строку:
SQLAuthTypes Plaintext Cryptна
SQLAuthTypes Cryptи в запросах, вместо простого ввода пароля:
INSERT INTO `ftpuser` (`id`, `userid`, `passwd`,..., 'пароль',...);писать
INSERT INTO `ftpuser` (`id`, `userid`, `passwd`,..., ENCRYPT('пароль'),...)
2) ту же строку меняем на
SQLAuthTypes Backendа в запросах (приведенных выше), вместо ENCRYPT пишем PASSWORD
INSERT INTO `ftpuser` (`id`, `userid`, `passwd`,..., PASSWORD('пароль'),...)
Способы отличаются лишь методом шифрования.
Первый работает точно, второй, пароли шифрует, но, к сожалению, мой FTP клиент не понимает его... разбираюсь.
« Последнее редактирование: 19 Июль 2010, 22:58:52 от PsihoZ »

Оффлайн ksandrч1

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Хех вроде все понятно тока вот выскочила эта пробле
(Нажмите, чтобы показать/скрыть)

тупняк какйто получается он неможет найти или получить доступ к файлу /var/run/proftpd/test.sock (заходил туда его там нету)
а насчет 129 сторочки там SystemLog /var/run/proftpd/test.sock  и все
я так понял нужно раскоментить гдето строчку для создания файла в  /var/run/proftpd/test.sock
или мож чето не так понял подскажити плиз..

Гарри Кашпировский

  • Гость
О рута запускай.
sudo /etc/init.d/bla-bla start

Оффлайн ksandrч1

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
о типерь корочи таю шляпы выдает
(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 02 Август 2010, 07:29:10:
Все разобрался проблема решилась путем комментирования.
Типерь сервер запускается и работает нормально пользователи заходят но он ругается на пробелы в файле /etc/proftpd/proftpd.conf но все работает файлы загружаются вроде без ошибок
« Последнее редактирование: 02 Август 2010, 07:29:10 от ksandrч1 »

Оффлайн Black_Hawk

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Все сделал по инструкции плюс комментарии. Запускается без ошибок, но к нему совсем не конектится как будто он выключен. Без sql работает. В чем может быть причина?

 

Страница сгенерирована за 0.064 секунд. Запросов: 24.