\r\n\r\n
Linuxサーバーを立ち上げる場合は、FTPアクセスが必要です。これは、まずLinuxにFTPサーバーをインストールすることを意味します。これは、サーバーOSをインストールした後、最初に行うべきことの一つです。
多くのLinuxサーバーはUbuntuが動作していますので、UbuntuサーバーにFTPサーバーを設置する方法を説明します。
FTP(File Transfer Protocol)とは、サーバーからファイルをアップロード(入れる)、ダウンロード(取得)するためのシステムです。過去にファイルを取り込んだり、画像をウェブにアップロードする際に、気づかないうちに使っていたかもしれません。あるいは、FTPクライアントを使用して、FTPファイルサーバーに直接接続したことがあるかもしれません。
このためには、ファイルをホストしているリモートサーバーにFTPサーバーソフトウェアをインストールする必要があります。
Linuxホームサーバ、ウェブサーバ、ゲームサーバなど、あなたのプロジェクトに適したサーバを構築する場合、FTPはあるシステムから別のシステムへデータを転送する最も簡単な方法です。
UbuntuにFTPサーバーをインストールするのは非常に簡単です。以下の手順で、UbuntuにvsftpdでFTPサーバーをインストールし、設定します。
すでにvsftpdがインストールされている可能性があります。
sudo apt list --installedリストの一番下にvsftpdがあるはずです。ない場合は、インストールするだけです。
sudo apt install vsftpdインストールが完了したら、いよいよvsftpdの設定です。まず、元の設定ファイルをコピーすることから始めます。つまり、何か問題が発生しても、デフォルトの設定に戻すことができるのです。
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_default完了したら、でサービスを開始します。
sudo systemctl start vsftpdサーバーが起動していることを確認する。
sudo systemctl enable vsftpdvsftpdのインストールが完了したら、設定を開始します。
まず必要なのは、FTPのユーザーアカウントです。これにより、任意のFTPクライアントを使用して、vsftpd経由でサーバー上にホストされたファイルにアクセスすることができます。ターミナルで、次のように入力します。
sudo useradd –m username(「ユーザー名」を期待されるユーザー名に置き換えてください)。
sudo password usernameユーザー名とパスワードを設定した後、アカウントのホームフォルダにテストファイルを作成し、正常に動作することを確認する:。
cd /home/usernamesudo nano testfile.txt最初にubuntuのftpサーバーに接続すると、testfile.txtファイルが表示されるはずです。
ただし、接続を確立する前に、UbuntuでFTPポートが開いていることを確認する必要があります。ufw(簡易ファイアウォール)のデフォルトでは、セキュリティ上の理由から、これらはオフになっています。
20番ポート経由のアクセスを有効にするには
sudo ufw allow 20/tcpディストリビューションが別のファイアウォールを使用している場合や、別のファイアウォールがインストールされている場合は、ドキュメントを参照してポートを開いてください。
また、ユーザーがファイルをアップロードできるようにしたい場合は、設定ファイルで設定することができます。
sudo nano /etc/vsftpd.confwrite u enabledを検索し、エントリーのコメントを解除して、"YES "に設定されていることを確認します。
write_enable=YESCtrl+Xキーで終了、Yキーで保存。
一般に公開されているFTPサーバーの場合、ユーザーごとにアクセス制限をかける必要があります。chrootを使うことで、各ユーザーのホームディレクトリを制限することができます。vsftpd.conf ファイルで、次の行を探してコメントを解除します(# を削除)。
chroot_local_user=YESここでも、Ctrl+Xで終了、Yで保存です。
複数のユーザーが使用する場合は、リストを管理する方が賢明な選択です。
まず、テキストエディタでvsftpd.chroot\uのリストを開きます。
sudo nano /etc/ vsftpd.chroot_listここでは、自分のフォルダに制限をかけるユーザー名を列挙します。保存して終了し、vsftpd.confファイルに戻り、chrootu localu user=YESがアンコメントされていることを確認します。
#chroot_local_user=YES代わりに、アンコメント
chroot_list_enable=YESと
chroot_list_file=/etc/vsftpd.chroot_list次のように読み替えてください。
最後に、FTPサービスを再起動します。
sudo systemctl restart vsftpd.service最後に、hostnameコマンドで、Ubuntuサーバーの名前を確認します。そして、それを使ってFTPサーバーに接続することができます。IPアドレスを使用したい場合は、IPアドレスコマンドを入力し、メモしておいてください。
また、SSL/TLSを使用して、ubuntuftpサーバーとの間のトラフィックを強制的に暗号化することができます。
関連:誰もが知っておくべき暗号化用語
vsftpd.conf ファイルで、「SSL 暗号化接続」についての言及を探し、以下を追加します。
ssl_enable=YESrsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pemrsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.keyFTPクライアントの接続プロトコルとして、特定のFTPを使用できるようになりました。
他のシステムから、コマンドラインツールやデスクトップアプリケーションを使って、ubuntu ftpサーバーに接続することができます。
Linuxでは
sudo ftp hostnameホスト名」をサーバーのホスト名に置き換えていることを確認してください。
sudo ftp ipaddressプロンプトが表示されたら、先ほど設定したユーザー名とパスワードを入力し、getコマンドとputコマンドでデータを転送することができます。
もっと直感的に操作したい、他のオペレーティングシステムからFTPサーバーにアクセスしたい。FTPクライアントが必要ですが、間違いなく最高なのはFileZillaです。これはWindows(およびサーバー)、macOS、Linux用のオープンソースソリューションで、32ビット版と64ビット版があります。残念ながら、Ubuntuや他のLinuxディストリビューション用のFileZilla FTPサーバーはありません。
ダウンロード:FileZilla(無料)
FileZillaクライアントを使用してUbuntuのFTPサーバーに接続するには、アプリケーションをインストールし、起動します。
そして、ubuntuのFTPサーバーから自由にデータをアップロード、ダウンロードすることができます。移動したいファイルをドラッグ&ドロップするだけです。
別のFTPクライアントを使用する場合も手順はほぼ同じですが、明確なことはアプリケーションのドキュメントを確認してください。
Ubuntuオペレーティングシステムのデスクトップ版またはサーバー版のいずれを使用している場合でも、FTPサーバーが動作するようになりました。ウェブページのアップロードから重要なデータへの容易なアクセスまで、あらゆる用途に利用できます。FTPを使えば、サーバーマシンに物理的にアクセスする必要がなく、いつでもデータにアクセスすることができます。