概要

BookStackをより安全に運用するため、別パーティションに格納します。

以前やったこの手法がそのまま使えました。

前提

  • 既にBookStackが運用されていること。
  • 別のストレージにマウントされている格納用ディレクトリがあること。
  • 筆者はクラウドストレージ「wasabi」を利用しています。

さっくりとした手順

  1. 別パーティションに格納用ディレクトリを作成します。
  2. 既存のimagesディレクトリを格納ディレクトリにコピーします。
  3. 既存のimagesディレクトリの参照先を変更します。
  4. 動作を確認します。

格納用ディレクトリ作成

  • 別パーティションに格納用ディレクトリを作成
sudo mkdir -p /path/to/directory/bookstack/images
# 適切なパーティション内のディレクトリを指定します。
# 筆者環境: /mnt/wasabi/bookstack/images
  • 作成ディレクトリの所有者変更
sudo chown -R www-data:www-data /path/to/directory/bookstack/images

配置済みのディレクトリコピー

  • ディレクトリ移動
cd /home/www-data/bookstack/public/uploads/images && pwd
# 格納ディレクトリに移動します。(自分の環境に合わせます。
  • imageディレクトリ内一式を格納ディレクトリにコピー
sudo cp -pir ./* /path/to/directory/bookstack/images
# 筆者環境:
# sudo cp -pir ./* /mnt/wasabi/bookstack/images/
  • コピー確認
ls -la /path/to/directory/bookstack/images

imagesディレクトリの参照先変更

  • imageディレクトリ退避
    • mvにより、オリジナルのディレクトリを保持します。作業が完了したら削除するなりバックアップを取るなりしてください。
cd /home/www-data/bookstack/public/uploads
ls -lad images
# imagesディレクトリがあることを確認

sudo mv images images_org

ls -lad images
# imagesディレクトリがないこと(エラー)を確認
  • シンボリックリンク張り替え
sudo -u www-data ln -s /path/to/directory/bookstack/images images
# 筆者環境
# sudo -u www-data ln -s /mnt/wasabi/bookstack/images images
  • リンク張り替え確認
ls -la images
# 別パーティションに作成したフォルダに向き先があることを確認します

設定反映と反映確認

  • Webサービス再起動
sudo systemctl restart apache2.service
# 念のためWebサービスを再起動します。
  • 設定反映確認
  1. BookStackに管理者権限でログインします。
  2. ファイルをアップロードできることを確認します。
  3. 上記、格納先パーティションに、新しくファイルが作られていることを確認します。