CentOS 7 LAMP VPSにProcessWire CMS 3.0をインストールする方法

ProcessWire CMS 3.0は、シンプルで柔軟かつ強力な無料のオープンソースコンテンツ管理システム(CMS)です。ProcessWire CMS 3.0は、使いやすいjQueryスタイルAPI、完全にモジュール化されたプラグインアーキテクチャ、柔軟で強力なテンプレートシステムを備えており、デザイナー、開発者、エンドユーザーに等しく満足のいくユーザーエクスペリエンスを提供します。

このチュートリアルでは、Apache Webサーバー、PHP 7.1、およびMariaDBデータベースを使用して、CentOS 7 LAMP VPSにProcessWire CMS 3.0をインストールします。

前提条件

  • SSHアクセスが可能なクリーンなVultr CentOS 7サーバーインスタンス

ステップ1:Sudoユーザーを追加する

新しいsudoユーザーを追加することから始めます。

まず、次のようにサーバーにログインしますroot

ssh root@YOUR_VULTR_IP_ADDRESS

という新しいユーザーuser1(または任意のユーザー名)を追加します。

useradd user1

次に、user1ユーザーのパスワードを設定します。

passwd user1

プロンプトが表示されたら、安全で覚えやすいパスワードを入力します。

/etc/sudoersファイルをチェックして、sudoersグループが有効になっていることを確認します。

visudo

次のようなセクションを探します。

%wheel        ALL=(ALL)       ALL

この行は、wheelグループのメンバーであるユーザーがsudoコマンドを使用してroot特権を取得できることを示しています。単にファイルを終了できるように、デフォルトではコメント化されていません。

次にuser1wheelグループに追加する必要があります。

usermod -aG wheel user1

user1グループメンバーシップを確認し、usermodコマンドが次のコマンドで機能することを確認できますgroups

groups user1

su次のコマンドを使用して、新しいsudoユーザーuser1アカウントに切り替えます。

su - user1

コマンドプロンプトが更新され、user1アカウントにログインしていることが示されます。これは次のwhoamiコマンドで確認できます。

whoami

次に、sshdサービスを再起動して、ssh作成した新しい非root sudoユーザーアカウントでログインできるようにします。

sudo systemctl restart sshd

user1アカウントを終了します。

exit

rootアカウントを終了します(sshセッションが切断されます):

exit

これでssh、新しい非root sudoユーザーuser1アカウントを使用して、ローカルホストからサーバーインスタンスにアクセスできます。

ssh user1@YOUR_VULTR_IP_ADDRESS

sudo毎回パスワードを入力せずに実行したい場合は/etc/sudoers、次を使用してファイルを再度開きますvisudo

sudo visudo

wheelグループのセクションを編集して、次のようにします。

%wheel        ALL=(ALL)       NOPASSWD: ALL

注: sudoユーザーのパスワード要件を無効にすることはお勧めしませんが、特に長いシステム管理セッション中にサーバー構成をより便利にし、不満を少なくすることができるため、ここに含まれています。セキュリティへの影響が懸念される場合は、管理タスクを完了した後、いつでも構成の変更を元に戻すことができます。

あなたがにログインするたびにroot内からユーザーアカウントsudoユーザーアカウントは、次のいずれかのコマンドを使用することができます。

sudo -i
sudo su -

を入力するだけで、いつでもrootアカウントを終了してsudoユーザーアカウントに戻ることができますexit

ステップ2:CentOS 7システムを更新する

CentOSサ���バーインスタンスにパッケージをインストールする前に、まずシステムを更新します。

root以外のsudoユーザーを使用してサーバーにログインしていることを確認し、次のコマンドを実行します。

sudo yum -y update

ステップ3:Apache Webサーバーをインストールする

Apache Webサーバーをインストールします。

sudo yum -y install httpd

次のsystemctlコマンドを使用して、Apacheを起動し、起動時に自動的に実行できるようにします。

sudo systemctl enable httpd
sudo systemctl start httpd

Apache構成ファイルをチェックして、DocumentRootディレクティブが正しいディレクトリを指していることを確認します。

sudo vi /etc/httpd/conf/httpd.conf 

DocumentRoot設定オプションは、次のようになります。

DocumentRoot "/var/www/html"

では、mod_rewriteApacheモジュールがロードされていることを確認しましょう。これを行うには、Apacheベースモジュール構成ファイルで「mod_rewrite」という用語を検索します。

ファイルを開きます。

sudo vi /etc/httpd/conf.modules.d/00-base.conf

用語を検索しmod_rewriteます。

場合はmod_rewriteApacheモジュールがロードされている、あなたはこのように見ている設定行を見つけます。

LoadModule rewrite_module modules/mod_rewrite.so

上記の行がセミコロンで始まる場合は、セミコロンを削除して、行のコメントを解除してモジュールをロードする必要があります。もちろん、これは他の必要なApacheモジュールにも当てはまります。

mod_rewrite次に、ProcessWire CMSで正しく機能するように、Apacheのデフォルトの構成ファイルを編集する必要があります。

