インストールガイド · 2 min read · Dec 08, 2025

CentOS 7にBookStackドキュメンテーションWikiをインストールする方法

BookStackは、プロジェクトのためのドキュメンテーション/ウィキコンテンツを作成するためのオープンソースプラットフォームです。これはPHPプログラミング言語で書かれており、Laravelウェブフレームワークを使用しています。基本的に、プロジェクトのドキュメンテーション/ウィキはBookStackに「本」として保存され、その後「章」と「ページ」が続きます。これにより、章とページに基づいてドキュメンテーションを本として作成し、読むことが容易になります。

このチュートリアルでは、LEMP(Linux、Nginx、PHP-FPM、MySQL/MariaDB)スタックの下でCentOS 7にBookStackをインストールし、構成する方法をステップバイステップで示します。このチュートリアルでは、PHP Composerのインストールやコマンドラインを使用したMySQLデータベースの作成などのトピックをカバーします。

前提条件

  • CentOS 7
  • ルート権限

何をするか

  1. EPELリポジトリをインストール
  2. Nginxをインストール
  3. PHP-FPMをインストールおよび構成
  4. MySQL/MariaDBをインストールおよび構成
  5. PHP Composerをインストール
  6. BookStackをインストール
  7. Nginx仮想ホストBookStackを構成
  8. テスト

ステップ1 - EPELリポジトリをインストール

新しいサードパーティリポジトリをシステムに追加します。Nginxやその他のパッケージをインストールできるように、CentOS 7システムにEPEL(Enterprise Linux用の追加パッケージ)リポジトリを追加する必要があります。

以下のyumコマンドを使用してEPELリポジトリをインストールします。

sudo yum -y install epel-release

ステップ2 - CentOS 7にNginxをインストール

このチュートリアルでは、LEMPスタックの下で「BookStack」プラットフォームを実行し、EPELリポジトリからNginxウェブサーバーをインストールします。

以下のyumコマンドを使用してNginxウェブサーバーをインストールします。

sudo yum -y install nginx

インストールが完了したら、サービスを開始し、システム起動時に毎回起動するように有効にします。

systemctl start nginx  
systemctl enable nginx

次に、netstatコマンドを使用して確認します。

netstat -plntu

リストにポート80が表示され、Nginxサービスによって使用されていることを確認してください。

Nginxをインストール

Nginxウェブサーバーは、CentOS 7システムに正常にインストールされました。

追加: システムでfirewalldを実行している場合は、以下のコマンドを実行して新しいHTTPサービスを構成に追加します。

firewall-cmd --add-service=http --permanent  
firewall-cmd --reload

ステップ3 - PHPおよびPHP-FPMをインストール

このステップでは、PHP-FPM 7.0をインストールおよび構成します。「webtatic」リポジトリからPHPおよびPHP-FPMをインストールします - 「BookStack」プラットフォームに必要なPDO、Tokenizer、GD、Tidy、MBString、OpenSSLなどの拡張機能を含むPHPをインストールします。

PHPおよびPHP-FPMをインストールする前に、以下のrpmコマンドを使用してCentOS 7システムに新しい「webtatic」リポジトリを追加します。

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

次に、以下のようにyumコマンドを使用して必要なすべての拡張機能を持つPHPおよびPHP-FPMをインストールします。

sudo yum -y install php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-devel php70w-common php70w-mbstring php70w-tidy php70w-zip php70w-soap curl

インストールが完了したら、「php.ini」構成ファイルを編集し、php-fpmプール構成「www.conf」を編集する必要があります。

vimエディタを使用して「php.ini」構成ファイルを編集します。

vim /etc/php.ini

「cgi.fix_pathinfo」行のコメントを外し、値を「0」に変更します。

cgi.fix_pathinfo=0

保存して終了します。

次に、プール構成ファイル「www.conf」を編集します。

vim /etc/php-fpm.d/www.conf

PHP-FPMサービスを実行するためのデフォルトユーザーを「nginx」ユーザーおよびグループに変更します。

user = nginx  
group = nginx

「listen」行の値をsockファイルに変更します。PHP-fpmをsockファイルの下で実行します。

listen = /var/run/php-fpm/php-fpm.sock

次に、ソケットの権限と所有者の構成を行います。これらの行のコメントを外し、値を以下のように変更します。

listen.owner = nginx  
 listen.group = nginx  
 listen.mode = 0660

最後に、PHP-FPM環境のコメントを外します。

env[HOSTNAME] = $HOSTNAME  
env[PATH] = /usr/local/bin:/usr/bin:/bin  
env[TMP] = /tmp  
env[TMPDIR] = /tmp  
env[TEMP] = /tmp

保存して終了します。

構成が完了したら、PHP-FPMサービスを開始し、起動時に毎回起動するように有効にします。

systemctl start php-fpm  
systemctl enable php-fpm

次に、netstatコマンドを使用して確認します。

netstat -pl | grep php

PHP-FPM sockファイルが表示されることを確認してください。

必要なすべての拡張機能を持つPHPおよびPHP-FPM 7.0がCentOS 7システムにインストールされました。

ステップ4 - MySQL/MariaDBをインストールおよび構成

