ウェブサイト検索

Ubuntu 24.04サーバーにNginxを使ってJoomlaをインストールする方法


Ubuntu 24.04サーバーにNginxを使ってJoomlaをインストールする方法

このチュートリアルはこれらのOSバージョンのために存在します

  • Ubuntu 24.04 (ノーブル・ナンバット)
  • Ubuntu 20.04 (フォーカルフォッサ)

このページで

  1. 前提条件
  2. 依存関係をインストール中
  3. PHP-FPMの設定
  4. MariaDBサーバーの設定
  5. Joomlaのソースコードをダウンロードしています
  6. Nginxサーバーブロックの設定
  7. HTTPSでJoomlaを保護する
  8. Joomlaのインストール
  9. 結論

Joomlaは、ウェブサイトやオンライン出版物を構築するための柔軟でオープンソースのコンテンツ管理システムです。PHPによって動作し、フォーラム、写真ギャラリー、eコマース、その他のウェブベースのアプリケーションなど、さまざまなシナリオで使用できます。

このガイドでは、Ubuntu 24.04 サーバーに Joomla をインストールする方法を示します。Joomla はウェブサーバーとして Nginx、データベースサーバーとして MariaDB、および PHP-FPM を使用して実行します。また、Joomla を HTTPS で保護します。

前提条件

このガイドを完成させるためには、以下のものを用意してください:

  • Ubuntu 24.04サーバー。
  • 管理者権限を持つ非ルートユーザー。
  • ドメイン名はサーバーのIPアドレスにポイントされています。

依存関係をインストール中

JoomlaはPHPベースのコンテンツ管理システムです。それをインストールするには、システムにPHPをインストールする必要があります。このセクションでは、Joomlaの依存関係としてLEMPスタック(Linux、Nginx、MariaDB、PHP-FPM)をインストールします。

まず、以下のコマンドを実行してUbuntuのパッケージインデックスを更新します。

sudo apt update

次のコマンドでLEMPスタックの依存関係をインストールします。インストールを確認するには'Y'と入力してください。

sudo apt install nginx mariadb-server php-fpm php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip

インストールが完了したら、以下のコマンドでNginxサービスのステータスを確認してください:

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Nginxサービスが実行中であることがわかります。

次に、以下のコマンドを使用してMariaDBサービスが実行中であり、無効になっていないことを確認してください。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

最後に、次のコマンドを実行してPHP-FPMサービスを確認します。PHP-FPMはデフォルトでソックファイル上で実行されているはずです。

sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm

PHP-FPMの設定

LEMPスタックがインストールされたので、PHP-FPMのインストールを設定し、Joomlaに必要なデフォルト設定をいくつか変更します。

「nano」エディタでPHP-FPM設定「/etc/php/8.3/fpm/php.ini」を開いてください。

sudo nano /etc/php/8.3/fpm/php.ini

次の設定でデフォルト構成を変更します:

memory_limit=512M
upload_max_filesize=64M
post_max_size=64M
max_execution_time=120
output_buffering = Off
extension=intl

ファイルを保存してエディタを終了してください。

変更を適用するために、PHP-FPMサービスを再起動してください。

sudo systemctl restart php8.3-fpm

最後に、以下のコマンドでPHP-FPMサービスのPHPソックファイルを確認できます。

ss -pl | grep php

以下に示すように、PHP-FPMのソックファイルは「/var/run/php/php8.3-fpm.sock」にあります。

MariaDBサーバーの設定

このセクションでは、MariaDBサーバーのインストールをセキュアにし、その後Joomlaのために新しいデータベースとユーザーを作成します。MariaDBサーバーをセキュアにするために'mariadb-secure-installation'を使用し、その後'mariadb'クライアントを通じて新しいデータベースとユーザーを作成します。

MariaDBサーバーを安全に保つために、以下の<em>mariab-secure-installation</em>コマンドを実行してください。

sudo mariadb-secure-installation

これから、以下の内容でMariaDBサーバーを設定するよう求められます:

  • デフォルトのMariaDBサーバーインストールでルートパスワードがない場合は、パスワードを尋ねられたときにENTERを押してください。
  • MariaDBのrootユーザーに対するローカル認証はデフォルトで保護されています。認証方式を'unix_socket'に変更するよう求められたら、'n'と入力してください。
  • 新しいMariaDBのrootパスワードを作成するには「Y」を入力してください。次に、MariaDBのrootユーザーの強力なパスワードを入力し、繰り返してください。
  • MariaDBのルートユーザーのリモート認証を無効にするよう求められた場合は、同意するには「Y」を入力してください。
  • デフォルトのMariaDBサーバーインストールには、データベース「test」が含まれており、匿名ユーザーがアクセスできるようになっています。
  • 両方の設定に対してデフォルトのデータベース「test」を削除し、匿名特権を削除するには「Y」を入力してください。
  • 最後に、テーブルの権限をリロードすることを確認するには「Y」を入力してください。

MariaDBがセキュリティで保護されたら、Joomla用の新しいデータベースとユーザーを作成します。

以下の'mariadb'コマンドを使用してMariaDBサーバーにログインします。プロンプトが表示されたら、MariaDBのルートパスワードを入力してください。

sudo mariadb -u root -p

