ウェブサイト検索

AlmaLinux 9にApacheとLet's Encrypt SSLを使用してJoomlaをインストールする方法


AlmaLinux 9にApacheとLet's Encrypt SSLを使用してJoomlaをインストールする方法

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

  • AlmaLinux 9
  • AlmaLinux 8

このページで

  1. 前提条件
  2. LAMPスタックの依存関係をインストールする
  3. PHPの設定
  4. MariaDBサーバーの設定
  5. Firewalldの設定
  6. Joomlaをダウンロードしています
  7. Httpd 仮想ホストの設定
  8. CertbotとLetsencryptでセキュアにする
  9. Joomlaのインストール
  10. 結論

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

私たちのチュートリアルに従って、LAMPスタック(Apache/Httpd、MariaDB、PHP)を使用してAlmaLinux 9サーバーにJoomla CMSをインストールしてください。

前提条件

始める前に、環境にこれらが揃っていることを確認してください:

  • AlmaLinux 9サーバー。
  • 管理者権限を持つ非ルートユーザー。
  • ステータスが許可のSELinux。
  • ドメイン名はサーバーのIPアドレスにポイントされています。

LAMPスタックの依存関係をインストールする

Joomlaは、PHPで書かれたコンテンツ管理システムで、MySQL/MariaDBデータベースを使用しています。したがって、Joomlaをインストールする前に、その依存関係をインストールします。この例では、AlmaLinux 9サーバーにLAMPスタック(Apache/Httpd、MySQL/MariaDB、およびPHP)でJoomlaをインストールします。

始めるには、以下のコマンドを実行してEPELおよびRemiリポジトリをAlmaLinuxサーバーに追加します。EPELリポジトリは追加の依存関係をインストールするために必要であり、RemiリポジトリはPHPパッケージ用です。

sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

以下のコマンドを実行して、PHPリポジトリモジュールをリセットし、Remi PHPモジュールを有効にしてください。続行するには、yを入力して確認してください。

sudo dnf module reset php
sudo dnf module enable php:remi-8.2

リポジトリが追加されたら、以下のコマンドを実行してLAMPスタックと追加の依存関係をインストールします。

sudo dnf install httpd mariadb-server php php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip wget unzip nano

プロンプトが表示されたら、インストールを続行するためにyを入力してください。また、要求された場合はGPGキーを受け入れるためにyを入力してください。

インストールが完了したら、以下のコマンドで httpd サービスを開始し、有効にします。

sudo systemctl start httpd
sudo systemctl enable httpd

次に、httpdを確認して、サービスが実行されていることを確認してください。

sudo systemctl status httpd

下記にhttpdサービスが実行中であることがわかります。

mariadbサービスを開始し、有効にするには、以下のコマンドを実行してください。

sudo systemctl start mariadb
sudo systemctl enable mariadb

次に、以下のコマンドでmariadbサービスを確認します。mariadbが実行中であることがわかります。

sudo systemctl status mariadb

最後に、PHPのバージョンと有効な拡張機能のリストを確認するために、次のコマンドを実行してください。

php -v
php -m

以下のようにPHP 8.2がインストールされているのが表示されます:

PHPの設定

AlmaLinuxサーバーにLAMPスタックをインストールしたので、次のステップはJoomla用にPHPインストールを設定することです。デフォルトのPHP設定ファイルであるphp.iniを修正し、それにいくつかの変更を加えます。

以下のnanoコマンドを実行して、デフォルトのPHP設定ファイル/etc/php.iniを開いてください。

sudo nano /etc/php.ini

デフォルトの設定を以下のように変更し、現在利用可能なメモリ/RAMに合わせてmemory_limitオプションを調整してください。

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

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

次に、以下のコマンドを使用して変更を適用するためにhttpdサービスを再起動してください。

sudo systemctl restart httpd

MariaDBサーバーの設定

PHPを設定した後、mariadb-secure-installationユーティリティを使用してインストールを安全にし、その後Joomla用の新しいデータベースとユーザーを作成することによってMariaDBサーバーを設定します。

MariaDBサーバーのインストールを保護するために、mariadb-secure-installationコマンドを実行してください。

sudo mariadb-secure-installation

新しい設定を適用するように求められた場合は、確認するには y を入力し、拒否するには n を入力してください。以下は、求められる MariaDB サーバーの設定の一部です:

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

MariaDBサーバーが構成されているので、Joomla用に新しいデータベースとユーザーを作成する必要があります。

以下のmariadbコマンドを実行してMariaDBにログインします。ログインする際に、求められたらMariaDBのルートパスワードを入力してください。

sudo mariadb -u root -p

次に、以下のMariaDBクエリを実行して、新しいデータベースjoomladb、新しいユーザーjoomla(パスワードp4ssword)を作成し、ユーザーjoomlaにjoomladbデータベースの権限を付与します。

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

