-------------------------------------
witam, mam podobny problem, mam zainstalowany proftpd, gadmin-proftpd i apache2 i mysql
tworzylem bazy danych o rozne opisy aby serwer ftp dzialal z mysql ( probowalem tez bez mysql )
np.
Kod: Zaznacz cały
1. Instalacja pakietów
Bierzemy się do roboty i ściągamy potrzebne pakiety. Użuwamy do tego wydajemy polecenie:
apt-get install proftpd-mysql proftpd-common mysql-client mysql-common mysql-server libmysqlclient10
2. Konfiguracja ProFTPd-mysql
W pliku konfiguracyjny proftpd-mysql, to znaczy w katalogu /etc znajduje plik proftpd.conf w którym musimy dopisać następujące linijki:
sciezka ktora podaje tutorial /etc/proftp.conf, tam taki plik nie istnial, znalazłem go w /etc/proftpd/proftpd.conf <---- jednak tam wpisalem konfiguracje do komuinikacji z bazą danych to podczas restartu serwera zgłosił się bład
Kod: Zaznacz cały
- Fatal: unknown configuration directive 'SQLAuthTypes' on line 5 of '/etc/proftpd/proftpd.conf'
Kod: Zaznacz cały
SQLConnectInfo proftpd@localhost:3306 proftpd tu_wpisałem_moje_hasło
SQLUserInfo users name pass uid gid home shell
SQLGroupInfo groups name gid members
SQLAuthenticate users* groups*
SQLAuthTypes PlainText
A teraz opisze co każda z tych zmiennych oznacza.
SQLConnectInfo - ta zmienna określa połącznie z bazą danych, czyli nazwę bazy danych, adres serwera bazy danych oraz port. Następnie po spacji podajemy użytkownika i hasło, które podajemy w formie zwykłego tekstu (plaintext).
SQLUserInfo - Dyrektywa ta zawiera informacje o wyszukiwaniu informacji o użytkowniku w bazie danych. Podajemy tu najpierw nazwę bazy, a następnie nazwy kolumn o użytkowniku.
SQLGroupInfo - Podobnie jak zmienna SQLUserInfo, tylko że zawiera informacje o grupach.
SQLAuthenticate - Tu podajemy metodę autoryzacji. W przykładzie mamy opcje: users* groups*. Takie parametry pozwalają na zalogowanie się jedynie użytkowników zapisanych w bazie, wraz z weryfikacją ich przynależności do grup. W przeciwnym przypadku (brak groups*), gid = 65533 ew. inny jeśli zdefiniujemy SQLDefaultGID. Obowiązuje również powiązanie numerów z bazy z numerami systemowymi.
SQLAuthTypes - Zmienna ta określa jak kodowane są hasła. Dla PlainText pozwala na umieszczenie haseł w tabeli w postaci zwykłego tekstu. Dostępne są również inne opcje, które oczywiście decydują o bezpieczeństwie dotępu do serwera. W przypadku braku tej dyrektywy, jak i poprzedniej, MySQL nie będzie używany do autoryzacji użytkowników. Można także zamiast PlainText użyć: OpenSSL, Crypt oraz Backend.
No to mamy skonfigurowany ProFTPd do działania z bazą MySQL, teraz wystarczy utworzyć tylko bazę i tabele, lecz najpierws omówię jeszcze parę przydatnych dyrektyw.
DefaultRoot - ta dyrektywa określa nam do jakiego katalogu ma się logować użytkownik. Można ją np. ustawić na ~/public_html/. Teraz użytkownik będzie miał dostęp tylko do katalogu public_html w swoim katalogu domowym.
MaxClients - tu ustawiamy ile użytkowników może byc jednocześnie zalogowanych na serwerze.
MaxClientsPerHost - podobneie jak wyżej, tylko że to jest ograniczenie z jednego adresu IP.
3. Konfiguracja MySQL
Teraz zajmiemy się konfiguracją serwera MySQL, lecz to wiąże się tylko z utworzeniem bazy danych.
USE mysql;
INSERT INTO user (Host, User, Password) VALUES ('localhost','proftpd','tu_wpisalem_moje_haslo);
CREATE DATABASE proftpd;
USE proftpd;
CREATE TABLE users (
name varchar(30) NOT NULL default '',
pass varchar(30) NOT NULL default '',
uid int(11) NOT NULL auto_increment,
gid int(11) NOT NULL,
home varchar(255) NOT NULL,
shell varchar(255) NOT NULL,
PRIMARY KEY (uid),
UNIQUE KEY name (name)
) TYPE=MyISAM AUTO_INCREMENT=50 ;
USE proftpd;
CREATE TABLE groups (
name varchar(30) NOT NULL default '',
gid int(11) NOT NULL,
members text NOT NULL,
PRIMARY KEY (gid),
UNIQUE KEY name (name)
) TYPE=MyISAM AUTO_INCREMENT=50 ;
I to już wyszystko :)
4. Dodanie nowego konta ftp
No to kończymy, czyli dodamy użytkownika ftp.
USE proftpd;
INSERT INTO users (name,pass,gid,home,shell) VALUES ('konto1','haslo','2000','/home/ftp/konto1','/bin/sh');
INSERT INTO groups (name,gid,members) VALUES ('grupa1','2000','konto1');
probowalem utworzyc urzytkownikow w gadmin-proftpd jednak w bazie danych mysql nic sie nie zmienilo, nie utworzyl sie tam zaden nowy uzytkownik
i tak to nic nie dalo
prosze mi napisac jakei logi wkleic i skad to to zrobie, dziekuje bardzo za wszelka pomoc i pozdrawiam