PHPWind のリモート添付ファイル機能は、ユーザーがアップロードしたファイルをローカルディスクではなく、リモートストレージサーバーにリダイレクトします。このガイドでは、ossftp を使用して PHPWind 8.7 を Alibaba Cloud Object Storage Service (OSS) に接続し、添付ファイルを OSS バケットに直接保存する方法について説明します。
前提条件
開始する前に、以下を準備してください。
ACL が [パブリック読み取り] に設定された OSS バケット — これにより、フォーラムユーザーはパブリック URL を介して添付ファイルを表示できます。「OSS を有効化する」および「バケットを作成する」をご参照ください。
実行中の PHPWind 8.7 フォーラム。Simple Application Server にセットアップするには、「Simple Application Server の構築」で PHPWind イメージを選択します。
ossftp がインストールされ、実行されていること (推奨: ご利用の PHPWind インスタンスと同じサーバーで、FTP サーバーアドレスとして
127.0.0.1を使用)。
PHPWind で OSS を使用するための構成
この手順には、次の 3 つのステップが含まれます。
1. リモート添付ファイル設定を開く
管理者アカウントでご利用の PHPWind サイトにログインします。
[システム設定] をクリックし、認証情報を入力して管理ページにアクセスします。
管理ページで、[グローバル] > [アップロード設定] > [リモート添付] に移動します。
2. FTP 設定を構成する
[FTP 設定] タブをクリックし、次のパラメーターを設定します。
| パラメーター | 値 | 備考 |
|---|---|---|
| FTPアップロードを有効化 | 有効化 | リモート添付ファイル機能をアクティブ化します。 |
| ウェブサイト添付ファイルの URL | http://<BucketName>.<Endpoint> | ご利用のバケットのパブリックエンドポイントです。例えば、中国 (杭州) リージョンにある test-hz-jh-002 という名前のバケットは、http://test-hz-jh-002.oss-cn-hangzhou.aliyuncs.com を使用します。エンドポイントの形式については、「OSS ドメイン名」をご参照ください。 |
| FTP サーバー | 127.0.0.1 | ossftp が実行されている IP アドレスです。ossftp が PHPWind と同じサーバーで実行されている場合は、127.0.0.1 を使用します。 |
| FTP サーバーのポート番号 | 2048 | デフォルトの ossftp ポートです。 |
| リモートアップロードディレクトリ | . | ピリオド (.) は、添付ファイルをバケットのルートディレクトリに保存します。 |
| [FTP アカウント] | <AccessKeyID>/<BucketName> | ご利用の AccessKey ID とバケット名をスラッシュ (/) で結合したものです。スラッシュはデリミタであり、「または」を示すものではありません。例: LTAI5tXxx/my-bucket。 |
| FTP パスワード | ご利用の AccessKey Secret | 上記の AccessKey ID とペアになっている AccessKey Secret です。 |
| FTP タイムアウト (秒) | 10 | 10 秒以内に結果が返されない場合、システムはタイムアウト応答を返します。 |
AccessKey ID と AccessKey Secret は安全に保管してください。共有構成ファイルに埋め込まないでください。
3. 構成の検証
ご利用のフォーラムに新しい記事を投稿します。
記事に画像を添付ファイルとしてアップロードします。
イメージを右クリックして、[新しいタブでリンクを開く] をショートカットメニューから選択します。
新しいタブの画像 URL がご利用の OSS バケットエンドポイント (例: http://test-hz-jh-002.oss-cn-hangzhou.aliyuncs.com/...) を指している場合、構成は正しく機能しています。
次のステップ
添付ファイルが OSS に保存されたので、次のステップを検討してください。
カスタムドメインのバインド: raw OSS エンドポイントの代わりに、独自のドメインから添付ファイルを配信します。詳細については、「カスタムドメイン名をマップする」をご参照ください。
CDN アクセラレーションの有効化: Alibaba Cloud CDN を使用して、異なるリージョンのユーザーの添付ファイルの読み込み時間を短縮します。
ホットリンク保護の設定: ご利用のストレージ帯域幅の不正使用を防ぐため、バケットオブジェクトに直接リンクできるドメインを制限します。