Jak utworzyć serwer FTP w systemie Linux

Transfer plików w sieci odbywa się dzięki odpowiednio skonfigurowanemu serwerowi FTP. Protokół ten wykorzystuje architekturę klient-serwer TCP i wykorzystuje różne połączenia sieciowe, aby zapewnić przesyłanie poleceń między połączonymi węzłami. Użytkownicy, którzy połączyli się z konkretną firmą hostingową, stają przed koniecznością skonfigurowania osobistego serwera FTP zgodnie z wymaganiami firmy, która świadczy usługi serwisowe lub inne oprogramowanie. Następnie zademonstrujemy, jak stworzyć taki serwer w Linuksie na przykładzie jednego z narzędzi.

Utwórz serwer FTP w systemie Linux

Dzisiaj użyjemy narzędzia o nazwie VSftpd. Zalety takiego serwera FTP polegają na tym, że domyślnie działa on na wielu systemach operacyjnych, utrzymuje oficjalne repozytoria różnych dystrybucji Linuksa i jest stosunkowo łatwy do skonfigurowania do prawidłowego działania. Nawiasem mówiąc, ten konkretny FTP jest oficjalnie używany w jądrze Linuksa, a wiele firm hostingowych zaleca instalację VSftpd. Dlatego zwróćmy uwagę na proces instalacji i konfiguracji niezbędnych komponentów krok po kroku.

Krok 1: Zainstaluj VSftpd

Domyślnie wszystkie niezbędne biblioteki VSftpd w dystrybucjach nie są dostępne, więc należy je ręcznie pobrać z konsoli. Odbywa się to w następujący sposób:

  1. Otwórz „Terminal” dowolną dogodną metodą, na przykład za pomocą menu.
  2. Przejście do interakcji z konsolą w systemie operacyjnym Linux

  3. Posiadacze wersji Debian lub Ubuntu są zobowiązani do zarejestrowania komendy sudo apt-get install vsftpd . CentOS, Fedora - yum install vsftpd , a dla Gentoo - emerge vsftpd . Po wprowadzeniu naciśnij klawisz Enter, aby rozpocząć proces instalacji.
  4. Polecenie instalacji VSftpd w systemie operacyjnym Linux

  5. Potwierdź, że masz prawa do swojego konta, określając odpowiednie hasło.
  6. Wprowadzanie hasła do instalacji VSftpd w systemie operacyjnym Linux

  7. Poczekaj na dodanie nowych plików do systemu.
  8. Procedura dodawania plików VSftpd w systemie operacyjnym Linux

Zwracamy uwagę właścicieli CentOS, którzy korzystają z dedykowanego serwera wirtualnego z dowolnego hostingu. Będziesz musiał zaktualizować moduł jądra systemu operacyjnego, ponieważ bez tej procedury podczas instalacji pojawi się błąd krytyczny. Wprowadź kolejno następujące polecenia:

yum update
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum install yum-plugin-fastestmirror
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-devel-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-doc-3.15.6-1.el7.elrepo.noarch.rpm
yum install kernel-ml-doc-3.15.6-1.el7.elrepo.noarch.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-headers-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-libs-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-devel-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-libs-devel-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum install perf-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/python-perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum install python-perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum --enablerepo=elrepo-kernel install kernel-ml

Po zakończeniu całej procedury uruchom plik konfiguracyjny / boot / grub / grub.conf w dowolny dogodny sposób. Zmodyfikuj jego zawartość, aby następujące parametry miały odpowiednie wartości:

default=0
timeout=5
title vmlinuz-4.0.4-1.el7.elrepo.x86_64
root (hd0,0)
kernel /boot/vmlinuz-4.0.4-1.el7.elrepo.x86_64 console=hvc0 xencons=tty0 root=/dev/xvda1 ro
initrd /boot/initramfs-4.0.4-1.el7.elrepo.x86_64.img

Następnie wystarczy ponownie uruchomić dedykowany serwer i przejść do natychmiastowej instalacji serwera FTP na komputerze.

Krok 2: Wstępna konfiguracja serwera FTP

Wraz z programem plik konfiguracyjny został załadowany na komputer, począwszy od którego działa serwer FTP. Wszystkie ustawienia są dokonywane wyłącznie indywidualnie na podstawie zaleceń hostingu lub własnych preferencji. Możemy tylko pokazać, jak ten plik jest otwarty i na jakie parametry należy zwrócić uwagę.

  1. W systemach operacyjnych Debian lub Ubuntu plik konfiguracyjny działa w następujący sposób: sudo nano /etc/vsftpd.conf . W CentOS i Fedora znajduje się wzdłuż ścieżki /etc/vsftpd/vsftpd.conf , aw Gentoo to /etc/vsftpd/vsftpd.conf.example .
  2. Uruchom plik konfiguracyjny VSftpd w systemie operacyjnym Linux

  3. Sam plik jest wyświetlany w konsoli lub edytorze tekstu. Tutaj zwróć uwagę na poniższe punkty. Powinny mieć te same wartości w pliku konfiguracyjnym.

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    chroot_local_user=YES

  4. Zrób resztę samodzielnie, a następnie nie zapomnij zapisać zmian.
  5. Zapisz plik konfiguracyjny VSftpd w systemie operacyjnym Linux

