BookStackは、プロジェクトのドキュメント/Wikiコンテンツを作成するためのオープンソースプラットフォームです。これは、LaravelWebフレームワークを使用してPHPプログラミング言語で記述されています。基本的に、プロジェクトのドキュメント/ wikiは「ブック」としてBookStackに保存され、その後に「チャプター」と「ページ」が続きます。また、章とページに基づいて、ドキュメントをブックとして作成して読むのが簡単になります。
このチュートリアルでは、LEMP(Linux、Nginx、PHP-FPM、MySQL / MariaDB)スタックの下でUbuntu16.04にBookStackをインストールして構成する方法を段階的に説明します。このチュートリアルでは、PHP Composerをインストールし、コマンドラインを使用してMySQLデータベースを手動で作成する方法などの詳細について説明します。
- Ubuntu 16.04
- root権限
- リポジトリの更新とシステムのアップグレード
- Ubuntu16.04にNginxをインストールする
- PHP-FPMのインストールと構成
- MariaDBデータベースのインストールと構成
- PHPComposerをインストールする
- BookStackのインストールと構成
- BookStack用にNginx仮想ホストを構成する
- テスト
BookStackインストール用のパッケージをインストールする前に、Ubuntuリポジトリとシステムが最新であることを確認してください。
そうでない場合は、以下のコマンドを使用してUbuntuリポジトリを更新し、システムをアップグレードできます。
sudo apt update
sudo apt upgrade
このチュートリアルでは、LEMPスタックの下で「BookStack」プラットフォームを実行し、UbuntuリポジトリからNginxWebサーバーをインストールします。
以下のaptコマンドを使用して、UbuntuにNginxWebサーバーをインストールします。
sudo apt install nginx -y
インストールが完了したら、サービスを開始し、システムの起動時に毎回起動できるようにします。
systemctl start nginx
systemctl enable nginx
次に、nginxサービスのステータスとシステムの開いているポートを確認し、リストにHTTPポート80が含まれていることを確認します。
以下のコマンドを実行します。
systemctl status nginx
netstat -plntu
結果は次のとおりです。
NginxWebサーバーはUbuntu16.04サーバーにインストールされています。
このステップでは、PHP-FPM7.0をインストールして構成します。 PHPとPHP-FPMを、PDO、Tokenizer、GD、Tidy、MBString、OpenSSLなどの「BookStack」に必要ないくつかの拡張機能とともにインストールします。
以下のaptコマンドを実行して、必要なすべての拡張機能を備えたPHPおよびPHP-FPMをインストールします。
sudo apt install php7.0-fpm php7.0-mcrypt php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-tidy php7.0-zip php-soap libcurl3 curl -y
インストールが完了したら、「phpfpm」および「phpcli」の「php.ini」構成ファイルを構成する必要があります。
vimを使用して「fpm」構成の「php.ini」ファイルを編集します。
vim /etc/php/7.0/fpm/php.ini
'cgi.fix_pathinfo'行のコメントを解除し、値を'0'に変更します。
cgi.fix_pathinfo=0
保存して終了します。
vimを使用して「cli」構成の「php.ini」ファイルを編集します。
vim /etc/php/7.0/cli/php.ini
'cgi.fix_pathinfo'行のコメントを解除し、値を'0'に変更します。
cgi.fix_pathinfo=0
保存して終了します。
次に、PHP-FPMサービスを開始し、システムの起動時に毎回起動できるようにします。
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
Ubuntuシステムでは、PHP-FPMは「sock」ファイルで実行されます。以下のnetstatコマンドを使用して確認してください。
netstat -pl | grep fpm
そして、以下のような結果が得られます。
必要なすべての拡張機能を備えたPHPおよびPHP-FPMがインストールされています。
BookStackは、MySQLデータベースのサポートのみを提供し、MySQLバージョン>=5.6でのみ実行されます。このチュートリアルでは、UbuntuリポジトリからインストールできるMariaDBの最新バージョンを使用します。
次のaptコマンドを実行して、MariaDBデータベースをインストールします。
sudo apt install mariadb-server mariadb-client -y
インストールが完了したら、サービスを開始し、システムの起動時に毎回起動できるようにします。
systemctl start mysql
systemctl enable mysql
次に、データベースの「root」パスワードを構成する必要があります。
次のコマンドを実行して、「root」データベースのパスワードを設定します。
mysql_secure_installation
そして、新しいMySQLルートパスワードの入力を求められます。ルートユーザーのパスワードを入力して、Enterキーを押します。その他の場合は、「Y」と入力して「はい」と入力し、もう一度入力します。
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
これで、MySQLのルートパスワードが設定されました。
次に、BookStackをインストールするための新しいデータベースを作成する必要があります。
' bookstackdbという名前の新しいデータベースを作成します 'ユーザーと'ブックスタック 'とパスワード'[メール保護] '。
rootユーザーとしてMySQLシェルにログインします。
mysql -u root -p
次に、以下のすべてのMySQLクエリを実行します。
create database bookstackdb;
create user [email protected] identified by '[email protected]';
grant all privileges on bookstackdb.* to [email protected] identified by '[email protected]';
flush privileges;
exit;
MySQL / MariaDBがUbuntuシステムにインストールされ、「BookStack」インストール用のデータベースが作成されました。
Composerは、PHPの依存関係マネージャーです。これにより、プロジェクトに必要なPHPの依存関係を管理できます。このステップでは、インストーラースクリプトを使用してComposerをインストールします。 Composerは、「BookStack」に必要なすべてのPHPライブラリをダウンロードするために使用されます。
ホームディレクトリに移動し、curlを使用してインストーラーをダウンロードします。
cd ~/
curl -sS https://getcomposer.org/installer | php
そして、ホームディレクトリにある「composer.phar」ファイルを取得し、ファイルを「/ usr / bin」ディレクトリに移動して、以下のように「composer」コマンドを実行します。
mv composer.phar /usr/bin/composer
composer -v
システムにインストールされているコンポーザーバージョンを取得します。
PHPComposerがUbuntu16.04にインストールされました。
このステップでは、ルートアプリケーションディレクトリとなる「/ var/www」ディレクトリの下にBookStackをインストールします。
'/ var / www'ディレクトリに移動し、gitコマンドを使用して'BookStack'ソースコードのクローンを作成します。
cd /var/www/
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
'BookStack /'ディレクトリに移動し、以下に示すように、composerコマンドを使用してすべてのPHP依存関係をインストールします。
cd BookStack/
composer install
エラーが発生しないことを確認してください。エラーが完了すると、次のような結果が表示されます。
次に、環境構成ファイル「.env.example」をコピーし、vimを使用して編集します。
cp .env.example .env
vim .env
以下に示すように、データベースの詳細行で、データベース情報を使用してすべてを変更します。
# Database details
DB_HOST=localhost
DB_DATABASE=bookstackdb
DB_USERNAME=bookstack
[email protected]
保存して終了します。
そして、「BookStack」ディレクトリの所有者を「www-data」ユーザーとグループに変更します。
chown -R www-data:www-data /var/www/BookStack
次に、BookStackの一意のアプリケーションキーを生成し、PHPの職人コマンドを使用してデータベーススキーマを更新する必要があります。
ルートアプリケーションディレクトリ'/var / www / BookStack'で、次のようにコマンドを実行します。
php artisan key:generate
php artisan migrate
確認を求められたら、「はい」と入力してEnterキーを押します。
コマンドが秘密鍵を生成し、データベーススキームをインポートするのを待ちます。
BookStackがUbuntu16.04にインストールされ、秘密の一意キーアプリケーションが生成され、BookStackのデータベーススキームが更新されました。
このステップでは、BookStack用にnginx仮想ホストを構成します。 BookStackURLのドメイン名として「book.hakase-labs.co」を使用します。
'/ etc / nginx'ディレクトリに移動し、vimエディタを使用して'sites-available'ディレクトリの下に新しい仮想ホストファイル'bookstack'を作成します。
cd /etc/nginx/
vim sites-available/bookstack
以下の設定を貼り付けてください。
server {
listen 80;
server_name book.hakase-labs.co;
root /var/www/BookStack/public;
access_log /var/log/nginx/bookstack_access.log;
error_log /var/log/nginx/bookstack_error.log;
client_max_body_size 1G;
fastcgi_buffers 64 4K;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
deny all;
}
location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
access_log off;
}
}
保存して終了します。
次に、仮想ホストをアクティブにして、構成をテストします。
ln -s /etc/nginx/sites-available/bookstack /etc/nginx/sites-enabled/
nginx -t
以下に示すように、エラーが発生しないことを確認してください。
次に、Nginxサービスを再起動します。
systemctl restart nginx
BookStackのNginx仮想ホストが追加され、アクティブ化されました。
ウェブブラウザを開き、アドレスバーにBookStackのURLを入力します。私の名前はhttp://book.hakase-labs.co/
そして、以下に示すように「ログイン/」ページにリダイレクトされます。
デフォルトの管理者ユーザー'[メール保護]と入力します 'パスワード付き'パスワード '、次に'ログインを押します 'ボタン。
そして、BookStackユーザーダッシュボードを取得します。
[設定]メニューをクリックすると、設定ページが表示されます。
次に、[ユーザー]メニューをクリックしてから、[管理者]ユーザーをクリックします。デフォルトのメールアドレスを自分のメールアドレスに変更し、パスワードを自分の秘密のパスワードに変更します。
次に、[保存]ボタンをクリックします。
これにより、Ubuntu 16.04でのLEMP(Linux、Nginx、MariaDB、およびPHP-FPM)スタックを使用したBookStackのインストールが正常に完了しました。