proFTPd - instalace

Napsal O webu (») 15. 1. 2007 v kategorii Operační systémy, přečteno: 8350×

Jak na FTP v Linuxu

V Operačním systému GNU/Linux existuje mnoho nejen síťových aplikací, ze všech možných FTP serverů popíšu instalaci a nastavení ProFTPd serveru s podporou databáze, což umožní přidávat a editovat uživatele pohodlným a rychlým způsobem bez restartování serveru.

Instalace

V Debianu a na něm založených distribucích (ubuntu) by mělo stačit zadat pod uživatelem root (před příkaz přidáte
sudo
nebo se nejdříve přihlásíte příkazem
su
):
apt-get install proftpd proftpd-mysql

V dalších použijete instalace podle vašeho balíčkovacího systému (u RMPkových rpm --install proftpd-<verze>.rpm). Pokud jste balíčky nenašli ve vašem repozitáři a nemůžete je tedy nainstalovat, můžete se po nich pohlédnout jinde nebo si zkompilovat vlastní. Stáhnete si z oficiálních stránek ProFTPd tento server ve zdrojových kódech, archiv rozbalíte a pomocí svaté trojice zkompilujete s modulem pro práci s databází.

./configure --with-modules=mod_sql
make
make install

Nastavení

Nyní máme nainstalovaný FTP server ale potřebujeme jej ještě nastavit. Stejně jako většina nastavení má i ProFTPd hlavní konfigurační složku v
/etc v /etc/proftpd/proftpd.conf
,
/etc/proftpd.conf
nebo
/usr/local/etc/proftpd.conf
. Soubor otevřete ve vašem oblíbeném textovém editoru pod uživatelem root. Řádky začínající znakem # jsou komentáře, kde si zapsat vaši poznámku. Ty nejsou důležité tak jako konfigurační možnosti (v závorce uvádím jak mám nastaveno já):
ServerName
- Obsahuje název počítače ("Debian")
ServerType
- Obsahuje standalone nebo inetd podle toho, zda chcete nechat naslouchat přímo server nebo inetd (standalone)
DefaultServer
- Nastavuje server jako standardní (on)
ShowSymlinks
- Zobrazit symbolické odkazy (on)
User
-  Jméno uživatele pod kterým poběží server (nobody)
Group
- Jméno uživatele pod kterým poběží server (nogroup)
DefaultRoot
- Výchozí adresář (~) Pozn: ~ znamená v Linuxu domovskou složku

ProFTPd má podobné nastavení jako server Apache, proto pro více možností navštivte stránku dokumentace. Zde se dozvíte kde všude můžete použít konfigurační direktivu. Seznam konfiguračních možností najdete na webu ProFTPd..

Nastavení s MySQL

Cílem bylo zprovoznit ProFTPd server dynamicky bez dalších zásahů ve konfiguraci, aby jsme server nemuseli restartovat. K tomu potřebujeme přidat do konfiguračního souboru navíc tyto řádky:
SQLConnectInfo databaze@server prihlasovaci_jmeno heslo
(pftpd@localhost pftpd ******)
SQLAuthenticate tabulka
(users)
SQLAuthTypes backend
Typ autentifikace
SQLDefaultHomedir Standardni_adresar
(/home/ftp)
Následující sloupce tabulky uvádí informace o uživateli a skupině:
SQLUserInfo users userid passwd uid gid homedir shell

SQLGroupInfo groups groupname gid members


Pokud chcete logovat přístupy uživatele:
SQLLog PASS updatecount

SQLNamedQuery updatecount UPDATE "count=count+1 WHERE userid='%u'" users

Zde je SQL, které můžete použít pro výrobu tabulky:
CREATE TABLE `users` (
`userid` varchar(255) NOT NULL default '',
`name` varchar(255) default NULL,
`mail` varchar(255) default NULL,
`uid` int(11) default '65534',
`gid` int(11) default '65534',
`passwd` varchar(255) NOT NULL default '',
`shell` varchar(255) NOT NULL default '/bin/neexistujici',
`homedir` varchar(255) NOT NULL default '/home/ftp',
`note` text,
`count` int(11) NOT NULL default '0',
`admin` int(1) NOT NULL default '0',
`closed` int(1) NOT NULL default '0',
UNIQUE KEY `userid` (`userid`)
)

Pomocí PHP s MySQL si nyní můžete vytvořit jednoduchou tabulku do které můžete přidávat, mazat a upravovat uživatele. Článek byl míněn jako mini manuál, pokud máte nějaký dotaz zeptejte se v diskusi pod článkem.
Vyzkoušetje také příkaz
ftptop
pro zobrazování aktuálného dění na serveru nebo příkaz
ftpwho
pro informace, kdo je právě přihlášený.


Autor: martin
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Asuan z IP 213.226.234.*** | 27.8.2009 21:47
Nezmínil jsi zde že se musí ještě zněnit configurace v
/etc/proftpd/modules.conf
jako je povolení modulu "mod_sql_mysql.c" aj.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel dvanáct a deset