GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にNginxを使用してCraftCMSをインストールする方法

Craft CMSは、Webサイト向けの無料のオープンソースコンテンツ管理システムです。開発者やデザイナーの大規模で成長しているコミュニティによってサポートされており、使いやすいエレガントなデザインで革新的な機能を幅広く提供しています。また、サイトの開発のあらゆる側面を制御することもできます。

これは、現在使用されている最も人気のあるコンテンツ管理システムの2つであるWordPressとDrupalの優れた代替手段です。

コンテンツ管理システム(CMS)は、コンテンツの編集や新しいページや写真の追加など、Webコンテンツの管理を容易にするために使用されるソフトウェアです。 HTMLまたは他のマークアップ言語を使用してコードで各ページを個別に作成する必要がある場合、Webサイトの運用は難しい場合があります。特定の要素の外観や動作について合意が得られない可能性があるため、サイトで一度に複数の人が作業している場合、これにより問題が発生する可能性があります。

CMSを使用すると、各ページの一般的な構造と、ブログ投稿や製品の説明などの特定の要素を設定できます。その後、他の誰かがその情報を編集する必要がある場合、CMSを使用するだけで済みます。

このガイドでは、CraftCMSをUbuntu20.04 LTS(Focal Fossa)にインストールする方法を示します。 UbuntuサーバーにCraftCMSをインストールする方法を説明します。 MySQL / MariaDBデータベースを使用する場合は、このガイドがそのインストールにも役立ちます。

UbuntuにCraftCMSをインストールするプロセスは、使用しているディストリビューションとバージョンに関係なく類似しているため、システムが少し異なっていても、このガイドに従うことができるはずです。このチュートリアルは、Ubuntuの新規インストールを念頭に置いて作成されました。ただし、一部の手順は、現在のサーバー設定によって若干異なる場合があります。

前提条件

このガイドに従うには、いくつか必要なものがあります。

  • Ubuntu20.04LTSを実行しているサーバー。
  • Ubuntuサーバーに設定されたsudo権限を持つroot以外のユーザー。
はじめに システムの更新

まず、以下のコマンドを実行して、root以外のユーザーとしてサーバーにログインします。

ssh [email protected]_instance_ip

ユーザー名はrootで、SSHプロトコルを使用してサーバー「instance_ip」に接続します

your_instance_ipは、CraftCMSがインストールされるサーバーのプライベートIPアドレスです。

次のコマンドを実行して、オペレーティングシステムを更新します。

sudo apt update && sudo apt upgrade -y

sudo apt updateを実行して、Ubuntuシステムが最新であることを確認します。このコマンドにより、UbuntuはUbuntuリポジトリから新しいUbuntuパッケージをダウンロードし、Ubuntuオペレーティングシステムにインストールします。 Ubuntuは、Ubuntuがすべてのアプリケーションを取得するソフトウェアディストリビューションセンターであるリポジトリ(より正確には「リポジトリ」)を使用します。

sudo apt upgradeは、Ubuntuソフトウェアを更新およびアップグレードするためのUbuntuコマンドです。これにより、Ubuntuコア、インストールされたパッケージ、およびUbuntuソフトウェアの新しいバージョンの更新を含むUbuntuソフトウェアがアップグレードされます。

-yは--yesの短縮形です。 Ubuntuコマンド「aptupgrade-y」は、UbuntuがUbuntuソフトウェアの更新要求に対して自動的に「はい」と言うことを意味します。

このコマンドの実行中にエラーが発生した場合は、UbuntuSoftwareCenterまたはターミナルを介してエラーを修正する必要があります。これを行うには、sudo apt-get -f installと入力し、Ubuntu Software Centerの指示に従ってすべての問題を修正するか、ターミナルコマンド「sudodpkg --configure -a」を使用してエラーを修正し、再実行します。上記のコマンド。

sudo apt-get -f install
sudo dpkg --configure -a

サンプル出力:

依存関係のインストール

以下のコマンドを実行して依存関係をインストールします:

sudo apt install -y curl wget vim git unzip socat 

