Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Installing WordPress on Ubuntu 24.04

2026年09月10日に「Dev.to」が公開したITニュース「Installing WordPress on Ubuntu 24.04」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Ubuntu 24.04サーバーにWordPressを構築する手順を解説。Nginx、MySQL、PHPで構成されるLEMP環境を整え、WordPressをインストールする。これにより、PHPとデータベース連携による動的なWebサイトを自作サーバーで運用できる。

出典: Installing WordPress on Ubuntu 24.04 | Dev.to公開日:

ITニュース解説

WordPressは、ウェブサイトを簡単に作成・管理できる無料のオープンソースソフトウェアで、元々はブログツールとして開発された。今では世界のトップウェブサイトの2割以上で利用されるほどに成長し、PHPというプログラミング言語とMySQLまたはMariaDBというデータベースを使って動いている。この解説では、WordPressを自分のサーバーにインストールして動かす方法を、システムエンジニアを目指す初心者にも分かりやすく説明する。サーバーにはUbuntu 24.04というLinuxベースのOSを使用し、LEMPスタックと呼ばれるLinux、Nginx、MySQL、PHPという主要なソフトウェア群を組み合わせて利用する。最終的には、セキュリティを強化したLEMP環境にWordPressがデプロイされ、動的なウェブサイトを自分のサーバーから運用できるようになる。

まず、作業を始める前の準備として、Ubuntu 24.04がインストールされたサーバー環境が必要だ。このサーバーに、rootではないがsudo権限を持つユーザーとしてアクセスできることが前提となる。もし自分独自のドメイン名(例えば、www.example.com)を使いたい場合は、そのドメインがサーバーのIPアドレスを指すように、DNSプロバイダでAレコードを設定しておく必要がある。

最初のステップは、ウェブサイトのコンテンツをユーザーに届ける役割を果たすNginxという高速なWebサーバーソフトウェアをインストールすることだ。sudo apt install nginx -yコマンドでNginxをインストールし、次にsudo systemctl start nginxでNginxサービスを起動する。サーバーが再起動したときに自動的にNginxが立ち上がるように、sudo systemctl enable nginxで設定を有効化し、最後にsudo systemctl status nginxでNginxが正しく動作していることを確認する。このコマンドの出力で「active (running)」と表示されていれば、Nginxは正常に稼働している。

次に、サーバーのセキュリティを保つために、不要な通信をブロックするファイアウォールを設定する。UbuntuにはUFW(Uncomplicated Firewall)というツールが標準で用意されている。まずsudo ufw statusで現在のファイアウォール状況を確認し、sudo ufw allow "Nginx Full"というコマンドで、HTTP(ウェブサイト閲覧の一般的な通信)とHTTPS(暗号化された安全なウェブサイト閲覧)の両方の通信を許可する設定を行う。設定を反映させるためにsudo ufw reloadを実行し、再度sudo ufw statusで、Nginx Fullというプロファイルが「ALLOW」になっていることを確認すれば、ウェブサイトへのアクセスが許可されるようになる。

WordPressが投稿記事の内容やユーザー情報、設定などを保存するために必要なMySQLデータベースをインストールする。sudo apt install mysql-server -yコマンドでMySQLサーバーをインストールし、mysql --versionでバージョンを確認する。Nginxと同様に、sudo systemctl start mysqlでMySQLサービスを起動し、sudo systemctl enable mysqlで自動起動を有効にする。sudo systemctl status mysqlで「active (running)」を確認した後、sudo mysql_secure_installationというコマンドを実行して、MySQLのセキュリティ設定を強化する。このスクリプトは、パスワードポリシーの設定や不要なユーザーの削除などを対話形式で案内してくれるため、指示に従って設定を進めることが重要だ。

WordPressが使う専用のデータベースを作成する。sudo mysqlコマンドでMySQLのシェルにrootユーザーとしてログインし、CREATE DATABASE wordpressdb;というコマンドでwordpressdbという名前のデータベースを作成する。次に、CREATE USER 'wordpressdbuser'@'localhost' IDENTIFIED BY 'strongpassword';というコマンドで、WordPressがデータベースにアクセスするための専用ユーザーwordpressdbuserを作成し、強力なパスワードを設定する。ここで設定するパスワードは必ず安全なものに置き換える必要がある。その後、GRANT ALL PRIVILEGES ON wordpressdb.* TO 'wordpressdbuser'@'localhost';というコマンドで、先ほど作成したユーザーがwordpressdbデータベースのすべての操作権限を持つように設定する。変更を反映させるためにFLUSH PRIVILEGES;を実行し、SHOW DATABASES;SELECT User, Host FROM mysql.user WHERE User = 'wordpressdbuser';SHOW GRANTS FOR 'wordpressdbuser'@'localhost';といったコマンドで、データベースとユーザー、そしてその権限が正しく設定されたことを確認する。確認が終わったらEXIT;でMySQLシェルを終了する。

