CentOS 8 Linux FTP (proftpd)

CentOS 8にFPTサーバーを導入(proftpd)

FTPサーバーについて

FTP「File Transfer Protocol(ファイル・トランスファー・プロトコル)」はPC等のクライアントからFTPサーバーにファイルを転送するためのサービスです。

ファイルサーバーとして使うのが一般的ですが、ファイル管理はクラウドが主流のこのご時世ではあまり見かけないかもですね。

ファイルサーバーとしては使わないがWordpressのパッケージのインストでFTPを使うと便利です。
(WordPressはFTPが無くてもファイル転送は可能です。)

 

▼公式WEB
FTPのLinuxパッケージは主に「vsftp」と「proftp」の2つが有名ですが、今回は proftp を選択します。
http://www.proftpd.org/docs/

 

構築環境

  • CentOS Linux release 8.2.2004 (Core)
  • ProFTPD Version 1.3.6e

 

 

ルータのポート開放でFTP通信を受け入れる

FTPサーバーの構築を行う前に、サーバー側NWのルータのポートを開放して、外部からの通信がサーバーに届くようにします。
FTPサーバーは「通信制御用」「ファイル転送用」の2種類のポートを解放する必要があります。

ポートの設定方法はルータによって違いますが、概ね下記のような感じです。
ルータが「開始ポート」と「終了ポート」で範囲指定ができる場合は、「TCP/UDP 20~21 192.168.x.x」のように設定する事も可能です。

 

用途 プロトコル 開始ポート 終了ポート サーバーのローカルアドレス
通信制御 TCP/UDP 21 21 192.168.x.x
データ転送 TCP/UDP 20 20 192.168.x.x

 

▼通信イメージ

 

 

▼ルータの設定イメージ

 

上記ルータ設定について補足

FTPサーバーで使うポート開放の説明をしましたが、ウチの環境ではFTPはローカル内のみでの利用に限定しており外部に公開していません。
そのため、上記のルータの設定でFTPポートの開放設定はしていないのです。

 

 

proftpdのインストール

CentOS 8 では dnf コマンドを利用してパッケージ情報検索やインストール、削除を行うことができます。
パッケージファイルが管理されているダウンロードサーバーをリポジトリと呼び、新規でリポジトリを追加することで、ダウンロードできるファイルの種類を増やすことが可能です。

このパッケージはEPELリポジトリよりDLしてインストールする必要があります。
まだEPELリポジトリが追加されていない場合は こちら の手順を先に確認してください。

▼インストールパッケージの確認

 command
# dnf list | grep proftpd
proftpd.x86_64 1.3.6e-1.el8 @epel
proftpd-devel.x86_64 1.3.6e-1.el8 epel
proftpd-ldap.x86_64 1.3.6e-1.el8 epel
proftpd-mysql.x86_64 1.3.6e-1.el8 epel
proftpd-postgresql.x86_64 1.3.6e-1.el8 epel
proftpd-sqlite.x86_64 1.3.6e-1.el8 epel
proftpd-utils.x86_64 1.3.6e-1.el8 epel

 

▼インストールの実行

「-y」オプションを指定すると、インストール可否の確認で「yes」となり自動的にインストールが開始します。

 command
# dnf -y install proftpd

 

 

proftpdのコンフィグ設定

 command
# vi /etc/proftpd.conf

proftpd.conf

▼FTPにログインした際に表示されるメッセージの編集。
ServerName "HS7716-example.com. Fack you!!"

 

▼日本語のファイルが扱えるように設定を追加。
サーバー上はutf8 クライアントはcp932
UseEncoding utf8 cp932

 

▼ファイル作成時の初期パーミッションを変更
Umaskはファイル作成時は666より022を引いた644のパーミッションで作成され、ディレクトリ作成時は777から022を引いた755でファイルが作成されるという設定になります。
Umask 022

Umask 000

 

▼ドキュメントルート
admin グループに属するユーザ意外は、ホームディレクトリより上に移動不可。
DefaultRoot ~ !adm

 

▼匿名ログインを全てコメントで機能しないようにする
#
# Include /etc/proftpd/anonftp.conf
#

 

ココに注意

ドキュメントルーの設定を行わないと「/home」より上位の「/root」ディレクトリ等も操作できてしまうので、必ず設定しておきましょう。

 

 

proftpdの起動設定

▼自動起動

 command
# systemctl enable proftpd

 

▼自動起動の確認

 command
# systemctl is-enabled proftpd
enabled

enabled になっていればサーバー再起動で自動で敵にサービスが起動します。

 

▼起動

 command
# systemctl start proftpd

 

 

▼起動確認

 command
# systemctl status proftpd
● proftpd.service - ProFTPD FTP Server
Loaded: loaded (/usr/lib/systemd/system/proftpd.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2020-10-05 04:35:27 JST; 5s ago

最後までエラーが無く Active: active (running) となっていればOK。

 

WinSCPで日本語が文字化けする場合

クライアントアプリとしてWindowsの「WinSCP」を利用した場合の解説です。

1.WinSCPを起動して文字化けを解消したいセッションの「設定」をクリック

WinSCPを起動して文字化けを解消したいセッションの「設定」をクリック

 

2.「環境」をクリックして「ファイル名をUTF-8でエンコード」を「オン」に設定
「環境」をクリックして「ファイル名をUTF-8でエンコード」を「オン」に設定

 

 

簡単にサーバーを用意したい人はこちら

アクセス数が多く個人運営では厳しくなってきたら、レンタルサーバーも選択肢の一つですね。
もっと簡単にサーバーを準備して、WordPress等が動かせるレンタルサーバーをいくつか紹介します!

 

▼WordPress特化型レンタルサーバー


 

 

▼国内最大級の『ロリポップ!』の新プラン
面倒なインストールやセットアップ作業を行う必要なく、PHP、WordPress、Ruby on Rails、 Node.jsのアプリケーション実行環境を簡単に構築することができます。

 

 

▼国内最速!初期費用無料の高性能レンタルサーバー【ConoHa WING】

 

 

▼Just-Size.Networks レンタルサーバー
安価であっても決して妥協を許さない、こだわりのレンタルサーバー!




 

 

▼カラフルボックス
マルチドメイン・データベース・メールアドレス、すべて無制限。
最新のスペックと技術でWordPressをより高速・安全に表示!
ドメイン取得可能!
初期費用無料(*1)で月額480円から利用可能な、高速・高機能・高コストパフォーマンスのクラウド型レンタル サーバーです。


 

当ブログのドメインや、ウチが管理しているドメインは、全てムームードメインで取得しています。
管理画面が使いやすくて、料金もかなり安めなので、オススメです!

 

-CentOS 8 Linux, FTP (proftpd)

© 2022 Studio ilia - スタジオ イリア