Discuz! は、ユーザーがアップロードした添付ファイルをローカルディスクではなく、リモート FTP サーバーに保存することをサポートしています。この組み込み機能と OSS FTP (ossftp) を組み合わせることで、Discuz! の動作を変更することなく、すべての添付ファイルのアップロードを直接 OSS バケットにルーティングできます。
前提条件
開始する前に、以下を準備してください。
公開読み取り OSS バケット。 バケットのアクセス制御リスト (ACL) は、公開読み取りに設定する必要があります。非公開バケットはこの統合ではサポートされていません。Discuz! は OSS から添付ファイルの URL を直接取得するため、非公開バケットでは画像とファイルの表示が中断されます。設定手順については、「バケットの作成」をご参照ください。このガイドでは、中国 (杭州) リージョンの
test-hz-jh-002という名前のバケットを例として使用します。ossftp のインストールと実行。 ossftp は Discuz! と OSS の間の FTP ゲートウェイとして機能します。インストール手順については、「インストール」をご参照ください。
Discuz! フォーラム。 Discuz! は Discuz! 公式ウェブサイトからダウンロードしてください。このガイドでは、Discuz! X3.1 を例として使用します。
ご利用の AccessKey ID と AccessKey Secret。 これらの認証情報は、FTP ユーザー名とパスワードとして使用されます。取得するには、「AccessKey ペアの取得」をご参照ください。
リモート添付ファイル設定の構成
管理者アカウントを使用して Discuz! 管理パネルにログインします。
[グローバル] をクリックし、[アップロード設定] をクリックします。
[リモート添付ファイル] タブをクリックします。
次の表で説明されているようにパラメーターを構成します。
パラメーター 例の値 説明 リモート添付の有効化 はい リモート添付ファイルストレージを有効にするには、[はい] に設定します。 SSL 接続を有効にする いいえ FTP 接続に SSL を使用するかどうか。 FTP サーバー 127.0.0.1ossftp が実行されているサーバーのアドレス。ossftp が Discuz! と同じマシンで実行されている場合は、 127.0.0.1を入力します。FTP サーバーのポート番号 2048ossftp がリッスンするポート。デフォルト: 2048。FTP アカウント Y6IoUOZReouXvWaXuwjvDch9******/examplebucketFTP ユーザー名は、 <AccessKeyID>/<バケット名>の形式で指定します。AccessKey ID は、バケットへのアクセス権限が付与されたアカウントに属している必要があります。カスタムユーザー名を使用する場合は、「カスタムログインユーザーの作成」をご参照ください。FTP パスワード sRaQg0i3SH9EqYXJSL1hlaR******ご利用の AccessKey Secret。カスタムパスワードを使用する場合は、「カスタムログインユーザーの作成」をご参照ください。 パッシブモード接続 はい ossftp の互換性のために、[はい] に設定する必要があります。 リモートアップロードディレクトリ .OSS 内のアップロードされたファイルのパスプレフィックス。ピリオド ( .) は、ファイルをバケットのルートディレクトリに配置します。リモートアクセス URL https://test-hz-jh-002.oss-cn-hangzhou.aliyuncs.comご利用のバケットのパブリック URL。形式は https://<BucketName>.<Endpoint>です。FTP タイムアウト (秒) 0FTP 接続タイムアウト。 0はサーバーのデフォルトを使用します。
構成のテストと検証
接続のテスト
[リモート添付ファイルをテスト] をクリックします。Discuz! は ossftp にテストリクエストを送信します。テストが成功した場合、構成は有効であり、続行できます。
テストが失敗した場合は、以下を確認してください。
ossftp が構成されたホストとポートで実行されており、アクセス可能であること。
バケットの ACL は、公開読み取り に設定されており、非公開 ではありません。
アップロードが OSS に到達することを確認
Discuz! で新しい記事を投稿し、画像を添付します。
投稿後、画像を右クリックし、[新しいタブでリンクを開く] を選択します。
新しいタブで URL を確認します。URL が
http(s)://<BucketName>.<Endpoint>/<path>/<filename>の形式と一致する場合、添付ファイルは OSS に正常にアップロードされています。例:https://test-hz-jh-002.oss-cn-hangzhou.aliyuncs.com/forum/201512/18/171012mzvkku2z3na2w2wa.jpg