GNU/Linux >> Linux の 問題 >  >> Debian

Nginxを使用してJoomlaをインストールし、Debian11にSSLを暗号化する方法

Joomla!は、WordPressに次ぐ最も人気のあるコンテンツ管理システム(CMS)の1つです。 Joomlaを使用すると、ブログ、ディスカッションフォーラム、その他のWebサイトを作成できます。

これは無料のオープンソースであり、ほとんどすべてのWebホスティングサービスでうまく機能するため、インストールと使用が最も簡単なサービスの1つです。

Webホスティングをまだお持ちでない場合は、ローカルのDebianシステムまたはVPSにJoomlaをインストールすることをお勧めします。

ここでは、Debian11にNginxを使用してJoomlaをインストールする方法を説明します。

前提条件

LEMPスタックのインストール

以下のリンクをたどって、JoomlaをインストールするためにDebianシステムにLEMPスタックをインストールしてください。

Debian 11にEMP(Nginx、MariaDB、PHP)をインストールする

PHP拡張機能をインストールする

aptコマンドを使用して、Joomlaに必要なPHP拡張機能をインストールします。

sudo apt update

sudo apt install -y php-gd php-xmlrpc php-curl php-intl php-imagick php-mysql php-zip php-xml php-mbstring php-bcmath

JoomlaのPHP設定を構成する

Joomlaには、PHP一時ディレクトリ、アップロードされたファイルが正しく機能するための最大許容サイズなど、いくつかのPHP構成が必要です。したがって、php.iniを編集します ファイル。

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

次に、要件に応じて以下の値を更新します。

output_buffering = off # Required for Joomla

upload_tmp_dir = "/tmp"

upload_max_filesize = 64M

post_max_size = 64M

Joomla用のNginx仮想ホストのセットアップ

Joomlaインストール用の仮想ホストを作成することから始めます。 Nginxのすべての仮想ホスト構成ファイルは/etc/nginx/conf.dにあります。 ディレクトリ。

通常、仮想ホストファイルには、ドメイン名、ポート番号、ドキュメントルート、ログの場所、高速CGIなどが含まれます。

この記事では、次のことを前提としています。

ドメイン名: itzgeek.net、 www.itzgeek.net
ポート番号: 80
ドキュメントルート: /usr/share/nginx/www.itzgeek.net/html
ログ: /usr/share/nginx/www.itzgeek.net/logs

まず、仮想ホスト構成を作成します。

sudo nano /etc/nginx/conf.d/www.itzgeek.net.conf

次に、次のコンテンツを上記の構成ファイルに配置します。 server_nameを変更する必要があります 要件に応じて。

server {
	server_name itzgeek.net www.itzgeek.net;
	root /usr/share/nginx/www.itzgeek.net/html;

	index index.php index.html;

	access_log /usr/share/nginx/www.itzgeek.net/logs/access.log;
	error_log /usr/share/nginx/www.itzgeek.net/logs/error.log;

	# Prevent access to certain file extensions
	location ~\.(ini|log|conf)$ {
		deny all;
	}

	location ~ \.php$ {
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        include fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}

}

ドキュメントのルートとログのディレクトリを作成します。

sudo mkdir -p /usr/share/nginx/www.itzgeek.net/html/

sudo mkdir -p /usr/share/nginx/www.itzgeek.net/logs/

以下のコマンドを使用して、Nginx構成ファイルを確認します。

sudo nginx -t

次のような場合は、仮想ホストの構成が正しいことを意味します。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

NginxおよびPHP-FPMサービスを再起動します。

sudo systemctl reload nginx php7.4-fpm

インストールLet'sEncryptSSL証明書

DNSレコードの作成

ドメインレジストラに移動し、ドメインのDNSレコード[AおよびCNAME(wwwサブドメインを使用しない場合はオプション)]レコードを作成します。

  1. www以外のドメイン名(例:itzgeek.net)>> A サーバーIPへのレコードポイント
  2. wwwドメイン名(例:www.itzgeek.net)>> CNAME itzgeek.netへの記録ポイント

このデモでは、JoomlaのWebサイトにwww.itzgeek.netでアクセスできるように、2つのレコードを作成しました。

Certbotクライアントのインストール

Let’s Encrypt SSL証明書の生成とインストールに役立つCertbotクライアントが、Debianオペレーティングシステムのスナップパッケージとして利用できるようになりました。したがって、最初に、システムにsnapdをインストールします。

sudo apt update

sudo apt install -y snapd

次に、更新を最新バージョンにスナップします。

sudo snap install core && sudo snap refresh core

最後に、snapコマンドを使用してCertbotクライアントをインストールします。

sudo snap install --classic certbot

sudo ln -s /snap/bin/certbot /usr/bin/certbot

SSL証明書をインストールする

certbotを使用する NginxWebサーバー用のLet’sEncryptSSL証明書を生成してインストールするコマンド。

