概要
TS-220 バージョン 4.3.3.1677 (2021/06/08) 上で Calibre-Web を動作させる。
すべての操作は QNAP で言うところの admin
ユーザで行う。
Entware-std のインストール
※作業はクライアント側からブラウザ経由
AppCenter にリポジトリを追加
[設定] - [アプリリポジトリ] よりhttps://www.qnapclub.eu/en/repo.xml
を追加。qnapclub.eu から Entware-std をインストール
Entware-std 1.03
※ Python3 系のみ
共有フォルダの作成
※作業はクライアント側からブラウザ経由
[コントロールパネル] - [共有フォルダ] より Calibre-Web
を作成。
[自動的にパスを指定] で /share/MD0_DATA/Calibre-Web
に生成される。
レイアウトは下記を想定。
Calibre-Web
├── .venv
└── Calibre Library
パッケージのインストール
※作業はクライアント側から SSH 経由
gcc
opkg install gcc
不要かも知れない。
python 関連
opkg install python3-dev
opkg install python3-pip
Python 仮想環境の作成
※作業はクライアント側から SSH 経由
システムの Python 環境に影響しないよう仮想環境を作成する。
1. 作業ディレクトリに移動
cd /share/MD0_DATA/Calibre-Web
2. 仮想環境を作成
python -m venv .venv --without-pip
--without-pip
を省くとエラーが発生する。
3. 仮想環境をアクティブに
source .venv/bin/activate
4. 仮想環境の確認
which python
which pip
pip が仮想環境下にないことを確認。
5. pip をインストール
curl -O https://bootstrap.pypa.io/get-pip.py
python get-pip.py
6. 仮想環境を非アクティブ → アクティブに
deactivate
source .venv/bin/activate
7. 仮想環境の再確認
which python
which pip
pip が仮想環境下にあることを確認。
※ pip の位置が仮想環境下にない場合、pip install
が意図しない動作になるので注意。
Calibre-Web のインストール
※作業はクライアント側から SSH 経由
1. インストール
仮想環境がアクティブになっていることを確認し
pip install calibreweb
途中 /root/.cache
の容量を圧迫しシステムが不安定になるかも知れない。
その場合 /root/.cache
以下を削除。
2. 確認
which cps
/share/MD0_DATA/Calibre-Web/.venv/bin/cps
この時点で Calibre-Web は起動可能。
Calibre Library の配置
※作業はクライアント側から FTP や同期アプリ経由
/share/MD0_DATA/Calibre-Web/Calibre Library
に配置。
自動起動の設定
※作業はクライアント側から SSH 経由
1. autorun.sh の作成
/share/MD0_DATA/.qpkg/autorun/autorun.sh
を作成。
#!/bin/sh
/share/MD0_DATA/Calibre-Web/.venv/bin/cps
2. qpkg.conf の編集
/etc/config/qpkg.conf
に [Autorun] ブロックを追加。
[Autorun]
Name = Autorun
Version = 0.1
Author = hasenpfote
QPKG_FILE = Autorun.qpkg
Date = 2021-06-30
Shell = /share/MD0_DATA/.qpkg/autorun/autorun.sh
Install_Path = /share/MD0_DATA/.qpkg/autorun
Enable = TRUE
Calibre-Web の動作確認
※作業はクライアント側からブラウザ経由
http://<NASのアドレス>:8083
へアクセス- Location of Calibre Database
/share/MD0_DATA/Calibre-Web/Calibre Library
- ログイン(デフォルト)
admin / admin123
※ DBを更新した場合、[Admin] - [Administration] - [Restart] などで反映。
その他
作業コマンド
pip 全消去
pip freeze > piplist.txt
pip uninstall -y -r piplist.txt
opkg 確認
opkg list-installed
opkg アンインストール
opkg remove <package> –force-removal-of-dependent-packages
特定のユーザで操作を行う
もしも特定のユーザで操作を行うなら…
※ opkg で sudo コマンドをインストールしないこと
1. sudoers の編集
/usr/etc/sudoers
を直接編集
例えば特定グループ(administrators)に適用する場合は次の行を追加。
%administrators ALL=(ALL) ALL
特定グループ所属のユーザがコマンドを実行すると、そのユーザのパスワードを入力する形式になる。
2. profile の編集
~/.profile
に次の行を追加。
export PATH=/opt/bin:$PATH