タイトル: Wordpressのインストール方法
SEOタイトル: WordPress インストール手順(CentOS + nginx + MySQL + PHP-FPM)完全ガイド
| この記事の要点 |
|
WordPress とは
WordPress は世界で最も使われている OSS の CMS (Content Management System)。ブログ、コーポレートサイト、EC、ポートフォリオまで幅広く対応します。本稿は CentOS + nginx + MySQL + PHP-FPM 構成でのインストール手順をまとめます。
前提条件
| ミドルウェア | 役割 |
|---|---|
| nginx | Web サーバー (リバースプロキシとして PHP-FPM に転送) |
| MySQL / MariaDB | 記事・設定の保存先 DB |
| PHP-FPM | WordPress 本体の実行 |
| php-mysql | PHP <-> MySQL の接続ライブラリ |
nginx / MySQL / PHP のインストールは別途完了済みである前提で進めます。
1. WordPress 本体のダウンロード
公式リリースページから最新版を確認します。
# 配布ページ
https://ja.wordpress.org/releases/# 例: バージョンを指定してダウンロード (本稿では参考バージョン)
wget https://ja.wordpress.org/wordpress-4.9.6-ja.tar.gz
# 解凍
tar zxvf wordpress-4.9.6-ja.tar.gz
# 解凍された wordpress ディレクトリを適切な場所に配置
sudo mv wordpress /var/www/html/wordpress
sudo chown -R nginx:nginx /var/www/html/wordpress
注意: 上記は記事執筆時のバージョン。常に最新版をダウンロードしてください。古いバージョンは脆弱性リスクがあります。
2. nginx の設定
WordPress 用の server ブロックを /etc/nginx/conf.d/wordpress.conf 等に追加。
server {
listen 80;
server_name example.com;
root /var/www/html/wordpress;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# 静的ファイルキャッシュ (任意)
location ~* \.(jpg|jpeg|png|gif|css|js|ico|svg)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
}sudo nginx -t # 設定の文法チェック
sudo systemctl reload nginx # 反映
3. PHP-MySQL 接続ライブラリのインストール
sudo yum -y install php-mysql
sudo systemctl restart php-fpm
新しい PHP (7+) なら php-mysqlnd がデフォルトで入っていることもあります。php -m | grep mysql で確認。
4. MySQL に WordPress 用 DB を作成
-- MySQL に root でログインしてから実行
CREATE DATABASE wordpress
DEFAULT CHARACTER SET utf8
COLLATE utf8_unicode_ci;
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY '強固なパスワード';
GRANT ALL ON wordpress.* TO 'wordpress'@'localhost';
FLUSH PRIVILEGES;
-- 確認
SHOW DATABASES;
SELECT user, host FROM mysql.user WHERE user = 'wordpress';
パスワードは長くランダムに。後でセットアップ画面で使うので保管しておきます。
5. WordPress 初回セットアップ
ブラウザで http://ドメイン名 にアクセスすると、以下のような初期画面が表示されます。

「さあ、始めましょう!」をクリックして次のステップへ。データベース接続情報を入力します。
| 項目 | 入力値 |
|---|---|
| データベース名 | wordpress |
| ユーザー名 | wordpress |
| パスワード | 手順 4 で設定したパスワード |
| データベースのホスト名 | localhost |
| テーブル接頭辞 | wp_ (推奨: 推測されにくい接頭辞に変更) |
「送信」→「インストール実行」と進みます。
6. サイト情報の入力
次の画面でサイト情報を入力します。
- サイトのタイトル: 後から変更可
- ユーザー名: 管理者ユーザー名 (
admin以外を推奨 — 攻撃対象になりやすいため) - パスワード: 強固なものを設定
- メールアドレス: 通知やパスワードリセット用
- 検索エンジンでの表示: 公開前なら無効にしてインデックスを防ぐ
入力情報はログイン時に必要なのでパスワードマネージャー等に必ず保存しましょう。
7. ログイン
セットアップ完了後、http://ドメイン名/wp-login.php からログイン画面に進めます。手順 6 で設定した認証情報でログイン。
パーマリンク (URL の整形) 設定
初期状態だと URL に index.php が含まれて見栄えが悪いことがあります。管理画面の「設定」→「パーマリンク」で「投稿名」等を選び、nginx の try_files で $args を正しく渡せば綺麗な URL になります。
本番運用の必須チェック
| 項目 | 内容 |
|---|---|
| HTTPS 化 | Let's Encrypt + certbot で無料 SSL 証明書 |
| 自動更新 | 本体 / プラグイン / テーマの自動更新を有効に |
| 不要プラグイン削除 | 使っていないものは脆弱性源 |
| 定期バックアップ | DB と uploads ディレクトリ、wp-config.php を保全 |
| 管理者の admin 排除 | ユーザー名 admin は使わない |
| ファイル権限 | wp-config.php は 600、ディレクトリは 755、ファイルは 644 |
| ログイン保護 | 2 要素認証プラグイン、ブルートフォース対策 |
| 監視 | 稼働監視 / セキュリティスキャン |
wp-config.php の主要設定
<?php
// データベース情報
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', '強固なパスワード');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', '');
// 認証用ユニークキー (公式ジェネレータで生成)
// https://api.wordpress.org/secret-key/1.1/salt/
define('AUTH_KEY', '...');
// ...
// テーブル接頭辞 (デフォルト wp_ から変更推奨)
$table_prefix = 'wp_';
// 自動更新
define('WP_AUTO_UPDATE_CORE', true);
// ファイル編集機能を無効化 (セキュリティ)
define('DISALLOW_FILE_EDIT', true);
// デバッグ (本番では false)
define('WP_DEBUG', false);
// HTTPS 経由のみ管理画面アクセス
define('FORCE_SSL_ADMIN', true);
FAQ
Q: Apache でも同じ手順?
A: ほぼ同じ。違いは Web サーバー設定のみ。Apache なら .htaccess でパーマリンクが動く。
Q: Docker で立てるべき?
A: 開発・テスト環境は Docker 推奨。本番は要件次第だが、公式の wordpress イメージ + mariadb の組み合わせが定番。
Q: 古いバージョンのままで大丈夫?
A: ダメ。必ず最新版を使う。旧バージョンは既知の脆弱性で改ざんされやすい。
関連
- nginx のインストール / 設定
- MySQL のインストール / 設定
- PHP-FPM のインストール
- Let's Encrypt による HTTPS 化