Navzdory určité nejistotě, která může obklopovat MySQL, osobně stále dávám přednost práci s touto databází před použitím jiné. Nemám nic proti Postgre, jednoduše jsem používal MySQL po celý život a doposud jsem neměl důvod přehodnotit jeho použití.
Tentokrát vás naučím, jak nainstalovat FTP server, ale nejen to, naučím vás ne tak složitým způsobem, jak zajistit, aby uživatelé, hesla a další uživatelská data byla ukládána v databázi MySQL, a ne v účtech místní.
Proč to takhle?
Jednoduché, protože při zálohování, přeinstalování serveru nebo jakékoli jiné významné změně by přesun služby byl stejně jednoduchý jako kopírování konfiguračního souboru a export databáze MySQL na FTP.
K dosažení tohoto cíle použijeme Čistý FTPd, no ... pojďme začít 🙂
Instalace služby FTP pomocí Pure-FTPd
1. Nejprve je třeba nainstalovat balíček: čistý-ftpd-mysql
V distribucích jako Debian nebo deriváty: aptitude install pure-ftpd-mysql
2. Po instalaci jsme službu spustili, ale musíme ji zastavit, zastavit ji v systémech, jako je Debian nebo deriváty, stačí:
/etc/init.d/pure-ftpd-mysql stop
Nechám vám však linku, která zastaví službu bez ohledu na distro, které používáte:
ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill
Příprava podmínek na serveru MySQL
Už jsem nedávno vysvětlil, jak vytvořit databázi, uživatele a dát tomuto uživateli oprávnění v databázi: Uživatelé a oprávnění v MySQL
Pojďme k tomu, co zde budeme dělat? ...
1. Vytvoříme databázi ano, ale nejdříve přistupujeme k MySQL:
mysql -u root -p
2. Jakmile jsme uvnitř MySQL, pokračujeme v tvorbě databáze myftpdb:
CREATE DATABASE myftpdb;
3. Nyní vytvoříme uživatele myftpuser a udělíme oprávnění k použití uživatele v databázi, kterou jsme právě vytvořili, tento uživatel bude mít jako heslo moje heslo:
CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;
4. Připraveno, vytvořili jsme databázi, uživatele a nastavili jsme oprávnění. Abychom to dokončili, musíme nyní importovat výchozí (nebo čistou) databázi. Nejprve ukončíme MySQL:
exit;
Nyní si stáhněte výchozí databázi, kterou vám nabízím:
Nebo na serveru použijte následující řádek:
wget http://ftp.desdelinux.net/myftpdb.sql
Připraveno, již je na našem serveru, nyní zbývá pouze importovat vaše data:
mysql -u root -p myftpdb < myftpdb.sql
A připraven!
5. A to je vše, abychom měli připraveny podmínky našeho MySQL.
Propojení FTP s MySQL
Službu FTP již máme nainstalovanou, službu MySQL nainstalovanou a s naší databázovou sadou ... teď už jen potřebujeme, připojte se ke službě FTP s MySQL.
1. Nejprve si musíme stáhnout konfigurační soubor, který pro výše uvedené použijeme. V terminálu serveru položme následující řádek:
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd-mysql.conf
2. Nyní spustíme službu FTP a řekneme jí, aby použila k ověření uživatelů MySQL, a také označíme, který konfigurační soubor se má použít k připojení k MySQL:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
A voila 😀
To stačí k instalaci vlastního FTP serveru, který se autentizuje pomocí databáze MySQL.
Pokud chcete, aby při každém automatickém spuštění serveru byla spuštěna služba FTP, musíte do souboru vložit /etc/rc.local řádek, který používáme k provádění FTP, tj. vložili jsme jej /etc/rc.local tento:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Mimochodem, můžete přistupovat k FTP pomocí libovolného prohlížeče, stejně jako FTP klientům, jako je Filezilla ... a nejen to, pomocí prohlížečů souborů, jako je Nautilus, Dolphin nebo PCManFM, můžete také stahovat a nahrávat soubory 😀
Otestujte uživatele, který je v databázi
Uživatelské jméno: testuser
heslo: testovací heslo
Jak spravovat uživatele FTP?
Vzhledem k tomu, že se jedná o databázi MySQL, jak jsem řekl výše ... použití PHPMyAdmin nebo Adminer bude stačit. Ke správě databáze, která obsahuje jednu tabulku, použijte svou oblíbenou aplikaci: uživatelé ... a v něm jsou uživatelé, zde je snímek obrazovky:
Pokud chcete vytvořit nového uživatele, můžete duplikovat nebo klonovat stávající řádek a změnit data, která by se mezi oběma uživateli lišila, zde vám ukážu snímek obrazovky:
Doufám, že je to pro vás užitečné a víte, jakékoli dotazy nebo návrhy mi dejte vědět.
pozdravy
PD: V tomto tutoriálu používáme hesla uložená v databázi ve formátu prostého textu, pokud chcete větší zabezpečení, doporučuji zkusit md5 😉
VELMI DOBŘE!!! Před pár týdny jsem to instaloval, ale s vsftpd a nejsem přesvědčen, takže to zkusím zjistit, jak to je. Děkuji
Děkuji příteli.
vsftpd Nepamatuji si, kdy jsem to použil naposledy ... bude to už pár let, ... pokud jsem to někdy použil HAHA. V tuto chvíli jsem s PureFTPd více než šťastný 😀
Velmi dobrý příspěvek!
Díky compa 😀
Děláte, co můžete ...
Uuumm, zajímavé ... podejte mi IP databáze, kterou chci mít po ruce tuto sbírku uživatelů a hesel 😉
Nebuď zlý, člověče
Nechápal jsem hehehe ... o čem IP a DB mluvíš?
Pokud máte na mysli, že tato data, která jsem vložil do tutoriálu, mohou být také na serveru, ano, máte pravdu ... jsou ve službě FTP na virtuálním počítači na mém notebooku, má VELMI dobrý firewall (iptables), takže … HAHAHAHAHA samozřejmě nejsou zlí LOL !!!
Joroña, co je joroña…. Bude to komplikovanější, než se zdá, využít určitou zranitelnost a zachytit tato data 😉
Velmi zajímavé!! 🙂
Děkuji
To je to, co se snažím odlišit od ostatních stránek ... že se snažíme dát ne tolik novinek, ale spíše technické články 😀
Jak rychlé je to ve srovnání se Sambou? (pouze místní síť)
že samba a ftp jsou 2 různé věci, ftp je seriózní protokol a smb jen pro usnadnění sdílení mezi win a linuxem.
Pokud hledáte výkon v síti, použijte službu FTP, jinak bez problémů používejte sambu
Přesný.
Řekněme, že FTP je trochu vážnější než Samba, alespoň podle mého názoru je.
Neudělal jsem vůbec žádné měřítka, ale možná je FTP o něco rychlejší.
Děkuji. Používám Sambu, abych z konzoly Wii (pomocí wiimc) mohl sledovat filmy a seriály, které stáhnu do svého počítače. Ale wiimc se může také připojit k ftp serveru. Použil jsem Sambu, protože to bylo nejjednodušší, ale vždy mě zajímalo, jestli to bude s ftp rychlejší. Budu to muset zkusit.
Můžete také jednoduše připojit Apache k počítači, a tak by se Wii připojilo, musí to být rychlejší než samba ... a mnohem jednodušší konfigurace než FTP 😀
Wiimc (přehrávač Wii Media Player) přijímá pouze připojení Samba a FTP.
Vynikající. K těmto typům článků (a obecně k webu) potřebujete něco, aby bylo vše dokonalé; šablonu CSS, která umožňuje tisk článků do formátu PDF nebo na papír.
Nevím, jestli to bude moje vlastní, ale velký problém s tím je, že uživatelé mohou procházet všechny adresáře, i když jim poskytnu konkrétní adresář jako „/ var / www / user_site“, pokud se připojí pomocí ftp, mají přístup kdekoli z mého počítače ¬¬
to není moc bezpečné haha
TADY TO JE!!!
Abychom zabránili uživatelům, které vytváříme, v procházení celého našeho systému, musíme při spuštění čistého ... přidat parametr "-A"
Takže to, co přidáme do /etc/rc.local, který jste vložili do tutoriálu, je toto
pure-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
a musíte jej nahradit tímto jiným:
pure-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
Je to oceněno? ... Tento nový řádek má parametr -A, který omezuje adresář pouze na který jej přiřadíme a nic jiného, může vytvářet, ale nemůže se o úroveň výš.
D: tento roztomilý čistý-fptd
Díky za tip 😀
Dobrý den, je možné implementovat kvóty v této implementaci MySQL a FTP, v současné době mám server ftp s vsftpd a nemám problém s kvótami, ale být virtuálním uživatelem (vytvořeným v mysql) budou kvóty platné? a druhá je místo, kde jsou uloženy soubory nahrané uživateli, tj. které jsou adresáři každého uživatele.
Teoreticky můžete implementovat kvóty, ve skutečnosti má databáze pro ni vytvořená pole a konfigurační soubor služby FTP má nastavené dotazy, což jsem ve skutečnosti netestoval
Informace o tom, kam by uživatelé soubory umístili, definujete v 5. poli, viz screenshot: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg
Mockrát vám děkuji za komentář, chystám se otestovat tento systém na testovacím serveru a komentovat výsledky, doufám, že můžu, protože je to skvělá metoda, mít vše v pořádku a s RAID máte stabilní systém zálohování: D.
Děkuji za komentář 🙂
Mám otázku, již se mi podařilo nainstalovat pure-ftp s mysql a kvótami, problémem nyní je, jak mohu pozastavit účet ze samotné tabulky mysql, aniž bych změnil jeho uživatelské heslo nebo nahrané soubory.
Napadají mě dva způsoby, nejjednodušší je změnit hodnotu Status od 1 do 0, teoreticky, pokud je na 0, účet je deaktivován, zkuste to a řekněte mi 🙂
Roberto, jak se ti podařilo pomocí tohoto zařízení nastavit poplatky? Sdílejte prosím informace.
Velmi dobrý vstup !!
Birkhoff, právě na svém osobním blogu jsem o tom vytvořil téma, odkaz nechávám na kontrolu:
http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/
Zdravím:
Snažím se sledovat všechno, ale dostanu chybu 501 a hlavně se budu odvolávat na skutečnost, že heslo je nesprávné, když vím, že je v pořádku