Linuxサーバにローカル環境からフィアルをアップロードする際には、リモートサーバにファイルをアップロードするクライアントアプリを使用します。本記事では無料で使えるファイルアップロードソフトのFileZilla(ファイルジラ)の使い方を学習していきます。FileZillaのメリットはUIがあってドラッグ&ドロップでファイルのアップロード・ダウンロードが可能です。FileZillaからAWSのEC2インスタンスに接続して、Webサーバの公開ディレクトリにファイルをアップロードする方法を解説していきます。AWSのEC2インスタンスが立ち上がっていることと、Webサーバがインストールされて初期設定が済んでいることを前提とします。学習がまだの方は「EC2インスタンスの作成手順」と「Apache(アパッチ)サーバのインストールと設定、そしてHTTPS化」の記事を学習してから本記事の学習を進めてください。
FileZillaのダウンロード
FileZillaのダウンロードサイトは以下になります。
「Download FileZilla Client」のボタンを押下してダウンロードページへ進みます。
「Download FileZilla Client for Windows (64bit x86)」がWindows用のクライアントアプリになります。
いくつか選択肢が出てきますが、無料版は「FileZilla」となります。
FileZillaのインストール
ダウンロードしたファイルを実行してデフォルト設定のままインストールを完了させましょう。インストールが済んだらFileZillaを起動しておいてください。
日本語化設定
FileZillaの表示を日本語化する設定は以下のメニューを辿って行います。
「Edit」>「Settings」>「Language」メニューからJapaneseを選択します。
変更後にFileZillaの再起動が求めらるので、FileZillaを再起動してください。これで日本語化は完了です。
転送設定
バイナリモード転送
「転送」>「転送形式」メニューを辿り、「バイナリ」を選択しておきましょう。
ASCIIモードはテキストファイルを転送する際にWindowsの改行コード(CRLF)とLinuxの改行コード(LF)を転送時に自動識別します。
バイナリモードは画像や圧縮ファイルを転送する場合に使われますが、これらファイルはASCIIモードで転送された場合は改行コードが自動置換されてしまうためファイルが破損してしまう可能性があります。
意図しない改行コードの置換を避けるためにバイナリモードにしておきます。そして、テキストファイルのWindowsとLinuxの改行コードの差異については、Windows側でファイルの作成時に文字コードをUTF8にして改行文字コードをLinuxに合わせたLFに設定しておくことで解決します。
通常Webのシステム開発においてはVisual Studio Code(VSCode)の様な統合開発環境(IDE)を使用して開発を行い、そのIDEソフト内でデフォルトの文字コードや改行コードの設定をしておくことになります。
改行コードの違いについての詳細は「Linuxの基礎知識」の記事を参考にしてください。
FileZillaをインストールしたらまず転送モードをバイナリモードに変更しましょう。
ファイル存在時のデフォルトアクション
ファイルのアップロード・ダウンロードをする際に同名のファイルが既に存在する場合の挙動を設定します。
「転送」>「ファイル存在時のデフォルトのアクション」メニューを選択。アップロード・ダウンロード共に「アクションを尋ねる」に設定しておくとよいでしょう。
同名のファイルを意図せず上書きをしないように確認のポップアップが表示されるように設定しましょう。
リモートサーバへの接続設定
接続先のリモートサーバを追加する場合は、「ファイル」>「サイトマネージャー」メニューを選択します。
開いたウィンドウ内から「新しいサイト」ボタンを押下して、エントリー名とリモートサーバの接続情報を追加していきます。設定内容は以下を参考にしてください。
【一般タブの設定】
- プロトコル
-
「SFTP」を選択してください。FTPではありません。SFTPでは通信が暗号化されより安全に通信できます。
- ホスト名
-
EC2インスタンスに関連付けたドメイン名か関連付けたIPを設定してください。
- ポート番号
-
22のポート番号を使用します。
- ログオンタイプ
-
「鍵ファイル」を選択してください。
- ユーザ
-
「ec2-user」と入力します。
- 鍵ファイル
-
EC2インスタンス作成時に一緒に作成したキーペアの .pem ファイルまでのパスを指定します。
「参照」ボタンからフォルダを辿って .pem ファイルを選択しましょう。
【詳細タブの設定】
任意設定ですが、リモートサーバに接続した際に開かれるローカル環境とリモートサーバ環境のパスを指定します。未指定の場合は、リモートサーバのデフォルトディレクトリはec2-userのホームディレクトリである「/home/ec2-user」になります。
- デフォルトのローカルディレクトリ
-
リモートサーバに接続した際にFileZilla内の左側に表示されるデフォルトのパスを指定します。
- デフォルトのリモートディレクトリ
-
リモートサーバに接続した際にFileZilla内の右側に表示されるデフォルトのパスを指定します。
ここではWebサーバの公開ディレクトリである「/var/www/html」としておきましょう。
「OK」ボタンを押下して、リモートサーバへの接続設定を閉じます。
FileZillaにダークモードはありません。そして機能実装の予定もないようです。(2025/02/28現在)
リモートサーバへの接続
FileZilla画面の最上部にアイコンが列挙されていますが、左端がサイトマネージャーのアイコンになります。その隣に下向き矢印のアイコンがあります。この下向きの矢印を押下すると追加したリモートホストのリストが表示されますので、対象となるエントリーを選択してください。画面右側にフォルダなどが見えたら接続に成功したことになります。
各種パネルの表示
以下、表示しておくと便利なパネルを紹介しておきます。最上部の「表示」メニューから表示・非表示の切り替えができます。
- メッセージログ・・接続エラーやフィアルの転送失敗などがあるとログが赤文字で表示されます。
- ローカルディレクトリツリー・・自分のPCの階層のフォルダツリーが見えます
- リモートディレクトリツリー・・リモートサーバの階層のフォルダツリーが見えます
- 転送キュー・・転送の状態が表示され、転送の成功や失敗が表示されるのでエラーに気が付きやすいです。
ファイルをアップロードしてファイルを公開する
ローカル環境でindex.htmlファイルを作成し「こんにちは」と書いてみましょう。それを、FileZillaを通してリモートホスト側の「/var/www/html/」ディレクトリにドラッグ&ドロップしてみましょう。最後にEC2に関連付けたドメインでアップロードしたファイルにアクセスしてみましょう。「こんにちは」と表示されたら成功です。
例)https://mydomain.example.com/index.html
まとめ
今回はWebのシステム開発でよく使用されるFTPクライアントのFileZillaについて学習しました。ダウンロード・インストールをして、日本語化設定を行いました。また、転送設定にバイナリモードを設定しましたね。間違ってフィアルを上書きしないための設定も学びました。リモートサーバへの接続設定も行いました。そこではキーペアの.pemファイルを使用したSFTP接続の設定をしました。これで作成したファイルをWebサーバにアップロードしてインターネットに公開することができるようになりました。
次回「Linux|VIMエディタの使い方」について学習していきましょう。
