どのようにファイルを Web サーバにアップロードしますか?

この記事ではファイル転送ツールを使用してオンラインでサイトを公開する方法を説明します。

学習の前提 Web サーバが何であるかドメイン名の仕組みを知っていなければなりません。また、基本的な環境の設定方法簡単な Web ページの作成方法も理解しておく必要があります。
学習の目的 FTP を使用してファイルをサーバにプッシュする方法を学びます。

概要

シンプルな Web ページを作成している場合 (例として HTML の基本を参照)、Web サーバ上にオンラインで転送したいと思うかもしれません。この記事では SFTP クライアント、RSync、GitHub などの選択肢をとおして、その方法を説明します。

SFTP

 SFTP クライアントには、いくつもの選択肢があります。ここのデモは FileZilla を使うことにします。 Windows、macOS、Linux で使え、無料だからです。FileZilla をインストールするには、FileZilla ダウンロードページに移動し、大きなダウンロードボタンをクリックしてから、通常の方法でインストーラファイルからインストールします。

メモ: もちろん他にもたくさんのオプションがあります。詳細についてはパブリッシングツールを参照してください。

FileZilla アプリケーションを開きます。次のようなものが表示されます。

ログイン

この例では、ホスティングプロバイダ (私たちの HTTP Web サーバをホストするサービス) は架空の会社 "Example Hosting Provider" であり、URL は次のようになります:mypersonalwebsite.examplehostingprovider.net

私たちはアカウントを開設し、その情報を受け取ったばかりです:

Example Hosting Provider でアカウントを開設しましたことをお祝いします。

アカウント: demozilla

あなたのWebサイトは demozilla.examplehostingprovider.net で表示されます。

このアカウントに公開するには、SFTP を使用して次の資格情報で接続してください:

  • SFTP サーバ: sftp://demozilla.examplehostingprovider.net
  • ユーザ名: demozilla
  • パスワード: quickbrownfox
  • ポート: 5548
  • Web 上に公開するには、ファイルを Public/htdocs ディレクトリに置きます

最初に http://demozilla.examplehostingprovider.net/ を見てみましょう。見ての通り、まだそこには何もありません:

Our demozilla personal website, seen in a browser: it's empty

メモ: ホスティングプロバイダによっては、最初にあなたの Web アドレスに行ったときに、「このWebサイトは[ホスティングサービス]によってホストされています。」というようなページが表示されます。

SFTP クライアントを遠隔のサーバに接続するには、次の手順を実行します。

  1. メインメニューから ファイル > サイトマネージャ と選択します
  2. [サイトマネージャ] ウィンドウで、[新規サイト] ボタンをクリックし、提供されたスペースにサイト名を demozilla として入力します
  3. ホスティングプロバイダから提供された SFTP サーバのホストを Host: フィールドに入力します
  4. [ログオンの種類] ドロップダウンで [標準] を選択し、提供されたユーザ名とパスワードを該当するフィールドに入力します
  5. 正しいポートおよびその他の情報を入力します

ウィンドウは次のようになります:

次に Connect を押して SFTP サーバに接続します。

注意: ホスティングプロバイダがホスティングスペースへの SFTP (セキュア FTP) 接続を提供していることを確認してください。FTP は本質的に安全ではないため、使用しないでください。

こちらとあちら:ローカルビューとリモートビュー

一度接続すると、画面は次のようになります (私たちはあなた自身のアイデアを伝えるために例を挙げています)。

あなたが見ているものを調べてみましょう:

  • 中央の左ペインには、ローカルファイルが表示されます。Web サイトを保存しているディレクトリ (例: mdn) に移動します
  • 中央の右ペインには、リモートファイルが表示されます。遠くの FTP ルート (このケースでは、users/demozilla) にログインしています
  • 今のところ、下部と上部のペインを無視することができます。それぞれ、あなたのコンピュータと SFTP サーバ間の接続状態を示すメッセージのログ、SFTP クライアントとサーバ間のすべてのインタラクションのライブログです

