自分専用の後で読むサービスを構築できる「Wallabag」をUbuntu + Nginxで構築する手順

はじめに
後で読むサービスのPocketにかなり近く、機能豊富なオープンソースのWallabagをUbuntuにインストールしたのでその手順をまとめます。 WallabagはPHPで開発されており、以下がWallabagの公式リポジトリです。MITライセンスです。
wallabag is a self hostable application for saving web pages: Save and classify articles. Read them later. Freely.
前提と環境
以下の通りとなります。
- OS : Ubuntu18.04
- PHP : 7.2 (7.2以上が必須)
- Composer : 1.9 (1.8以上が必須)
- MySQLやPostgresSQLがインストールされていること。
- NginxやApacheがインストールされていること。
Wallabagを使用するには、PHPとComposerがインストールされている必要があります。Composerのインストール手順については以下にまとめていますので必要な方は見てみてください。
phpのパッケージ管理システムであるComposerをUbuntu、Cloud Linuxの両方に入れる機会があったのでその手順をメモします。UbuntuとCloud Linuxで手順は同じです。また、グローバル、ローカルそれぞれにインストール手順もまとめます。
また、Wallabagの動作に必要なPHPの拡張機能がいくつかあり、これらは以下の公式ドキュメントに記載されています。
Wallabagをインストールする
WallabagをGitコマンドでクローンし、make install
します。
なお、make install
を実行した時に以下のようなエラーが出る場合があるかもしれません。
上記は、エラー文に記載されている通り、いくつかのPHPの拡張機能がインストールされていないことが原因です。
上記の場合は、tidy
、bcmath
が不足していると書かれています。missing
の前後に記載されているものが不足している拡張機能です。
従って以下をインストールします。なお、もしPHPのバージョンが7.3である場合は以下のphp7.2
をphp7.3
に置き換えて各自が使用しているPHPのバージョンに合わせてください。
改めて実行するとインストールが開始されます。
インストールが進むと、以下について設定するよう順番に表示されます。
上記が全てデフォルトの値の場合で良い場合は全てEnterを押していけばOKです。ただし、MySQLやPostgresSQLのユーザー名とパスワードが正しくないとインストールが失敗するので、事前に確認しておいてください。 なお、失敗すると以下のように表示されます。
一度失敗すると、そのままではmake install
がうまくいかなくなります。もしインストールが失敗した場合は、wallabagフォルダの中にあるapp/config/parameters.yml
を編集します。
app/config/parameters.yml
の中身は以下のようになっています。
上記のうち、必要な部分を自分の環境に合わせて設定してください。少なくともdatabase_user
、database_password
、domain_name
等は変更が必要だと思います。
app/config/parameters.yml
を自分用に編集したら再度make install
を実行します。
インストールがうまく進むと、Wallabag用のユーザーアカウントを作成するよう表示されるので、Usernmae(ユーザー名)、Password(パスワード)、Email(メールアドレス)をそれぞれ入力してください。
最終的に上記のように表示されればWallabagのインストールが完了です。
Nginxの設定ファイルを作成する
WallabagはWebアプリケーションとして動作するので、NginxやApacheがインストールされている必要があります。ここではNginxを使用します。なお、Wallabag用のNginx、Apacheの設定ファイル例についてはこちらの公式ドキュメントに記載されています。
私はWallabag用の設定ファイルとしてwallabag.conf
を新たに作成し、以下のようにしました。Let's Encryptを使用しています。
なお、上記の中でfastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
と指定していますが、これは各自の環境に合わせて変更してください。ここが間違っていると、後ほどブラウザからWallabagにアクセスしてみても、「502 Bad Gateway」とエラーがでます。また、/var/log/nginx/wallabag_error.log
にもエラーとしてログされるので確認してみてください。
Nginx用に権限を変更する
クローンしたWallabagのディレクトリ全体を、Nginxが扱えるように権限を変更しておきます。Apacheの場合はwww-data
になると思います。
以上でNginxを起動します。
Wallabagにアクセスする
Wallabagがインストールされて起動していれば、Nginxの設定ファイルで指定したドメイン名にブラウザからアクセスすると以下のようにWallabagのログイン画面が表示されます。
上記のログイン画面では、Wallabagのインストール中に入力したユーザー名とパスワードを入力してログインします。 ログインできると以下のようにダッシュボードが表示されます。
Wallabagのクライアントアプリを使用する
後は好きな方法で後で読みたいページをWallabagに追加します。Wallabagでは、Google ChromeやFireFox用の拡張機能、iOSやAndroid用のアプリが配布されています。例えばGoogle Chrome用の拡張機能はChromeストアからインストールできます。
後はWallabagの拡張機能の設定で自分のサーバーのURLを入力し、さらにクライアント用のIDやシークレットを入力します。
なお、クライアント用のIDやシークレットは、Wallabagのダッシュボードにある「API clients management」→「CREATE A NEW CLIENT」から作成します。
まとめ
Wallabagのインストール手順と使い方をまとめました。
関連記事
- 公開日:2020/03/23 更新日:2020/03/23
指定したURLのWebページをPDF、PNG化してくれるAPIサーバー「URL to PDF Microservice」の使い方
特定のWebページをPDF化したりPNG化してダウンロードしたい場合に使える「URL to PDF Microservice」というリポジトリが公開されており、実際に使ってみたのでその手順をまとめます。「URL to PDF Microservice」は自分のサーバーにインストールして使用できます。
- 公開日:2020/02/16 更新日:2020/02/16
圧縮、暗号化、リモート対応の差分バックアップを作成できる「Borg Backup」の使い方
圧縮、暗号化に対応し差分バックアップを作成できるソフトウェアである「Borg Backup」をUbuntuにインストールして使ってみたのでその手順をまとめます。「Borg Backup」はLinux、macOSに対応しています。
- 公開日:2020/02/13 更新日:2020/02/13
モダンで美しいRSS&ポッドキャストリーダー「Winds」をUbuntuで使用する
RSSリーダーアプリは色々ありますが、結構見た目が古く更新されていないものも多いです。Windsはモダンな見た目で綺麗な上、WebサイトのRSSフィードだけでなくポッドキャストのフィードにも対応しています。この記事ではWindsをUbuntuにインストールして使用する手順をまとめます。
- 公開日:2020/02/12 更新日:2020/02/12
ファイル単位で暗号化して保存できるCryptomatorをインストールして使う手順
Cryptomatorは、ファイル単位での暗号化が可能なソフトウェアです。この記事では、UbuntuにCryptomatorをインストールする手順と使い方をまとめます。
開発アプリ
