インストールガイド · 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
- ルート権限
何をするか
- EPELリポジトリをインストール
- Nginxをインストール
- PHP-FPMをインストールおよび構成
- MySQL/MariaDBをインストールおよび構成
- PHP Composerをインストール
- BookStackをインストール
- Nginx仮想ホストBookStackを構成
- テスト
ステップ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ウェブサーバーは、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.confPHP-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 phpPHP-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
新しい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] YMySQL 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;
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は、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エラーが表示されないことを確認し、完了すると以下の結果が表示されます。

次に、環境設定ファイル’.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を押します。

テーブルのマイグレーションが成功するまで待ちます。
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 nginxBookStackアプリケーションのためのNginx仮想ホストが作成され、アクティブになりました。

ステップ8 - テスト
ウェブブラウザを開き、アドレスバーにBookStack URLを入力します。私のは: http://book.hakase-labs.co/
そして、以下のように’login/‘ページにリダイレクトされます。

デフォルトの管理者ユーザー’[email protected]’とパスワード’password’を入力し、’ログイン’ボタンを押します。
BookStackユーザーダッシュボードが表示されるはずです。

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

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

次に、’保存’ボタンをクリックします。
LEMP(Linux、Nginx、MariaDB、PHP-FPM)スタックでのCentOS 7へのBookStackのインストールが成功裏に完了しました。
参考
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。