Krok 3: Dodawanie użytkownika zaawansowanego

Jeśli zamierzasz pracować z serwerem FTP nie za pośrednictwem głównego konta lub chcesz udostępnić innym użytkownikom, utworzone profile muszą mieć uprawnienia superużytkownika, aby podczas uzyskiwania dostępu do narzędzia VSftpd nie było błędów z odmową dostępu.

  1. Uruchom „Terminal” i wprowadź polecenie sudo adduser user1 , gdzie user1 to nazwa nowego konta.
  2. Utwórz nowego użytkownika przez terminal w systemie Linux

  3. Ustaw dla niego hasło, a następnie potwierdź je. Ponadto zdecydowanie zalecamy zapamiętanie katalogu domowego konta, w przyszłości może być konieczne uzyskanie dostępu do niego za pośrednictwem konsoli.
  4. Wprowadź hasło nowego użytkownika w systemie operacyjnym Linux

  5. Wypełnij podstawowe informacje - imię i nazwisko, numer pokoju, numery telefonów i inne informacje, jeśli są wymagane.
  6. Dodatkowe dane nowego użytkownika w systemie Linux

  7. Następnie nadaj użytkownikowi rozszerzone prawa, wpisując polecenie sudo adduser user1 sudo .
  8. Nadaj nowe uprawnienia użytkownika Linuksa

  9. Utwórz dla użytkownika oddzielny katalog do przechowywania swoich plików poprzez sudo mkdir /home/user1/files .
  10. Utwórz główny folder dla użytkownika w systemie Linux

  11. Następnie przejdź do folderu domowego za pomocą cd /home a nowy użytkownik stanie się właścicielem twojego katalogu, wprowadzając chown root:root /home/user1 .
  12. Ustaw własność nowego folderu użytkownika w systemie Linux

  13. Uruchom ponownie serwer po wprowadzeniu wszystkich zmian w sudo service vsftpd restart . Tylko w dystrybucji Gentoo narzędzie jest ładowane ponownie przez /etc/init.d/vsftpd restart .
  14. Uruchom ponownie serwer FTP za pomocą konsoli w systemie Linux

Teraz możesz wykonać wszystkie niezbędne działania na serwerze FTP w imieniu nowego użytkownika, który ma rozszerzone prawa dostępu.

Krok 4: Konfigurowanie zapory (tylko Ubuntu)

Użytkownicy innych dystrybucji mogą bezpiecznie pominąć ten krok, ponieważ konfiguracja portu nie jest już nigdzie wymagana, tylko w Ubuntu. Domyślnie zapora jest skonfigurowana w taki sposób, że nie wpuszcza ruchu przychodzącego z adresów, których potrzebujemy, dlatego musimy zezwolić na jego ręczne przejście.

  1. W konsoli aktywuj polecenia sudo ufw disable i sudo ufw enable na raz, aby ponownie uruchomić Firewall.
  2. Zrestartuj zaporę w systemie operacyjnym Ubuntu

  3. Dodaj przychodzące reguły połączenia używając sudo ufw allow 20/tcp i sudo ufw allow 21/tcp .
  4. Dodaj nowe reguły do ​​zapory w systemie operacyjnym Ubuntu

  5. Sprawdź, czy wprowadzone reguły są stosowane, wyświetlając sudo ufw status zapory sudo ufw status .
  6. Sprawdź stan zapory w systemie operacyjnym Ubuntu

Osobno chcę wspomnieć o kilku przydatnych poleceniach:

  • /etc/init.d/vsftpd start lub service vsftpd start - analiza pliku konfiguracyjnego;
  • netstat -tanp | grep LISTEN netstat -tanp | grep LISTEN - sprawdzanie poprawności instalacji serwera FTP;
  • man vsftpd - wywołuje oficjalną dokumentację VSftpd, aby znaleźć niezbędne informacje dotyczące działania narzędzia;
  • service vsftpd restart lub /etc/init.d/vsftpd restart - zrestartuj serwer.

Jeśli chodzi o dostęp do serwera FTP i dalszą pracę z nim, skontaktuj się z przedstawicielami swojego hostingu, aby otrzymać te dane. Dzięki nim będziesz w stanie wyjaśnić informacje na temat subtelności ustawień i pojawienia się różnego rodzaju błędów.

Ten artykuł dobiega końca. Dzisiaj przeanalizowaliśmy procedurę instalacji serwera VSftpd bez powiązania z jakąkolwiek firmą hostingową, dlatego należy pamiętać o tym podczas wykonywania naszych instrukcji i porównywania ich z tymi dostarczonymi przez firmę zawierającą serwer wirtualny. Ponadto radzimy zapoznać się z naszym innym materiałem, który dotyczy tematu instalacji komponentów LAMP.

Zobacz także: Instalowanie zestawu narzędzi LAMP w Ubuntu