インストールガイド · 3 min read · Dec 14, 2025
FreeBSD 12にNginxとLet's Encrypt SSLを使用してDokuWikiをインストールする方法
DokuWikiは、データベースを必要としない使いやすく非常に多用途なオープンソースのウィキソフトウェアです。クリーンで読みやすい構文がユーザーに愛されています。メンテナンス、バックアップ、統合の容易さは管理者のお気に入りです。組み込みのアクセス制御と認証コネクタにより、DokuWikiは特に企業環境で有用であり、活気あるコミュニティによって提供された多数のプラグインにより、従来のウィキを超えた幅広いユースケースが可能になります。このチュートリアルでは、FreeBSD 12サーバーにDokuWikiをインストールする方法を示します。
要件
サーバーが以下の要件を満たしていることを確認してください。
- PHPをサポートするWebサーバーソフトウェア(Apache、NGINX、IIS、Lighttpd、LiteSpeed)
- PHPバージョン5.6以降、最新のバージョンを強く推奨します。
前提条件
- FreeBSD 12オペレーティングシステム。
sudo権限を持つ非ルートユーザー。
初期ステップ
FreeBSDのバージョンを確認します。
uname -ro
# FreeBSD 12.1-RELEASEオペレーティングシステムパッケージ(ソフトウェア)を更新します。これは重要な最初のステップであり、オペレーティングシステムのデフォルトソフトウェアパッケージの最新の更新とセキュリティ修正があることを保証します。
freebsd-update fetch install
pkg update && pkg upgrade -yFreeBSD 12オペレーティングシステムの基本管理に必要な必須パッケージをいくつかインストールします。
pkg install -y sudo vim unzip curl wget bash bash-completion socat git好みのユーザー名で新しいユーザーアカウントを作成します。ここではjohndoeを使用します。
adduser
# ユーザー名: johndoe
# フルネーム: John Doe
# Uid(デフォルトの場合は空白のまま):
# ログイングループ [johndoe]:
# ログイングループはjohndoeです。他のグループにjohndoeを招待しますか? []: wheel
# ログインクラス [default]:
# シェル(sh csh tcsh nologin) [sh]: bash
# ホームディレクトリ [/home/johndoe]:
# ホームディレクトリの権限(デフォルトの場合は空白のまま):
# パスワードベースの認証を使用しますか? [yes]:
# 空のパスワードを使用しますか?(yes/no) [no]:
# ランダムなパスワードを使用しますか?(yes/no) [no]:
# パスワードを入力してください: your_secure_password
# パスワードを再入力してください: your_secure_password
# 作成後にアカウントをロックしますか? [no]:
# OKですか?(yes/no): yes
# 他のユーザーを追加しますか?(yes/no): no
# さようなら! visudoコマンドを実行し、%wheel ALL=(ALL) ALL行のコメントを解除して、wheelグループのメンバーが任意のコマンドを実行できるようにします。
visudo
# ハッシュ(#)記号を削除してコメントを解除します
%wheel ALL=(ALL) ALL新しく作成したユーザーにsuコマンドで切り替えます。
su - johndoe注意: johndoeをあなたのユーザー名に置き換えてください。
タイムゾーンを設定します。
sudo tzsetupステップ1 - PHPとPHP拡張をインストール
PHPと必要なPHP拡張をインストールします。
sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-pecl-imagick php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-mysqli php72-phar php72-opcache php72-pdo_pgsqlPHPのバージョンを確認します。
php --version
# PHP 7.2.17 (cli) (built: Apr 13 2019 01:13:32) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologiesphp.ini-productionをphp.iniにソフトリンクします。
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.iniPHP-FPMを有効にして起動します。
sudo sysrc php_fpm_enable=yes
sudo service php-fpm startステップ2 - acme.shクライアントをインストールし、Let’s Encrypt証明書を取得する(オプション)
HTTPSでサイトを保護することは必須ではありませんが、サイトトラフィックを保護するための良いプラクティスです。Let’s EncryptからTLS証明書を取得するために、acme.shクライアントを使用します。Acme.shは、ゼロ依存関係でLet’s EncryptからTLS証明書を取得するためのシンプルなUNIXシェルソフトウェアです。
acme.shをダウンロードしてインストールします。
sudo pkg install -y acme.shacme.shのバージョンを確認します。
acme.sh --version
# v2.8.5ドメイン/ホスト名のRSAおよびECC/ECDSA証明書を取得します:``` # RSA 2048 sudo acme.sh --issue --standalone -d example.com --keylength 2048 # ECDSA sudo acme.sh --issue --standalone -d example.com --keylength ec-256 ``` テスト用の偽の証明書が必要な場合は、上記のコマンドに–stagingフラグを追加できます。 上記のコマンドを実行すると、*証明書*と*キー*は次の場所に保存されます: - RSAの場合:/home/username/example.comディレクトリ。 - ECC/ECDSAの場合:/home/username/example.comeccディレクトリ。 発行された証明書をリストするには、次のコマンドを実行します。 ``` acme.sh --list ``` 証明書を保存するディレクトリを作成します。/etc/letsencryptディレクトリを使用します。 ``` sudo mkdir -p /etc/letsecnrypt/example.com sudo mkdir -p /etc/letsencrypt/example.com_ecc ``` 証明書を/etc/letsencryptディレクトリにインストール/コピーします。 ``` # RSA sudo acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service" # ECC/ECDSA sudo acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service" ``` すべての証明書は60日ごとに自動的に更新されます。 証明書を取得した後、ルートユーザーからログアウトし、通常のsudoユーザーに戻ります。 ``` exit ``` ## ステップ3 - Nginxをインストールして構成する DokuWikiは、PHPをサポートする任意のWebサーバーで実行できます。このチュートリアルではNginxを使用します。Apacheや他のWebサーバーを好む場合は、Nginxの代わりにそれを使用できます。 Nginxをインストールします。 ``` sudo pkg install -y nginx ``` Nginxのバージョンを確認します。 ``` nginx -v # nginx version: nginx/1.16.1 ``` Nginxサービスを有効にして起動します。 ``` sudo sysrc nginx_enable=yes sudo service nginx start ```sudo vim /usr/local/etc/nginx/dokuwiki.conf`を実行し、DokuWiki用のNginx仮想サーバーを設定します。 sudo vim /usr/local/etc/nginx/dokuwiki.conf 以下のNginx構成をコピー/ペーストして保存します。 ``` server {
listen [::]:443 ssl;
listen 443 ssl; listen [::]:80; listen 80; # RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
server_name wiki.example.com; root /usr/local/www/dokuwiki; index index.html index.htm index.php doku.php;
client_max_body_size 15M; client_body_buffer_size 128K;
location / { try_files $uri $uri/ @dokuwiki; }
location ^~ /conf/ { return 403; } location ^~ /data/ { return 403; } location ~ .ht { deny all; }
location @dokuwiki { rewrite ^/_media/(.) /lib/exe/fetch.php?media=$1 last; rewrite ^/_detail/(.) /lib/exe/detail.php?media=$1 last; rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export$1&id=$2 last; rewrite ^/(.) /doku.php?id=$1 last; } location ~ .php$ { try_files $uri $uri/ /doku.php; fastcgi_pass 127.0.0.1:9000; fastcgi_param REDIRECT_STATUS 200; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } ファイルを保存し、エディタから退出します。 `dokuwiki.conf`ファイルをメインの`nginx.conf`ファイルに含めるために、`sudo vim /usr/local/etc/nginx/nginx.conf`を実行し、`http {}`ブロックに以下の行を追加します。 include dokuwiki.conf; Nginxの構成変更をテストします。 sudo nginx -t Nginxを再読み込みします。 sudo service nginx reload ## ステップ4 - DokuWikiをインストール ドキュメントルートディレクトリを作成します。 sudo mkdir -p /usr/local/www/dokuwiki ドキュメントルートに移動します。 cd /usr/local/www/dokuwiki DokuWikiの最新の安定版をDokuWikiダウンロードページからダウンロードします。 sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz DokuWikiのtarballを解凍します。 sudo tar xvf dokuwiki-stable.tgz
sudo rm dokuwiki-stable.tgz
sudo mv dokuwiki-2018-04-22b/ . && mv dokuwiki-2018-04-22b/. .
sudo rmdir dokuwiki-2018-04-22b/ `/var/www/dokuwiki`ディレクトリの所有権を`www:`に変更します。 sudo chown -R www:www /usr/local/www/dokuwiki PHP-FPMを再起動します。 sudo service php-fpm restart `` ブラウザでDokuWikiセットアップスクリプトinstall.phpを開き、DokuWikiを設定します。セットアップスクリプトは、必要なPHP関数の可用性を確認し、必要なファイル権限を確認します。また、初期管理者アカウントと初期ACLポリシーを作成します。インストーラーを実行するには、ブラウザでhttp://wiki.example.com/install.php`を開き、指示に従います。 ## ステップ5 - DokuWiki Webインターフェースにアクセス Webブラウザを開き、URL http://example.com/install.phpを入力します。次のページにリダイレクトされます: スーパーユーザー名、メール、パスワードなど、すべての必要な情報を提供します。次に、保存ボタンをクリックします。インストールが成功裏に完了すると、次のページが表示されます:
次に、あなたの新しいDokuWikiをクリックします。次のページが表示されます:
次に、ログインボタンをクリックします。次のページにリダイレクトされます:
次に、管理者のユーザー名とパスワードを入力します。次に、*ログインボタンをクリックします。次のページにDokuWikiダッシュボードが表示されます:
設定が成功した後、DokuWikiのルートディレクトリから
install.phpファイルを削除します。 sudo rm /var/www/dokuwiki/install.php おめでとうございます!FreeBSD 12サーバーにDokuWikiを正常にインストールして構成しました。これで、DokuWikiを使用して簡単に自分のウィキサイトを作成できます。 ## リンク - https://www.dokuwiki.org/ - https://github.com/splitbrain/dokuwiki
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。