ProcessWireは、無料のオープンソースコンテンツ管理システムです。それは完全にカスタマイズ可能な使いやすい柔軟なプラットフォームを提供します。これにより、ページ、フィールド、テンプレート、およびマークアップを任意のスケールでより簡単かつ強力に制御できます。コンテンツ管理を容易にするために、フル機能のAPIも含まれています。
このチュートリアルでは、CentOS7サーバーにProcessWireをインストールします。
前提条件
- 最小限のCentOS7サーバー
- root権限
パッケージをインストールする前にサーバーを更新して、既存のパッケージとリポジトリを更新することをお勧めします。
yum -y update
システムを更新したら、ApacheWebサーバーのインストールに進むことができます。
yum -y install httpd
次に、Apache Webサーバーを起動し、次のコマンドを使用して起動時に起動できるようにします。
systemctl start httpd
systemctl enable httpd
ProcessWireは、5.3以降のすべてのバージョンのPHPをサポートします。ただし、このチュートリアルでは、PHP v5.3のサポートが終了したため、PHP7.1をインストールします。最新バージョンのPHPをインストールすると、アプリケーションのセキュリティとパフォーマンスを最大限に高めることができます。
CentOSのデフォルトのYUMリポジトリにはPHP7.1が含まれていないため、システムにWebtaticリポジトリを追加する必要があります。 Webtaticリポジトリが機能するには、EPELリポジトリが必要です。次のコマンドを実行して、EPELリポジトリをインストールします。
yum -y install epel-release
yum -y update
コマンドを入力してWebtaticリポジトリをインストールします。
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update
次のコマンドを入力して、必要なすべての依存関係とともにPHP7.1をインストールします。
yum -y install php71w php71w-mysqli php71w-gd php71w-cli ImageMagick
PHPが正常にインストールされているかどうかを確認するには、次のコマンドを実行します。
php -v
これと同様の出力が得られるはずです。
[[email protected] ~]# php -v PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
次に、PHPでいくつかの構成を構成する必要があります。お気に入りのテキストエディタを使用して、PHP構成ファイルphp.iniを開きます。このチュートリアルでは、nanoエディターを使用します。 nanoがインストールされていない場合は、yum -yinstallnanoを実行できます。
nano /etc/php.ini
次の行を見つけてコメントを外し、地域に応じてタイムゾーンを設定します。例:
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Kolkata
MariaDBはMySQLデータベースのフォークです。サーバーにMariaDBをインストールするには、次のコマンドを実行します。
yum -y install mariadb mariadb-server
次のコマンドを実行してMariaDBを起動し、起動時に起動できるようにします。
systemctl start mariadb
systemctl enable mariadb
Now run the following commands to secure your MariaDB installation.
mysql_secure_installation
上記のコマンドは、MariaDBの新規インストールを保護するためのスクリプトを実行します。スクリプトは既存のrootユーザーパスワードを要求します。MariaDBをインストールしたばかりです。rootパスワードは設定されていません。Enterキーを押すだけで続行できます。
スクリプトは、MariaDBインストールのルートパスワードを設定するかどうかを尋ねてきます。yを選択して、インストールに強力なパスワードを設定します。ほとんどの質問は自明であり、すべての質問に「はい」または「はい」と答える必要があります。出力は次のようになります。
データベースを作成するには、最初にMySQLコマンドラインにログインする必要があります。同じように次のコマンドを実行します。
mysql -u root -p
上記のコマンドは、rootユーザーのMySQLシェルにログインし、rootユーザーのパスワードの入力を求めます。ログインするためのパスワードを入力してください。次に、次のクエリを実行して、ProcessWireインストール用の新しいデータベースを作成します。
CREATE DATABASE pw_data;
上記のクエリは、pw_dataという名前の新しいデータベースを作成します。必要に応じて、データベースに他の名前を使用できます。クエリは常にセミコロンで終わるため、各クエリの最後には必ずセミコロンを使用してください。
データベースが作成されたら、新しいユーザーを作成して、データベースのすべての権限をユーザーに付与できます。新しいデータベースユーザーを作成するには、次のクエリを実行します。
CREATE USER 'pw_user'@'localhost' IDENTIFIED BY 'StrongPassword';
上記のクエリは、ユーザー名pw_userのユーザーを作成します。 pw_userの代わりに、任意のユーザー名を使用できます。 StrongPasswordを非常に強力なパスワードに置き換えます。次に、作成したデータベースに対するすべての特権をデータベースユーザーに提供します。次のコマンドを実行します。
GRANT ALL PRIVILEGES ON pw_data.* TO 'pw_user'@'localhost';
次に、次のコマンドを実行して、データベース権限に変更をすぐに適用します。
FLUSH PRIVILEGES;
次のコマンドを使用してMySQLプロンプトを終了します。
EXIT;
すべての依存関係の準備ができたので、ProcessWireWebサイトからインストールパッケージをダウンロードできます。
cd /var/www
wget https://github.com/processwire/processwire/archive/master.zip
アプリケーションの最新バージョンへのリンクは、ProcessWireダウンロードページでいつでも見つけることができます。次のコマンドを使用してアーカイブを抽出します。
unzip master.zip
unzipがインストールされていない場合は、yum -yinstallunzipを実行できます。次を使用してProcessWireフォルダの名前を変更します:
mv processwire-master processwire
次に、次のコマンドを使用して、アプリケーションの所有権をWebサーバーユーザーに提供する必要があります。
chown -R apache:apache /var/www/processwire
ファイアウォールを実行している場合は、ファイアウォールを通過するポート80でHTTPトラフィックを許可する必要がある場合もあります。同じように次のコマンドを実行します。
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
プロキシ設定はSELinuxポリシーでは機能しないため、SELinuxを無効にする必要があります。サーバーを再起動せずにSELinuxを一時的に無効にするには、次のコマンドを実行します。
setenforce 0
SELinuxを完全に無効にするには、/ etc / selinux/configファイルを編集する必要があります。
nano /etc/selinux/config
次の行を見つけます:
SELINUX=enforcing
次のように変更します:
SELINUX=disabled
次に、ProcessWireアプリケーションの仮想ホストを作成します。同じように次のコマンドを実行します。
nano /etc/httpd/conf.d/cms.yourdomain.com.conf
次の行をファイルに貼り付けます。
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/processwire" ServerName cms.yourdomain.com ServerAlias www.cms.yourdomain.com <Directory "/var/www/processwire"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog "/var/log/httpd/cms.yourdomain.com-error_log" CustomLog "/var/log/httpd/cms.yourdomain.com-access_log" combined </VirtualHost>
cms.yourdomain.comを、アプリケーションへのアクセスに使用する任意のドメインまたはサブドメインに置き換えます。ファイルを保存して、エディターを終了します。次のコマンドを実行して、Apacheサーバーを再起動します。
systemctl restart httpd
次に、Webブラウザーを使用してインストールを完了し、お気に入りのWebブラウザーを使用して次のリンクに移動します。
http://cms.yourdomain.com
次のページで歓迎されます。
[開始]ボタンをクリックして、Webベースのインストールを開始します。次のインターフェースで、インストールプロファイルを選択します。
デフォルトの初級または中級プロファイル、あるいは空白またはクラシックプロファイルのインストールを選択できます。初心者の場合は、デフォルトのプロファイルを選択できます。ミニマルなレスポンシブテーマをサイトにインストールします。空白のプロファイルを選択した場合、テーマはインストールされません。クラシックプロファイルを選択すると、Processwire2.3のデフォルトテーマがインストールされます。
次のインターフェースでは、必要な要件が表示されます。チュートリアルに正しく従えば、すべての依存関係が満たされます。
次のインターフェースで、データベースの詳細を提供します。デフォルトのタイムゾーンを選択し、サイトのホスト名を指定します。ドメイン名を使用してサイトにアクセスしている場合は、ドメイン名を入力してください。ここにIPアドレスを入力することもできます。
これで、ProcessWireがデータベースを作成しました。これで、管理パネルのURLを変更できます。管理パネルがブルートフォース攻撃から保護されるように、推測できないプライベートURLを保持します。管理者ユーザーのユーザー名とパスワードを入力します。
これでProcessWireがインストールされ、cms.yourdomain.comの管理パネルにアクセスできます。
サイトのバックエンドにアクセスします。インストール時に選択した管理者URLに移動し、管理者の資格情報を使用してログインします。
これでProcessWireCMSのインストールが完了しました。これで、CMSを使用して、個人用または商用目的の美しいWebサイトを簡単に作成できます。