ワラバッグ Webページを保存するための無料の自己ホスト可能なアプリケーションです。これは、PocketやInstapaperなどの他の独自のReadafterアプリに代わるオープンソースです。 、インターネットで見つけた記事のリストを管理して、後で読むことができます。
Wallabagの機能:
- Wallabagは、Webページから広告や関連性のないものを取り除き、記事のテキストと関連する画像のみを提供するため、簡単に読むことができます。これは、スマートフォンやタブレットで表示しているときに特に便利です。
- WallabagはWebページをデータベースに保存するため、元のWebページが消えても、Wallabagで表示できます 。
- すべてのWebページをTXT、HTML、CSV、EPUB、MOBI、PDF、またはJSONファイルに簡単にエクスポートできます。
- Wallabagブラウザ拡張機能とスマートフォンアプリをインストールして、Wallabagに簡単にアクセスすることもできます。
- FirefoxおよびGoogleChrome(またはChromium)ブラウザからブックマークをインポートする機能。
このチュートリアルでは、 Ubuntu 16.04で独自のWallabagサービスをホストする方法について説明します。 サーバーまたはVPS。
前提条件
wallabagをインストールするには、 rootを持つユーザーにアクセスできる必要があります 特権。
すでにランプを設定していることを前提としています スタックまたはLEMP Ubuntu16.04でスタックします。 Wallabagは、PHP7を含むPHP>=5.5で実行できます。まだ実行していない場合は、次のわかりやすいガイドを確認してください。
- Ubuntu 16.04 LTSにApache、MariaDB、PHP7(LAMPスタック)をインストールします
- Ubuntu 16.04 LTSにNginx、MariaDB、PHP7(LEMPスタック)をインストールします
完了したら、ここに戻って読み進めてください。
SSH経由で作成した(またはroot)新しいユーザーとしてサーバーにログインします(ここでユーザー名とサーバーのIPアドレスを置き換えます):
ssh new_user@server_IP_address
パスワードプロンプトに応答して、ログインプロセスを完了します。
Wallabagのインストールを始めましょう!
ステップ1:Wallabagのデータベースとユーザーを作成する
Wallabagには、Webページを保存するためのデータベースが必要です。このチュートリアルでは、MariaDB/MySQLデータベースを使用します。次のコマンドを実行して、rootとしてMariaDB/MySQLシェルにログインします。これはMariaDB/MySQLのrootユーザーであり、Ubuntu16.04システムのrootユーザーではないことに注意してください。
mysql -u root -p
Access denied for user 'root'@'localhost'
のアクセスが拒否された場合 エラーの場合は、UNIXソケット認証を無効にする必要があります。
次に、次のコマンドを使用してWallabagの新しいデータベースを作成します。このチュートリアルでは、wallabagという名前を付けています。データベースには、好きな名前を使用できます。
create database wallabag;
次に、次のコマンドを使用して、ローカルホスト上に新しいデータベースユーザーを作成します。繰り返しになりますが、このチュートリアルではwallabaguserという名前を付けています。好きな名前を使用できます。
create user wallabaguser@localhost;
ユーザーのパスワードを設定します。 your-passwordをお好みのパスワードに置き換えてください。
set password for wallabaguser@localhost= password("your-password");
次に、新しいデータベースのすべての権限を新しいユーザーに付与して、後でWallabagがデータベースに書き込めるようにします。
grant all privileges on wallabag.* to wallabaguser@localhost identified by 'your-password';
変更を有効にするには、特権テーブルをフラッシュします。
flush privileges;
MariaDBシェルを終了します:
exit;
Webページはwallabag_entry
に保存されます このチュートリアルの最後にwallabagのインストールが完了した後のテーブル。
ステップ2:php7.0-mysqlパッケージをインストールする
データベースに関して行う必要があるもう1つの重要なことは、php7.0-mysqlパッケージをインストールすることです。
sudo apt install php7.0-mysql
php7.0-mysql
パッケージはpdo_mysql
を提供します WallabagがMariaDB/MySQLデータベースに接続するために使用するドライバー。それ以外の場合、Wallabagはそれに接続する方法がありません。 PHPをApacheモジュールとして実行している場合は、パッケージをインストールした後、ApacheWebサーバーを再起動してドライバーを有効にする必要があります。
sudo systemctl restart apache2
php7.0-fpmでPHPを実行している場合は、Apacheまたはphp7.0-fpmを再起動する必要はありません。 pdo_mysql
ドライバーはインストール後に自動的に有効になります。
Apache module
を使用しているかどうかわからない場合 またはphp7.0-fpm
、次にtest.php
を作成します ドキュメントルートの下のファイル(デフォルトでは/var/www/html
。
sudo nano /var/www/html/test.php
次に、次のPHPコードをファイルに貼り付けます。
<?php phpinfo(); ?>
Ctrl + Oを押します ファイルを保存するには、 Ctrl + Xを押します。 出る。ブラウザのアドレスバーに「
」と入力します。server-ip-address/test.php
sever-ip-addressを実際のIPに置き換えます。サーバーのPHP情報が表示されます。 Server API
の値の場合 Apache 2.0 Handler
です 、次に、ApacheモジュールとしてPHP7.0を使用しています。値がPHP7.0-FPM
の場合 、その後、PHPはFPMサービスとして実行されます。
ステップ3:Wallabagをインストールする
gitツールを使用してGithubからWallabagリポジトリのクローンを作成し、後でComposerを使用してWallabagをインストールします。したがって、以下のコマンドを使用してGitをUbuntu16.04にインストールします。
sudo apt install git
次に、Wallabagリポジトリのクローンを作成し、作業ディレクトリをリポジトリに変更します。
git clone https://github.com/wallabag/wallabag.git cd wallabag
Wallabagの最新バージョン(2.1.2)は2016年10月17日にリリースされました。git checkout
を使用してバージョン2.1.2に切り替えてください。 コマンド。
git checkout 2.1.2
Composerを使用してWallabagをインストールする前に、次のPHP拡張機能がUbuntu16.04にインストールされていることを確認する必要があります。
sudo apt install php7.0-bcmath php7.0-xml php7.0-zip php7.0-curl php7.0-mbstring php7.0-gd
次に、PHPの依存関係マネージャーであるComposerをインストールする必要があります。必要なすべてのWallabag依存関係をダウンロードしてインストールします。
sudo apt install composer
次に、Symfony変数を設定し、次のコマンドを使用してWallabagをインストールします。 SYMFONY_ENV=prod
Wallabagを本番環境にインストールすることをsymfonyに伝えます。 --no-dev
フラグは、開発パッケージが実稼働環境にインストールされていないことを確認します。
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
インストールプロセス中に、composerは必要なすべての依存関係をダウンロードしてインストールします。
その後、app/config/parameters.yml
になるように、不足しているパラメーターを指定するように求められます。 ファイルを作成できます。 Composerはすでにいくつかのデフォルト値を提供していますが、それらを本番Wallabagサービスに使用することはできません。
簡単にするために、質問を2つの部分に分けてみましょう。最初の部分はデータベースパラメータについてです。このチュートリアルで提供される質問とパラメータは次のとおりです。
Creating the "app/config/parameters.yml" file Some parameters are missing. Please provide them. database_driver (pdo_sqlite): pdo_mysql database_host (127.0.0.1): 127.0.0.1 database_port (null): 3306 database_name (symfony): wallabag database_user (root): wallabaguser database_password (null): your-password database_path ('%kernel.root_dir%/../data/db/wallabag.sqlite'): /var/lib/mysql/wallabag database_table_prefix (wallabag_): wallabag_
この最初の質問は、どのデータベースドライバー、つまりWallabagに使用するデータベースです。デフォルトのドライバーはpdo_sqlite
です これは、SQLiteデータベースがWebページの保存に使用されることを意味します。この記事では、MariaDB / MySQLを使用します。これは、MariaDB / MySQLが高速であり、最も人気のあるオープンソースのリレーションデータベース管理システムであるためです。 pdo_mysql
はすでに有効になっています この記事の冒頭にあるドライバー。したがって、pdo_mysql
と入力します 最初の質問の答えとして。
他の質問は簡単に答えられます。 127.0.0.1
と入力します データベースホストおよび3306
として デフォルトではMariaDB/MySQLデータベースは127.0.0.1:3306でリッスンするため、データベースポートとして使用します。次に、手順1で作成したデータベース名、データベースユーザー、データベースユーザーパスワードを入力します。MariaDB/MySQLのデフォルトのデータベースパスは/var/lib/mysql
です。 。すべてのデータベースとテーブルは、このディレクトリに保存されます。データベーステーブルプレフィックスは、これらのテーブルがWallabag用であることを認識するのに役立ちます。
次に、2番目の部分で、Enterキーを押すだけでデフォルト値を使用できます。
mailer_transport (smtp): mailer_host (127.0.0.1): mailer_user (null): mailer_password (null): locale (en): secret (ovmpmAWXRCabNlMgzlzFXDYmCFfzGv): twofactor_auth (true): twofactor_sender ([email protected]): fosuser_confirmation (true): from_email ([email protected]):
それが完了したら、次のコマンドを実行します。
php bin/console wallabag:install --env=prod
システム要件をチェックし、データベースをセットアップします。データベースをリセットするかどうかを尋ねられたら、 nを押します。 いいえと答える。次に、管理者ユーザーを作成するように求められます。
Installing Wallabag... Step 1 of 5. Checking system requirements. +-----------------+--------+----------------+ | Checked | Status | Recommendation | +-----------------+--------+----------------+ | PDO Driver | OK! | | | curl_exec | OK! | | | curl_multi_init | OK! | | +-----------------+--------+----------------+ Success! Your system can run Wallabag properly. Step 2 of 5. Setting up database. It appears that your database already exists. Would you like to reset it? (y/N)n Creating schema Clearing the cache Step 3 of 5. Administration setup. Would you like to create a new admin user (recommended) ? (Y/n)y Username (default: wallabag) : your-admin-username Password (default: wallabag) : admin-pasword-here Email: admin-email-here Step 4 of 5. Config setup. Step 5 of 5. Installing assets. Wallabag has been successfully installed. Just execute `php bin/console server:run --env=prod` for using wallabag: http://localhost:8000
ステップ2は、wallabagデータベーステーブルを作成します。それが完了したら、wallabagディレクトリを/var/www/
に移動します 。
cd ~ sudo mv ~/wallabag/ /var/www/
次に、Apacheユーザー(www-data)を所有者として設定します。
sudo chown www-data:www-data /var/www/wallabag -R
ステップ4:Apache仮想ホストを設定する
Wallabagの仮想ホスト構成ファイルを作成します。
sudo nano /etc/apache2/sites-available/wallabag.conf
PHPをApacheモジュールとして使用する場合は、次のテキストをコピーして構成ファイルに貼り付けます。 wallabag.example.com
を置き換えます あなた自身のドメイン名で。また、ドメイン名はDNSのUbuntu16.04サーバーのIPアドレスを指す必要があります。
<VirtualHost *:80> ServerName wallabag.exmaple.com ServerAlias wallabag.example.com DocumentRoot /var/www/wallabag/web <Directory /var/www/wallabag/web> AllowOverride None Order Allow,Deny Allow from All <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php [QSA,L] </IfModule> </Directory> # uncomment the following lines if you install assets as symlinks # or run into problems when compiling LESS/Sass/CoffeScript assets # <Directory /var/www/wallabag> # Options FollowSymlinks # </Directory> # optionally disable the RewriteEngine for the asset directories # which will allow apache to simply reply with a 404 when files are # not found instead of passing the request into the full symfony stack <Directory /var/www/wallabag/web/bundles> <IfModule mod_rewrite.c> RewriteEngine Off </IfModule> </Directory> ErrorLog /var/log/apache2/wallabag_error.log CustomLog /var/log/apache2/wallabag_access.log combined </VirtualHost>
上記の構成では、PHPをApacheモジュールとして使用します。php7.0-fpmでPHPを実行する場合は、ProxyPassMatch
を追加します。 CustomLog
の下のルール 。
..... CustomLog /var/log/apache2/wallabag_access.log combined ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/run/php/php7.0-fpm.sock|fcgi://localhost/var/www/wallabag/web/ </VirtualHost>
ファイルを保存して閉じます。上記の構成では、Apacherewriteモジュールを使用してURLを書き換えました。 mod_rewrite
を確認する必要があります 次のコマンドを実行すると、URLの書き換えが機能し、Wallabagフロントエンドが正しく表示されるようになります。
sudo a2enmod rewrite
次に、シンボリックリンクを作成してこの仮想ホストを有効にします。
sudo ln -s /etc/apache2/sites-available/wallabag.conf /etc/apache2/sites-enabled/
上記の変更を有効にするには、Apacheを再起動します。
sudo systemctl restart apache2
これで、wallabag.example.com
でWallabagWebインターフェイスにアクセスできるようになります。 とログインします。
Nginxサーバーブロックファイルの設定
ファイルを作成します。
sudo nano /etc/nginx/conf.d/wallabag.conf
次のテキストをコピーして構成ファイルに貼り付けます。 wallabag.example.comを独自のドメイン名に置き換えます。また、ドメイン名はDNSのUbuntu16.04サーバーのIPアドレスを指す必要があります。
server { server_name wallabag.example.com; root /var/www/wallabag/web; 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/php7.0-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; internal; } error_log /var/log/nginx/wallabag_error.log; access_log /var/log/nginx/wallabag_access.log; }
ファイルを保存して閉じます。次に、Nginxをリロードして、サーバーブロックを有効にできるようにします。
sudo systemctl reload nginx
これで、wallabag.example.com
でwallabagWebインターフェイスにアクセスできるようになります。 とログインします。
基本的なSMTPサーバーのセットアップ
新しいユーザーを登録するには、Ubuntu 16.04サーバーでSMTPサーバーを実行して、新しいユーザーに確認メールを送信する必要があることに注意してください。この目的でPostfixを使用できます。
sudo apt install postfix
インストール中に、Postfixの構成タイプを選択するように求められます。 Internet Site
を選択します Postfixがインターネット上の他のSMTPサーバーにメールを送信できるようにします。
[システムメール名]フィールドに、wallabag.your-domain.com
のように入力します。 。
これでようやく完了し、Webページの保存を開始できます。乾杯!
このチュートリアルが、LAMPまたはLEMPを使用してUbuntu16.04サーバーにWallabagをインストールするのに役立つことを願っています。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読するか、Google +、Twitter、またはFacebookページのようにフォローしてください。