Я пытаюсь заставить сервер Калибра запускаться автоматический во время запуска. Я использовал это учебное руководство. Затем я использовал этот сценарий:
[Unit]
Description=Calibre Service
After=network.target
[Service]
User=calibre
Group=calibre
ExecStart=/usr/bin/calibre-server \
--daemonize \
--max-cover=600x800 \
--max-opds-items=30 \
--max-opds-ungrouped-items=100 \
--username=calibre \
--port=9000 \
--pidfile=/var/run/calibre-server.pid \
--with-library=/jan/home/calibre-library/
[Install]
WantedBy=multi-user.target
создать автоматический запуск в systemd. Если я вручную запускаюсь с: systemctl запускают calibre.service, который Это, кажется, выполняет. Если я даю команду: состояние systemctl calibre.service, я получаю следующий результат:
● calibre.service - Calibre Service
Loaded: loaded (/lib/systemd/system/calibre.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Thu 2017-05-25 21:55:51 CEST; 45s ago
Process: 1887 ExecStart=/usr/bin/calibre-server --daemonize --max-cover=600x800 --max-opds-items=30 --max-opds-ungrouped-items=100 --username=calibre --port=
Main PID: 1887 (code=exited, status=0/SUCCESS)
May 25 21:55:50 FileServer systemd[1]: Started Calibre Service.
May 25 21:55:50 FileServer calibre-server[1887]: No write acces to
/home/calibre/.config/calibre использование временного dir вместо этого
Но когда я смотрю в своем браузере нет никакой домашней страницы калибра на http://192.168.0.100:9000, это - мой домашний сервер. У кого-либо есть подсказка?
Вы используете --pidfile=/var/run/calibre-server.pid
, которые говорят калибру писать изодромный с предварением файл в /var/run
. Скорее всего, у пользователя, выполняющего процесс User=calibre
, нет доступа для записи там. Я предложил бы, чтобы Вы удалили --pidfile
, так как Вы не используете его.
, Если Вы действительно хотите использовать его, измените путь к записываемому каталогу calibre
пользователь и добавьте PIDFile=/dir/with/pidfile/calibre-server.pid
перед Вашим ExecStart
строка, и, как упомянуто выше также добавляют Type=forking
Я выполняю сервер Калибра успешно на 18,04, таким образом, надо надеяться, эти предложения относятся к Вашему распределению также.
Я изменил бы Тип на "oneshot" и удалил бы "-daemonize" тег, потому что это не должно быть там, так как Вы выполняете его от systemd так или иначе. При выполнении текущей версии калибра затем, необходимо удалить "-с библиотекой" тег и просто оставить последнюю строку как "/path/to/calibre/library".
Кроме того, Вы указываете имя пользователя, но никакой пароль. Не уверенный, если это вызывает проблемы, но могло бы быть лучше создать пользовательскую базу данных и затем передать опцию "-разрешать-автор" к Вашей команде сервера для активации пользователей (см. руководство пользователя калибра) наряду с "-userdb/path/to/users.sqlite". Если Вам нужно больше информации о том, как сделать это, я могу расшириться.
Наконец, так как это еще не было упомянуто, удостоверьтесь порт, который Вы используете, позволяется через Ваш брандмауэр и передается Вашим маршрутизатором правильно.