curlは、UbuntuがUbuntuリポジトリからUbuntuアップデートをダウンロードするためのものです。 wgetは、HTTP、HTTPS、およびFTPプロトコルを使用してファイルを取得するためにUbuntuおよびその他のLinuxオペレーティングシステムでサポートされている無料のソフトウェアです。

vimは人気のあるUnixベースのテキストエディタであり、ほとんどすべてのUnixシステムとMicrosoftWindowsで動作します。

Ubuntuはunzipを使用してZIPファイルからファイルを抽出します。

Ubuntuは、コマンドラインベースのユーティリティであるsocatを使用して、標準の入力および出力ストリームまたはファイルを使用しながら、2つの異なるアプリケーション間の接続を開きます。

サンプル出力:

LEMPサーバーをインストールする

Craft CMSはPHPで記述されており、データベースエンジンとしてMySQL/MariaDBを使用します。 「LEMPスタック」を使用してUbuntuを一緒に使用するように構成します。 LEMPスタックは、Linux、Nginxウェブサーバー、MySQL / MariaDBデータベースエンジン、およびPHPプログラミング言語の略語です。

まず、ターミナルで次のコマンドを実行して、NginxサーバーとMariaDBサーバーをインストールします。

sudo apt-get install nginx mariadb-server -y

サンプル出力:

両方をインストールしたら、ターミナルで次のコマンドを実行してPHPをインストールできます。

sudo apt-get install php php-cli php-fpm php-common php-curl php-gd php-imagick php-json php-mbstring php-mysql php-pgsql php-zip php-intl php-xml -y

php-cliはPHPのコマンドラインインターフェースであり、以前のデフォルトのパッケージ名は「php5」でした。現在は「php」に名前が変更されています。

php-fpmは、php-cgiの-waitバージョンです。同時リクエストを適切に処理でき、プロキシサーバーの背後で使用すると便利です。

php-commonは、他のモジュールに必要な共通ライブラリ用です。たとえば、「php」をインストールすると、php-jsonが自動的にインストールされます。

php-curlは、cURL(HTTPリクエストを送信するコマンドラインツール)を介してURLにアクセスするためのモジュールです。

:UbuntuはUbuntuSoftwareCenterを使用してUbuntuソフトウェアをインストールします。ただし、Ubuntu Software Centerは、Craft CMSに必要な一部のPythonパッケージ(virtualenvなど)のようなサードパーティソフトウェアをダウンロードまたはインストールすることはできません。 Ubuntu Software Centerでは、ここにあるコマンドを手動でコピーしてターミナルウィンドウに貼り付け、指示に従う必要があります。

すべてのパッケージをインストールしたら、Ubuntuのディレクトリetc / php / 7.4 / fpmにあるphp.iniファイルを編集します:

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

ファイル内の次の構成を変更します。

memory_limit = 512M
post_max_size = 32M
upload_max_filesize = 32M
date.timezone = Asia/Kolkata

memory_limit =512MはCraftCMSに必要です。Ubuntu20.04LTSでは、PHPはmemory_limitを単独で変更できないため、php.iniファイルで手動で変更する必要があります。

CMSを介して画像ファイルをアップロードするにはpost_max_size=32Mおよびupload_max_filesize=32Mが必要です。Ubuntu20.04LTSは、Ubuntuのphp.iniファイルでpost_max_sizeおよびupload_max_filesizeの値をデフォルトで16Mに設定しています。CraftCMSには32Mが必要です。

Craft CMSでは、Ubuntu 20.04 LTSで時刻を正しく表示するには、date.timezone =Asia/Kolkataも必要です。 Ubuntu 20.04 LTSはデフォルトでタイムゾーンとしてUTC-5を使用し、CraftCMSはUTC+ 05:30(インド標準時)のタイムゾーンを必要とします。

php.iniファイルを編集したら、ファイルを保存して閉じ、UbuntuのPHP-FPMサービスを再起動します。

sudo systemctl restart php7.4-fpm

UbuntuのPHP-FPMサービスのステータスを確認するには、以下のコマンドを入力します。

sudo systemctl status php7.4-fpm

サンプル出力:

LEMPサーバーの準備ができたので、次のステップに進みます。