サーバへのアップロード

私たちのホスト命令の例では、「Web 上に公開するには、ファイルを Public/htdocs ディレクトリに入れてください」となっています。右ペインの指定されたディレクトリに移動する必要があります。このディレクトリは実質的にあなたの Web サイトのルートで、index.html ファイルやその他のアセットがどこに行くかを示します。

ファイルを置く正しいリモートディレクトリが見つかったら、サーバにファイルをアップロードしますが、それにはファイルを左ペインから右ペインにドラッグ & ドロップする必要があります。

本当にオンラインですか?

これまでのところとても良いですが、ファイルは本当にオンラインですか? ブラウザでWebサイト (例えば http://demozilla.examplehostingprovider.net/) に戻って再確認することができます。

Here we go: our website is live!

そしてやりました! Web サイトは動いています!

Rsync

Rsync はローカルからリモートへのファイル同期ツールで、ほとんどの Unix ベースのシステム (macOS や Linux など) で一般的に利用可能ですが、Windows 版も存在します。

デフォルトではコマンドラインで使用されるため、SFTP よりも高度なツールと見なされています。基本的なコマンドはこんな感じです:

rsync [-options] SOURCE user@x.x.x.x:DESTINATION
  • -options はダッシュの後に1つ以上の文字が続きます。たとえば、詳細エラーメッセージの場合は -v、バックアップを作成する場合は -b です。完全なリストは rsync の man ページにあります ("Options summary" を検索してください)。
  • SOURCE は、ファイルのコピー元となるローカルファイルまたはディレクトリへのパスです。
  • user@ は、ファイルのコピー先となるリモートサーバ上のユーザの資格情報です。
  • x.x.x.x はリモートサーバのIPアドレスです。
  • DESTINATION は、リモートサーバ上のディレクトリまたはファイルをコピーする場所へのパスです。

あなたはホスティングプロバイダからそのような詳細を得る必要があるでしょう。

詳細およびその他の例については、 How to Use Rsync to Copy/Sync Files Between Servers を参照してください。

もちろん、FTP の時と同じように安全な接続のもとで使用することをお勧めします。Rsync の場合は -e オプションを使用して、SSH を介した接続を確立するための SSH 詳細を指定します。例えば:

rsync [-options] -e "ssh [SSH DETAILS GO HERE]" SOURCE user@x.x.x.x:DESTINATION

必要なものの詳細については、How To Copy Files With Rsync Over SSH を参照してください。

Rsync GUI ツール

他のコマンドラインツールと同様に、コマンドラインの使用に慣れていない人向けに Rsync 用の GUI ツールもあります。Acrosync はそのようなツールの1つで、Windows と macOS で利用可能です。

繰り返しになりますが、ホスティングプロバイダから接続認証情報を取得する必要がありますが、この方法でそれらを入力するための GUI が得られます。

GitHub

GitHub では、GitHub pages (gh-pages) を介して Web サイトを公開することができます。

これの使い方の基本については、Web 入門Web サイトの公開の記事で説明しているので、ここでは繰り返しません。

ただし、GitHub で Web サイトをホストすることはできますが、カスタムドメインを使用することもできます。詳しいガイドは Using a custom domain with GitHub Pages をご覧ください。

ファイルをアップロードするその他の方法

FTP プロトコルは、Web サイトを公開するためのよく知られた方法の1つですが、唯一の方法ではありません。 他にもいくつかのやり方があります。

  • Web インターフェイス。リモートファイルアップロードサービスのフロントエンドとして機能する HTML インターフェイス。ホスティングサービスから提供されます。
  • WebDAV。より高度なファイル管理を可能にする HTTP プロトコルの拡張。

ドキュメントのタグと貢献者

このページの貢献者: Chuji-volunteer, silverskyvicto, mdnwebdocs-bot
最終更新者: Chuji-volunteer,