Wallabagは、後で読む種類のサービスです。それはあなたがあなた自身の余暇のペースで後でそれを読むことができるようにあなたがウェブページを保存することを可能にします。 PocketやInstapaperなど、それを可能にするサービスはたくさんありますが、所有しているサーバーにサービスをインストールしておくと便利です。一つには、それは廃業せず、それとのつながりを断ち切ることはありません。そして、ブラウジングデータを非公開に保つことができます。
このチュートリアルでは、Ubuntu18.04以降で実行されているサーバーにWallabagをインストールしてセットアップする方法について説明します。また、Wallabagの実行に必要なNginx、MariaDB、Git、Postfix、Composer、PHPのセットアップ方法についても説明します。
チュートリアルを進める前に、次のものが必要になります。
-
sudo権限を持つroot以外のユーザーを持つUbuntu18.04ベースのサーバー。
-
Makeツールも必要になります。インストールするには、次のコマンドを使用するだけです
$ sudo apt install make
gitをインストール
最初のステップはGitをインストールすることです。これは、後でgitリポジトリからwallabagインストールファイルをコピーするために使用します。 Gitは通常、最近ほとんどのWebサーバーにインストールされています。そうでない場合は、次のコマンドに進みます。
$ sudo apt install git
$ git config --global user.name "Your name"
$ git config --global user.email "[email protected]"
Nginxをインストール
$ sudo apt install nginx
Ubuntuのファイアウォールを使用している場合は、次のルールをリストに追加してください。
$ sudo ufw allow "Nginx HTTP"
ステータスも確認してください。
$ sudo ufw status
このようなものが表示されるはずです
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
ブラウザでサーバーのIPアドレスにアクセスしてみてください。 Nginxが正常にインストールされたことを確認する次のデフォルトのNginxページが表示されます。
MariaDBをインストール
MariaDBはMySQLのドロップイン代替品です。つまり、MariaDBを実行および操作するコマンドはMySQLのコマンドと同じです。 MariaDBをインストールするには、次のコマンドを発行します
$ sudo apt install mariadb-server
次のコマンドを実行して、rootパスワードの指定、匿名ユーザーの削除、rootログインのリモートでの禁止、テストテーブルの削除などのデフォルト設定を実行します。すべての場合に[はい]を押して、ルートパスワードを設定します。
$ sudo mysql_secure_installation
ルートパスワードの設定には注意が必要です。 MariaDBはデフォルトで、システムrootユーザーがパスワードなしでMariaDBにログインできるようにします。ただし、サードパーティのアプリケーションを使用してroot経由でアクセスする場合は、パスワードが必須です。そうしないと、PHPMyAdminなどのアプリが失敗します。このためには、MariaDBのデフォルトオプションであるプラグインベースの認証を無効にする必要があります。
プラグイン認証を無効にしてルートパスワードを復元するには、最初に次のコマンドを使用してMySQLプロンプトを入力します。
$ sudo mysql -u root
次に、次のコマンドを入力して、プラグイン認証を無効にします。
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit
この後、MariaDBサービスを再起動します。
$ sudo systemctl restart mariadb.service
それでおしまい。次回MySQLにログインするときは、次のコマンドを使用します
$ sudo mysql -u root -p
また、最初に設定したルートパスワードの入力を求められます。
Wallabag用にMariaDBを構成する
次に、wallabagアプリケーションに使用するデータベースを設定する必要があります。これを行うには、MySQLプロンプトにログインします。チュートリアルの残りの部分では、MariaDBのデフォルトの認証方法を使用している(つまり、rootパスワードを使用していない)と想定します。
$ sudo mysql -u root
プロンプトが表示されたら、次のコマンドを入力して、wallabagという名前のデータベースとwallabaguserという名前のデータベースユーザーをセットアップし、データベースへのアクセスを許可します。
create database wallabag;
create user [email protected];
set password for [email protected]= password("yourpassword");
grant all privileges on wallabag.* to [email protected] identified by "yourpassword";
flush privileges;
exit
PHPとcomposerをインストールします
サーバーが稼働しているので、PHPとComposerをインストールします。 Nginxを使用しているため、PHP-FPMパッケージをインストールする必要があります。それに加えて、mbstring、mysql、gd、bc-math、curl、zip、xmlなどの他のいくつかのPHP拡張機能が必要になります。
$ sudo apt install php-fpm php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-gettext php-tokenizer
$ sudo apt install composer
今のところ以上です。 PHPとcomposerの構成部分については後で説明します。次のステップに進みましょう。
Nginxを構成する
実際のインストールに進む前に、Nginxのインストールを構成するときが来ました。 wallabagに使用しているドメイン名がexample.comであると仮定して、インストールをホストするディレクトリを作成します。 Wallabagはhtmlディレクトリにインストールされます。
$ sudo mkdir -p /var/www/example.com/html
次に、ディレクトリの所有権をNginxが使用するwww-dataに割り当てます。
$ sudo chown -R www-data:www-data /var/www/example.com/html
正しい権限が設定されていることを確認してください。
$ sudo chmod -R 755 /var/www/example.com
次に、サイトの仮想ホストを作成します。
sudo nano /etc/nginx/sites-available/example.com
wallabagで機能する次の構成を貼り付けます。
server {
server_name example.com www.example.com;
root /var/www/example/html/web;
location / {
try_files $uri /app.php$is_args$args;
}
location ~ ^/app\.php(/|$) {
# replace php7.2-fpm with whichever php 7.x version you are using
fastcgi_pass unix:/run/php/php7.2-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;
}
location ~ \.php$ {
return 404;
}
error_log /var/log/nginx/wallabag_error.log;
access_log /var/log/nginx/wallabag_access.log;
}
Ctrl + Xを押してファイルを保存します Yと入力します プロンプトが表示されたら。次に、この構成を有効にする必要があります。このために、そこからサイト対応ディレクトリへのリンクを作成します。
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
追加のサーバー名が原因で発生するメモリバケットの問題に直面する可能性があります。これを修正するには、nginx.confファイルを開きます
$ sudo nano /etc/nginx/nginx.conf
server_names_hash_bucket_size
を見つけます ディレクティブを削除し、#
を削除します 行のコメントを解除する記号:
server_names_hash_bucket_size 64;
ファイルを保存します。次に、Nginx構成にエラーがないことを確認します。
$ sudo nginx -t
問題がない場合は、Nginxを再起動して新しい変更を有効にします。
$ sudo systemctl restart nginx
まず、GitHubリポジトリからwallabagのクローンを作成します。 www-dataユーザーにhtmlフォルダーのアクセス許可を付与したので、インストールを実行するには、このフォルダーに切り替える必要があります。
$ sudo -u www-data /bin/bash
$ cd /var/www/example.com
git clone https://github.com/wallabag/wallabag.git html
これにより、wallabagインストールファイルがhtmlディレクトリにコピーされます。 makeコマンドを使用してWallabagをインストールします。
$ cd html
$ make install
インストール中にいくつかの質問があります。
http
を使用する場合 、http://example.com
と入力します 代わりに、ドメイン名を尋ねられたら、チュートリアルのHTTPS部分をスキップしてください。
database_driver (pdo_mysql): pdo_mysql
database_driver_class (null): Press Enter
database_host (127.0.0.1): 127.0.0.1
database_port (null): 3306
database_name (wallabag): wallabag
database_user (root): wallabaguser
database_password (null): wallabagpassword
database_path (null): Press Enter
database_table_prefix (wallabag_): Prefix of your choice or Press Enter for the default.
database_socket (null): Press Enter
database_charset (utf8mb4): Press Enter
domain_name ('https://your-wallabag-url-instance.com'): http://example.com
また、パスワードを忘れた場合や2要素認証に関するメールを取得するためのSMTPの詳細も求められます。 MailgunやSendgridなどのサードパーティのSMTPサービスを使用する場合は、残りの値を入力するか、 Enterを押すだけです。 それらを通して。 no
と入力します パラメータfosuser_registration
に対して あなたが誰にもあなたのサイトに登録してほしくないなら。また、secret
の値を変更します パラメータ。インポートするデータが大きい場合は、RabbitMQまたはRedisをインストールし、要求されたら値を入力します。
既存のデータベースをリセットするかどうかを確認するメッセージが表示されたら、 Enterを押します。 デフォルトオプション(no)を使用します。また、管理者ユーザーを作成するように求められます。
終了したら、デフォルトのUbuntuユーザーログインに切り替えます。
$ exit
基本的なSMTPサーバーをセットアップし、サードパーティのSMTPサービスを使用しない場合は、Mailutilsをインストールします。
$ sudo apt install mailutils
インストール中に、Postfixの構成タイプを選択するように求められます。 Internet Site
を選択します 続行します。 example.com
と入力します [システムメール名]フィールドの入力を求められたとき。それだけです。
HTTPSを構成する
Let's Encryptを使用して、wallabagインストール用のHTTPSを設定します。 Certbotツール用に次のリポジトリを追加します。
$ sudo add-apt-repository ppa:certbot/certbot
リポジトリからCertbotNginxパッケージをインストールします。
$ sudo apt install python-certbot-nginx
ドメインexample.comの証明書を取得します。
$ sudo certbot --nginx -d example.com -d www.example.com
Certbotツールを初めて使用する場合は、メールを送信して利用規約に同意するよう求められます。また、EメールをEFF(Electronic Frontier Foundation)と共有するかどうかを尋ねられます。 Nを選択します EFFにニュースやキャンペーンに関するメールを送信したくない場合。
それが成功すると、CertbotはHTTPS設定をどのように構成するかを尋ねてきます。
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
2を選択します ドメインへのすべてのリクエストをhttpsにリダイレクトする必要があるためです。
それでおしまい。 HTTPSドメインはライブです。 Certbotは、90日ごとにドメインを自動的に更新します。更新プロセスをテストするには、ドライランを実行します。
$ sudo certbot renew --dry-run
エラーが表示されない場合は、すべてが完璧であることを意味します。
Wallabagを構成する
これでwallabagのセットアップが完了したので、wallabagドメインを開きます。次の画面が表示されます。
make
で選択したクレデンシャルを入力します 上記のプロセス。ログインすると、次の画面が表示されます。
2要素認証を有効にする必要があります。これを行うには、左側の[構成]ボタンをクリックして、USER INFORMATION
を選択します。 次の画面からタブ。チェックマークTwo-factor authentication
を有効にします 有効にします。
Pockets、Instapaper、Pinboardからデータをインポートし、FirefoxおよびChromeベースのブラウザからブックマークをインポートできます。
Wallabagは、リンクを追加できるすべてのブラウザ、モバイル、または電子書籍リーダー用の多数のアプリを提供します。そして、他に何も気に入らない場合は、ブックマークレットを使用することもできます。ブックマークレットの詳細には、How to
からアクセスできます。 設定のセクション。
Wallabagを最新バージョンにアップグレードするには、次のコマンドを発行するだけです。
$ sudo -u www-data /bin/bash
$ cd /var/www/example.com/html
$ make update
このチュートリアルは以上です。これで、データのプライバシーを損なうことなく、サーバーから記事を保存して読むことができます。