データベースの作成

次に、CraftCMSのデータベースを作成します。 UbuntuのMySQLコンソールを開きます:

sudo mysql -u root -p

-pはパスワードを意味します。 rootユーザーで接続する場合は、-u rootと記述し、他の特定の情報を入力せずにEnterキーを押します。

Ubuntuのインストール時に設定したパスワードを入力します。次に、以下のコマンドを実行して、「craftdb」という名前のデータベースを作成します。

CREATE DATABASE craftdb;
GRANT ALL ON craftdb.* TO 'craftuser' IDENTIFIED BY 'mypassword';
FLUSH PRIVILEGES;
EXIT;

このデータベースを使用するには、データベースに接続する必要があります。そこで、「craftuser」という名前のユーザーを作成しました。 MySQLにデータベースのみを使用し、他のデータは使用しないように指示するため、VALUESの代わりにIDENTIFIEDBYを使用します。 mypasswordという単語を選択した安全なパスワードに置き換えます。

FLUSH PRIVILEGESは、このセッションでコミットされていないすべてのトランザクションを破棄します。

CraftCMSのインストール

Craft CMSをインストールするには、最初に最新バージョンのComposerをインストールする必要があります。 Ubuntuはそのシステムでのgemの使用をサポートしていないためです。 CraftCMSをインストールできるのはComposerを使用する場合のみです。以下のコマンドを実行してComposerをインストールします:

sudo curl -sS https://getcomposer.org/installer -o composer-setup.php

-sはサイレントモードをオンにします。デフォルトでは、curlは-sに沿って出力を表示しません。解析するURLを渡すことができます。この場合、curlにURL https:// getcomposre the -sを取得するように指示しています。フラグを追加して、ファイル(https://getcomposer.org/installer)をダウンロードし、URL、-oフラグを保存します。ダウンロードしたファイルをcomposer-setup.phpに書き込むようにcurlに指示します

次に、以下のコマンドを実行してComposerをインストールします。

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

このPHPスクリプトを実行することをコンピューターに通知するには、phpコマンドが必要です。sudocomposer-setup.php --install-dir =/ usr / local / bin --filename =composer

install-dirは、Composerの宛先パスです。この場合は/usr/ local/binです。すべてのユーザーがファイルにアクセスできるようにしたくない場合は、。/または./を使用します。また、このディレクトリには実行権限が必要です。

--filenameフラグは、Composerがインストールされるファイルの名前です。

どこに置くかわからない場合は、ファイルを任意のディレクトリにコピーするか、-filename

の後に指定できます。

Composerがインストールされたら、以下のコマンドを使用してインストールされたバージョンを確認します。

composer --version

サンプル出力:

次に、CraftCMSプロジェクトのディレクトリを作成します。 / var / www /html/ディレクトリの下にcraftという名前のディレクトリを作成します。このディレクトリをWebルートとして使用します。つまり、Craft CMSによって提供されるすべてのファイルまたはページには、Webルートからアクセスします。

mkdir /var/www/html/craft

次に、craftディレクトリに移動し、Composerを使用してCraftCMSをインストールします。

cd /var/www/html/craft
composer create-project craftcms/craft

:0.97未満のバージョンのCraftを使用している場合は、create-projectをinstallに置き換えてください。

戦争 :これにより、ディレクトリ内の既存のファイルが上書きされます。

Craft CMSに別のディレクトリが必要な場合は、オプション--prefer-distを指定できます。

ホスティングプロバイダーがドキュメントルートを/var/ wwwに変更することを許可していない場合は、Craftをwebrootのサブディレクトリ(mkdircraftや実行中のcomposercreate-project Craftcms / Craft Craftなど)にインストールすることを強くお勧めします。

サンプル出力:

管理用のデータベースの詳細、ユーザー名、およびパスワードを提供するように求められます。

Craftが内部セキュリティキーを設定できるように、MYSQLデータベースのユーザー資格情報を提供する必要があります。ホスト名は「localhost」、ユーザー名は「craftuser」、パスワードは上記のMySQLデータベースの作成時に選択したものです。

