CentOS 7にMODX CMSとNginxをインストールする方法

MODXは、PHPで記述された無料のオープンソースコンテンツ管理システムです。MySQLまたはMariaDBを使用してデータベースを格納します。MODXは、Webサイトの維持が重要なビジネス向けに設計されています。開発者が独自のデザインと構造を選択してWebサイトを作成する柔軟性を提供します。またWYSIWYG、ビジネスの非技術ユーザー向けのエディターも備えています。柔軟性に加えて、非常に速い速度に最適化できます。

このチュートリアルはMODX 2.6.1用に書かれており、新しいバージョンでも動作する可能性があります。

前提条件

  • Vultr CentOS 7サーバーインスタンス。
  • sudoのユーザー
  • インスタンスを指すドメイン名。

このチュートリアルではmodx.example.com、Vultrインスタンスを指すドメイン名としてを使用します。例のドメイン名をすべて実際のドメイン名に置き換えてください。

CentOS 7のアップデート方法ガイドを使用して、ベースシステムをアップデートします。システムが更新されたら、依存関係のインストールに進みます。

Nginxをインストールする

Nginxは、ウェブアプリケーションを実行するためのプロダクションウェブサーバーです。Nginxをインストールします。

sudo yum -y install epel-release
sudo yum -y install nginx

Nginxを起動し、起動時に自動的に実行されるようにします。

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7.2をインストールする

MODXは、5.4以降のすべてのPHPバージョンをサポートしています。PHPの最新バージョンをインストールします。PHP 7.2を使用すると、最高の速度とセキュリティが保証されます。PHPバージョン7.2はデフォルトのYUMリポジトリでは使用できないため、Remiリポジトリを追加して有効にします。

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72

PHPバージョン7.2をMODXに必要なモジュールと共にインストールします。

sudo yum -y install php php-zlib php-mysqli php-curl php-json php-cli php-pear php-gd php-openssl php-xml php-mbstring php-fpm ImageMagick

ロードされたPHP構成ファイルを編集します。

sudo nano /etc/php.ini

次の行を見つけます。コメントを外して、適切なタイムゾーンを設定します。

date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone

また、次の行に適切なメモリ制限を設定します。に設定すると-1、スクリプトに使用可能なメモリが無制限になります。

memory_limit = -1

次に、次の行を見つけて、0コメントを外してからその値をに設定します。

cgi.fix_pathinfo=0

ファイルを保存して、php-fpm構成ファイルを開きます。

sudo nano /etc/php-fpm.d/www.conf

既存のを見つけてlisten = 127.0.0.1:9000コメントし、次のように新しい行を追加します。

;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sock

また、以下のようにユーザーを変更します。

listen.owner = nginx
listen.group = nginx

...

user = nginx
group = nginx

ファイルを保存してphp-fpm起動し、起動時に自動的に起動するようにします。

sudo systemctl restart php-fpm
sudo systemctl enable php-fpm

セッションディレクトリへの書き込み権限を付与します。

sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session

次に、MariaDBのインストールに進みます。

MariaDBをインストールする

MariaDBはMySQLのフォークです。MariaDBリポジトリをシステムに追加します。デフォルトのYUMリポジトリには、MariaDBの古いバージョンが含まれています。

echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo

MariaDBをインストールします。

sudo yum -y install mariadb mariadb-server

MariaDBを起動して、起動時に自動的に起動するようにします。

sudo systemctl start mariadb
sudo systemctl enable mariadb

データベースを構成する前に、MariaDBを保護する必要があります。

sudo mysql_secure_installation

現在のMariaDBルートパスワードの入力を求められます。デフォルトでは、MariaDBの新規インストールにはrootパスワードはありません。「Enter」キーを押して続行します。rootMariaDBサーバーのユーザーに強力なパスワードを設定しY、他のすべての質問に " " と答えます。質問は自明です。

MySQLシェルにrootとしてログインします。

mysql -u root -p

MariaDB rootユーザーがログインするためのパスワードを入力します。

以下のクエリを実行して、MODXインストール用のデータベースとデータベースユーザーを作成します。

CREATE DATABASE modx_data CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'modx_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON modx_data.* TO 'modx_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

選択に応じて、データベース名modx_dataとユーザー名を置き換えることができmodx_userます。StrongPassword非常に強力なパスワードに変更してください。

MODXをインストールする

MODX zipアーカイブをダウンロードします。

wget https://modx.com/download/direct?id=modx-2.6.1-pl.zip -O modx.zip

MODXダウンロードページで、アプリケーションの最新バージョンへのリンクをいつでも探すことができます。

unzipをインストールします。

sudo yum -y install unzip

アーカイブをNginxのwebrootディレクトリに抽出します。

sudo unzip modx.zip -d /usr/share/nginx/

ディレクトリの名前を変更します。

cd /usr/share/nginx/
sudo mv modx-*/ modx/

また、ht.accessファイルの名前をに変更します.htaccess

sudo mv /usr/share/nginx/modx/ht.access /usr/share/nginx/modx/.htaccess

セッションキャッシュディレクトリを作成し、nginxユーザーに所有権を提供します。

sudo mkdir /usr/share/nginx/modx/core/cache
sudo chown nginx:nginx /usr/share/nginx/modx/core/cache

最後に、空の構成ファイルを作成し、適切な権限を提供します。

sudo touch /usr/share/nginx/modx/core/config/config.inc.php
sudo chown -R nginx:nginx /usr/share/nginx/

ポート上80および443ファイアウォールを通過するトラフィックを許可します。

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

仮想ホストを作成

MODXサイトをホストするには、新しい仮想ホストを作成します。

sudo nano /etc/nginx/conf.d/modx.example.com.conf

ファイルに入力します。

server {
        listen 80;
        server_name modx.example.com;
        root /usr/share/nginx/modx;
        index index.php;
        client_max_body_size 30M;
        location / {
                root /usr/share/nginx/modx;
                if (!-e $request_filename) {
                        rewrite ^/(.*)$ /index.php?q=$1 last;
                }
        }
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_ignore_client_abort on;
                fastcgi_param  SERVER_NAME $http_host;
        }

        location ~ /\.ht {
                deny  all;
        }
}

Nginx Webサーバー構成をテストします。

sudo nginx -t

次の出力が表示されます。

[user@vultr 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を再起動して新しい構成を有効にします。

sudo systemctl restart nginx

まとめ

インストールにアクセスする前に、Webインストーラーを使用してインストールを完了する必要があります。のWebベースのインストールにアクセスしますhttp://modx.example.com/setup。インストールの言語を変更するためのインターフェースが表示されます。

好みに応じて言語を選択し、次のページで「New Installation」オプションを選択します。次のページで、MySQLまたはMariaDBデータベースの認証情報を入力し、新しい管理者アカウントを作成します。最後に、「Install」ボタンをクリックすると、インストーラーがそのデータをデータベースに書き込みます。

これで、管理ダッシュボードからWebサイトを作成する準備が整いました。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。