次に、新しいデータベース「joomladb」と、新しいユーザー「joomla」をパスワード「p4ssword」で作成するために、以下のクエリを実行してください。

CREATE DATABASE joomladb;
CREATE USER joomla@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON joomladb.* TO joomla@localhost;
FLUSH PRIVILEGES;

次に、以下のクエリを実行してユーザー'joomla'の権限を確認します。'joomla'ユーザーがデータベース'joomladb'にアクセスできることが分かります。

SHOW GRANTS FOR joomla@localhost;

最後に、「quit」と入力してMariaDBサーバーを終了します。

Joomlaのソースコードをダウンロードしています

この時点で、Joomlaの依存関係をインストールおよび設定しました。次に、Joomlaのソースコードをダウンロードし、Joomlaのインストールのためのドキュメントルート/ウェブルートディレクトリを設定します。

「/var/www」ディレクトリに移動し、以下の「wget」コマンドを使用してJoomlaのソースコードをダウンロードします。Joomlaのダウンロードページを確認し、最新バージョンのリンクを取得してください。

cd /var/www/
wget https://downloads.joomla.org/cms/joomla5/5-1-4/Joomla_5-1-4-Stable-Full_Package.zip

以下の「unzip」コマンドを実行して、Joomlaのソースコードを「joomla」ディレクトリに抽出してください。

unzip Joomla_5-1-4-Stable-Full_Package.zip -d joomla

最後に、以下の 'chmod' コマンドを実行して、'/var/www/joomla' ディレクトリの所有権をユーザー 'www-data' に変更します。

sudo chown -R www-data:www-data /var/www/joomla

Nginxサーバーブロックの設定

さて、Joomlaを実行するための新しいNginxサーバーブロック構成を作成します。したがって、ドメイン名が用意されていて、サーバーのIPアドレスを指していることを確認してください。

新しいNginxサーバーファイル「/etc/nginx/sites-available/joomla」を次の「nano」エディタで作成します。

sudo nano /etc/nginx/sites-available/joomla

以下の設定を挿入し、'server_name'オプションをあなたのドメイン名に変更してください。

server {
listen 80;
server_name howtoforge.local;
server_name_in_redirect off;
access_log /var/log/nginx/localhost.access_log;
error_log /var/log/nginx/localhost.error_log info;
root /var/www/joomla;
index index.php index.html index.htm default.html default.htm;
Support API
location /api/ {
try_files $uri $uri/ /api/index.php?$args;
}
Support Clean (aka Search Engine Friendly) URLs
location / {
try_files $uri $uri/ /index.php?$args;
}
add global x-content-type-options header
add_header X-Content-Type-Options nosniff;
deny running scripts inside writable directories
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi.conf;
}
caching of files
location ~* \.(ico|pdf|flv)$ {
expires 1y;
}
location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 14d;
}
}

ファイルを保存してエディタを終了してください。

以下のコマンドを実行して、'joomla'サーバーブロックを有効にし、Nginxの設定を確認してください。正しいNginxの設定がされていれば、'構文はOKです'という出力が表示されます。

sudo ln -s /etc/nginx/sites-available/joomla /etc/nginx/sites-enabled/
sudo nginx -t

最後に、次の「systemctl」コマンドを実行してNginxサービスを再起動し、変更を適用します。

sudo systemctl restart nginx

HTTPSでJoomlaを保護する

このガイドでは、JoomlaをHTTPSで保護します。パブリックドメインを使用している場合は、CertbotとLetsencryptを介してSSL/TLS証明書を使用してJoomlaを保護できます。

以下の'apt'コマンドを使用して'Certbot'とCertbot Nginxプラグインをインストールします。インストールを確認するには'Y'を入力してください。

sudo apt install certbot python3-certbot-nginx

インストールが完了したら、以下の'certbot'コマンドを実行してSSL/TLS証明書を生成し、JoomlaのインストールをHTTPSで保護します。ドメイン名とメールアドレスを自分の情報に変更することを忘れないでください。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email  -d howtoforge.local

完了すると、あなたのJoomlaインストールはLetsencryptからのSSL/TLS証明書を通じてHTTPSで保護されます。

Joomlaのインストール

ウェブブラウザを開き、https://howtoforge.local/ のようなJoomlaのドメイン名にアクセスします。Joomlaのインストールウィザードが表示されます。

デフォルト言語を選択し、サイト名を入力してください。

新しい管理ユーザー、メールアドレス、およびJoomlaのパスワードを入力してください。

MariaDBデータベースとユーザーの詳細を入力し、次に「Joomlaをインストール」をクリックしてインストールを進めてください。

インストールが完了したら、「サイトを開く」をクリックしてデフォルトのホームページを開くか、「管理者を開く」をクリックしてJoomla管理ダッシュボードにアクセスします。

デフォルトのJoomlaホームページでは、以下が表示されます。

今すぐ管理者ユーザー名とパスワードを入力し、'ログイン'をクリックしてください。

正しいユーザー名とパスワードを入力すれば、次のJoomla管理ダッシュボードが表示されます。

結論

おめでとうございます!あなたはUbuntu 24.04サーバーにJoomlaをインストールしました。Nginxウェブサーバー、MariaDBデータベースサーバー、PHP-FPMでJoomlaが動作しています。また、CertbotとLetsencryptを通じてJoomlaをHTTPSで保護しました。

関連記事: