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

Debian11BullseyeにNginxを使用してWonderCMSをインストールする方法

WonderCMS は、ウェブサイトを作成するためのデータベースを必要としない、高速でわかりやすいコンテンツ管理システムです。カスタムログインURL、プレーンテキストまたはHTMLコード形式でサイトを編集するためのWYSIWYG要素を備えたSEOフレンドリーなデザインなどの豊富な機能を提供します。柔軟なCSSフレームワークにより、見出しやフォントサイズなど、ウェブページの他の部分に影響を与えることなく、個々のページの外観を変更できます。ネイティブのマークダウンサポートに加えて、ユーザーが段落のみを使用してオンラインで記事を簡単に公開できるようにします。

次のチュートリアルでは、NginxとPHPを使用してWonderCMSをインストールする方法と、最新のリポジトリをインポートする方法、またはデフォルトバージョンを使用する方法、およびサーバーブロックを作成してコマンドラインターミナルを使用して設定する方法を学習します。 Debian11Bullseyeデスクトップまたはサーバー。

Nginxをインストール

インストールを開始するには、 Nginxをインストールする必要があります Webサーバー。方法は、OndřejSurýリポジトリから最新のNginxメインラインまたは安定版をインストールして、最新のソフトウェアを入手することです。多くのUbuntuユーザーは彼のPPAを知っているでしょう、そしてあなたはDebianでも同じことをすることができます。

DebianのデフォルトのAPTバージョンのNginxのみを使用したいユーザーは、以下のコマンドを使用するか、スキップして最新のNGINXメインラインまたは安定版をインポートしてください。

Nginxのインストール–Debian11リポジトリ

sudo apt install nginx nginx-full

Nginxメインラインまたは安定版の最新バージョンを使用するには、最初にリポジトリをインポートする必要があります。

1つのリポジトリのみをインポートしてください!

オプション 1 – メインラインリポジトリをインポートする:

curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x

オプション 2 – 安定したリポジトリをインポートする:

curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x

新しい変更を反映するようにリポジトリを更新します:

sudo apt update

これで、Nginxリポジトリがインストールされました リポジトリリストを更新し、次のようにNginxをインストールします。

sudo apt install nginx-core nginx-common nginx nginx-full -y

既存の/etc/nginx/nginx.confを保持または置換するように求められる場合があることに注意してください インストール中の構成ファイル。 (n)を押して、現在の構成ファイルを保持することをお勧めします

カスタムリポジトリを使用してNginxをインストールすると、追加のモジュールがコンパイルされます。これを有効にするための最も推奨されるモジュールの1つは、Brotliモジュールです。

brotliをインストールするには 、 nginx.confを開きます 構成ファイル:

nano /etc/nginx/nginx.conf

次に、 HTTP {}の前に行を追加します セクション:

brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
   application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
   application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
   font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
   image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;

brotli_comp_level 1(最低)の間に設定できます および11(最高) 。通常、ほとんどのサーバーは中央に配置されますが、サーバーがモンスターの場合は、11に設定して、CPU使用率レベルを監視します。

次に、変更を有効にする前に、変更が正しく機能していることをテストします。

sudo nginx -t

変更が正しく機能している場合は、次のように表示されます。

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

サーバーを再起動して、変更を有効にします。

sudo systemctl restart nginx

次に、システムの起動時にNginxを有効にします:

sudo systemctl enable nginx --now

PHPとPHP-FPMのインストール

現在、バックエンドコミュニケーターまたは仲介者であるPHPをインストールしています。 PHP 8.0は比較的安定しており、PHP8.1の新しいバージョンが利用可能になりました。

このチュートリアルでは、DebianPHPのメンテナであるOndřejSurýの最新のPHPバージョンのインポートに焦点を当てます。新しいPHPバージョンが削除された場合でも、これは常に最新です。

OndřejSurýPHPリポジトリをインポート

最初のステップは、GPGとリポジトリをインポートしてインストールすることです。

ターミナルで、次のコマンドを使用します。

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

このコマンドは、PHPリポジトリをインストールし、APTリポジトリを更新します。

次に、リポジトリリストを更新します。新しいリポジトリでは既存のパッケージをアップグレードする必要があり、PHPのバージョンをインストールする前にアップグレードすることをお勧めします。

sudo apt upgrade

オプション1.PHP7.4をインストールします

多くのCMSの最小PHPバージョンのデフォルトは、PHP7.4をインストールすることです。これは非常に安定していると考えられていますが、理想的には、パフォーマンスとセキュリティの利点のために、可能であればPHP8.0をインストールする必要があります。

端末で、次のコマンドを実行します。

sudo apt install php7.4 php7.4-fpm php7.4-mbstring php7.4-curl php7.4-zip

次に、PHP7.4-FPMを起動して有効にします。起動時に自動的に起動します。

sudo systemctl enable php7.4-fpm --now

オプション2.PHP8.0をインストールします