ファイルを開きます。

sudo vi /etc/httpd/conf/httpd.conf

次に、で始まるセクションを見つけて<Directory "/var/www/html">、に変更AllowOverride noneAllowOverride Allます。最終結果(すべてのコメントが削除された)は次のようになります。

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

次に、Apache構成ファイルを保存して閉じます。

このチュートリアルの終わりにApacheを再起動しますが、インストールと構成中にApacheを定期的に再起動するのは確かに良い習慣です。今すぐ実行しましょう。

sudo systemctl restart httpd

手順4:Webファイアウォールのポートを開く

デフォルトでブロックされるため、ここでデフォルトHTTPHTTPSポートを開く必要がありfirewalldます。

ファイアウォールポートを開きます。

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp

ファイアウォールをリロードして変更を適用します。

sudo firewall-cmd --reload

successファイアウォール設定コマンドが成功するたびに、端末に単語が表示されます。

HTTPブラウザでサーバーインスタンスのIPアドレスまたはドメインにアクセスすることにより、Apache ポートが開いていることをすばやく確認できます。

http://YOUR_VULTR_IP_ADDRESS/

ブラウザにデフォルトのApache Webページが表示されます。

ステップ5:SELinuxを無効にする(有効な場合)

SELinuxは「Security Enhanced Linux」の略です。これは、ユーザーおよび管理者がアクセス制御をより詳細に制御できるようにするLinuxのセキュリティー強化です。Vultr CentOS 7インスタンスではデフォルトで無効になっていますが、クリーンインストールから開始しておらず、以前に有効になっていた場合に備えて、無効にする手順について説明します。

ProcessWire CMSでのファイル権限の問題を回避するには、SELinuxが無効になっていることを確認する必要があります。

まず、次のsestatusコマンドでSELinuxが有効か無効かを確認します。

sudo sestatus

次のようなメッセージが表示された場合SELinux status: disabledは、無効になっているので、次のステップに進んでください。他のメッセージが表示された場合は、このセクションを完了する必要があります。

お好みのターミナルエディターでSELinux設定ファイルを開きます。

sudo vi /etc/selinux/config

に変更SELINUX=enforcingしてSELINUX=disabled、ファイルを保存します。

設定変更を適用するには、SELinuxでサーバーの再起動が必要になるため、Vultrコントロールパネルを使用してサーバーを再起動するか、shutdown次のコマンドを使用できます。

sudo shutdown -r now

サーバーが再起動すると、SSHセッションが切断され、'broken pipe'またはについて通知するメッセージが表示される場合があります'Connection closed by remote host'。これは心配する必要はありません。20秒ほど待ってから、SSHで(独自のユーザー名とドメインを使用して)再度ログインします。

ssh user1@YOUR_DOMAIN

または(独自のユーザー名とIPアドレスを使用):

ssh user1@YOUR_VULTR_IP_ADDRESS

再度ログインしたら、sestatus次のコマンドを使用してSELinuxのステータスを再度確認し、適切に無効化されていることを確認する必要があります。

sudo sestatus

と言うメッセージが表示されますSELinux status: disabledSELinux status: enabled(または同様の)メッセージが表示された場合は、上記の手順を繰り返し、サーバーを正しく再起動する必要があります。

ステップ6:PHP 7.1をインストールする

CentOS 7では、PHP 7.1をインストールするために外部リポジトリを追加する必要があるため、次のコマンドを実行します。

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

これで、ProcessWire CMSに必要なすべてのPHPモジュールとともにPHP 7.1をインストールできます。

sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-pdo

ステップ7:MariaDB(MySQL)サーバーをインストールする

CentOS 7はデフォルトでMariaDBデータベースサーバーを使用します。これは、強化された完全にオープンソースのコミュニティ開発のMySQLサーバーのドロップイン代替品です。

MariaDBデータベースサーバーをインストールします。

sudo yum -y install mariadb-server

MariaDBサーバーを起動し、起動時に自動的に実行できるようにします。

sudo systemctl enable mariadb
sudo systemctl start mariadb    

MariaDBサーバーのインストールを保護します。

sudo mysql_secure_installation

rootパスワードは、そう簡単にするためにプロンプトが表示されたら、Enterキーを押し、空白になりますrootパスワード。

MariaDB / MySQL rootユーザーを作成するように求められたら、「Y」を選択し(はいの場合)、安全なrootパスワードを入力します。デフォルトの提案が最も安全なオプションであるため、他のすべてのはい/いいえの質問に「Y」と答えてください。

ステップ8:ProcessWire CMSのデータベースを作成する

root次のコマンドを実行して、MariaDB ユーザーとしてMariaDBシェルにログインします。

sudo mysql -u root -p

MariaDBコマンドプロンプトにアクセスするには、プロンプトが表示されたらMariaDB rootパスワードを入力するだけです。

次のクエリを実行して、ProcessWire CMSのMariaDBデータベースとデータベースユーザーを作成します。

