Hali,
Van egy működő debian etch-en működő pureftpd-mysql szerverem, és mivel van hozzá egy klassz webes admin felület nem szeretnék mást használni. Mivel költözik az FTP szerver egy másik gépre gondoltam oda már az 5-ös debiant teszem fel. Sajna ezen nem akar összejönni a mysql-es authentikáció. Hozzá se nyúl pureftpd a mysql szerverhez.
Mindent az howtoforge-on lévő hogyan alapján csináltam.
http://www.howtoforge.com/pureftpd_mysql_virtual_hosting
Először a szerver sem volt hajlandó futni, de arra találtam megoldást.
Unix authentikáció megy, mysql nem :(
Valmi öttlet?
- 1881 megtekintés
Hozzászólások
Sokat nem segitek tudom, de infomorzsanak annyit, hogy nalam lenny-n megy a pureftpd mysql auth-tal, igaz nalam forrasbol van telepitve.
- A hozzászóláshoz be kell jelentkezni
Én csomagból húztam fel, viszont nem a sima pure-ftpd van fent hanem a pure-ftpd-mysql.
Az OLD_PASSWORD sajnos nem segít :(, de ez valószínűsíthető is volt hiszen hozzá se nyúl az adatbázishoz. A mysql log tök üres (ha mással pl phpmyadminnal matatok benne az benne van, szóval a log tuti megy).
Van valamilyen érdembeni különbség a pure-fptd és a pure-ftpd-mysql között ???
- A hozzászóláshoz be kell jelentkezni
Nekem az újabb mysql authentikációkkal szokott gondom lenni. Ilyenkor az OLD_PASSWORD szokott segiteni.
- A hozzászóláshoz be kell jelentkezni
igen, igaz, ezt el is felejtettem. 5.0.x mysql, szinten OLD_PASSWORD
- A hozzászóláshoz be kell jelentkezni
Hülye kérdés, de a jelszó MD5-özve van? Én is ezzel szórakoztam régebben egy ideig és ez is egy félórás buktató volt :)
- A hozzászóláshoz be kell jelentkezni
MD5 is volt, de olvastam hogy valakinek csak cleartext-tel volt hajlandó menni, de ....
A fő probléma nem az adatbázisnál van!
A pureftpd-mysql hozzá se szagol az adatbázishoz, de nem értem miért.
A konfig file jó. Az /etc/pure-ftpd/auth könyvtárban ott a 30mysql a 65unix és a 70pam linkek mellett. 30mysql link az etc/pure-ftpd/conf/MySqlConfigFile-ra mutat amiben etc/pure-ftpd/db/mysql.conf van benne.
a konfig file így néz ki :
MYSQLSocket /var/run/mysqld/mysqld.sock
#MYSQLServer localhost
#MYSQLPort 3306
MYSQLUser pureftpd
MYSQLPassword ftpdpass
MYSQLDatabase pureftpd
#MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext
MYSQLCrypt cleartext
MYSQLGetPW SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetUID SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetGID SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetDir SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTASZ SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTAFS SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
- A hozzászóláshoz be kell jelentkezni
Hozzá se nyúl pureftpd a mysql szerverhez.
Ezt miből látod? Nem logol a MySQL logba? Más logol, ha pl. simán parancssorból kapcsolódsz?
És az alap kérdés: unix socketen vagy tcp-n figyel a MySQL?
a.
- A hozzászóláshoz be kell jelentkezni
Ha pl phpmyadminból hózzányúlok az adatbázishoz akkor loggol mindent.
Próbáltam socket-en is és loopback-en is.
Még egy plussz info, bár nem biztos hogy bármit is befolyásol.
A Debian Vm_ware esxi-n virtal gépen fut.
- A hozzászóláshoz be kell jelentkezni
Írtál fent egy linket, ott a konfigban ez van:
MYSQLSocket /var/run/mysqld/mysqld.sock
létezik a socket?
Valszeg' kipróbálnám az alatta levő két opcióval inkább... (és ezt pedig kommentezném)
a.
- A hozzászóláshoz be kell jelentkezni
Módosítottam semmi nem változott :(
Továbbra se nyúl az adatbázishoz.
Van valami mód hogy ne daemonként fusson a pure-ftpd-mysql hanem shellben, valamilyen debug módban.
Ezek nekem már kissé magas labdák, de azért segítséggel boldogulni szoktam.
- A hozzászóláshoz be kell jelentkezni
Persze, leállítod az initscripttel, és elindítod kézzel úgy, ahogy az az initscript írja, mikor indul.
Vagy csak simán pure-ftpd-mysql -h, és megnézed, mit kell megadni. (tipp: -B nem fog kelleni)
a.
- A hozzászóláshoz be kell jelentkezni
Kiindulásképp a howtoforge-os oldal jó! http://www.howtoforge.com/pureftpd_mysql_virtual_hosting
Csak némi változtatásokat kell eszközölni a telepítésnél.
Még a pure-ftpd-mysql telepítése előtt ezekre lesz szükséged: mysql-server mysql-common mysql-client libmysqlclient15-dev openbsd-inetd
Nálam speciel kijött az a hiba hogy nem tudott írni az /etc/inetd.conf-ba, mivel nem volt feltelepítve alapból az openbsd-inetd. A howtoforge-os leírásban szó esik hogy telepítéskor kérdezi hogy standalone módba fusson e vagy sem, ezt nálam nem kérdezte. Ezt manuálisan kellett beállítani itt: /etc/default/pure-ftpd-common
[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]
Ezek után szerkeszted az /etc/inetd.conf fájlt és kikommentálod az ftp sort:
[...]
#:STANDARD: These are standard services.
#ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
[...]
Újraindítod a masinériát és megnézed, hogy tényleg elindul-e démonként. (reboot)
És kész is!
A howtoforge nagy ötlet volt anno, de már elavult sajnos. :(
- A hozzászóláshoz be kell jelentkezni
Köszi a tippet. Még nem néztem meg mivel addig nyafiztak a partnerek hogy nem lehetne-e valamilyen web alapú csoda az FTP helyett, hogy a végén feltettem nekik egy OWL-t.
Innen aztán az is töltögethet akinek a tűzfala nem engedi ki az FTP-t, azokról meg nem is beszélve akik azt se tudják mi az hogy FTP.
Minden segítséget köszönök.
- A hozzászóláshoz be kell jelentkezni
Yuyy. Hat inetd-s szerverkent en nem futtatnek ftp szerver. A pure ftpd az kepes standalone-kent is futni, (egyebkent a standalone eppen azt jelenti, hogy _nem_ inetd-bol fut) es az a jobb.
De ha mar inetd, akkor is inkabb xinetd-t javaslok. Szeparalt konfigok, es atlathatobbak.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Szerintem leírtam feketén-fehéren, hogy inetd-t is csak azért telepítettem fel mert pure-ftpd-mysql írni szeretett volna az /etc/inetd.conf-ba. Mivel nem volt fent inetd így hibaüzenettel tért vissza. És ezek után állítottam át pure-ftpd -t STANDALONE!!!!! módba!
Abban viszont igazad van, hogy nem próbáltam ki, hogy inetd nélküli rendszerre telepítem pure-ftpd-mysql -t, és hogy ha átállítom standalone módra, akkor működik e. És nem is fogom már kipróbálni mert úgy ahogyan leírtam, úgy működik STANDALONE!!!!! módban!
Remélem eléggé kihangsúlyoztam, hogy így is STANDALONE módban fut! :\
- A hozzászóláshoz be kell jelentkezni
Ez zavart meg:
Ezek után szerkeszted az /etc/inetd.conf fájlt és kikommentálod az ftp sort:
[...]
#:STANDARD: These are standard services.
#ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
[...]
Ugyanis ugy tunt, az eredeti konfigban van ott a kommentjel, es te szedted ki a kommentjelet elole. Igy nem is volt ertelme az egesznek.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
hjaj :)
Gyárilag nincs ott komment, én tettem bele. Amúgy mindent úgy írtam le ahogyan lennie kell, nem azt írtam le ahogyan volt, hanem úgy ahogyan kell lennie, sztem ez mindenkinek triviális volt...
Alapban nincs kommentelve a beállítás, azért írtam oda hogy KIKOMMENTELEM AZ FTP sort, ergo teszek egy kibeb.ott # jelet az elejére (ismétlem alapba nincs ott komment mert inetd-ben futna az egész, azt kapcsolom ki)
am nem tudom honnan jött az az ötleted hogy kiszedem a kommentjelet előle...
remélem végre érthető :)
- A hozzászóláshoz be kell jelentkezni
Szereny javaslat: "Megjegyzesbe teszem" es "Kiveszem a # jelet" :-)
Egyebkent igen, ertheto volt mostmar.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Azt próbáld ki, hogy nem socket-re csatlakozol, hanem localhostra a 3306-os porton keresztül. Szerintem én is belefutottam már ebbe (legalábbis rémlik), és így oldottam meg, mivel sürgetett az idő.
- A hozzászóláshoz be kell jelentkezni
Nem tudom segítek-e vele, de korábban én is vmware-ból futtattam egy debian 5-öt, és teljesen ugyan ez a probléma állt fent, az indítás típusát átírtam inetd-ről standalone-ra és máris működött minden flottul.
- A hozzászóláshoz be kell jelentkezni
Szintén vmware :)
Na most már csak kíváncsiságból is újra nekifutok (amint lesz egy kis időm)
- A hozzászóláshoz be kell jelentkezni