GNU/Linux >> Linux の 問題 >  >> Ubuntu

LAMPまたはLEMPを使用してUbuntu16.04サーバーにWallabagをインストールします

ワラバッグ Webページを保存するための無料の自己ホスト可能なアプリケーションです。これは、PocketやInstapaperなどの他の独自のReadafterアプリに代わるオープンソースです。 、インターネットで見つけた記事のリストを管理して、後で読むことができます。

Wallabagの機能:

  1. Wallabagは、Webページから広告や関連性のないものを取り除き、記事のテキストと関連する画像のみを提供するため、簡単に読むことができます。これは、スマートフォンやタブレットで表示しているときに特に便利です。
  2. WallabagはWebページをデータベースに保存するため、元のWebページが消えても、Wallabagで表示できます
  3. すべてのWebページをTXT、HTML、CSV、EPUB、MOBI、PDF、またはJSONファイルに簡単にエクスポートできます。
  4. Wallabagブラウザ拡張機能とスマートフォンアプリをインストールして、Wallabagに簡単にアクセスすることもできます。
  5. 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経由でログイン

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ページのようにフォローしてください。


Ubuntu
  1. Ubuntu16.04でのShinkenによるサーバー監視

  2. Ubuntu16.04にLAMPスタックを使用してWordPressをインストールする方法

  3. Ubuntu20.04にLAMPスタックを使用してWordPressをインストールする方法

  1. Ubuntu20.04にLAMPスタックを使用してWordPressをインストールする

  2. LAMPを使用してUbuntu16.04/Ubuntu14.04にWordPressをインストールします

  3. Ubuntu20.04にApacheを使用してphpMyAdminをインストールします

  1. Ubuntu20.04にPerconaデータベースサーバーをインストールする方法

  2. Nginx(LEMPスタック)を使用してUbuntu20.04にProjectSendをインストールします

  3. Nginx(LEMPスタック)を使用してUbuntu18.04にNextCloudをインストールします