次に、以下のMariaDBクエリを使用してユーザーjoomlaのリスト特権を確認します。joomlaユーザーがデータベースjoomladbにアクセスする特権を持っているのがわかります。

SHOW GRANTS FOR joomla@localhost;

最後に、MariaDBサーバーから退出するには「quit」と入力してください。

Firewalldの設定

デフォルトでは、firewalldはAlmaLinuxサーバー上で実行されています。したがって、HTTPとHTTPSの両方のポートをfirewalldに開放する必要があります。

以下の firewall-cmd コマンドを実行して、firewalld で HTTP と HTTPS のサービスを両方開きます。その後、変更を適用するために firewalld を再読み込みします。

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

下記のコマンドを実行して、firewalldのリスト有効ルールを確認してください。

sudo firewall-cmd --list-all

下にfirewalldに追加されたHTTPおよびHTTPSサービスが表示されます。

Joomlaをダウンロードしています

LAMPスタックがインストールされ、設定されたので、次のステップはJoomlaのソースコードをダウンロードし、Joomlaのドキュメントルートディレクトリを設定し、Joomlaのソースコードに適切な所有権を設定することです。

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

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

ダウンロードが完了したら、以下の unzip コマンドを実行して、Joomla のソースコードをjoomla ディレクトリに展開してください。これで、Joomla のドキュメントルートは/var/www/joomla ディレクトリに配置されます。

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

最後に、以下のchmodコマンドを実行して、/var/www/joomlaディレクトリの所有権をapacheユーザーおよびグループに変更します。これにより、httpdウェブサーバーがJoomlaソースコードにアクセスできるようになります。

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

Httpd 仮想ホストの設定

Joomlaのソースコードをダウンロードしたら、次のステージではJoomlaのために新しいhttpdバーチャルホストファイルを作成します。さらに進む前に、Joomlaのインストールのためにドメイン名が準備されていることを確認してください。

次のnanoエディタコマンドを使用して、新しい仮想ホスト設定/etc/httpd/conf.d/joomla.confを作成してください。

sudo nano /etc/httpd/conf.d/joomla.conf

以下の設定を挿入し、必ずあなたのJoomlaドメインにドメイン名を変更してください。また、Joomlaのアクセスログとエラーログのパスも必ず変更してください。

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

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

以下のapachectlコマンドを実行して、httpdの設定を確認してください。構文に問題がなければ、出力にSyntax OKと表示されるはずです。

sudo apachectl configtest

最後に、以下のコマンドを使用して仮想ホストの設定を適用するために httpd サービスを再起動してください。

sudo systemctl restart httpd

CertbotとLetsencryptでセキュアにする

この時点で、あなたはすべてを設定し、Joomlaのインストールを開始する準備が整いました。しかし、その前に、LetsencryptからのSSL/TLS証明書を使用してJoomlaを保護します。Joomlaのインストール用のドメイン名をお持ちの場合は、これに従ってください。ドメイン名をお持ちでない場合は、このセクションをスキップしても構いません。

まず、以下のコマンドでCertbotとCertbot Apacheプラグインをインストールします。

sudo dnf install certbot python3-certbot-apache -y

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

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

プロセスが完了すると、あなたのSSL/TLS証明書は/etc/letsencrypt/live/domain.comディレクトリに保存されます。また、Joomlaのインストールは自動的にHTTPSで設定されます。

Joomlaのインストール

ウェブブラウザを起動し、Joomlaのインストール先のドメイン名にアクセスします。例えば、http://howtoforge.local/のように。インストールが成功していれば、Joomlaのインストールページが表示されます。

デフォルト言語を英語に選択し、基本サイト名を入力します。次に、続行するにはログインデータを設定をクリックしてください。

今すぐJoomlaのメールアドレス、ユーザー名、パスワードを入力し、データベース接続を設定をクリックしてください。

MariaDBデータベースの資格情報を入力し、Joomlaをインストールをクリックしてインストールを続けてください。

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

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

そこから、両方のリンクをクリックできます:

  • サイトを開く ことで、あなたのJoomlaサイトのホームページにアクセスできます。
  • 管理者を開くことで、http://howtoforge.local/administrator にある Joomla の管理者ログインを開きます。

以下はJoomlaのデフォルトのホームページです。

以下はJoomla管理者のログインページです。ユーザー名とパスワードを入力し、ログインをクリックしてください。

正しい管理者ユーザー名とパスワードがあれば、以下のようなJoomla管理者ダッシュボードが表示されます:

これで、AlmaLinux 9サーバー上のJoomlaインストールが完了しました。

結論

おめでとうございます!あなたはAlmaLinux 9サーバー上にJoomlaオープンソースコンテンツ管理システムのインストールを完了しました。あなたはLAMPスタック(Apache/Httpd、MariaDB、PHP)を使用してJoomlaをインストールし、LetsencryptからのSSL/TLS証明書でJoomlaを保護し、firewalldを構成してHTTPおよびHTTPSポートの両方を開きました。

関連記事: