Licence: Freeware, modifikace kódu povolena, za předpokladu, že na přihlašovací stránce zůstane odkaz na http://www.imega.cz/ v libovolné čitelné formě
Pokud souhlasíš stáhni si: pureftpdadmin-0.23.tar.gz (rozbalí se do 'pureftpdadmin', 19 683b)
Instalace:
Nainstaluj a zprovozni WebServer (např. Apache)
Prostě ho nainstaluj
Doporučuji nastavit:
<Directory "/srv/www/htdocs">
Options Indexes FollowSymLinks AllowOverride All
Order allow,deny
Allow from all
</Directory>
Nainstaluj a zprovozni MySQL (verze 4 nebo 5)
Prostě ho nainstaluj
Pure-FTP potřebuje vývojařské knihovny a hlavičky pro kompilaci, takže bych doporučil tyto baličky: Server, Client, Shared libraries, Header libraries
Nainstaluj a zprovozni PHP (verze 4 nebo 5)
Nezapomeň si přihodit patřičné balíčky jako mysql(MySQL < 4.1.3) nebo mysqli(MySQL => 4.1.3), iconv (není nutné) apod. . Zapni v Apache podporu PHP
Já jsem použil: ./configure --with-mysql --with-cookie --with-quotas --with-throttling --with-ratio make install
Je to zvláštní, ale switch '--with-mysql' je důležitý, možná tě zajímá i '--with-ftpwho'. Zajímavý je i '--with-tls', ale domluv se potom s firewallem :(.
Vhodné je rovněž na firewallu otevřít 21 port, a pokud chceš používat passivní mód, tak 'ip_conntract_ftp' je tvůj kámoš.
Příkaz 'modprobe ip_conntract_ftp' ti ho zavede (ale jenom fčul). Pro automaticke zavadění jsem ho přišoupl k nahrávaným modulům firewallu.
Rozbal stažený soubor do složky web-u (např. /srv/www/htdocs)
Vznikne ti složka např. '/srv/www/htdocs/pureftpdadmin' a v ní je složka 'setting' a v ní 'pureftptable.sql.php' a 'pureftp.inc.php' - ty tě budou zajímat
TIP: Protokol https není špatný (Aspoň ti nelítá po webu jenom tak heslo od správce či administrátorů).
Vytvoř v MySQL databázi a tabulky Pure-FTPd Admin
Přihlas se jako root do MySql (přes např. PHPMyAdmin nebo z řádku) - po instalaci MySQL má 'root' heslo prázdné - jestli se nepletu :)
Ve složce '/srv/www/htdocs/pureftpdadmin/setting' je soubor 'pureftptable.sql.php', ten si otevři v editoru a mezi PHP komentáři je SQL script který vytvoří databázi 'pureftp' a v ní dvě tabulky. Do tabulky users vloží uživatele root s heslem root (Pure-FTPd Admin root).
POZOR:Skupina uživatele (GID) 'root' je nastavena na 1000, a id uživatele (UID) na 9000. Proto by v systému tak vysoká čísla (UID) neměla exitovat, nebo tato čísla změň (v SQL scriptu poslední řádek po MD5('root')). Při standartním nastavení budou nově vytváření uživatelé mit UID 9001,9002 atd.
Vytvoř v MySQL 2 uživatele
Jeden s opravněním jen SELECT na databázi pureftp - bude používat Pure-FTPd
Jeden s oprávněním SELECT, INSERT, UPDATE, DELETE na datábazi pureftp - bude používat PureFTPd Admin
Může být jen jeden záleží na tobě, jak moc to chceš mít 'čisté'.
Začnem od konce: $vhost = mysql host ... localhost $vuser = uživatel s oprávněním minimálně na databázi pureftp s oprávněním SELECT, INSERT, UPDATE, DELETE $vpasswd = heslo; $vdb = používaná databáze nech 'pureftp'; $vtypeinterface =pokud používáš knihovnu 'mysql' pro spojení s MySQL tak 0, pokud používáš knihovnu 'mysqli' pro spojení s MySQL tak 1
A zpět na začátek:
Buď $s__check_referer nastav na false nebo $s__referer doplň/přepiš adresy umístnění Pure-FTPd Admin.
Přepiš $s__md5add na cokoliv zhruba stejně dlouhého :)
Přepiš $s__default_ftpdir - ftp home, tento adresář vytvoř na svém disku !!!.
Přepiš nastavení e-mailu $s__emailfrom, $s__emailreturnpath, $s__emailbodybegin, $s__emailinfohttpacces, pokud to neni jasné, tak až vytvoříš prvního uživatel pochopíš co je kde :).
Přepiš $s__emailfrom, $s__emailreturnpath - 'Return path' záleži na tvém nastaveni odesílání pošty, a je možné, že nebude tato halvička akceptovana.
Info:$s__USE_RATIONS je nastaveno na false, nastav na true pro ftp server 'něco za něco'.
Info:$s__default_GID určuje skupinu nově přidaných uživatelů. Nastavení na 'false' vynutí ruční zadávání skupiny.
Info:$s__default_auto_UID nastaveno na true, přidělí novému uživateli UID maximální v DB + 1.
Info:$s__default_ftpdirbyuser nastaveno na true, přidělí novému uživateli domovský adresář '$s__default_ftpdir<username>'.
Info: Pokud budeš odesílat e-maily přes Pure-FTPd Admin, tak bys měl vědět, že email je odesilan v nejjednoduší textové podobě. Pure-FTPd Admin má znakovou sadu UTF-8, takže pomocí $s__mail_useiconv a $s__mailnative_charset nastavíš do jaké znak. sady se má zpráva přeložit.
Spusti Pure-FTPd Admin a dokonfiguruj Pure-FTPd
Spusti http://localhost/pureftpdadmin ve svém prohlížeči
Přihlas se jako root z heslem root
Stiskni 'Show MySQL query'
Zkopíruj text (začínající pod tlačítky) do '/etc/pureftpd-mysql.conf'
Uprav v '/etc/pureftpd-mysql.conf' MYSQLUser a MYSQLPassword na uživatele MySQL s oprávněním jen SELECT na databázi pureftp.
Spusti Pure-FTPd
Třeba takto: /usr/sbin/pure-ftpd -A -c 50 -C 25 -E -j -k 95 -l mysql:/etc/pureftpd-mysql.conf &
-j a -l mysql:/etc/pureftpd-mysql.conf - je nutné :)
Vytvoř uživatele v Pure-FTPd Admin a zkus to
TIP: pokud chceš mít něco jako ftp admin účet, který může na všech účtech řádit jako černá ruka, tak spusti Pure-FTPd ještě s -U 113:002 . A nastav pomocí příkazu crontab -e spouštění změny práv na domovské adresáře jednotlivých účtů např. 01 * * * * /bin/chmod 775 /srv/ftp/* >/dev/null 2>/dev/null - což ti každou hodinu opraví oprávnění '+w' pro skupinu. Pokud chceš 'totální černou' ruku přídej -R k příkazu chmod /a asi by v tom případě bylo lepší chmod +gw/. (Samozřejmně to funguje jen v rámci skupiny GID). No a k tomu vytvoř uživatele 'cernaruka' s domovskym adresřem /srv/ftp , počkej 1-59 min a je to.