WordPressはPHPというプログラミング言語で動いており、データベースとの連携や動的なコンテンツ生成にPHPが必要となる。sudo apt install php php-cli php-common php-imap php-fpm php-snmp php-xml php-zip php-mbstring php-curl php-mysqli php-gd php-intl -yというコマンドで、PHP本体と、WordPressの動作に必要な様々な拡張機能をまとめてインストールする。インストール後、php -vでPHPのバージョンを確認し、sudo systemctl status php8.3-fpm(PHPのバージョンに合わせてコマンドは適宜変更する)でPHP-FPMというサービスが「active (running)」になっていることを確認する。PHP-FPMは、Nginxと連携してPHPスクリプトを効率的に実行するための重要なコンポーネントだ。

いよいよWordPress本体をサーバーに配置する。wget http://wordpress.org/latest.tar.gzコマンドで、WordPressの最新版アーカイブファイルをダウンロードする。次にsudo tar -xvzf latest.tar.gzでダウンロードしたファイルを展開し、sudo mv wordpress/* /var/www/html/コマンドで、展開されたWordPressのファイル群をNginxのWebルートディレクトリである/var/www/html/に移動させる。その後、sudo chown -R www-data:www-data /var/www/htmlで、WordPressのファイルとディレクトリの所有者をNginxが動作するユーザー(www-data)に変更し、ウェブサーバーがこれらのファイルにアクセスできるようにする。/var/www/html/ディレクトリに移動し、sudo rm index.html index.nginx-debian.htmlでNginxのデフォルトのプレースホルダーファイルを削除する。WordPressの設定ファイルはサンプルが用意されているので、sudo mv wp-config-sample.php wp-config.phpでそのサンプルファイルを実際のwp-config.phpとして利用できるようにリネームする。ls -lコマンドで、wp-config.phpwp-login.phpなどのWordPressの主要ファイルが存在することを確認する。

WordPressが先ほど作成したMySQLデータベースに接続できるように、wp-config.phpファイルにデータベースの接続情報を記述する。sudo nano wp-config.phpコマンドでこのファイルを開き、ファイル内にあるdefine( 'DB_NAME', 'wordpressdb' );define( 'DB_USER', 'wordpressdbuser' );define( 'DB_PASSWORD', 'strongpassword' );define( 'DB_HOST', 'localhost' );の行を、以前MySQLで設定したデータベース名、ユーザー名、パスワードにそれぞれ合わせて編集する。DB_HOSTはデータベースが同じサーバーにある場合はlocalhostのままで良い。この設定が正しく行われないと、WordPressはデータベースに接続できず、ウェブサイトを表示できない。

NginxがWordPressのウェブサイトを正しく配信できるように、Nginxのサーバーブロック設定ファイル(ウェブサイトごとの設定ファイル)を編集する。まず、ls /var/run/phpコマンドで、現在アクティブなPHP-FPMのソケットファイル名(例えばphp8.3-fpm.sockなど)を確認する。この情報は後でNginxの設定に必要となる。次に、sudo nano /etc/nginx/sites-available/defaultコマンドでNginxのデフォルト設定ファイルを開き、その内容をWordPress用に書き換える。この設定では、server_nameに自分のドメイン名(またはサーバーのIPアドレス)を指定し、rootをWordPressのファイルが置かれている/var/www/htmlに設定する。特に重要なのは、PHPのリクエストをPHP-FPMソケットに転送するfastcgi_pass unix:/var/run/php/php8.3-fpm.sock;の行で、ここで先ほど確認したPHP-FPMのソケットファイル名を正確に記述する必要がある。設定ファイルの編集が完了したら、sudo nginx -tコマンドでNginxの設定ファイルに文法エラーがないかをテストする。syntax is oktest is successfulのメッセージが表示されれば問題ない。最後に、sudo systemctl restart nginxコマンドでNginxサービスを再起動し、新しい設定を反映させる。

すべての設定が完了したら、ウェブブラウザを開き、http://www.example.com(自分のドメイン名またはサーバーのIPアドレス)にアクセスする。WordPressの初期設定画面が表示されるはずだ。画面の指示に従って、使用言語を選択し、「サイトのタイトル」「ユーザー名」「パスワード」「メールアドレス」などの必要な情報を入力し、「WordPressをインストール」ボタンをクリックする。インストールが完了したら、先ほど設定したユーザー名とパスワードでWordPressの管理画面(ダッシュボード)にログインできる。これで、自分のサーバー上でWordPressのウェブサイトをカスタマイズし、コンテンツを作成する準備が整った。

WordPressサイトを公開し運用する上で、さらにいくつかの重要なステップがある。セキュリティ強化のために、SSL証明書をインストールし、すべてのHTTPトラフィックをHTTPSにリダイレクトすることが不可欠だ。これにはCertbotなどのツールが利用できる。また、定期的なウェブサイトファイルとMySQLデータベースのバックアップを設定することで、万が一のデータ損失に備えることができる。ウェブサイトのパフォーマンスとセキュリティを向上させるためには、キャッシングプラグインやセキュリティプラグインの導入も推奨される。もしサイトが大きく成長し、メディアのアップロード量が増えるようであれば、CDN(Contents Delivery Network)やオブジェクトストレージサービスとの連携も検討すると良いだろう。

関連コンテンツ

関連IT用語