ほとんどのユーザーは、端末の7.4と同様に、古い安定版と見なされる7.4を使用してWebアプリケーションにPHP8.0をインストールする必要があります。次のコマンドを実行します。

sudo apt install php8.0 php8.0-fpm php8.0-mbstring php8.0-curl php8.0-zip

次に、PHP8.0-FPMを起動して有効にします。起動時に自動的に起動します。

sudo systemctl enable php8.0-fpm --now

オプション3.PHP8.1をインストールします

3番目のオプションは、このチュートリアルの時点での最新リリースであるPHP8.1をインストールすることです。 8.0および7.4と同様に、次のコマンドを実行して、WonderCMS用のPHP8.1をインストールします。

sudo apt install php8.1 php8.1-fpm php8.1-mbstring php8.1-curl php8.1-zip

次に、PHP8.1-FPMを起動して有効にします。起動時に自動的に起動します。

sudo systemctl enable php8.1-fpm --now

WonderCMSのインストール

WonderCMSをダウンロード

まず最初に、公式のダウンロードページにアクセスして、WonderCMSアーカイブパッケージをダウンロードします。 最新のリンクを取得し、 wgetのいずれかでターミナルコマンドを使用してダウンロードします またはcurl コマンド。

例:

wget https://github.com/robiso/wondercms/releases/download/3.3.1/wondercms-331.zip

WonderCMSのフォルダ構造を作成する

これでアーカイブがダウンロードされました。解凍してwwwディレクトリに移動します。

WonderCMSのディレクトリを作成します:

sudo mkdir -p /var/www/wondercms

WonderCMSをwwwディレクトリに解凍します:

sudo unzip wondercms*.zip -d /var/www/

ディレクトリ所有者の権限をWWWに設定する必要があります そうしないと、WonderCMSの書き込み権限に問題が発生します。

chown権限を設定する(重要):

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

chmod権限を設定します(重要):

sudo find /var/www/wondercms -type d -exec chmod 755 {} \;
sudo find /var/www/wondercms -type f -exec chmod 644 {} \;

Nginxサーバーブロック構成の作成

次の段階は、Nginxの新規ユーザー向けにWonderCMSのサーバーブロックを作成することです。これは、バックエンドのWebアプリケーションのWebサイト構成ファイルであり、ApacheタイプのWebアプリケーションから移行するユーザーの仮想ホストと同じです。

まず、次のコマンドを使用してサーバーブロックを作成します。必ず、 example.comを置き換えてください。 ドメイン名または選択した名前を使用します。

sudo nano /etc/nginx/sites-available/example.com.conf

以下は例です。パーツを選択できます。ただし、「場所〜\.php$」 Nginx構成ファイルに含まれている必要があります。

注:www.example.comとexample.com、およびルートパスを必ず変更してください。

server {
        listen 80;
        # adapt to your server name
        server_name www.wonder-example.com;
        # adapt the path
        root /var/www/wondercms;
        index index.php;
        # prevent directory listing
        autoindex off;

        # rewrite url to make it pretty
        location / {
            try_files $uri $uri/ @rewrite;
        }
            location @rewrite {
            rewrite ^/(.+)$ /index.php?page=$1 last;
        }

        # prevent access to database.js
        location ~ database.js {
            return 403;
        }

        location ~ cache.json {
            return 403;
        }

        # use php-fpm for dealing with php files

location ~ \.php$ {
      fastcgi_pass unix:/run/php/php8.1-fpm.sock;

      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
      include snippets/fastcgi-php.conf;
      fastcgi_buffer_size 128k;
      fastcgi_buffers 4 128k;
      fastcgi_intercept_errors on; 
        }
    }

PHP 8.xx> 上記の行を見つけて置き換えます「fastcgi_passunix:/run/php/php7.4-fpm.sock;」 "fastcgi_pass unix:/run/php/php8.0-fpm.sock;" 8.0または"fastcgi_pass unix:/run/php/php8.1-fpm.sock;"の場合 8.1の場合。

次に、「sites-available」からNginx構成ファイルを有効にする必要があります 。これを行うには、「サイト対応」へのシンボリックリンクを作成します 次のように。

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

必ず"example.conf"を置き換えてください 構成ファイル名を付けてください。

これで、ドライランを実行して、問題がなければNginxサーバーを再起動できます。

sudo nginx -t

確認し、Nginxドライランテストですべてが正常になったら、Nginxサービスを再起動します。

sudo systemctl restart nginx

PHP.iniの構成

Web UIのインストール部分に進む前に、WonderCMSを最適に使用できるようにPHPを調整する必要があります。これらの設定はよりガイドであり、必要に応じて減少を増やすことができます。

まず、php.iniを起動します。 PHPのバージョン番号によって場所が異なる場合があることに注意してください。

sudo nano /etc/php/{version}/fpm/php.ini

