Ubuntu 18.04 に Microweber をインストールする方法

Important: 本手順は Ubuntu 18.04 用です。別バージョンの Ubuntu や PHP バージョンでは設定やモジュールが異なる場合があります。
目的と対象読者
このチュートリアルは、サーバー管理者や開発者が Ubuntu 18.04 上で Microweber を安全に動作させることを目的としています。基本的なコマンドライン操作と sudo 権限のある非 root ユーザーを想定します。
要件
- Ubuntu 18.04 が動作するサーバー
- sudo 権限のある非 root ユーザー
- 公開する場合はドメイン名(例: example.com)と DNS 設定
目次
- 準備(システム更新)
- LAMP のインストール(Apache / MariaDB / PHP)
- MariaDB のセキュア化と Microweber 用データベース作成
- Microweber のダウンロードと配置
- Apache 仮想ホスト設定
- 初回セットアップ(ブラウザ経由)
- 運用・保守のチェックリスト
- トラブルシューティングとよくある失敗例
- 代替手段、セキュリティとバックアップの推奨
- 1行用語集
準備:システム更新
まず、システムを最新に更新します。パッケージリストとインストール済みパッケージを更新してから再起動してください。
sudo apt-get update -y
sudo apt-get upgrade -y
更新が終わったら、カーネルや重要なサービスの更新がある場合はサーバーを再起動します。
sudo reboot
LAMP サーバーのインストール
Microweber は PHP とウェブサーバー、データベースを必要とします。以下のコマンドで Apache、MariaDB、PHP と必要な PHP モジュールをインストールします(Ubuntu 18.04 は PHP 7.2 を使う例です)。
sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip unzip wget -y
php.ini の調整
大きめのファイルアップロードや長い処理を許可するため、Apache 用 php.ini を編集して設定を調整します。
sudo nano /etc/php/7.2/apache2/php.ini
必要な項目を次のように変更します(タイムゾーンは環境に合わせてください)。
memory_limit = 256M
upload_max_filesize = 150M
max_execution_time = 360
date.timezone = Europe/Berlin
保存して終了してください。
次に Apache と MariaDB を起動し、自動起動を有効化します。
sudo systemctl start apache2
sudo systemctl start mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb
MariaDB の初期保護と Microweber 用データベース作成
MariaDB はインストール直後は保護されていません。まずは mysql_secure_installation を実行して基本的な保護を行います。
sudo mysql_secure_installation
対話プロンプトで不要な匿名ユーザーの削除、リモート root ログインの無効化、テストデータベースの削除、権限テーブルの再読み込みを行います。質問には環境に合わせて回答してください。
その後、MariaDB にログインして Microweber 用のデータベースと専用ユーザーを作成します。以下ではデータベース名を microweberdb、ユーザー名を microweber とする例です。’password’ は安全なパスワードに置き換えてください。
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE microweberdb;
MariaDB [(none)]> CREATE USER 'microweber'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL ON microweberdb.* TO 'microweber'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
重要: 実運用では root 用パスワードとアプリ用パスワードを使い回さないでください。
Microweber のダウンロードと配置
公式サイトから最新の Microweber を /tmp にダウンロードして展開します。
cd /tmp
wget https://microweber.com/download.php -O microweber-latest.zip
sudo mkdir /var/www/html/microweber
sudo unzip microweber-latest.zip -d /var/www/html/microweber
展開後、ウェブサーバー用ユーザーにファイル所有権を与え、パーミッションを設定します。
sudo chown -R www-data:www-data /var/www/html/microweber/
sudo chmod -R 755 /var/www/html/microweber/
注意: Microweber の一部ディレクトリ(アップロード先など)は 775 や 770 を求める場合があります。問題が出たらログを確認して調整してください。
Apache の仮想ホスト設定
新しい仮想ホストを作成します。ファイル名は microweber.conf とします。
sudo nano /etc/apache2/sites-available/microweber.conf
以下の設定を追加し、ServerName と ServerAlias は実際のドメインに置き換えてください。
ServerAdmin [email protected]
DocumentRoot /var/www/html/microweber
ServerName example.com
ServerAlias www.example.com
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ファイルを保存したら、サイトを有効化し rewrite モジュールを有効化して Apache を再起動します。
sudo a2ensite microweber.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
サービスの状態確認:
sudo systemctl status apache2
正常に起動していれば active (running) になります。
ブラウザでの初回セットアップ
サーバーのドメイン(または IP)にアクセスしてインストーラを実行します。例: http://example.com
インストール画面ではデータベース情報、管理者アカウント、サイト名などを入力します。画面例:
全て入力してインストールを実行すると、正常ならダッシュボードに遷移します。
運用上の推奨事項とセキュリティ
- SSL/TLS: Let’s Encrypt で HTTPS を適用してください(Certbot 推奨)。
- ファイアウォール: UFW で不要なポートを閉じます(80 と 443 のみを公開)。
- バックアップ: データベースと /var/www/html/microweber を定期的にバックアップします。
- 自動更新: OS と PHP モジュールの自動更新方針を決め、重大な更新前はステージングで検証します。
- パーミッション: アップロード先ディレクトリとキャッシュディレクトリの権限を最小限に保ちます。
例: UFW の基本設定
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Let’s Encrypt の例(Certbot の簡単なコマンド):
sudo apt-get install certbot python-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
よくあるトラブルと対処法
- 500 エラー: Apache と PHP のエラーログ(/var/log/apache2/error.log)を確認。パーミッションや PHP モジュール不足が多い原因です。
- データベース接続エラー: MariaDB ユーザー名/パスワード、ホスト(localhost)を再確認。MySQL ソケットの場所が異なる場合は php.ini やアプリ設定で調整。
- ファイルアップロードが失敗する: php.ini の upload_max_filesize と post_max_size、max_execution_time を確認。
- Apache が起動しない: 設定ファイルの構文ミスをチェック(sudo apachectl configtest)。
トラブル診断のためのコマンド例:
sudo tail -n 200 /var/log/apache2/error.log
sudo tail -n 200 /var/log/apache2/access.log
sudo journalctl -u apache2 --since "1 hour ago"
代替アプローチと拡張
- Docker を使う: Microweber をコンテナ化して隔離された環境で運用する方法。Compose ファイルで Apache/PHP/MariaDB をまとめると移植性が高まります。
- マネージド DB: セキュリティや可用性を重視するならマネージドデータベースサービスを利用する選択肢があります。
- 別 Web サーバー: Nginx + PHP-FPM 構成でも動作します。パフォーマンスとリバースプロキシ対応で有利です。
チェックリスト(運用前)
- Apache が active (running) である
- MariaDB の初期設定が済んでいる
- Microweber ディレクトリの所有権が www-data になっている
- php.ini の upload_max_filesize, memory_limit が適切に設定されている
- HTTPS が設定されている
- 定期バックアップと監視が設定されている
テストケース(受け入れ基準)
- ブラウザで http://example.com にアクセスしてインストール画面が表示されること。
- インストール完了後、管理ダッシュボードにログインできること。
- 画像やファイルのアップロードが成功すること(設定した上限内)。
- 公開ページが HTTPS で正しく表示されること(証明書が有効)。
1行用語集
- LAMP: Linux + Apache + MariaDB(MySQL) + PHP の組み合わせ。
- Certbot: Let’s Encrypt 用のクライアントで証明書を取得・更新するツール。
まとめ
Microweber のインストールは、LAMP スタックの構築と MariaDB の準備、Microweber 本体の配置、Apache の仮想ホスト設定という流れで進めます。セキュリティ(SSL、ファイアウォール、パーミッション)とバックアップを忘れずに設定してください。問題が起きたらログを確認し、上記のトラブルシューティング手順を試してください。
もし具体的なエラーや環境(別の Ubuntu バージョン、Docker 環境、クラウドプロバイダ)について質問があれば、環境情報とログの抜粋を教えてください。迅速に対応方法を提案します。