Ubuntu 16.04 に Nibbleblog をインストールする手順

はじめに
Nibbleblog は PHP で書かれ、データを XML に保存するシンプルで高速なブログエンジンです。一行で定義すると: 「軽量なファイルベースのブログシステム」。本ガイドは Ubuntu 16.04 サーバーを対象にしています。
重要用語:
- Nibbleblog: 軽量ブログエンジン
- UFW: Ubuntu の簡易ファイアウォール
前提条件
- Ubuntu 16.04 が稼働しているサーバー
- sudo 権限を持つ非 root ユーザー
準備: システムの更新
まずシステムを最新に更新します。
sudo apt-get update -y
sudo apt-get upgrade -y
アップデート後、必要であれば再起動してください。
Apache と PHP のインストール
Nibbleblog は Apache 上で PHP を使って動作します。必要なパッケージをすべてインストールします。
sudo apt-get install apache2 libapache2-mod-php7.0 php7.0 pkp7.0-cli php7.0-gd php7.0-mcrypt php7.0-xml wget nano unzip -y
注: コマンド中のパッケージ名に typos が含まれる可能性があります(例: pkp7.0-cli)。エラーが出た場合は正しい PHP CLI パッケージ名 php7.0-cli を使ってください。
インストール後、Apache を起動して自動起動を有効にします。
sudo systemctl start apache2
sudo systemctl enable apache2
Nibbleblog のダウンロードと配置
公式アーカイブをダウンロードして展開します。
wget https://excellmedia.dl.sourceforge.net/project/nibbleblog/v4.0/nibbleblog-v4.0.5.zip
unzip nibbleblog-v4.0.5.zip
解凍したディレクトリを Apache のドキュメントルートへコピーします。
sudo cp -r nibbleblog-v4.0.5 /var/www/html/nibbleblog
次にディレクトリの所有者と権限を設定します。運用環境では 777 を避けるのが安全です。ここでは手順に沿って示しますが、後述の「権限のベストプラクティス」を参考にしてください。
sudo chown -R www-data:www-data /var/www/html/nibbleblog
sudo chmod -R 777 /var/www/html/nibbleblog
重要: chmod 777 は一時的な利便性のための設定です。公開サーバーでは 755(ディレクトリ)/644(ファイル)を推奨します。
Apache の仮想ホスト設定
Nibbleblog 用に仮想ホストファイルを作成します。
sudo nano /etc/apache2/sites-available/nibbleblog.conf
以下の内容を追加します。ServerAdmin と ServerName は実環境に合わせて変更してください。
ServerAdmin [email protected]
ServerName yourdomain.com
DocumentRoot /var/www/html/nibbleblog
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/nibbleblog-error.log
CustomLog ${APACHE_LOG_DIR}/nibbleblog-access.log combined
ファイルを保存して閉じたら、デフォルトサイトを無効化して Nibbleblog 用サイトを有効化します。
sudo a2dissite 000-defaults
sudo a2ensite nibbleblog
設定反映のため Apache を再起動します。
sudo systemctl restart apache2
ファイアウォール設定とアクセス確認
Nibbleblog はポート 80(HTTP)で待ち受けます。UFW を有効にして 80 番ポートを許可します。
sudo ufw enable
sudo ufw allow tcp/80
sudo ufw status
ブラウザで http://yourdomain.com にアクセスすると、インストールウィザードにリダイレクトされます。
上の画像: Nibbleblog インストール開始画面。ブログタイトルと管理者情報を入力します。
インストールが完了すると次のページが表示されます。
ログイン管理画面は /admin.php です。
上の画像: 管理者ログイン画面。管理者ユーザーでログインします。
ログイン後、デフォルトのダッシュボードが表示されます。
権限のベストプラクティス
- 公開ディレクトリ: /var/www/html/nibbleblog は所有者 www-data に。ディレクトリは 755、ファイルは 644 を推奨。
- 一時的に書き込み権限が必要な場合は、特定のディレクトリだけを 775 にする。
- nginx を使う場合や PHP-FPM を使う場合はユーザーとグループの整合性を確認。
例: 標準的な権限設定
sudo chown -R www-data:www-data /var/www/html/nibbleblog
find /var/www/html/nibbleblog -type d -exec sudo chmod 755 {} \;
find /var/www/html/nibbleblog -type f -exec sudo chmod 644 {} \;
セキュリティ強化の推奨事項
- SSL を導入して HTTPS(ポート 443)で提供する。Let’s Encrypt を利用すると無料で取得できます。
- Apache の不要なモジュールを無効化する。mod_status など公開すべきでないモジュールに注意。
- 定期的なバックアップを実施する(XML ファイルとカスタムテンプレートを含む)。
- 管理画面のログイン試行を監視し、必要なら IP 制限を導入する。
簡単な HTTPS 設定例(Certbot)
sudo apt-get install certbot python-certbot-apache -y
sudo certbot --apache -d yourdomain.com
バックアップと復元の基本
- 重要: Nibbleblog のコンテンツは XML ファイルに保存されます。/var/www/html/nibbleblog/ の中身を定期的にアーカイブしてください。
例: 毎日バックアップ(簡易)
tar -czf /root/backup/nibbleblog-$(date +%F).tar.gz /var/www/html/nibbleblog
復元はアーカイブを解凍して所有者と権限を設定します。
トラブルシューティング(よくある問題と対処)
403 Forbidden
- DocumentRoot と
の設定を確認。Require all granted があるか。 - ファイル権限が適切か確認(www-data が読み取りできるか)。
- DocumentRoot と
500 Internal Server Error
- Apache エラーログを確認: /var/log/apache2/nibbleblog-error.log
- PHP エラーが原因の場合は PHP のエラーログも確認。
インストール画面が表示されない
- index.php が DocumentRoot に存在するか確認。
- .htaccess によるリダイレクト設定が正しいか確認。
代替アプローチ
- Docker コンテナで隔離して運用することも可能です。公式イメージがない場合は Apache+PHP のベースイメージを作成し、Nibbleblog を配置します。
- Nginx + PHP-FPM を使う構成はパフォーマンスとリソース効率が良い場合があります。
簡単な Docker の考え方(概要):
- ベースイメージ: php:7.0-apache
- アプリ配置: /var/www/html
- 永続ボリューム: コンテンツ保存用
運用チェックリスト(役割別)
サイト管理者:
- インストール後にログインできることを確認
- ブログタイトルと管理者メールを設定
- 定期バックアップをスケジュール
システム管理者:
- Apache の仮想ホスト設定の正当性を確認
- SSL 証明書の自動更新設定
- ファイアウォールとログ監視の整備
開発者:
- カスタムテンプレートは子テーマ、または別ディレクトリで管理
- プラグイン互換性を確認
アップグレードと移行のヒント
- バージョンアップ前に必ずバックアップを取得する。
- カスタムテンプレートやプラグインは互換性を確認してから更新する。
- 重大な PHP バージョンアップ(例: 7.0 → 7.4)では互換性チェックを行う。
受け入れ基準
- http://yourdomain.com でインストールウィザードが表示される。
- 管理者アカウントで /admin.php にログインできる。
- 記事の作成・公開が行える。
- 公開ページが HTTP(S) で正常に表示される。
要約
この記事では Ubuntu 16.04 に Apache と PHP を使って Nibbleblog を導入する手順を解説しました。ダウンロードから配置、仮想ホスト設定、権限管理、ファイアウォール、セキュリティ強化、バックアップ、トラブルシュート、代替運用(Docker/Nginx)までカバーしています。導入後は権限と SSL、バックアップを優先的に確認してください。
重要: 公開サーバーでは chmod 777 を恒久的に使わないでください。代わりに最小権限の原則を適用してください。