次に、理想的には、以下の設定のいくつかを調整することで、CMSをさらに改善できます。低リソースの1VCPU、1GBを使用している場合は、あまり多くのことを行わないことに注意してください。ただし、以下の設定は単なるガイドであり、調査を行うか、これらを使用していじくり回してください。

##increase upload max size recommend 50 to 100mb example only## 
 upload_max_filesize = 100MB

##increase post max size recommend 50 to 100mb  example only##
 post_max_size = 100MB

## increase max execution time recommend 120 to 300##
 max_execution_time = 120

## increase GET/POST/COOKIE input variables recommend 5000 to 10000##
max_input_vars = 5000

## increase memory limit recommend 256mb or 512mb##
memory_limit = 256M

次に、PHP-FPMサーバーを再起動します。

sudo systemctl restart php{version}-fpm

調整したPHP設定は、PHPバックエンド用です。また、大きなボディサイズを許可するには、Nginxサーバーブロックを変更する必要があります。これは、サーバーブロックを再度開き、次の行を追加することで実行されます。

サーバーブロックを開きます。

sudo nano /etc/nginx/sites-available/example.com

この線を調整して体のサイズを大きくします。

client_max_body_size 100M;

クライアントの最大サイズをPHPファイル設定と同じに保つことを忘れないでください 。

次に、変更をテストし、問題がなければNginxサーバーを再起動します。

sudo nginx -t

確認し、Nginxドライランテストですべてが正常になったら、Nginxサービスを再起動します。

sudo systemctl restart nginx

WonderCMSWebUIをインストールする

すべてのバックエンドのセットアップと構成が完了したので、ドメインに移動してインストールを開始できます。

##go to installation address##
 https://www.yoursite.com

表示される最初のページは、一時パスワードとログインボタンです。

ログインをクリックして続行します。

例:

パスワードを入力してください ウェブサイトへようこそログインページで利用可能なパスワードを引き続き使用します。コピーを忘れた、またはコピーしなかった場合は、[戻る]をクリックして再コピーしてから、再ログインしてください。

例:

ログインすると、元のログインページのように見えるCMSページが表示されます。だまされないでください。これはオープンエディットページです。上部に設定の変更が表示されます。これは、Webサイトをさらに保護するためにすぐに行うことを強くお勧めします。

(画像をクリックして拡大)

設定ページを開くと、ここからプラグインのセキュリティ設定を調整し、WonderCMSページエディタにアクセスする前にWebサイトのバックエンドのカスタマイズを開始できます。

(画像をクリックして拡大)

おめでとうございます。NginxとPHPを使用して最新バージョンのWonderCMSを正常にインストールしました。

Let'sEncryptのSSL無料証明書でNginxを保護する

理想的には、SSL証明書を使用したHTTPSでNginxを実行することをお勧めします。 。これを行う最良の方法は、 Let’s Encryptを使用することです。 非営利のインターネットセキュリティ研究グループ(ISRG)が運営する無料の自動化されたオープンな認証局 。

まず、certbotパッケージをインストールします 次のように:

sudo apt install python3-certbot-nginx -y

インストールしたら、次のコマンドを実行して証明書の作成を開始します。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d www.example.com

この理想的なセットアップには、強制HTTPS 301リダイレクト、Strict-Transport-Securityヘッダー、およびOCSPステープリングが含まれます。電子メールとドメイン名を要件に合わせて調整してください。

これで、URLは HTTPS://www.example.comになります HTTP://www.example.comの代わりに 。

古いHTTPURLを使用する場合 、自動的に HTTPSにリダイレクトされます 。

オプションで、証明書を自動的に更新するようにcronジョブを設定できます。 Certbotはこれを自動的に行うスクリプトを提供しており、最初にドライランを実行してすべてが機能していることを確認するためのテストを行うことができます。

sudo certbot renew --dry-run

すべてが機能している場合は、次のターミナルコマンドを使用してcrontabウィンドウを開きます。

sudo crontab -e

次に、自動更新する時刻を指定してください。これは少なくとも毎日チェックする必要があり、証明書を更新する必要がある場合、スクリプトは証明書を更新しません。設定するのに適した時間を見つけるのにサポートが必要な場合は、 crontab.guruを使用してください 無料のツール。

00 00 */1 * * /usr/sbin/certbot-auto renew

Debian
  1. Debian9にNginxでPhorumをインストールする方法

  2. Debian8VPSにNginxを使用してFuelPHPをインストールする方法

  3. Debian11にNginxを使用してWonderCMSをインストールする方法

  1. Debian11にNginxを使用してHTTPGitサーバーをインストールする方法

  2. Nginxを使用してDebianにGhostをインストールする方法

  3. Nginxを使用してDebianWheezyにDokuWikiをインストールする方法

  1. Debian9にNginxを使用してWonderCMSをインストールする方法

  2. Debian9にNginxを使用してInvoicePlaneをインストールする方法

  3. Debian10にNginxを使用してWordPressをインストールする方法