BookStackはMySQLデータベースのみをサポートしており、MySQLバージョン>= 5.6の下でのみ実行されます。このチュートリアルでは、UbuntuリポジトリからインストールできるMariaDB(最新バージョン)を使用します。

以下のyumコマンドを実行してMariaDBデータベースをインストールします。

yum install -y mariadb mariadb-server

インストールが完了したら、サービスを開始し、起動時に毎回起動するように有効にします。

systemctl start mariadb  
systemctl enable mariadb

次に、データベースの「root」パスワードを構成する必要があります。

以下のコマンドを実行して「root」データベースパスワードを設定します。

mysql_secure_installation

MariaDBを構成

新しいMySQL rootパスワードを求められます - rootユーザーのパスワードを入力し、Enterを押します。他の質問には、すべて「Y」と入力してEnterを押します。

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 rootパスワードが設定されました。

次に、BookStackインストール用の新しいMySQLデータベースを作成する必要があります。「bookstackdb」という名前の新しいデータベースを作成し、ユーザー「bookstak」とパスワード「bookstack@」を設定します。

rootユーザーでMySQLシェルにログインします。

mysql -u root -p

シェルで以下のすべてのMySQLクエリを実行します。

create database bookstackdb;  
create user bookstack@localhost identified by 'bookstack@';  
grant all privileges on bookstackdb.* to bookstack@localhost identified by 'bookstack@';  
flush privileges;  
exit;

BookStack用のMariaDBでデータベースを作成

MySQL/MariaDBがCentOS 7システムにインストールされ、’BookStack’インストール用のデータベースが作成されました。

ステップ5 - CentOS 7にPHP Composerをインストール

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

そして、システムにインストールされているComposerのバージョンが表示されます。

PHP Composerをインストール

PHP Composerは、CentOS 7システムに正常にインストールされました。

ステップ6 - CentOS 7にBookStackをインストール

このステップでは、’/var/www’ディレクトリの下にBookStackをインストールします - そのディレクトリがルートアプリケーションディレクトリになります。

‘BookStack’をインストールする前に、システムにgitをインストールします。

yum -y install git

次に、新しい’/var/www’ディレクトリを作成します。

mkdir -p /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

エラーが表示されないことを確認し、完了すると以下の結果が表示されます。

ComposerでBookStackをインストール

次に、環境設定ファイル’.env.example’をコピーし、vimを使用して編集します。

cp .env.example .env  
vim .env

データベースの詳細行で、以下のようにデータベース情報をすべて変更します。

# データベースの詳細  
 DB_HOST=localhost  
 DB_DATABASE=bookstackdb  
 DB_USERNAME=bookstack  
 DB_PASSWORD=bookstack@

保存して終了します。

次に、’BookStack’ディレクトリの所有権を’nginx’ユーザーおよびグループに変更します。

chown -R nginx:nginx /var/www/BookStack

次に、BookStackのユニークなアプリケーションキーを生成し、PHP artisanコマンドを使用してデータベーススキーマを更新する必要があります。

ルートアプリケーションディレクトリ’/var/www/BookStack’で、以下のコマンドを実行します。

php artisan key:generate  
php artisan migrate

確認を求められたら、「yes」と入力してEnterを押します。

PHP artisan

テーブルのマイグレーションが成功するまで待ちます。

BookStackアプリケーションがインストールされ、秘密のユニークキーアプリケーションが生成され、BookStackのデータベーススキーマが更新されました。

ステップ7 - BookStackのためのNginx仮想ホストを構成

このステップでは、BookStackのためのnginx仮想ホストを構成します。私たちは、BookStack URLのドメイン名として’book.hakase-labs.co’を使用します。

‘/etc/nginx’ディレクトリに移動し、vimエディタを使用して’conf.d/‘ディレクトリの下に新しい仮想ホストファイル’bookstack.conf’を作成します。

cd /etc/nginx  
vim conf.d/bookstack.conf

以下の構成を貼り付けます。

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:/var/run/php-fpm/php-fpm.sock;  
   }  
   
   location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {  
     expires 30d;  
     access_log off;  
   }  
 }

保存して終了します。

次に、nginx構成をテストし、エラーがないことを確認してから、nginxサービスを再起動します。

ginx -t  
systemctl restart nginx

BookStackアプリケーションのためのNginx仮想ホストが作成され、アクティブになりました。

Nginx仮想ホストを構成

ステップ8 - テスト

ウェブブラウザを開き、アドレスバーにBookStack URLを入力します。私のは: http://book.hakase-labs.co/

そして、以下のように’login/‘ページにリダイレクトされます。

BookStackログイン

デフォルトの管理者ユーザー’[email protected]’とパスワード’password’を入力し、’ログイン’ボタンを押します。

BookStackユーザーダッシュボードが表示されるはずです。

ダッシュボード

‘設定’メニューをクリックすると、設定ページが表示されます。

設定

今、’ユーザー’をクリックし、次に’管理者’ユーザーをクリックします。デフォルトのメールアドレスを自分のメールアドレスに変更し、パスワードを自分の秘密のパスワードに変更します。

BookStackユーザー

次に、’保存’ボタンをクリックします。

LEMP(Linux、Nginx、MariaDB、PHP-FPM)スタックでのCentOS 7へのBookStackのインストールが成功裏に完了しました。

参考

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。