このページで: [隠れる]
10 分かかるのは、VPS がすでにプロビジョニングされている場合のみです, あなたのドメイン DNS はすでにそのドメインを指しています, きれいにコピー&ペーストできます. 学んでいるなら40歳近い. 良いニュースです: the 2026 インストールは、 2018 Ubuntuのバージョン 24.04 PHPを出荷します 8.3 デフォルトのリポジトリ内. サードパーティの PPA はありません, コンパイルなし, バージョンジャグリングなし.
簡単な回答: 新しい Ubuntu を起動します 24.04 VPS, インストール Nginx, MariaDB 10.11, PHP 8.3-FPM パッケージごとに 1 つの apt コマンドを使用, データベースを作成する, WordPress をドロップする /var/www/yoursite.com, Nginxサーバーブロックを指す /run/php/php8.3-fpm.sock, そしてブラウザで終了します. Let’s Encrypt による SSL ではさらに 5 分追加されます. 以下の完全なシーケンスはおおよそ次のとおりです 30 コマンド.
最終レビュー済み: 4月 2026. Ubuntu で検証されたコマンド 24.04.2 WordPress を使用した LTS 6.7.

ほとんどの LEMP-for-WordPress チュートリアルは依然として Google リファレンス CentOS を中心に存在しています 7, 6月に生産終了となった 2024 セキュリティパッチの取得を停止しました. 両方のサービスが同じボックスで実行される場合、いくつかは PHP-FPM に Apache スタイルの TCP ソケットを使用します。, 理由もなく遅延が追加される. このガイドでは最新のデフォルトを使用します: Ubuntu 24.04 LTS, Unixソケット, そして、後で FastCGI キャッシュにきれいにドロップされるサーバー ブロック レイアウト.
The LEMP Stack on Ubuntu 24.04, Component by Component
LEMPは頭字語です, 製品ではありません. 各文字は、インストールして接続する個別のソフトウェアです.
LはLinuxです. Ubuntu 24.04 LTS は最も抵抗の少ないパスです。 2026. 4月までサポートされます 2029, パッケージリポジトリは最新です, ほとんどの VPS プロバイダーはワンクリックイメージとしてそれを提供します. Debian 12 必要に応じて動作します; 以下のコマンドはわずかな調整だけが必要です.
EはNginxです (発音された “エンジン-X”, それがEの由来です). Nginx はイベント駆動型の Web サーバーです. Apache は接続ごとにプロセスまたはスレッドを生成します, トラフィックが急増するまでは正常に動作します. Nginx handles thousands of concurrent connections in a single worker, which is why most modern WordPress hosts default to it.
M is MariaDB or MySQL. WordPress doesn’t care which one you use as long as the version is high enough. WordPress 6.7 ニーズ MariaDB 10.6+ or MySQL 8.0+. Ubuntu 24.04 ships MariaDB 10.11 LTS, which is supported until 2028. We’ll use MariaDB throughout.
P is PHP. WordPress 6.7 PHPをサポート 8.1 を通して 8.4. Ubuntu 24.04 船 PHP 8.3 デフォルトとして, the active-support version through late 2026. PHP-FPM (FastCGI プロセス マネージャー) is the piece that actually runs your PHP code; Nginx hands requests off to it via a Unix socket.
If you’re new to this whole layer of the stack, our overview of NGINX ホスティングプロバイダー covers the differences between Apache and Nginx in more depth, plus which budget hosts let you run a real Nginx setup vs. just renaming Apache.
Before You Run a Single Command
You need four things in place. Skipping any of them turns a 10-minute install into a 2-hour debug session.
- 新しい Ubuntu 24.04 VPS. 最小 1 vCPU と 1 趣味のサイト用の GB RAM, 2 WooCommerce または重いページビルダーを実行する場合は GB. 月額 4 ドルの Hetzner CX22 から Hostinger KVM まで何でも 2 します. 私たちの WordPress VPS ホスティング ガイド 実際のオプションを比較します.
- root または sudo ユーザーとしての SSH アクセス. ほとんどのプロバイダーは、プロビジョニング後に root 資格情報を電子メールで送信します。. マネージド VPS を購入した場合, 私たちの記事をご覧ください マネージド vs. 管理されていない VPS 続行する前に; 管理プランでは、多くの場合、このインストール全体が自動的に行われます.
- サーバーのIPを指すドメイン名. レジストラで A レコードを追加します, それから待ってください 5 に 15 DNS が伝播するまでの分. これが解決されるまで SSL は発行されません.
- ポート 22, 80, と 443 開ける. VPS プロバイダーがクラウド ファイアウォールを提供している場合 (ヘッツナー, Vultr, DigitalOcean はすべてそうします), そこでも 3 つのポートを開いてください, UFWに限らず.
その4つを手に入れました? 端末を開きます, SSH接続, そして始めましょう.
ステップ 1: Update Ubuntu and Lock Down SSH
何かをインストールする前に必ずパッチを適用してください. デフォルトの Ubuntu イメージは通常、セキュリティ更新が数週間遅れています.
sudo apt update && sudo apt upgrade -ysudo apt install -y ufw fail2ban unattended-upgrades
UFW (シンプルなファイアウォール) iptables の Ubuntu のラッパーです. 最初に SSH ポートを開いた状態で有効にします, そうしないと自分自身が締め出されてしまいます.
sudo ufw allow OpenSSHsudo ufw enable
標準以外の SSH ポートを使用している場合, 交換 OpenSSH と 2222/tcp またはあなたが設定したものは何でも. 2 番目のウィンドウで SSH がまだ動作していることを確認するまで、再起動したりターミナルを閉じたりしないでください。.
ステップ 2: Install Nginx and Open the Firewall
Nginx はデフォルトの Ubuntu リポジトリにあります. 1つのコマンド:
sudo apt install -y nginxsudo ufw allow 'Nginx Full'
それか Nginx Full プロファイルは両方を開きます 80 と 443. ブラウザでサーバーの IP にアクセスすると、デフォルトの IP アドレスが表示されるはずです。 nginx へようこそ! ページ. 読み込まれない場合, VPS プロバイダーのクラウド ファイアウォールを確認してください (UFWとは異なるレイヤー).
Nginx が現在起動しており、再起動後も起動したままであることを確認します:
sudo systemctl status nginxsudo systemctl enable nginx
ステップ 3: Install MariaDB and Secure It
MariaDB 10.11 LTS は Ubuntu にあります 24.04 リポジトリ. WordPress 6.7 の最小バージョンは次のとおりです 10.6, だから私たちは床の上にいます.
sudo apt install -y mariadb-serversudo mysql_secure_installation
インタラクティブな mysql_secure_installation スクリプトは一連の質問をします. 新規インストールの正しい答え:
- 現在の root パスワードを入力してください: Enterを押すだけです (まだありません).
- unix_socket 認証に切り替える: Y.
- rootパスワードを変更する: Y, そして強いものを選んでください.
- 匿名ユーザーを削除する: Y.
- ルートログインをリモートで禁止する: Y.
- テストデータベースを削除する: Y.
- 権限テーブルのリロード: Y.
これらのいずれかをスキップすると、実際の攻撃ベクトルが開いたままになります. リモート root ログインが最も重要です: MariaDB ポートが誤って公開された場合, オープンな root ログインは数分で他人のデータベースになります.
ステップ 4: PHPをインストールする 8.3 およびPHP-FPM
WordPress には PHP といくつかの拡張機能が必要です. 一発でインストールします:
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-imagick php8.3-intl php8.3-bcmath php8.3-opcache
このバンドルは WordPress コアをカバーします, メディアライブラリの画像処理 (イマジック + gd), 英語以外のサイト向けの i18n 機能 (国際 + mbstring), コンパイルされたバイトコードのキャッシュ用の OPcache. スキップ php8.3-imagick 画像は絶対にアップロードしないと確信している場合にのみ.
サニティチェック PHP-FPM:
sudo systemctl status php8.3-fpm
デフォルトではリッスンします /run/php/php8.3-fpm.sock. これは、Nginx が Step で参照するパスです 7. 複数の PHP バージョンを並行して実行しない限り、変更は必要ありません.
ステップ 5: Create the WordPress Database
WordPress には独自のデータベースと専用のユーザーが必要です. MariaDB root アカウントを使用しないでください; 侵害された 1 つのプラグインが完全なデータベース ルートと等しくないようにする.
sudo mariadb
これで MariaDB シェルに入りました. これらの行を実行します, 交換する strongpasswordhere パスワードマネージャーが生成したもの:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'strongpasswordhere';GRANT ALL ON wordpress.* TO 'wpuser'@'localhost';FLUSH PRIVILEGES;EXIT;
The utf8mb4 文字セットが重要. WordPress 絵文字のサポート, 完全なアジア言語文字, 最新のテキスト処理はすべて utf8mb4 を前提としています。. 年上の人 utf8 MySQL の charset は絵文字をサイレントに破壊する 3 バイトのトラップです.
ステップ 6: WordPressをダウンロード
ここで 2 つのオプション. 楽だと思う方を選んでください.
オプションA: カール + タール. 最速, 追加のソフトウェアはありません:
cd /tmp && curl -O https://wordpress.org/latest.tar.gztar -xzf latest.tar.gzsudo mv wordpress /var/www/yoursite.comsudo chown -R www-data:www-data /var/www/yoursite.comsudo find /var/www/yoursite.com -type d -exec chmod 755 {} \;sudo find /var/www/yoursite.com -type f -exec chmod 644 {} \;
オプション B: WP-CLI. もう少しセットアップ, ただし、その後はすべての WordPress タスクが高速化されます (テーマのインストール, プラグインのアップデート, ソルトローテーション, データベースの検索と置換).
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.pharchmod +x wp-cli.phar && sudo mv wp-cli.phar /usr/local/bin/wpsudo -u www-data wp core download --path=/var/www/yoursite.com
どうして www-data? これは、Nginx と PHP-FPM が Ubuntu 上でデフォルトで実行されるものです. そのユーザーが所有するファイル, ディレクトリあり 755 とファイル 644, 標準の安全なパターンです. 避ける 777, これまで, どこでも; これは古典的な共有ホスティングの習慣であり、VPS には当てはまりません.
ステップ 7: Configure the Nginx Server Block
新しいサーバーブロックファイルを作成する:
sudo nano /etc/nginx/sites-available/yoursite.com
これを貼り付けます, 交換する yoursite.com 実際のドメインで:
server {listen 80;server_name yoursite.com www.yoursite.com;root /var/www/yoursite.com;index index.php index.html;location / { try_files $uri $uri/ /index.php?$args; }location ~ \.php$ {include snippets/fastcgi-php.conf;fastcgi_pass unix:/run/php/php8.3-fpm.sock;}location ~ /\.ht { deny all; }location = /xmlrpc.php { deny all; }}
注目すべき2作品. The try_files ディレクティブはWordPressのパーマリンクを機能させるものです; それなしで, ホームページ以外のものは、 404. The xmlrpc.php deny all line は、もうほとんど WordPress サイトが使用していない悪名高いブルートフォース攻撃ベクトルをブロックします (Jetpack といくつかの従来のモバイル アプリでは依然としてそれが必要です; どちらかに依存している場合, その行をコメントアウトする).
サイトを有効にする, デフォルトを無効にする, そしてリロードしてください:
sudo ln -s /etc/nginx/sites-available/yoursite.com /etc/nginx/sites-enabled/sudo rm /etc/nginx/sites-enabled/defaultsudo nginx -tsudo systemctl reload nginx
The nginx -t ステップが重要. リロード前に設定を検証します, これにより、タイプミスによって実行中のサーバーが壊れるのを防ぐことができます。.
ステップ 8: Edit wp-config.php
WordPress にはサンプル構成ファイルが同梱されているので、コピーして編集します:
cd /var/www/yoursite.comsudo cp wp-config-sample.php wp-config.phpsudo nano wp-config.php
上部近くのデータベースセクションを見つけて、ステップで設定した内容を入力します 5:
define( 'DB_NAME', 'wordpress' );define( 'DB_USER', 'wpuser' );define( 'DB_PASSWORD', 'strongpasswordhere' );define( 'DB_HOST', 'localhost' );
さて、塩. 訪問 https://api.wordpress.org/secret-key/1.1/salt/ ブラウザで. ページはランダムに生成された 8 行を返します。 (AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, プラスそれにマッチする塩). のプレースホルダー ブロックを置き換えます wp-config.php ページが生成したもの. インストールごとに新しいランダム値が追加される, 例外はありません.
ファイルを保存します. StepでWP-CLIを使用した場合 6, 手動編集を完全にスキップするには、 sudo -u www-data wp config create --dbname=wordpress --dbuser=wpuser --dbpass=strongpasswordhere; 新鮮な塩を自動的に引き出します.
ステップ 9: Run the Browser Installer
ブラウザでドメインを開きます. WordPress が未構成のインストールを検出し、言語ピッカーを表示します. そこから:
- 言語を選択してください. 「続行」をクリックします.
- サイトタイトル, 管理者ユーザー名 (選ばないでください “管理者”; ボットがそれをターゲットにする), 強力なパスワード, あなたのメールアドレス.
- カチカチ 検索エンジンを阻止する サイトがまだトラフィックを受け入れる準備ができていない場合.
- 「WordPress のインストール」をクリックします.
が表示されるはずです。 “成功!” スクリーンイン 5 に 10 秒. ログイン. 独自の LEMP スタックにセルフホスト型 WordPress をインストールしています. この時点からのユーザー向けプロセス全体は、他の WordPress インストールと同じです。.
Add HTTPS with Let’s Encrypt (Five More Minutes)
HTTP のみの WordPress 2026 壊れています. ブラウザが訪問者に警告する, WordPress ログインフォームから認証情報が平文で漏洩する, そしてGoogleはそのサイトのランクを下げる. Certbot は 3 つすべてを無料で修正します.
sudo apt install -y certbot python3-certbot-nginxsudo certbot --nginx -d yoursite.com -d www.yoursite.com
Certbot は Nginx サーバー ブロックを適切な場所に書き換えます, 追加 443 リスナーと証明書のパス. また、すべての HTTP トラフィックを HTTPS にリダイレクトすることもできます。; はいと言います. 更新は systemd タイマーによって 1 日 2 回自動的に実行されます. 何か問題が発生した場合はメールが届きます.
で確認してください:
sudo certbot renew --dry-run
Speed Tier: FastCGI Cache, OPcache, レディス
バニラの LEMP インストールはすでに 90% 共有ホスティングの. 管理された WordPress ホストが自慢する応答速度が必要な場合 (最初のバイトまでの時間は 100 ミリ秒未満), さらに 3 つのレイヤーがそこに到達します.
OPcache PHP ファイルをバイトコードにコンパイルし、結果をメモリに保持します. It’s already installed (we added php8.3-opcache in Step 4). Default settings work fine; raising opcache.memory_consumption に 256 の /etc/php/8.3/fpm/php.ini helps if you run lots of plugins.
Nginx FastCGI cache stores the entire rendered HTML page in Nginx’s memory and serves repeat requests without ever touching PHP or MariaDB. Independent benchmarks show response times dropping from 200 に 500 ms on plugin caches down to roughly 40 ms on FastCGI cache. The trade-off is configuration complexity and the need to bypass cache for logged-in users, wp-admin, and any cart/checkout pages. Pair it with the free Nginx Helper plugin from WordPress.org so cache purges happen automatically when you publish a post.
Redis オブジェクト キャッシュ handles the database query layer. Repeat queries (option lookups, transients, user metadata) get cached in RAM instead of hitting MariaDB. This is the layer that matters most for WooCommerce, BuddyPress, and any membership site where pages can’t be statically cached.
If managing all three feels like too much, 私たちのまとめ クラウドWordPressホスティング options covers managed providers that ship these layers preconfigured.
Hardening Beyond the Defaults
Your install is now safer than most shared hosting, but it isn’t done. A short list of high-impact additions:
- Configure fail2ban for WordPress. You installed fail2ban back in Step 1. Add a jail that watches Nginx access logs for repeated 401s on
wp-login.phpand bans the offending IP for 24 時間. - Disable file editing in admin. 追加
define( 'DISALLOW_FILE_EDIT', true );にwp-config.php. This stops a compromised admin account from editing PHP files through the dashboard. - Move wp-config.php one level up. WordPress automatically looks one directory above the install root for
wp-config.php. Moving it to/var/www/の代わりに/var/www/yoursite.com/puts the database credentials outside the document root entirely. - Limit the admin login surface. WPS Hide Login などのプラグインを使用して URL を変更するか、, または制限する
wp-adminNginx 経由でオフィスの IP に送信 (allow x.x.x.x; deny all;の中にlocation /wp-adminブロック). - すべての管理者に対する 2 要素認証. Wordfence または Two-Factor プラグインは両方とも機能します. ブルートフォース攻撃は TOTP コードに対して無関係になる.
Automate Backups Before You Forget
LEMP スタックは、バックアップという意味では正確に 2 つのものです。: the /var/www/yoursite.com ディレクトリと wordpress データベース. 両方をバックアップしてください, スケジュール通りに, このサーバー上ではないどこかへ.
最も単純なパス: 無料の UpdraftPlus S3を指すプラグイン, グーグルドライブ, またはバックブレイズB2. スケジュールをデータベースの場合は毎日、ファイルの場合は毎週に設定します, 保持 14 に 30 日々, 終わり.
コマンドラインネイティブのままでいたい場合, を使用した 5 行の cron ジョブ mysqldump + tar + rclone ほぼ同等であり、プラグインを使用しません. どちらにしても, バックアップを四半期に 1 回復元テストする; 未検証のバックアップは単なる楽観論にすぎません.
Troubleshooting Common Errors
502 Bad Gateway
Nginx が PHP-FPM にアクセスできない. 通常、PHP-FPM が実行されていないことを意味します, サーバーブロック内のソケットパスが間違っています, またはソケットファイルの権限がオフになっています. で確認してください sudo systemctl status php8.3-fpm 最初. 実行中の場合, ソケット パスが Nginx が期待するものと一致することを確認します (デフォルトは /run/php/php8.3-fpm.sock).
データベース接続の確立中にエラーが発生しました
君の wp-config.php 認証情報が MariaDB で設定したものと一致しません. 再確認 DB_NAME, DB_USER, DB_PASSWORD. 認証情報を直接テストする: mariadb -u wpuser -p wordpress. 認証エラーで失敗した場合, のパスワード wp-config.php 間違っています, または、ユーザーにそのデータベースに対する権限が付与されていませんでした.
WordPress permalinks return 404
ない try_files $uri $uri/ /index.php?$args; あなたのNginxで location / ブロック. 追加してください, 走る sudo nginx -t, 次にNginxをリロードします. パーマリンクは直後に機能します; プラグインのリセットは必要ありません.
White screen of death after a plugin install
PHP の致命的なエラーがログに記録されているが表示されない. しっぽ /var/log/nginx/error.log と /var/log/php8.3-fpm.log. ダッシュボードにアクセスできない場合, SSH経由で問題のあるプラグインフォルダーの名前を変更します (mv plugin-name plugin-name-disabled) そしてサイトが戻ってくる. そこから, プラグインの PHP バージョン要件を確認してください; 多くの古いプラグインは PHP で壊れます 8.3.
Permission denied when uploading media
The wp-content/uploads ディレクトリは書き込み可能ではありません www-data. 走る sudo chown -R www-data:www-data /var/www/yoursite.com/wp-content そして問題は解決します. 別のユーザーが必要な共有ホスティングを使用している場合, プロバイダーのドキュメントを確認してください; ユーザーはホストによって異なります.
よくある質問
Why use Nginx instead of Apache for WordPress?
Nginx は同時接続をより効率的に処理し、静的ファイルを提供します (CSS, JS, 画像) 少ないRAMでより高速に. で 1 GB VPS, Apache は通常、飽和状態になっています 50 同時ユーザー; Nginx は同じハードウェア上で数百を処理します. Apache は、依存する場合には依然としてその役割を果たします。 .htaccess オーバーライドまたは特定の Apache モジュール. 最新の WordPress インストールの場合, Nginx が正しいデフォルトです.
root アクセスなしで LEMP スタックに WordPress をインストールできますか?
いいえ. Nginxのインストール, PHP-FPM, MariaDB には次のことが必要です sudo 少なくとも. ホスティング プランで cPanel と FTP のみが利用できる場合, 共有ホスティングを使用しているため、LEMP インストールを実行することはできません. root アクセス権のある VPS またはクラウド サーバーが必要です, または、すでに Nginx が実行されているマネージド WordPress ホストに移動します。.
10分のタイミングは本当に維持できるのか?
現実的に, 10分がフロアです, 平均ではない. 新しい Ubuntu を使用する場合 24.04 画像, すでに指定されているドメイン, コマンドはテキストエディタに事前にコピーされています, インストールが実行されます 8 に 12 分. 初めての方は、各ステップを読んで確認することで、 30 に 45 分. 最大の時間シンクは、DNS の伝播と SSL 証明書の要求です。, 一緒に拡張できるのは 20 悪い日の数分.
MariaDB と MySQL は WordPress に適していますか?
どちらでも正常に動作します; ワードプレスは気付かない. MariaDB はオープンソース コミュニティで優位性を持っています, Ubuntuのデフォルトリポジトリに同梱されています, Oracle の所有権に疑問符がついたことは一度もありませんでした. MySQL 8.0 一部の特定の JSON 負荷の高いワークロードでは高速です, WordPress にとってはほとんど重要ではありません. MySQL を使用する本当の理由がない限り、MariaDB を選択してください.
FastCGI キャッシュを実行する場合、CDN は必要ですか??
異なるレイヤー, さまざまな仕事. FastCGI キャッシュによりオリジンサーバーが高速化されます; CDN はキャッシュされたコピーをそこに置きます 200+ シドニーの訪問者がフランクフルトのサーバーから取得しないように都市を設定する. 海外からの訪問者がいるサイトで両方を実行する. Cloudflareの無料プランとFastCGIキャッシュのカバー 95% 月額費用のかからない小規模な WordPress サイト.
同じ LEMP スタックで複数の WordPress サイトをホストできますか?
はい. 各サイトは独自の Nginx サーバー ブロックを取得します (ドメインごとに 1 つのファイル /etc/nginx/sites-available/), MariaDB 内の独自のデータベース, そしてその下の独自のフォルダー /var/www/. PHP-FPM は同じソケットを通じてそれらすべてにサービスを提供します. 実質的な制限は RAM だけです; バジェット 200 に 400 中程度のトラフィックの場合、サイトあたり MB, WooCommerce の詳細.
最後の言葉
LEMP のインストールは簡単です. 実行し続けるのは長期戦です: 毎月の Ubuntu アップデート, 四半期ごとの PHP バージョンチェック, ディスクをいっぱいにしないログローテーション, 実際に検証する証明書の更新. どれも難しいことではありません, しかしそれも無料ではありません. メンテナンス側がやりたくない仕事だと感じたら, our overview of クラウド ホスティング プロバイダー covers managed options where someone else takes care of the OS layer entirely. Self-hosting WordPress on LEMP is a control choice, not a cost choice. Whether the control is worth the maintenance depends on what you’re building and how comfortable you are at the command line.
