Ondanks enige onzekerheid die MySQL kan omringen, werk ik persoonlijk nog steeds liever met deze DB dan met een andere. Ik heb niets tegen Postgre, ik heb MySQL gewoon een leven lang gebruikt en tot nu toe heb ik geen reden gehad om het gebruik ervan te heroverwegen.
Deze keer zal ik je leren hoe je een FTP-server moet installeren, maar niet alleen dat, ik zal je op een niet zo complexe manier leren hoe je gebruikers, wachtwoorden en andere gebruikersgegevens in een MySQL-database kunt laten opslaan en niet in accounts. lokaal.
Waarom doe je dit zo?
Simpel, want bij het maken van een back-up, het opnieuw installeren van een server of een andere belangrijke wijziging, zou het verplaatsen van de service net zo eenvoudig zijn als het kopiëren van een configuratiebestand en het exporteren van de MySQL-database naar FTP.
Om dit te bereiken zullen we gebruiken Puur FTPd, nou ... laten we beginnen 🙂
De FTP-service installeren met Pure-FTPd
1. Het eerste dat u moet doen, is het pakket installeren: pure-ftpd-mysql
In distro's zoals Debian of afgeleiden: aptitude installeert pure-ftpd-mysql
2. Eenmaal geïnstalleerd, hebben we de service gestart, maar we moeten hem stoppen, om hem te stoppen op systemen zoals Debian of afgeleide producten is het voldoende om:
/etc/init.d/pure-ftpd-mysql stop
Ik laat je echter een regel achter die de service zal stoppen, ongeacht de distro die je gebruikt:
ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill
Voorwaarden voorbereiden op de MySQL-server
Ik heb niet lang geleden al uitgelegd hoe je een database en een gebruiker aanmaakt en die gebruiker machtigingen geeft in de database: Gebruikers en machtigingen in MySQL
Laten we verder gaan met wat gaan we hier doen? ...
1. We zullen een database maken, ja, maar eerst openen we MySQL:
mysql -u root -p
2. Eenmaal binnen MySQL gaan we door met het maken van de database mijnftpdb:
CREATE DATABASE myftpdb;
3. Nu gaan we de gebruiker aanmaken mijnftpuser en we zullen toestemming geven om de gebruiker te gebruiken in de database die we zojuist hebben gemaakt, deze gebruiker zal als wachtwoord hebben mijnftpwachtwoord:
CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;
4. Klaar, we hebben de database gemaakt, de gebruiker en de rechten ingesteld. Nu moeten we de standaard (of schone) database importeren om dit compleet te maken. Om dit te doen, verlaten we eerst MySQL:
exit;
Laten we nu de standaarddatabase downloaden die ik u aanbied:
Of gebruik op de server de volgende regel:
wget http://ftp.desdelinux.net/myftpdb.sql
Klaar, we hebben het al op onze server, nu hoeft u alleen nog uw gegevens te importeren:
mysql -u root -p myftpdb < myftpdb.sql
En klaar!
5. En dit alles om de voorwaarden van onze MySQL gereed te hebben.
FTP koppelen aan MySQL
Welnu, we hebben de FTP-service al geïnstalleerd, de MySQL-service geïnstalleerd en met onze databaseset ... nu hebben we alleen nodig, sluit u aan bij FTP-service met MySQL.
1. Eerst moeten we het configuratiebestand downloaden dat we voor het bovengenoemde zullen gebruiken. Laten we in de serverterminal de volgende regel plaatsen:
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd-mysql.conf
2. Nu starten we de FTP-service die aangeeft dat deze moet worden gebruikt om MySQL-gebruikers te authenticeren, en we zullen ook aangeven welk configuratiebestand we moeten gebruiken om verbinding te maken met MySQL:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
En voila 😀
Dit is voldoende om onze eigen FTP-server te installeren die authenticeert met een MySQL-database.
Als u wilt dat wanneer de server automatisch start, deze de FTP-service start, moet u het bestand invoeren /etc/rc.local de regel die we gebruiken om de FTP uit te voeren, dat wil zeggen, we plaatsen /etc/rc.local dit:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Trouwens, je hebt toegang tot FTP via elke browser, evenals FTP-clients zoals Filezilla ... en niet alleen dat, met bestandsbrowsers zoals Nautilus, Dolphin of PCManFM kun je ook bestanden downloaden en uploaden 😀
Test de gebruiker die in de database staat
Gebruikersnaam: testuser
Wachtwoord: testwachtwoord
Hoe FTP-gebruikers te beheren?
Als je bedenkt dat het een MySQL-database is, zoals ik hierboven al zei, volstaat het om PHPMyAdmin of Adminer te gebruiken. Gebruik gewoon uw favoriete applicatie om de database te beheren, die een enkele tabel bevat: gebruikers ... en daarin zijn de gebruikers, hier is een screenshot:
Als u een nieuwe gebruiker wilt maken, kunt u de bestaande regel dupliceren of klonen en de gegevens wijzigen die tussen beide gebruikers anders zouden zijn, hier laat ik u een screenshot zien:
Nou ... niets meer toe te voegen 🙂
Ik hoop dat dit nuttig voor je is en dat je weet, eventuele vragen of suggesties laat het me weten.
groeten
PD: In deze tutorial gebruiken we wachtwoorden die in de database zijn opgeslagen in platte tekst, als je meer beveiliging wilt, raad ik je aan om md5 te proberen 😉
ZEER GOED!!! Een paar weken geleden was ik dit aan het installeren, maar met vsftpd en ik ben niet overtuigd, dus ik ga dit proberen om te zien hoe het is. Dank je
Dank je vriend.
vsftpd Ik kan me niet herinneren wanneer ik het voor het laatst heb gebruikt ... een paar jaar geleden, ... of ik het ooit HAHA heb gebruikt. Op dit moment ben ik met PureFTPd meer dan tevreden 😀
Zeer goede bijdrage!
Bedankt compa 😀
Je doet wat je kunt lol….
Uuumm, interessant ... geef me het IP-adres van de DB dat ik die verzameling gebruikers en wachtwoorden bij de hand wil hebben 😉
Wees niet slecht, man
Ik begreep het niet hehehe ... over welke IP en DB heb je het?
Als je bedoelt dat deze gegevens die ik in de tutorial heb ook op een server kunnen staan, ja daar heb je gelijk ... ze staan in een FTP-service op een virtuele pc op mijn laptop, deze heeft een ZEER goede firewall (iptables) dus… HAHAHAHAHA natuurlijk zijn ze niet slecht LOL !!!
Joroña wat een joroña…. Het zal ingewikkelder zijn dan het lijkt om te profiteren van een bepaalde kwetsbaarheid en die gegevens vast te leggen 😉
Heel interessant!! 🙂
Bedankt
Dit is wat ik probeer ons te onderscheiden van de rest van de sites ... dat we proberen niet zo veel nieuws te plaatsen, maar als technische artikelen 😀
Hoe snel is dit vergeleken met Samba? (alleen lokaal netwerk)
dat samba en ftp 2 verschillende dingen zijn, ftp is een serieus protocol en smb alleen om het delen tussen win en linux te vergemakkelijken.
Als u prestaties op het netwerk zoekt, gebruik dan een FTP-service, anders gebruik samba gewoon zonder problemen
Precies.
Laten we zeggen dat FTP een beetje serieuzer is dan Samba, althans naar mijn mening.
Ik heb helemaal geen benchmarks gedaan, maar misschien is FTP iets sneller.
Dank je. Ik gebruik Samba zodat ik vanaf mijn Wii-systeem (met wiimc) films en series kan kijken die ik download naar mijn computer. Maar wiimc kan ook verbinding maken met een ftp-server. Ik gebruikte Samba omdat het het gemakkelijkst was, maar ik was altijd geïntrigeerd als het sneller zou zijn met ftp. Ik zal het moeten proberen.
Nou, je zou Apache ook gewoon op je pc kunnen mounten, en zodat de Wii verbinding zou maken, moet het sneller zijn dan samba ... en veel eenvoudiger te configureren dan FTP 😀
De wiimc (een Wii-mediaspeler) accepteert alleen Samba- en FTP-verbindingen.
Uitstekend. Je hebt gewoon iets nodig aan dit soort artikelen (en de site in het algemeen) om alles perfect te maken; een CSS-sjabloon om de artikelen naar PDF of op papier te kunnen afdrukken.
Ik weet niet of het de mijne zal zijn, maar het grote probleem hiermee is dat gebruikers alle mappen kunnen doorlopen, zelfs als ik ze een specifieke map geef zoals "/ var / www / user_site" als ze verbinding maken via ftp. overal toegang hebben vanaf mijn pc ¬¬
dat is niet erg veilig haha
HIER IS HET!!!
Om te voorkomen dat de gebruikers die we maken door ons hele systeem kunnen navigeren, moeten we de parameter "-A" toevoegen bij het starten van de pure ...
Dus wat we toevoegen aan de /etc/rc.local die je in de tutorial hebt geplaatst, is dit
pure-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
en je moet het vervangen door deze andere:
pure-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
Wordt het gewaardeerd? ... Deze nieuwe regel heeft de parameter -A om de directory te beperken waaraan we het toewijzen en niets anders, het kan maken, maar het kan geen niveau omhoog gaan.
D: deze schattige pure-fptd
Dank voor het topje 😀
Hallo, het is mogelijk om quota te implementeren in deze MySQL- en FTP-implementatie, ik heb momenteel een ftp-server met vsftpd en ik heb geen probleem met de quota, maar als virtuele gebruiker (aangemaakt in mysql) zijn de quota geldig? en de tweede is waar de bestanden die door gebruikers zijn geüpload, worden opgeslagen, dat wil zeggen, de mappen van elke gebruiker.
In theorie kun je quota implementeren, in feite heeft de database de velden die ervoor zijn aangemaakt, en het configuratiebestand van de FTP-service heeft de queries hiervoor ingesteld, die ik in feite niet heb getest 😉
Over waar de gebruikers de bestanden zouden plaatsen, definieer je het in het 5e veld, zie de screenshot: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg
Heel erg bedankt voor je reactie, ik ga dit systeem testen op een testserver en commentaar geven op de resultaten, hopelijk kan ik dat omdat het een geweldige methode is om alles op orde te hebben, en met een RAID heb je een stabiel back-upsysteem : D.
Bedankt voor de reactie 🙂
Ik heb een vraag, ik ben er al in geslaagd om pure-ftp te installeren met mysql en quota, het probleem is nu hoe ik een account kan opschorten in de mysql-tabel zelf, zonder het gebruikerswachtwoord of geüploade bestanden te wijzigen.
Ik kan twee manieren bedenken, de eenvoudigste is om de waarde van te veranderen Status van 1 tot 0, in theorie als het op 0 staat, is het account gedeactiveerd, probeer dit en vertel het me 🙂
Roberto, hoe ben je erin geslaagd om de vergoedingen vast te stellen met deze faciliteit? Deel de informatie.
Zeer goede toegang !!
Birkhoff, net in mijn persoonlijke blog heb ik daar een onderwerp over gemaakt, ik laat de link voor je achter om te beoordelen:
http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/
Groeten:
Ik probeer alles te volgen, maar ik krijg fout 501 en vooral om te verwijzen naar het feit dat het wachtwoord onjuist is als ik weet dat het in orde is