実行ファイルを含め、数1GBレベルのファイルをWordPressの中で扱う事が出来ましたので、記録しました。
ファイルのアップロード
大きなサイズのファイルは、WordPress等のCMSでは、PHP等では初期値2MB、設定変更しても20MB程度で運用していると思います。そこで、今回はSCPコマンドを使って、約1GBの実行ファイルをサイトにアップロードしました。又ダウンロードはWordPressの、ブロックエディタで「ファイル」を使い同じサイズのファイルをダウンロード出来ました。
ファイルの有る場所へ移動してからの作業例です。
$ scp ./[File-Name] [user_name]@[IP address]:/home/[user_name]
[File-Name] 100% 1110MB 11.3MB/s 01:38
この後、サーバーにSSH接続し、/home/[user_name]にアップロードしたファイルを、サイトのアップロードファイルの場所に移動し、ファイルのオーナー・権限を設定します。
WordPressにプラグインを導入します
WordPressは、そのままではWindowsの実行ファイルは扱えませんので、プラグイン「WP Add Mime Types」を導入し、exeファイルを使用できるように設定しておきます。
上記の設定が完了したら、いよいよ対象のファイルをコンテンツとして登録する事になります。 しかしながら、アップロードした実行ファイルは、ターミナルから直接、WordPressのアップロード先にアップロードしたので、WordPressのメディア一覧には登録されていない可能性大です。そこでアップロード先のURLはドキュメントルートからの値を控えておく必要があります。
ブロックエディタで、カスタムHTMLを選択し、下記のコードを入力します。
<div class="wp-block-file"><a href="[upload URL]/[file-name.exe]" rel="noreferrer noopener">[file-name]</a> </div>
上記のコードは、一般のファイルをアップロードし、HTMLとして編集を選択すると表示されるコードから、その内容をコピーして、今回の対象ファイルに変更して、カスタムHTMLに入力した例です。
鍵認証でクライアントからダウンロード
鍵認証で接続しているサーバーからファイルを、クライアントのUbunt機へダウンロードする場合の例です
$ scp -i .ssh/[鍵ファイル名] [user_name]@[IPアドレス]:/home/[user_neme]/[file_name] ~/
scpコマンドはファイルサイズの制限が無いので、大きなファイルのダウンロードに有効な方法です。200MBで、0.18sでダウンロード出来ました。上記の例はサーバーのフォルダーからUbuntu機のユーザーのトップフォルダにダウンロードする場合です。