Pocketみたいに後で読むサービスをホストできるwallabagをインストールしてみた

Wallabagについて

オープンソースで開発されてるPHP製のWebアプリケーションです。

後で読みたいWebサイトの情報を保存しておくことができ、Chrome/Firefox等の拡張プラグインやAndroidのアプリ、ブックマークレットから手軽に呼び出すことができるようになっています。

これを書いている時点での最新バージョン(2.1.5)だと検索機能がありませんが、2.2.0には簡易検索機能が追加される予定。

  • 2017/4/9追記 2.2.0で検索機能が追加されました。

似たようなオープンソースのWebアプリだとunmarkがあるのですが、こちらは一度登録したものがUIから消せないため、私はWallabagを使ってます。

インストール手順

公式ドキュメントのインストール方法には以下2つの環境で動作させる方法が記述されてます。

  • PHPのビルトインウェブサーバー
  • Apache/Nginx/lighttpd

ここではApacheによる方法を記載します。

確認環境

  • Wallabag 2.1.5
  • ubuntu 16.04
  • PHP 7.0
  • apache 2.4

データベースはデフォルトのSQLiteを使用します。

手順

ApacheとPHPのインストール

sudo aptitude -y install\
apache2 php\
libapache2-mod-php\
php-session\
php-ctype\
php-dom\
php-hash\
php-simplexml\
php-json\
php-gd\
php-mbstring\
php-xml\
php-tidy\
php-iconv\
php-curl\
php-gettext\
php-tokenizer\
php-bcmath\
php-sqlite3

Wallabagのダウンロードと展開

mkdir -p ~/work/wallabag
cd ~/work/wallabag

wget http://wllbg.org/latest-v2-package
tar xvf latest-v2-package

sudo mv release-2.1.5 /var/www/wallabag

sudo chown -R www-data:www-data /var/www/wallabag

設定ファイルの編集

sudo vi /var/www/wallabag/app/config/parameters.yml
# /var/www/wallabag/app/config/parameters.yml
secret: (任意の文字列に変更)

データベースをSQLite以外にする場合も同じファイルの設定変更が必要。

Apacheのバーチャルホストを設定

cd /etc/apache2/sites-available/
sudo vi bag.local.conf
# bag.local.conf
<VirtualHost *:80>
    ServerName bag.local
    DocumentRoot /var/www/wallabag/web
    ErrorLog /var/log/apache2/bag.local.error.log
    CustomLog /var/log/apache2/bag.local.access.log combined
    LogLevel warn
    <Directory /var/www/wallabag/web>
       AllowOverride None
       Require all granted
       <IfModule mod_rewrite.c>
            Options -MultiViews
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ app.php [QSA,L]
        </IfModule>
    </Directory>

    <Directory /var/www/wallabag/web/bundles>
        <IfModule mod_rewrite.c>
            RewriteEngine Off
        </IfModule>
    </Directory>
</VirtualHost>
sudo a2ensite bag.local
sudo systemctl reload apache2.service

初回アクセス

Webブラウザでアクセス。
上記の例なら「http://bag.local/」
デフォルトのユーザとパスワードは以下。
– ユーザ : wallabag
– パスワード : wallabag