MySQL'i çevreleyen bazı belirsizliklere rağmen, şahsen ben hala bu DB ile çalışmayı başka birini kullanmak yerine tercih ediyorum. Postgre'ye karşı hiçbir şeyim yok, MySQL'i tüm hayatım boyunca kullandım ve şimdiye kadar kullanımını yeniden düşünmek için hiçbir nedenim yoktu.
Bu sefer size bir FTP sunucusunun nasıl kurulacağını öğreteceğim, ancak sadece bu değil, size çok karmaşık olmayan bir şekilde, kullanıcıların, şifrelerin ve diğer kullanıcı verilerinin hesaplarda değil de bir MySQL veritabanında nasıl saklanacağını öğreteceğim. yerel.
Bunu neden böyle yapıyorsun?
Basittir, çünkü bir yedekleme yaparken, bir sunucuyu yeniden yüklerken veya başka herhangi bir önemli değişiklik yaparken, hizmeti taşımak bir yapılandırma dosyasını kopyalamak ve MySQL veritabanını FTP'ye aktarmak kadar basit olacaktır.
Bunu başarmak için kullanacağız Saf-FTPd, peki ... hadi başlayalım 🙂
FTP hizmetini Pure-FTPd ile kurma
1. Yapılacak ilk şey paketi kurmaktır: saf-ftpd-mysql
Gibi dağıtımlarda Debian veya türevler: yetenek yüklemek pure-ftpd-mysql
2. Kurulduktan sonra hizmeti başlattık, ancak Debian veya türevleri gibi sistemlerde durdurmak için onu durdurmalıyız:
/etc/init.d/pure-ftpd-mysql stop
Ancak, kullandığınız dağıtımdan bağımsız olarak size hizmeti durduracak bir satır bırakıyorum:
ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill
MySQL sunucusundaki koşulları hazırlama
Çok geçmeden bir veritabanının, bir kullanıcının nasıl oluşturulacağını ve veritabanında bu kullanıcıya izinlerin nasıl verileceğini zaten açıklamıştım: MySQL'deki kullanıcılar ve izinler
Devam edelim burada ne yapacağız? ...
1. Evet bir veritabanı oluşturacağız, ancak önce MySQL'e erişeceğiz:
mysql -u root -p
2. MySQL'e girdikten sonra veritabanını oluşturmaya devam ediyoruz myftpdb:
CREATE DATABASE myftpdb;
3. Şimdi kullanıcıyı oluşturacağız ftpuser'ım ve az önce oluşturduğumuz veritabanında kullanıcıyı kullanma izni vereceğiz, bu kullanıcının şifresi olacak myftpparolam:
CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;
4. Hazır, veritabanını, kullanıcıyı oluşturduk ve izinleri ayarladık. Şimdi bunun tamamlanabilmesi için varsayılan (veya temiz) veritabanını içe aktarmalıyız. Bunu yapmak için önce MySQL'den çıkalım:
exit;
Şimdi size sunduğum varsayılan veritabanını indirelim:
Veya sunucuda aşağıdaki satırı kullanın:
wget http://ftp.desdelinux.net/myftpdb.sql
Hazır, zaten sunucumuzda var, şimdi sadece verilerinizi içe aktarmaya devam ediyor:
mysql -u root -p myftpdb < myftpdb.sql
Ve hazır!
5. Ve bunların hepsi MySQL'inizin koşullarını hazır hale getirmek içindir.
FTP'ye MySQL ile katılma
Eh, zaten FTP hizmeti yükledik, MySQL hizmeti kuruldu ve veritabanı setimizle ... şimdi sadece ihtiyacımız var, MySQL ile FTP hizmetine katılın.
1. Öncelikle yukarıda belirtilenler için kullanacağımız konfigürasyon dosyasını indirmeliyiz. Sunucu terminalinde şu satırı koyalım:
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd-mysql.conf
2. Şimdi, MySQL kullanıcılarının kimliğini doğrulamak için kullanılmasını söyleyen FTP hizmetini başlatıyoruz ve ayrıca MySQL'e bağlanmak için hangi yapılandırma dosyasının kullanılacağını da belirteceğiz:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Ve voila 😀
Bu, MySQL veritabanı ile kimlik doğrulaması yapan kendi FTP sunucumuzu kurmak için yeterlidir.
Sunucunun otomatik olarak başladığında FTP hizmetini başlatmasını istiyorsanız, dosyayı /etc/rc.local FTP'yi yürütmek için kullandığımız satır, yani /etc/rc.local bu:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Bu arada, herhangi bir tarayıcıyı ve ayrıca Filezilla gibi FTP istemcilerini kullanarak FTP'ye erişebilirsiniz ... ve sadece bu değil, Nautilus, Dolphin veya PCManFM gibi dosya tarayıcılarını kullanarak dosyaları da indirebilir ve yükleyebilirsiniz 😀
Veritabanında bulunan test kullanıcısı
Kullanıcı adı: test kullanıcısı
Parola: test şifresi
FTP kullanıcıları nasıl yönetilir?
Yukarıda söylediğim gibi bir MySQL veritabanı olduğunu hesaba katarsak ... PHPMyAdmin veya Adminer kullanmak yeterli olacaktır. Tek bir tablo içeren veritabanını yönetmek için sadece favori uygulamanızı kullanın: kullanıcılar ... ve içinde kullanıcılar var, işte bir ekran görüntüsü:
Yeni bir kullanıcı oluşturmak istiyorsanız, mevcut satırı kopyalayabilir veya klonlayabilir ve her iki kullanıcı arasında farklı olacak verileri değiştirebilirsiniz, burada size bir ekran görüntüsü gösteriyorum:
Pekala ... ekleyecek başka bir şey yok 🙂
Umarım bu sizin için yararlıdır ve biliyorsunuz, herhangi bir sorunuz veya öneriniz bana bildirir.
selamlar
PD: Bu eğitimde, veritabanına kaydedilmiş şifreleri düz metin olarak kullanıyoruz, daha fazla güvenlik istiyorsanız md5'i denemenizi tavsiye ederim 😉
ÇOK İYİ!!! Birkaç hafta önce bunu vsftpd ile kuruyordum ve ikna olmadım, bu yüzden nasıl olduğunu görmek için bunu deneyeceğim. teşekkür ederim
Teşekkürler arkadaşım.
vsftpd En son ne zaman kullandığımı hatırlamıyorum ... şimdi birkaç yıl olacak, ... HAHA kullansaydım. Şu anda PureFTPd ile mutluyum 😀
Çok iyi katkı!
Teşekkürler compa 😀
Elinden geleni yap lol….
Uuumm, ilginç ... elimde bu kullanıcı ve şifre koleksiyonuna sahip olmak istediğim veritabanının IP'sini bana ilet 😉
Kötü olma adamım
Anlamadım hehehe… hangi IP ve DB'den bahsediyorsun?
Öğreticiye koyduğum bu verilerin bir sunucuda da olabileceğini kastediyorsanız, evet haklısınız ... dizüstü bilgisayarımdaki sanal bir PC'de bir FTP hizmetindeler, ÇOK iyi bir güvenlik duvarına (iptables) sahip olduğundan … HAHAHAHAHA tabi ki kötü değiller LOL !!!
Joroña ne joroña…. Bazı güvenlik açıklarından yararlanmak ve bu verileri yakalamak göründüğünden daha karmaşık olacak 😉
Çok ilginç!! 🙂
teşekkürler
Bizi diğer sitelerden ayırmaya çalıştığım şey budur ... çok fazla haber değil, teknik makaleler olarak koymaya çalışıyoruz
Samba ile karşılaştırıldığında bu ne kadar hızlı? (yalnızca yerel ağ)
samba ve ftp'nin 2 farklı şey olduğu, ftp ciddi bir protokoldür ve sadece win ile linux arasındaki paylaşımı kolaylaştırmak için smb.
Ağda performans arıyorsanız, bir FTP hizmeti kullanın, aksi takdirde samba'yı sorunsuz kullanın
Kesin.
Diyelim ki FTP Samba'dan biraz daha ciddi, en azından bence öyle.
Hiç kıyaslama yapmadım ama belki FTP biraz daha hızlıdır.
Teşekkür ederim. Wii konsolumdan (wiimc kullanarak) bilgisayarıma indirdiğim filmleri ve dizileri izleyebilmek için Samba kullanıyorum. Ancak wiimc, bir ftp sunucusuna da bağlanabilir. Samba'yı kullandım çünkü en kolayı buydu, ama ftp ile daha hızlı olsaydı her zaman ilgimi çekerdi. Denemem gerekecek.
Peki, Apache'yi PC'nize de kolayca bağlayabilirsiniz ve Wii'nin bağlanması için bu samba'dan daha hızlı olmalı ... ve yapılandırması FTP'den çok daha basit olmalıdır 😀
Wiimc (Wii Media Player) yalnızca Samba ve FTP bağlantılarını kabul eder.
Mükemmel. Her şeyi mükemmel hale getirmek için bu tür makalelerde (ve genel olarak site) bir şeye ihtiyacınız var; makaleleri PDF'ye veya kağıda yazdırabilmek için bir CSS şablonu.
Bana ait olup olmayacağını bilmiyorum, ancak bununla ilgili en büyük sorun, ftp ile bağlanırlarsa, herhangi bir yere erişebilirlerse, kullanıcıların "/ var / www / user_site" gibi belirli bir dizin versem bile tüm dizinleri gözden geçirebilmeleridir. bilgisayarımdan ¬¬
bu çok güvenli değil haha
İŞTE BURADA!!!
Oluşturduğumuz kullanıcıların tüm sistemimizde gezinmesini önlemek için, saflığı başlatırken "-A" parametresini eklemeliyiz ...
Eğiticiye koyduğunuz /etc/rc.local'a eklediğimiz şey şudur:
saf-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
ve bunu diğeriyle değiştirmeniz gerekir:
saf-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
Takdir edildi mi? ... Bu yeni satırda -A parametresi sadece bizim atadığımız dizini kısıtlamak için var ve başka hiçbir şey yaratamıyor, ancak seviye atlayamıyor.
D: bu sevimli saf fptd
İpucu için teşekkürler 😀
Merhaba, bu MySQL ve FTP uygulamasında kotaları uygulamak mümkün, şu anda vsftpd'li bir ftp sunucum var ve kotalarla ilgili bir sorunum yok, ancak sanal bir kullanıcı olmak (mysql'de oluşturulmuş) kotalar geçerli olacak mı? ve ikincisi, kullanıcılar tarafından yüklenen dosyaların depolandığı yer, yani her kullanıcının dizinleri.
Teorik olarak, kotaları uygulayabilirsiniz, aslında veritabanı onun için oluşturulmuş alanlara sahiptir ve FTP hizmetinin konfigürasyon dosyası bunun için ayarlanmış sorgulara sahiptir, ki bu aslında bunu test etmedim
Kullanıcıların dosyaları nereye koyacağı hakkında, 5. alanda tanımlarsınız, ekran görüntüsüne bakın: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg
Yorumunuz için çok teşekkür ederim, bu sistemi bir test sunucusunda test edeceğim ve sonuçlar hakkında yorum yapacağım, umarım yapabilirim çünkü her şeyi düzene sokmak için harika bir yöntem ve bir RAID ile kararlı bir yedekleme sisteminiz var: D.
Yorumunuz için teşekkürler 🙂
Bir sorum var, zaten mysql ve kotalar ile saf-ftp kurmayı başardım, şimdi sorun, kullanıcı şifresini veya yüklenen dosyaları değiştirmeden mysql tablosundan bir hesabı nasıl askıya alabilirim.
İki yol düşünebilirim, en basit olanı Durum 1'den 0'a, teoride 0 ise hesap devre dışı bırakılır, bunu deneyin ve bana söyleyin 🙂
Roberto, bu tesisi kullanarak ücretleri belirlemeyi nasıl başardın? Lütfen bilgileri paylaşın.
Çok iyi giriş !!
Birkhoff, sadece kişisel blogumda bununla ilgili bir konu oluşturdum, bağlantıyı incelemeniz için bırakıyorum:
http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/
selamlar:
Her şeyi takip etmeye çalışıyorum ama 501 hatası alıyorum ve en önemlisi, iyi olduğunu bildiğimde şifrenin yanlış olduğu gerçeğine başvurmak için