Szükségünk lesz a base-devel csomagra, ez felteszi a forrásból fordítás és a csomagkészítéshez szükséges programokat. Telepítsük:
pacman -S base-develMost készítsünk egy egy olyan PKGBUILD fájlt, ami letölti, kicsomagolja, csomagot csinál és feltelepíti a PureFTPd-t. Készítsünk egy könyvtárat mondjuk "pure-ftpd" könyvtárat, (valamint a pkg és az src könyvtárakat is) lépjünk be, és hozzuk létre a fájlt:
mkdir pure-ftpd && cd pure-ftpd && mkdir {src,pkg} && vim PKGBUILDValami ilyesmit írjunk bele:
# Maintainer: mortein79 <mortein79@gmail.com> pkgname=pure-ftpd pkgver=1.0.36 pkgrel=1 pkgdesc="PureFTPd for ARM platform" arch=('arm') url="http://www.pureftpd.org/" license=('custom') depends=('openssl') backup=('etc/pure-ftpd.conf') source=("ftp://pureftpd.org/pub/${pkgname}/releases/${pkgname}-${pkgver}.tar.bz2") build() { cd ${srcdir}/${pkgname}-${pkgver} ./configure --prefix=/usr \ --with-puredb \ --with-ftpwho \ --with-altlog \ --with-tls \ --with-rfc2640 make } package() { cd ${srcdir}/${pkgname}-${pkgver} make DESTDIR=${pkgdir} install install -Dm755 configuration-file/pure-config.pl ${pkgdir}/usr/sbin/pure-config.pl install -Dm644 configuration-file/pure-ftpd.conf ${pkgdir}/etc/pure-ftpd.conf install -Dm644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE } md5sums=('7899c75c1fed7dbad0352eb31080e066')Mit is mondhatnék még. Mentsük el, és kész. A build-nál látni hogy milyen paraméterekkel fordítjuk, itt nagyon fontos a "--with-rfc2640", ha ezt kihagyjuk nem lesz UTF-8 támogatás, az pedig ékezetes fájl/könyvtár neveknél probléma. Nem kapcsoltam be a mysql-backendet, nem hiszem hogy szükség lenne rá. A legvégén az az md5sum az 1.0.36-osé, ha más verziót akarunk, akkor értelemszerűen azét kell beleírni. Futtassuk/telepítsük is fel:
makepkg -iErre szépen letölti, kicsomagolja, stb., elvileg minden rendben lesz.
De ezzel nem vagyunk kész, fent van, de be kellene állítani, és meg kellene oldani hogy elinduljon bootoláskor. A konfiguráláshoz szerkesszük a /etc/pure-ftpd.conf fájlt
sudo vim /etc/pure-ftpd.confAz enyém, kicsit kitakarítva így néz ki:
ChrootEveryone yes # hogy senki ne tudjon kilépni a home-jából BrokenClientsCompatibility no MaxClientsNumber 50 Daemonize yes # így kényelmesebb MaxClientsPerIP 8 VerboseLog no DisplayDotFiles yes AnonymousOnly no NoAnonymous no SyslogFacility ftp DontResolve yes MaxIdleTime 15 PureDB /etc/pureftpd.pdb LimitRecursion 10000 8 AnonymousCanCreateDirs no MaxLoad 4 AntiWarez yes Umask 133:022 MinUID 100 AllowUserFXP no AllowAnonymousFXP no ProhibitDotFilesWrite no ProhibitDotFilesRead no AutoRename no AnonymousCantUpload no MaxDiskUsage 99 CustomerProof yes FileSystemCharset utf8 # ez a két sor az UTF-8 miatt ClientCharset utf8 # ez a két sor az UTF-8 miattA legtöbb sor egyértelmű, párhoz fűztem csak megjegyzést. Mentsük el, nézzük az automatikus indulást. Ehhez egy systemd service fájlt kell készítenünk. Tehát, hozzuk létre a megfelelő helyen és néven:
sudo vim /etc/systemd/system/pure-ftpd.serviceA tartalma legyen ilyesmi:
[Unit] Description=Pure-FTPd FTP server After=syslog.target network.target [Service] Type=forking PIDFile=/var/run/pure-ftpd.pid ExecStart=/usr/sbin/pure-config.pl /etc/pure-ftpd.conf --daemonize [Install] WantedBy=multi-user.targetMentsük, kilépés. Hozzuk létre a useradatbázist, és a virtuális usereket. Ilyenkor először létrehozunk egy "sima" user-t, akihez kapcsolódnak a virtuális userek.
sudo useradd -g ftp -d /dev/null -s /etc raspiftpMost létrejött a "raspiftp" user, akinek a devnull a home-ja, és az ftp csoportba tartozik. Többet nem is várunk el tőle. Hozzunk hát létre ftp-felhasználót, akivel majd ki-be lépegetünk.
sudo pure-pw useradd baltazar -u raspiftp -d /STORAGEMost jól létrejött a "baltazar" nevű ftp-user, akinek a /STORAGE a home-ja. Pure-pw-vel végzett minden módosítás után el kell menteni az adatbázist a
sudo pure-pw mkdbparanccsal. (Az adatbázis egy fájl, amit az előbb a konfigban a PureDB opciónál adtunk meg.) Opsz, baltazárnak nem hoztunk létre passwordot. Adjunk neki:
sudo pure-pw passwd baltazarHa megvan, (kétszer meg fogja kérdezni, nem íródik ki), mentsünk újra:
sudo pure-pw mkdbMeg is vagyunk a userrel. Ha ellenőrízni akarjuk a felhasználó beállításait, kérdezzük csak le:
sudo pure-pw show baltazarHa minden ok, teszteljük le, indítsuk el az ftp-szervert:
sudo systemctl start pure-ftpdMost próbáljunk meg belépni valami ftp-programmal, sikerülnie kell. ha mindent rendben találunk, állítsuk be hogy minden rendszerindításnál induljon el a pureftpd:
sudo systemctl enable pure-ftpd
Nem tértem kis sok érdekes dologra, TLS-t sem állítottunk be, és a portot is hagytuk a 21-esen, hogy csak pár apróságot említsek. Ezek megtalálhatóak a pure doksijában, a weboldalán. Olyan egyszerű az egész, hogy szégyellem ezt a postot... ;)
Várom a folytatást :)
VálaszTörlésTamás
Nagyon jó lett az írásod,érthető,egyszerűen szuper!
VálaszTörlésCsak így tovább!
Szeva
Köszi, igyekszem. Mostanában kicsit el vagyok ásva melóval, de próbálom nem hanyagolni a blogot sem.
Törlésszia, van arra valami tipped, hogy ftp -n keresztül miért csak 2mb /sec -el tudok írni a vinyóra? olvasás kb 6-7mb/sec. Usb -s vinyó, ntfs.
VálaszTörlésNem hiszem hogy köze van az ftp-hez. Most néztem, nekem még a 256 Mb-os modell B-m van, húzva sincs, de 7-8 Mb-al írok, igaz, xfs-re. Szerintem ntfs-gebasz. Csatolásnál próbáld meg a "noatime"-ot, hátha segít. PL.:
Törlésmount -t ntfs -o noatime,gid=users /dev/sdx /media/cucc
Így van, próbáltam mount.ntfs és mount.ntfs-3g -vel is de sajnos nincs jelentős javulás.
Törlésfstab:/dev/disk/by-uuid/ /storage ntfs-3g noatime 0 0
dd-vel tesztelve ezt az eredményt kapom:
[root@pi /]# dd if=/dev/zero of=/storage/test bs=8k count=256k
^C4009+0 beolvasott rekord
4009+0 kiírt rekord
32841728 bájt (33 MB) másolva, 12,8221 mp, 2,6 MB/s
esetleg valami ötlet azon kívül, hogy másik fájlrendszer?:)
:( Nem sok jóval biztathatlak. Feltúrtam a netet én is, de úgy látom, hogy ténylegesen az NTFS a probléma oka. Vagyis inkább a linux. Vagyis a linux ntfs-írás implementációja. Vagy inkább az, hogy mindezek arm processzoron. Akárhogy is, egy ilyen végkövetkeztetés akadt a kezembe:
Törlés"NTFS + write + arm platform = horrible"
Sajnos, ebből az egyenletből egyedül a fájlrendszer cserélhető. Nem igazán tudok mit ajánlani, ha komoly növekedést akarsz sebességben. Ha beállítasz NFS-t, talán kicsit gyorsabb lesz, de nem sokkal. (és cserébe megkapod az NFS-es extra szívást: a leszakadó fáljrendszer hangout-ot)
Valószínűleg a proci nem bírja az NTFS-íráshoz a számolgatást. Desktopon, hordozható NTFS-es vinyóra 20-25Mb-al írok, arch linux alatt, ntfs-3g-vel. Ugyanerre ha rpire rakom, hasonló az eredmény mint a Te tesztedben.
Gondolom, ha le lehetne cserélni az NTFS-t, már lecserélted volna. Így csak jó szerencsét kívánhatok, meg Boldog Karácsonyt :)