Wallabag

提供: ArchWiki
2022年8月2日 (火) 14:07時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎Wallabag: { 抜け)
ナビゲーションに移動 検索に移動

wallabag は、Web ページを保存するためのセルフホスト可能なアプリケーションです。

インストール

wallabag パッケージをインストールします。

設定

PHP

必要な php モジュールのリストは、ここにあります。以下のスニペットは簡潔にするために提供されています。

/etc/php/conf.d/wallabag.ini
extension=bcmath
extension=gd
extension=gettext
extension=iconv
extension=intl
extension=tidy

; database - sqlite
;extension=pdo_sqlite
;extension=sqlite3

; database - pgsql
;extension=pdo_pgsql
;extension=pgsql

Wallabag

wallabag が適切に設定されたら、データベースとアプリケーションの状態を初期化するために、コマンドを実行する必要があります。

ヒント: コマンドに --env=prod を追加して、目的の環境が設定されていることを確認します。
# cd /usr/share/wallabag
# sudo -u wallabag php bin/console cache:clear
# sudo -u wallabag php bin/console doctrine:migrations:migrate
ノート: /etc/wallabag/parameters.yml に変更を加えた場合、キャッシュをクリアする必要があります。

データベース

サポートされているデータベースは以下の通りです。

  • SQLite (開発専用。本番環境でのデータベースマイグレーションはサポートされていません。)
  • PostgreSQL
  • MariaDB

セットアップや設定方法については、ここでは触れません。

アプリケーションサーバー

php-fpm

/etc/php/php-fpm.d/www.conf をコピーして、それを修正することをお勧めします。

/etc/php/php-fpm.d/wallabag.conf
[wallabag]

user = wallabag
group = wallabag

ウェブサーバー

nginx

以下の設定は、アップストリームのドキュメントから引用し、少し修正したものです。

/etc/nginx/example.conf
server {
  root /usr/share/wallabag/web;
  
  # When you want to import large files into wallabag, you need to add this line.
  client_max_body_size XM; # allows file uploads up to X megabytes.

  location / {
    # try to serve file directly, fallback to app.php
    try_files $uri /app.php$is_args$args;
  }
  location ~ ^/app\.php(/|$) {
    fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;
    # When you are using symlinks to link the document root to the
    # current version of your application, you should pass the real
    # application path instead of the path to the symlink to PHP
    # FPM.
    # Otherwise, PHP's OPcache may not properly detect changes to
    # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
    # for more information).
    fastcgi_param  SCRIPT_FILENAME  $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
    # Prevents URIs that include the front controller. This will 404:
    # http://domain.tld/app.php/some-path
    # Remove the internal directive to allow URIs like this
    internal;
  }

  # return 404 for all other php files not matching the front controller
  # this prevents access to other php files you don't want to be accessible.
  location ~ \.php$ {
    return 404;
  }
}

他のウェブサーバーに関する一般的な設定は、上流で見つけることができます。

トラブルシューティング

バージョン間のアップグレード

新旧のバージョンに応じて、アップグレードの手順が用意されています。一般に、設定セクションに示すように、キャッシュのクリーニングとデータベースの移行を実行する必要があります。

参照