• How To: Απλός FTP Server στο σπίτι μας σε Linux
    Σελ. 1 από 18

    How-To: Απλός FTP Server στο σπίτι μας σε Linux

    1. ΕΙΣΑΓΩΓΗ

    Εάν επιθυμούμε ν' ανταλλάξουμε αρχεία με άλλους, ένας FTP Server είναι από τις ευκολότερες και ασφαλέστερες μεθόδους.

    Ταυτόχρονα είναι καί "οικολογική" μέθοδος για την κοινότητα του broadband, αφού δεν έχει ούτε το 50% MIME overhead του e-mail (ούτε και τα όρια μεγέθους του), ούτε έχει τα μικρά και πολλά πακέτα του πρωτοκόλλου HTTP.

    Ας δούμε πώς γίνεται.

    Αυτό το άρθρο δημοσιεύθηκε πρώτα στο forum με θέμα: How To: Απλός FTP Server στο σπίτι μας σε Linux Δημοσιεύθηκε από WAntilles Δείτε την αρχική δημοσίευση
    Σχόλια 54 Σχόλια
    1. Το avatar του μέλους EvilHawk
      EvilHawk -
      Πολύ καλή δουλειά WAntilles. Να προσθέσω μονάχα ότι ο τίτλος είναι παραπλανητικός!

      Ο vsftp (very secure ftp server) σε μερικές διανομές linux έχει κερδίσει δίκαια την θέση του σαν default server. Με τίς παραπάνω οδηγίες εγκατάστασης και λίγο διάβασμα για τίς παραμέτρους του conf αρχείου μπορείτε άφοβα να στήσετε ένα ασφαλή ftp server σε οποιοδήποτε μηχάνημα.
    1. Το avatar του μέλους WAntilles
      WAntilles -
      Πολύ σωστά.

      Αλλά από την άλλη, ο τίτλος να μην είναι καί intimidating για τους χρήστες.
    1. Το avatar του μέλους ΕΡΜΗΣ
      ΕΡΜΗΣ -
      Στη σελίδα 9 από 18 του παραπάνω οδηγού όταν εκτέλεσα τις εντολές της διαδικασίας μου έβγαλε τα παρακάτω

      Κώδικας:
      epmhs@epmhs-desktop:~$ sudo db3_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
      sudo: db3_load: command not found
      epmhs@epmhs-desktop:~$
      Προσπάθησα να το κάνω μέσω Ubuntu. Επίσης κατά την εγκατάσταση του vsftpd, στα προηγούμενα στάδια, δεν μου έφτιαξε αυτόματα το directory /etc/vsftpd, οπότε αναγκάστηκα να το φτιάξω manually. Για την παραπάνω εντολή όμως δεν έχω λύση.

      Εκτός και αν η εντολή db3_load στην διανομή του Ubuntu αλλάζει...

      Το db3 το εγκατέστησα κανονικά μέσω synaptic !!

    1. Το avatar του μέλους WAntilles
      WAntilles -
      Παράθεση Αρχικό μήνυμα από ΕΡΜΗΣ Εμφάνιση μηνυμάτων
      Στη σελίδα 9 από 18 του παραπάνω οδηγού όταν εκτέλεσα τις εντολές της διαδικασίας μου έβγαλε τα παρακάτω

      Κώδικας:
      epmhs@epmhs-desktop:~$ sudo db3_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
      sudo: db3_load: command not found
      epmhs@epmhs-desktop:~$
      Προσπάθησα να το κάνω μέσω Ubuntu. Επίσης κατά την εγκατάσταση του vsftpd, στα προηγούμενα στάδια, δεν μου έφτιαξε αυτόματα το directory /etc/vsftpd, οπότε αναγκάστηκα να το φτιάξω manually. Για την παραπάνω εντολή όμως δεν έχω λύση.

      Εκτός και αν η εντολή db3_load στην διανομή του Ubuntu αλλάζει...

      Το db3 το εγκατέστησα κανονικά μέσω synaptic !!

      Κάνε καταρχήν ένα κανονικό:

      Κώδικας:
      sudo -s -H
      Και μετά, όπως λέω και εδώ (κάτω-κάτω):

      http://www.adslgr.com/forum/showthre...=43062&garpg=9

      Σε μερικές διανομές, η db3_load μπορεί να είναι απλά db_load, οπότε για δοκίμασε και αυτήν.
    1. Το avatar του μέλους allergic
      allergic -
      εξαιρετικος οδηγος! εστησα σε debian sid αμεσως τον ftp server μου. αντιμετωπιζω ομως ενα μεγαλο προβλημα. οτι και να εχω δοκιμασει στο iptables firewall μου σχετικα με το ftp, δεν εχει δουλεψει, με αποτελεσμα να χρειαζεται να σταματησω το firewall για να εχω και εγω αλλα και οι users μου προσβαση.
      στο router μου, απλα εκανα port forwarding τα ports 20 και 21 και δεν ειχα κανενα προβλημα.θα σας ημουν ευγνωμων αν μου δινατε μια λυση σχετικα με το iptables ..
    1. Το avatar του μέλους frapes_drinker
      Καταρχας συγχαρητηρια για τον οδηγο!! Απο τις πιο χρησιμες λειτουργιες που προκειται να εκτελεσει το pc μου (αν τελικα τα καταφερω).

      Παράθεση Αρχικό μήνυμα από ΕΡΜΗΣ Εμφάνιση μηνυμάτων
      Κώδικας:
      epmhs@epmhs-desktop:~$ sudo db3_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
      sudo: db3_load: command not found
      epmhs@epmhs-desktop:~$
      Δοκιμασε να εγκαταστησεις με το apt-get τα πακετα libdb3 και libdb3-util. Ειχα και εγω το ιδιο προβλημα και εψαχνα παντου ποια πακετα χρειαζονται.
    1. Το avatar του μέλους dpetka2001
      dpetka2001 -
      Spoiler:
      - permissions
      ----> για καταλογους:
      Κώδικας:
      40755
      ----> για αρχεια:
      Κώδικας:
      100644
      δεν μπορω να καταλαβω τελειως γιατι οι αριθμοι για τα permissions ειναι παραπανω απο 4 ψηφια...νομιζα οτι ειναι 4ψηφιοι...μπορει να εξηγησει καποιος τα παραπανω ψηφια τι κανουν?? εψαξα σε man chmod και λεει μονο για 4ψηφιους αριθμους...ευχαριστω...
    1. Το avatar του μέλους dpetka2001
      dpetka2001 -
      μπορει να απαντησει καποιος στο παραπανω ερωτημα μου γιατι δεν καταλαβαινω τη συγκεκριμενη ενοτητα??
    1. Το avatar του μέλους adminis
      adminis -
      Ρε παιδια, ακολούθησα κατά γράμμα τον οδηγό αλλά με τίποτα δεν καταφέρνω να στήσω τον server. Βγάζει μήνυμα ότι Server is not responding. Ξέρει κάποιος τι παίζει ?
    1. Το avatar του μέλους adminis
      adminis -
      Γνωρίζω ότι αυτό το θέμα έχει καλυφθεί σε πάρα πολλά threads, αλλά πουθενά δεν βρήκα λύση για το πρόβλημα μου, και είπα να δημιουργήσω ένα νέο thread.
      Ακολούθησα τον εκπληκτικό οδηγό του Wantilles για δημιουργία FTP Server, αλλά με τίποτα δεν μπορούσα να τον κάνω να δουλέψει. Διευκρινίζω ότι δεν έχω LAN, και ο FTP που θέλω να κάνω είναι για ανταλλαγή αρχείων μέσω internet.

      Γι'αυτό και θα ήθελα να κάνω τις εξής ερωτήσεις.
      1. Αφού κάνω τις απαραίτητες ρυθμίσεις, πως μπορώ από τον δικό μου υπολογιστή να ελέγξω αν λειτουργεί ο FTP Server ?
      2. Χρησιμοποιώ το USR 9105. Πρέπει να κάνω κάποιες ρυθμίσεις σε ports για να μπορει κάποιος να δει τον server ?
      3. Στον server θα συνδέομαι με την εντολή ssh ή με την ftp ?
      4. Όταν έκανα απο τον δικό μου υπολογιστή την εντολή ssh <ip> ή ftp <ip>, μου πετούσε μήνυμα "'Connection Refused". Ενώ όταν ένας φίλος μου προσπαθούσε να ενωθεί στον server απο τον υπολογιστή του, του έβγαζε "Server not responding". Τί μπορεί να φταίει ?

      Ευχαριστώ,
      Αν μπορείτε να με βοηθήσετε παίδες, είστε θεοι!
    1. Το avatar του μέλους anodizer
      anodizer -
      1. http://www.net2ftp.com/index.php
      Εδώ μπορείς να δοκιμάσεις αν δουλεύει σωστά.
      2. Φυσικά, πρέπει να κάνεις forward την 21 ή όποια άλλη έχεις βάλει στο ftp.
      3. Θα γράφεις στον browser σου ftp://localhost ή θα χρησιμοποιήσεις κάποιον ftp client όπως το gFTP.
    1. Το avatar του μέλους adminis
      adminis -
      Ευχαριστώ φίλε.
      Λέγοντας ότι θα κάνω forward την 21 εννοείς ότι θα προωθώ τα πακέτα που έρχοντα στο port 21, στην IP μου? Αυτο προσπάθησα να κάνω αλλα μου έλεγε ότι η 21 είναι ήδη κρατημένη, κι έτσι θα μου έκανε forward την 2121. Σε τέτοια περίπτωση, πρέπει να ενώνομαι στο port 2121 ?
    1. Το avatar του μέλους anodizer
      anodizer -
      Ναι, βάλε στο conf αρχείο του ftp την 2121. Πρέπει να έχει κάποια έτοιμα rules, κάποιο που να λέγεται FTP server π.χ. και γι' αυτό σου λέει είναι κρατημένη η 21, αν είναι έτσι ενεργοποίησε αυτό το rule απλά.
    1. Το avatar του μέλους drf
      drf -
      η εσωτερική υπηρεσία του USR προοθήται στην 2121 όχι η δικιά σου..
    1. Το avatar του μέλους adminis
      adminis -
      Παράθεση Αρχικό μήνυμα από drf Εμφάνιση μηνυμάτων
      η εσωτερική υπηρεσία του USR προοθήται στην 2121 όχι η δικιά σου..
      Τι εννοείς? Δηλαδή ο FTP server σε ποιο εξωτερικό port θα ακούει?
    1. Το avatar του μέλους chat1978
      chat1978 -
      Παράθεση Αρχικό μήνυμα από adminis Εμφάνιση μηνυμάτων
      Ευχαριστώ φίλε.
      Λέγοντας ότι θα κάνω forward την 21 εννοείς ότι θα προωθώ τα πακέτα που έρχοντα στο port 21, στην IP μου? Αυτο προσπάθησα να κάνω αλλα μου έλεγε ότι η 21 είναι ήδη κρατημένη, κι έτσι θα μου έκανε forward την 2121. Σε τέτοια περίπτωση, πρέπει να ενώνομαι στο port 2121 ?
      Εννοεί ότι πρέπει να σετάρεις το port forwarding στο ρούτερ σου.

      Τώρα το κατειλημένο πόρτ 21 ποιος το λέει? Το ρούτερ ή η εφαρμογή?
    1. Το avatar του μέλους adminis
      adminis -
      @Demelene: To router το λέει...Συγκεκριμένα όταν πάω στα virtual servers να κάνω forward το port μου πετάει το μήνυμα :

      Since port 21 is used, the DSL Gateway
      FTP server port will be moved to 2121.
    1. Το avatar του μέλους adminis
      adminis -
      Προσπαθώ να ξεκινήσω τον FTP με την εντολή sudo /etc/init.d/vsftpd start, αλλά μου φαίνεται ότι δεν ξεκινάει. Όταν τρέχω την sudo /etc/init.d/vsftpd stop, μου βγάζει μήνυμα

      * Stopping FTP server: vsftpd
      No /usr/sbin/vsftpd found running; none killed.


      Γιατί δεν τρέχει ?
    1. Το avatar του μέλους WAntilles
      WAntilles -
      Παράθεση Αρχικό μήνυμα από adminis Εμφάνιση μηνυμάτων
      Προσπαθώ να ξεκινήσω τον FTP με την εντολή sudo /etc/init.d/vsftpd start, αλλά μου φαίνεται ότι δεν ξεκινάει. Όταν τρέχω την sudo /etc/init.d/vsftpd stop, μου βγάζει μήνυμα

      * Stopping FTP server: vsftpd
      No /usr/sbin/vsftpd found running; none killed.


      Γιατί δεν τρέχει ?
      Αυτό το έκανε και σε μένα στις αρχικές μου προσπάθειες, και μετά ανακάλυψα το γιατί.

      Όταν δίνεις εντολή στο vsftpd να ξεκινήσει, αμέσως (προφανώς) πάει και διαβάζει το vsftp.conf. Τώρα, όταν βρει εκεί κάτι που να μην του αρέσει (π.χ. λάνθασμένο μέγεθος ή τιμή αυτού), δεν σου το λέει, απλά δεν ξεκινά, και ούτε καν σου λέει ότι "φίλε δεν ξεκίνησα".

      Ο μόνος τρόπος να καταλάβεις ότι δεν ξεκίνησε, είναι αυτό που έκανες. Να πας δηλαδή να το σταματήσεις, και να σου πει το σύστημα ότι δεν έχει ξεκινήσει καν.

      Άρα το πρόβλημά σου εικάζω ότι βρίσκεται σε κάποια/ες γραμμή/ές του vsftp.conf. Κάτι εκεί πέρα είναι μή επιτρεπόμενο.
    1. Το avatar του μέλους adminis
      adminis -
      Βλακεία αυτό, μήπως έχει verbose mode; Δώσε man vsftpd να το διαπιστώσεις. Αν δεν έχει θα πρότεινα να δοκιμάσεις το proftpd.

      Τελικά ο Wantilles είχε δίκαιο. Κάποιο πρόβλημα είχα με το conf file... Το άλλαξα απ'την αρχή, και τελικά τώρα τρέχει!

      Παίδες ευχαριστώ για την βοήθεια... Κατάφερα να στήσω τον server. Φυσικά είναι πολύ ερασιτεχνικός, αλλά τώρα που άρχισα να μαθαίνω, θα τον περιποιηθώ ανάλογα!
      Just for the record, το vsftpd.conf μου φαίνεται παρακάτω. Αν έχει κάποιος να διορθώσει κάποιο πολύ κτυπητό λάθος, είμαι όλος αυτιά.

      Spoiler:
      Κώδικας:
      anonymous_enable=YES
      local_enable=NO
      listen=YES
      write_enable=NO
      ftp_username=ftp
      ftpd_banner=This is my server, enjoy
      anon_root=/home/ftp


      Άλλο πρόβλημα τώρα...

      Ενώ απο το http://www.net2ftp.com/index.php βλέπω κανονικά τον server μου, όταν προσπαθώ να ενωθώ με κάποιο ftp client (πχ gFTP) μου λέει Connection Refused!!!

      Αντε ρε παιδια... Κάποιος ας βοηθήσει, γιατί έχω σπαστεί άγρια μ'αυτό το πράγμα... Πώς γίνεται απο το FTP client του http://www.net2ftp.com/index.php να συνεδέομαι κανονικά ενώ απο τα συνηθισμένα ftp clients, να μην συνδέομαι; Δεν είναι πολύ παράδοξο αυτό ;