(更新: 2026.03.05)

【ConoHa VPS】WordPressサーバーを構築する完全ガイド

レンタルサーバーの共有環境では物足りなくなってきたとき、VPSへの移行を検討する人は多い。ConoHa VPSはコスパと操作性のバランスが良く、国内VPSとして選ばれやすい選択肢だ。

このガイドでは、ConoHa VPSにNginx + PHP-FPM + MariaDBの構成でWordPressを構築する手順を一通りまとめる。

想定環境

  • ConoHa VPS(メモリ1GB〜)
  • OS: Ubuntu 22.04 LTS
  • Webサーバー: Nginx 1.24
  • PHP: 8.3(PHP-FPM)
  • DB: MariaDB 10.11
  • SSL: Let’s Encrypt(Certbot)

サーバーの初期設定

一般ユーザー作成とSSH設定

rootで直接作業するのはセキュリティ上よくない。まず一般ユーザーを作成してsudo権限を付与する。

# rootでログイン後
adduser nakano
usermod -aG sudo nakano

# SSHキーをnakanoユーザーにコピー
mkdir -p /home/nakano/.ssh
cp ~/.ssh/authorized_keys /home/nakano/.ssh/
$ chown -R nakano:nakano /home/nakano/.ssh
$ chmod 700 /home/nakano/.ssh
$ chmod 600 /home/nakano/.ssh/authorized_keys

ファイアウォール設定

# UFWで必要なポートのみ開放
sudo ufw allow 22/tcp    # SSH
sudo ufw allow 80/tcp    # HTTP
sudo ufw allow 443/tcp   # HTTPS
sudo ufw enable
sudo ufw status

SSHのroot直接ログインを無効化

sshd_configファイルをテキストエディタで開く。

SSHの設定ファイル(sshd_config)を開いて、以下の項目を変更する:

  • PermitRootLoginno に設定する
  • SSHキー認証のみにする場合は PasswordAuthenticationno に設定する
sudo systemctl restart sshd

Nginxのインストールと設定

sudo apt update
sudo apt install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx

WordPress用のNginx設定

Nginxのサイト設定ファイルをテキストエディタで作成する(sites-available ディレクトリ内)。

server {
    listen 80;
    server_name obaba-win.com www.obaba-win.com;
    root /var/www/obaba-win.com;
    index index.php index.html;

    # WordPress パーマリンク対応
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # PHP-FPM連携
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # .htaccessは無視(Nginxでは不要)
    location ~ /\.ht {
        return 403;
    }

    # アップロードファイルのPHP実行を禁止(セキュリティ)
    location ~* /uploads/.*\.php$ {
        return 403;
    }

    # 静的ファイルのキャッシュ
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }

    client_max_body_size 64M;
}

作成した設定ファイルを sites-enabled にシンボリックリンクし、nginx -t で設定をテストしてからリロードする。

PHP-FPMのインストール

sudo apt install -y php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd \
    php8.3-mbstring php8.3-xml php8.3-zip php8.3-intl php8.3-imagick

PHP設定の調整

PHP-FPMの設定ファイル(php.ini)をテキストエディタで開く。

WordPressでよく変更する設定:

upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
sudo systemctl restart php8.3-fpm

MariaDBのインストールとWordPress用DB作成

sudo apt install -y mariadb-server
sudo mysql_secure_installation  # 初期セキュリティ設定
sudo mysql -u root -p

MariaDBのプロンプトで以下を順番に実行する:

  1. 「wordpress」という名前のデータベースを作成(文字コードは utf8mb4)
  2. 「wp_user」というDBユーザーを作成し、パスワードを設定
  3. 作成したユーザーにwordpressデータベースの全権限を付与
  4. 権限を反映させるコマンドを実行
  5. MariaDBプロンプトを終了

WordPressのインストール

# Webルートディレクトリを作成
$ sudo mkdir -p /var/www/obaba-win.com

# WordPress最新版をダウンロード
cd /tmp
curl -O https://ja.wordpress.org/latest-ja.tar.gz
tar xzf latest-ja.tar.gz
$ sudo cp -r wordpress/* /var/www/obaba-win.com/

# 権限設定
$ sudo chown -R www-data:www-data /var/www/obaba-win.com
$ sudo find /var/www/obaba-win.com -type d -exec chmod 755 {} \;
$ sudo find /var/www/obaba-win.com -type f -exec chmod 644 {} \;

wp-config.phpの設定

cd /var/www/obaba-win.com
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wp_user' );
define( 'DB_PASSWORD', 'your_strong_password' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );

// セキュリティキー(https://api.wordpress.org/secret-key/1.1/salt/ で生成)
define( 'AUTH_KEY',         '...' );
define( 'SECURE_AUTH_KEY',  '...' );
// ...

SSL証明書の設定(Let’s Encrypt)

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d obaba-win.com -d www.obaba-win.com

Certbotが自動でNginx設定を更新してHTTPS対応にしてくれる。証明書は90日ごとに自動更新される。

# 自動更新の確認
sudo certbot renew --dry-run

動作確認

# 各サービスの状態確認
sudo systemctl status nginx
sudo systemctl status php8.3-fpm
sudo systemctl status mariadb

# Nginxのアクセスログ確認
sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log

ハマりやすいポイント

try_files の設定ミス: WordPressのパーマリンクが404になる場合、try_files $uri $uri/ /index.php?$args;?$args の部分が抜けていることが多い。

PHPのソケットパス: fastcgi_passに指定するPHP-FPMのソケットファイルのパスはPHPバージョンによって変わる。PHPのバージョンに合ったパスを確認して設定する。

パーミッション: www-data が書き込めないと画像アップロードが失敗する。wp-content/uploads/ ディレクトリのオーナーを確認する。

MariaDB文字コード: utf8mb4 を指定しないと絵文字が保存できない。DBとwp-config.phpの両方を確認する。

まとめ

ConoHa VPSにWordPressを構築する手順をまとめた。

共有サーバーと比べてセットアップの手間はかかるが、サーバー設定を自由に変えられる点は大きなメリットだ。特にNginxのキャッシュ設定やPHPのチューニングを細かく調整できるので、表示速度の最適化においては共有サーバーとは次元の違う結果を出せる。

本記事の設定をベースに、Redis(オブジェクトキャッシュ)やPHP OPcacheの追加チューニングも検討してみてほしい。