ウェブサイト検索

Debian 12 に Joomla をインストールする方法


Debian 12 に Joomla をインストールする方法

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

  • Debian 12 (ブックワーム)
  • Debian 10 (バスター)
  • Debian 9(ストレッチ)

このページで

  1. 前提条件
  2. 依存関係のインストール
  3. UFWの設定
  4. PHPの設定
  5. MariaDBの設定
  6. Joomla CMSをダウンロード中
  7. Apache2のバーチャルホストの設定
  8. SSL/TLS証明書を使用してJoomlaを保護する
  9. ウェブインストーラーを使用してJoomlaをインストールする
  10. 結論

Joomla CMSは、ウェブサイトやオンラインアプリケーションを構築するためのオープンソースのコンテンツ管理システムです。ユーザーフレンドリーな機能と拡張性を提供し、誰でも無料で利用できます。PHPに基づいており、フォーラム、フォトギャラリー、eコマース、およびさまざまなWebベースのアプリケーションなど、複数のシナリオで使用できます。

このガイドでは、Debian 12 サーバーに Joomla CMS をインストールする方法について説明します。LAMP スタック(Apache、MariaDB、PHP)を使用して Joomla をインストールし、UFW(Uncomplicated Firewall)と Letsencrypt の SSL を使ってインストールを保護します。

前提条件

このガイドに入る前に、次のものを用意してください:

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

依存関係のインストール

Joomlaは、PHPとMySQLデータベースに基づいたオープンソースのCMSです。インストールするには、必要な依存関係がインストールされていることを確認してください。

それでは、LAMPスタックと、Joomlaが使用するUFWやCertbotなどの追加依存関係をインストールします。

以下のaptコマンドを実行して、Debianリポジトリを更新してください。

sudo apt update

次に、以下のaptコマンドを使用してJoomlaの依存関係をインストールします。これにより、LAMPスタックパッケージ、UFW、Certbot、およびunzipユーティリティがインストールされます。

sudo apt install apache2 mariadb-server php php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip ufw certbot python3-certbot-apache unzip

Yを入力してENTERを押してインストールを確認してください。

インストールが完了したら、Debianサーバー上でApache2とMariaDBの両方が実行されていて、かつ有効になっていることを確認してください。

以下のコマンドを使用して、apache2サービスが実行中で有効であることを確認してください。

sudo systemctl is-enabled apache2
sudo systemctl status apache2

最後に、以下のコマンドを使ってmariadbサービスを確認してください。mariadbサービスが有効で、ステータスがアクティブ(実行中)であることが確認できるはずです。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

UFWの設定

この例では、UFW(Uncomplicated Firewall)が実行され、有効になっている状態でJoomlaを実行します。その場合、SSH、HTTP、およびHTTPSポートをUFWに追加することを忘れないでください。

まず、以下のコマンドを実行してアプリケーションプロファイルOpenSSHとWWW Fullを有効にします。OpenSSHプロファイルはデフォルトのSSHポート22を開き、WWW FullプロファイルはHTTPポート80とHTTPSポート443の両方を開きます。

sudo ufw allow OpenSSH
sudo ufw allow 'WWW Full'

次に、以下のコマンドを実行してUFWを有効にします。プロセスを確認するためにyと入力してください。

sudo ufw enable

システムの起動時に「ファイアウォールがアクティブで有効です」というメッセージが表示されるはずです。これにより、UFWが実行中であり、Debianマシンで有効になっていることが確認できます。

以下のコマンドを使用してuFWを確認してください。OpenSSHおよびWWW FullプロファイルがUFW有効ルールに存在することを確認してください。

sudo ufw status

PHPの設定

UFWを設定した後、次のステップはJoomlaインストール用にPHPを設定することです。

Joomlaには、php.iniファイルに以下の構成が必要です:

  • メモリ制限: 256M
  • アップロード最大ファイルサイズ: 32M
  • post_max_size: 32M
  • 最大実行時間: 30

以下のnanoエディタコマンドを使って'/etc/php/8.2/apache2/php.ini'ファイルを開いてください。

sudo nano /etc/php/8.2/apache2/php.ini

php.iniのデフォルト設定を以下のように変更してください。memory_limitオプションは、システムの現在のメモリに合わせて調整することを忘れないでください。

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

作業が完了したら、ファイルを保存して閉じてください。

以下のコマンドを実行して、apache2サービスを再起動し、PHPへの変更を適用してください。

sudo systemctl restart apache2

MariaDBの設定

次のセクションでは、'mariadb-secure-installation'ツールを使用してMariaDBサーバーのセットアップとセキュリティを確保します。その後、MySQL/MariaDBクライアントを介してJoomla用の新しいデータベースとユーザーを作成します。

以下の<em>mariadb-server-installation</em>コマンドを実行して、MariaDBサーバーのインストールを安全にしましょう。

sudo mariadb-secure-installation

新しい設定を実装するにはYと入力してください。拒否する場合はNと入力してください。以下は、設定するMariaDBサーバーのいくつかの設定です:

  • デフォルトのMariaDBインストールはパスワードなしで提供されます。パスワードの入力を求められたらENTERを押してください。
  • 今、Yを入力してMariaDBのルートパスワードを設定します。次に、MariaDBの新しいパスワードを入力し、パスワードを繰り返してください。
  • Yを入力して、MariaDBインストールから匿名ユーザーを削除します。
  • MariaDBのrootユーザーのリモートログインを無効にするように指示されたら、もう一度Yを入力してください。
  • Yを入力して、MariaDBからデフォルトのデータベースtestを削除してください。
  • 最後に、Yを入力してテーブルの権限を再読み込みし、新しい変更を適用します。

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;