この時点で、ComposerはCraftをコンパイルして、Webルート構造/ var/www内のcraftというディレクトリにインストールできるはずです。デフォルトでは、HTTPアクセスを有効にしていない限り、インターネット経由でアクセスすることはできません。

次に、新しくインストールしたCraftディレクトリの適切な所有権を設定します。

chown -R www-data:www-data /var/www/html/craft

Nginxの構成

Nginxは、Nginxに直接アクセスするクライアントからのリクエストを処理するために使用されます。静的ファイルの提供、ページのキャッシュ、これらのページのgzip圧縮など、いくつかの追加の利点があります。

sudo nano /etc/nginx/conf.d/craft.conf

ファイルに次の行を入力します:

server {
listen 80;
server_name craft.example.com;
root /var/www/html/craft/web;
index index.php;
location / {
  try_files $uri/index.html $uri $uri/ /index.php?$query_string;
  }
location ~ [^/]\.php(/|$) {
 try_files $uri $uri/ /index.php?$query_string;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
 fastcgi_index index.php;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 fastcgi_param HTTP_PROXY "";
}
}

サーバー名:これはサーバーのドメイン名またはIPアドレスです。クライアントはこれを使用して、ファイルを要求する必要のあるユーザー(この場合はcraft.example.com)を解決します。

ドキュメントルート:これは、/ var / www / html/craftの下にあるWebフォルダーやコアフォルダーを含むCraftCMSコアアセットが存在する場所です。ここに表示されるパスは、使用しているクラフトのバージョンやフォルダ構造が変更されているかどうかによって異なる場合があります。

Try_files $ uri $ uri / $ uri:http://craft.example.com/index.phpなどの相対URIへのリクエストの場合、通常はクラフトインストールのドキュメントルートにあるindex.phpファイルが返されます。

場所〜[^ /] \。php(/ | $):PHPファイルへの正規表現は、基本的に、.phpで終わるリクエスト、または/と$以外のすべてに一致するリクエストを検索することを意味します(再帰的に検索します)。

PHP-FPMソケットの場所:これはCraft CMSコアアセットリクエストによって使用されます。この値は、マスター構成ファイル/etc/php/7.4 {5,6}-fpm.conf

ファイルを保存して閉じ、次のコマンドを実行してファイルが機能していることを確認します。

sudo nginx -t

サンプル出力:

エラーがない場合は、以下のコマンドでNginxを再起動できます:

sudo systemctl reload nginx
クラフトCMSへのアクセス

ファイルが構成されたので、CraftCMSインストールにアクセスできます。ブラウザでhttp://craft.example.comにアクセスすると、ウェルカム画面が表示されます。

「コントロールパネルに移動」をクリックし、管理者の詳細を入力して「ログイン」をクリックします。デフォルトのダッシュボードが表示されます。

次のような「503Unavailable」というメッセージが表示された場合:

最新のCraft、Craftテーマ、Craftプラグインのアップデートがあることを確認してください。それでも問題が解決しない場合は、次の手順を試してください。この記事で説明されているように、Craftのフォルダーのアクセス許可が正しいことを確認してください。これらのファイルはrootが所有する必要があり、craftはそのフォルダーへの書き込み権限を持ってはなりません。

結論

おめでとうございます!これで、Ubuntu20.04にCraftCMSが正常にインストールされました。いくつかのウェブサイトを作ろう!いつものように、下にコメントや提案を残すことを躊躇しないでください。


Ubuntu
  1. Ubuntu18.04にNginxでWordPressをインストールする方法

  2. Ubuntu18.04にNginxを使用してphpMyAdminをインストールする方法

  3. Ubuntu16.04にNginxでMediaWikiをインストールする方法

  1. Ubuntu16.04にNginxを使用してGravCMSをインストールする方法

  2. Ubuntu16.04にNginxを使用してSuiteCRMをインストールする方法

  3. Ubuntu15.10にNginxを使用してMagentoをインストールする方法

  1. Ubuntu15.10にNginxでMailpileをインストールする方法

  2. Ubuntu15.10でNginxを使用してRedmine3をインストールする方法

  3. Ubuntu15.10にNginxを使用してPiwikをインストールする方法