CREATE DATABASE pw_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'pw_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON pw_db.* TO 'pw_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

必要に応じて、データベース名pw_dbとユーザー名pw_userを好みに合わせて置き換えることができます。(CentOS 7上のMariaDBのユーザー名のデフォルトの最大長は16文字であることに注意してください)。また、「UltraSecurePassword」を実際に安全なパスワードに置き換えてください。

ステップ9:ProcessWire CMSファイルをインストールする

現在の作業ディレクトリをデフォルトのWebディレクトリに変更します。

cd /var/www/html/

'No such file or directory'次のようなエラーメッセージが表示される場合は、次のコマンドを試してください。

cd /var/www/ ; sudo mkdir html ; cd html

現在の作業ディレクトリは次のようになります /var/www/html/。これはpwd(印刷作業ディレクトリ)コマンドで確認できます。

pwd

次にwget、ProcessWire CMSインストールパッケージをダウンロードするために使用します。

sudo wget https://github.com/processwire/processwire/archive/master.zip

注: ProcessWire CMSダウンロードページにアクセスして、最新バージョンを必ず確認してください

現在のディレクトリを一覧表示して、ファイルが正常にダウンロードされたことを確認します。

ls -la

削除index.html

sudo rm index.html

すぐにインストールしunzipて、ファイルを解凍できるようにします。

sudo yum -y install unzip

次に、zipアーカイブを解凍します。

sudo unzip master.zip

すべてのインストールファイルをWebルートディレクトリに移動します。

sudo mv processwire-master/* /var/www/html

権限の問題を回避するために、Webファイルの所有権を変更します。

sudo chown -R apache:apache * ./

Apacheを再起動します。

sudo systemctl restart httpd

ステップ10:ProcessWire CMSのインストールを完了する

次に、ブラウザーでサーバーインスタンスのIPアドレスにアクセスします。すでにVultr DNS設定を構成している場合(そして伝播するのに十分な時間が与えられている場合)、代わりにドメインにアクセスするだけです。

ProcessWire CMSのインストールページにアクセスするには、VultrインスタンスのIPアドレスをブラウザのアドレスバーに入力してから、次のように入力しますindex.php

http://YOUR_VULTR_IP_ADDRESS/install.php

ProcessWire CMSインストーラーには多くのオプションが含まれているので、ここに役立ついくつかのポインターがあります。

  1. ProcessWire CMSインストールのウェルカムページで、Get Startedボタンをクリックしてインストールプロセスを開始します。

  2. 次に、使用するインストールプロファイル(またはデモサイト)を選択し、をクリックしますContinue

  3. Compatibility Checkページが表示されます。エラーが表示される場合は、PHPモジュールが不足しているか、権限の問題がある可能性がありますContinue。それ以外の場合は、単にをクリックします。

  4. MySQL Database Settingsページに次の値を入力します。

    DB Name:            pw_db
    DB User:            pw_user
    DB Pass:            UltraSecurePassword
    DB Host:            localhost
    DB Port:            3306
    
  5. あなたは残すことができFile Permission、デフォルト値の設定を、またはあなたが意味を理解場合は、それらを調整することができます。

  6. サイトの将来のホスト名を適切なセクションに入力するか、必要に応じてsite/config.php後でファイルを編集できます。

  7. をクリックしContinueてデータベースを構成し、ProcessWire CMSファイルをインストールします。

  8. 次に、ご希望のを選択しますAdmin Theme

  9. 必要にAdmin URL応じてを変更することも、デフォルト値のままにすることもできます。

  10. 次のように入力してくださいAdmin Login Details

    User (a-z 0-9):     <admin username>
    Password:           <admin password>
    Password (again):   <same admin password>
    Email Address:      <admin email address>
    
  11. 適切な詳細をすべて入力したら、クリックContinueしてProcessWireのインストールを完了できます。

  12. インストールが完了したら、Login to Adminボタンをクリックして管理セクションにログインします。

次のような警告が表示される場合があります。

Warning: your server locale is undefined and may cause issues. Please add this to /site/config.php file (adjust en_US.UTF-8â₠as needed): setlocale(LC_ALL,'en_US.UTF-8');

このエラーを修正するには、site/config.phpファイルを編集します。

sudo vi site/config.php

ファイルの最後に適切な値を追加します。

setlocale(LC_ALL,'en_GB.utf8');

使用する値がわからない場合は、locale次のコマンドを実行して、特定のサーバーインスタンスに適切な値のリストを見つけることができます。

locale -a

site/config.php編集が終了したら、ファイルを保存して終了することを忘れないでください。

セキュリティ上の理由から、site/config.phpファイルのアクセス許可を必ず変更してください。

sudo chmod 400 site/config.php

Apacheを再起動します。

sudo systemctl restart httpd

コンテンツを追加し、サイトの外観を構成する準備が整いました。サイトを構築および構成する方法の詳細については、優れたProcessWire CMSのドキュメントを確認してください。



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の未来は、日々成長を続けています。