sudo certbot --nginx
1.メールアドレスを入力 緊急の更新およびセキュリティ通知に関する通知を受け取るため
2。 Yと入力し、Enterキーを押します ACMEサーバーに登録するには
3。 YまたはNと入力します EFFのニュース、キャンペーン、ニュースレターに関するメールを受信する。
4。 CertbotはJoomlaドメインを自動的に検出し、HTTPSをアクティブ化する許可を求めます あなたのJoomlaウェブサイトのために。 1またはカンマで区切った適切な数字を入力します 複数のWebサイトがある場合。
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1. itzgeek.net
2: www.itzgeek.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2

SSLのインストールが完了するのを待ちます。これで、HTTPSを使用してWebサイトにアクセスできるようになります。

注: 今すぐWebサイトにアクセスすると、Joomlaインストーラーファイラーをまだ配置していないため、403forbiddenエラーが発生します。

www以外のHTTPリクエストをNginxを使用してwwwHTTPSにリダイレクトする

www以外のHTTPサイトからWWWWHTTPSサイト(http://itzgeek.net>> https://www.itzgeek.net)にトラフィックをリダイレクトするようにNginxサーバーを構成することをお勧めします。ドメインでwwwを使用しない場合は、これをスキップできます。

SSL証明書の自動更新

Certbotクライアントには、systemdを介したSSL証明書の自動更新が含まれるようになりました。したがって、証明書を手動で更新する必要はありません。

NginxでJoomlaをインストールする

Joomlaインストール用のデータベースを作成する

まず、MariaDB/MySQLデータベースサーバーにログインします。

sudo mysql -u root -p

次に、データベースのユーザーとパスワードとともにJoomlaインストール用のデータベースを作成します。

CREATE DATABASE joomladb;

CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON joomladb.* TO 'joomlauser'@'localhost';

EXIT

Joomlaパッケージをダウンロード

ターミナルで次のコマンドを使用して、Joomlaパッケージの最新バージョンをダウンロードします。

mkdir /tmp/joomla && cd /tmp/joomla

wget https://downloads.joomla.org/cms/joomla4/4-0-3/Joomla_4-0-3-Stable-Full_Package.tar.gz?format=gz -O Joomla_4-0-3-Stable-Full_Package.tar.gz

次に、ダウンロードしたファイルを抽出します。

tar -zxvf Joomla_4-0-3-Stable-Full_Package.tar.gz

次に、ファイルをWebサイトのドキュメントルートディレクトリに移動します。

sudo mv * /usr/share/nginx/www.itzgeek.net/html/

Joomlaサイトディレクトリの所有権とグループを更新します。

sudo chown -R www-data:www-data /usr/share/nginx/www.itzgeek.net/

JoomlaCMSをインストールする

ブラウザを開き、Joomla Webサイトのドメインにアクセスして、Joomlaのインストールを実行します。

https:// your-joomla-website

1.言語を選択 インストーラーの場合は、サイト名を入力します Joomla Webサイトの場合は、[ログインデータの設定
]をクリックします。

2. Joomla管理者の名前、ユーザー名、パスワード、および電子メールアドレスを入力します 、[データ接続の設定
]をクリックします

3.データベースタイプをMySQL(PDO)として選択します 次に、Joomlaデータベースの詳細を入力します [テーブルプレフィックスを残す および接続の暗号化 そのまま]そしてJoomlaのインストール
をクリックします

4.これでおめでとうございます! Joomlaサイトの準備が整いました。 コンプリート&オープンサイトをクリックすると、Webサイトにアクセスできます。 または、 Complete&OpenAdminをクリックしてJoomlaバックエンド。 必要に応じて、[追加の言語をインストール]をクリックして、ウェブサイトのフロントエンドとバックエンドに言語を追加することもできます。

5. https:// your-joomla-website / administrator にアクセスすると、いつでもJoomlaバックエンドにアクセスできます。

Joomlaウェブサイトにアクセス

これで、自分のドメイン名でサイトにアクセスできるようになります。

https:// your-joomla-website

結論

それで全部です。 Debian11にNginxを使用してJoomlaをインストールする方法を学んだことを願っています。


Debian
  1. Lets Encrypt and Secure Nginx with SSL/TLSをDebian9にインストールする

  2. Nginxを使用してAutomadCMSをインストールし、Debian10でSSLを暗号化できるようにします

  3. Nginxを使用してUbuntu18.04にLet'sEncryptSSLをインストールする方法

  1. Nginxを使用してOpenCartをインストールし、Debian10で暗号化する方法

  2. Drupal 9をNginxでインストールし、Debian10でSSLを暗号化する方法

  3. ApacheでJoomlaをインストールし、Debian10でSSLを暗号化する方法

  1. DrupalをApacheでインストールし、Debian11でSSLを暗号化する方法

  2. Debian11にNginxとSSLを使用してAbanteCartをインストールする方法

  3. Nginxと無料でDiscourseForumをインストールする方法Debian11でSSLを暗号化する