次に、MariaDBユーザーjoomla@localhostの特権を確認するために、以下のクエリを実行します。

SHOW GRANTS FOR joomla@localhost;

次のようにして、joomla@localhost ユーザーがデータベース joomladb にアクセスできることを確認してください。

quitと入力してMariaDBサーバーから退出し、次のステップに進んでください。

Joomla CMSをダウンロード中

次のセクションでは、最新のJoomlaをダウンロードし、Joomlaのソースコードの適切な権限と所有権を設定します。

この時点で、Joomlaの最新バージョンはv5.0.1です。Joomlaのダウンロードページを確認して、最新バージョンを取得してください。

/var/wwwディレクトリに移動し、以下のwgetコマンドを使用してJoomlaをダウンロードします。

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

ダウンロードが完了したら、以下の解凍コマンドを使用してJoomlaのソースコードをjoomlaディレクトリに展開してください。これにより、Joomlaのインストールディレクトリは/var/www/joomlaに配置されます。

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

/var/www/joomla ディレクトリの所有権をユーザー www-data とグループ www-data に変更してください。

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

Apache2のバーチャルホストの設定

次のステップでは、Joomlaを実行するために新しいApache仮想ホストの設定を作成します。ドメイン名が準備できていて、サーバーのIPアドレスを指していることを確認してください。ここでは、howtoforge.localを使用します。

まず、次のnanoエディタコマンドを実行して新しい仮想ホスト構成'/etc/apache2/sites-available/joomla.conf'を作成します。

sudo nano /etc/apache2/sites-available/joomla.conf

次の設定を挿入し、domain name howtoforge.localをあなたのドメインに変更することを確認してください。

<VirtualHost *:80>
    ServerAdmin [email 
    ServerName howtoforge.local
    DocumentRoot /var/www/joomla
    <Directory /var/www/joomla/>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/howtoforge.local_error.log
    CustomLog ${APACHE_LOG_DIR}/howtoforge.local_access.log combined
</VirtualHost>

作業が完了したら、ファイルを保存してエディタを終了してください。

次に、以下のコマンドを実行して、仮想ホストファイル joomla.conf を有効にし、Apache の構文を確認します。

sudo a2ensite joomla.conf
sudo apachectl configtest

Apache構文にエラーがなければ、出力として「構文OK」が表示されます。

次に、以下のsystemctlコマンドを使用してApache2を再起動し、新しい仮想ホストファイルjoomla.confを適用します。

sudo systemctl restart apache2

SSL/TLS証明書を使用してJoomlaを保護する

この時点で、あなたのJoomlaのインストールは動作しています。しかし、あなたのJoomlaのインストールが安全であることを保証するために、CertbotとLetsencryptを使用してHTTPSを導入します。

最初のステップでは、certbotとpython3-certbot-apacheプラグインの両方をインストールしました。

次に、以下の certbot コマンドを実行して、あなたのドメイン名のために SSL/TLS 証明書を生成してください。メールアドレスとドメイン名の詳細をあなたの情報に変更することを忘れないでください。

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

プロセスが完了すると、Joomlaのインストールは自動的にHTTPSで構成されるはずです。そして、あなたのSSL証明書は/etc/letsencrypt/live/yourdomain.comディレクトリにあります。

ウェブインストーラーを使用してJoomlaをインストールする

ウェブブラウザを開き、あなたのJoomlaインストールのドメイン名(例えば、https://howtoforge.local/)にアクセスしてください。Joomlaのウェブインストーラーページが表示されます。

デフォルト言語を選択し、Joomla インストールのサイト名を入力します。次に、Joomla 管理ユーザーを設定するには、ログインデータの設定をクリックします。

名前、ユーザー名、メールアドレス、およびJoomla管理者ユーザーのパスワードを入力してください。次に、続行するにはデータベース接続の設定をクリックします。

MariaDBサーバーのデータベース名、ユーザー、ホスト、およびデフォルトのデータベースプレフィックスを入力してください。そして、Joomlaをインストールをクリックしてインストールプロセスを開始します。

インストール中に、次の内容が表示されます:

Joomlaのインストールが完了すると、'おめでとうございます!あなたのJoomlaサイトは準備できました!'というメッセージが表示されるはずです。

ここから、次をクリックしてください:

  • サイトを開く: Joomla インストールのホームページを開いてください。
  • 管理者を開く: Joomla管理URLであるhttps://howtoforge.local/administratorを開きます。

以下は、Joomlaインストールのデフォルトホームページのスクリーンショットです。

Joomla管理者ログインページ内で、あなたのJoomlaインストールの管理者ユーザー名とパスワードを入力し、次にログインをクリックして確認します。

正しい管理者ユーザーとパスワードがある場合は、以下のようなJoomla管理者ダッシュボードが表示されるはずです:

結論

おめでとうございます!あなたはDebian 12サーバーにJoomlaオープンソースCMSのインストールを完了しました。あなたはLAMPスタック(Apache、MariaDB、PHP)を使用してJoomlaをインストールし、UFW(Uncomplicated Firewall)でDebianサーバーを保護し、LetsencryptからのSSL/TLS証明書でJoomlaのインストールを保護しました。

さらに一歩進んで、利用可能なテーマを選んでJoomlaのホームページをカスタマイズしてみてはいかがでしょうか?また、Joomlaのサイトに機能を追加するためにJoomlaプラグインのインストールを試すこともできます。

関連記事: