CentOS 7.3のLAMPでImpressPages 5.0を設定する


ImpressPagesはオープンソースで無料のCMSです。(モデル・ビュー・コントローラ) MVCアーキテクチャをベースにしています。

本ブログは英語版からの翻訳です。オリジナルはこちらからご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。

Alibaba Cloud Tech Share 執筆、Arslan Ud Din Shafiq。

ImpressPagesはオープンソースで無料のコンテンツ管理システム(CMS)です。それは(モデル-ビュー-コントローラ)MVCアーキテクチャに基づいています。ImpressPagesは、軽量で効果的かつシンプルなCMSで、デフォルトで多言語に対応しています。ドラッグ&ドロップだけでインターフェースを作ることができます。

ImpressPages 5.0のインストールは以下の手順で行います。

前提条件

1、Alibaba Cloud Elastic Compute Service (ECS)をお持ちである必要があります。初めての方は、ここをクリックしてAlibaba Cloudの無料トライアルをお試しください。このチュートリアルでは、Alibaba Cloud ECSとCentOS 7を使用しています。

2、サーバーのホスト名を設定します。

3、オプション:セキュリティグループを設定したり、ファイアウォールを有効にしたりして、サーバーのセキュリティを確保しましょう。Alibaba Cloudのセキュリティ製品の中には、Server GuardAnti-DoS Basicなど無料で提供されているものもあります。

ECSインスタンスへの接続

1、SSHクライアント(例:Putty - Puttyは https://www.putty.org から入手できます)またはAlibaba Cloudアカウントのダッシュボードで利用可能なVNCコンソールを介して、rootユーザ名とパスワードでログインします。

ルート権限を持つユーザーを追加する

2、root権限を持つ新しいユーザーを追加するには、以下のコマンドを使用します。

# useradd aareez

ここで、"aareez "は任意のユーザー名で置き換えることができます。

3、選択したユーザ名に希望のパスワードを設定します。私の場合、ユーザー名は "areez "でした。以下のコマンドを入力すると、新しいパスワードを入力するように促されます。

# passwd aareez

4、今度はsudoユーザーのグループにユーザー名を割り当ててroot権限を与えます。そのために、/etc/sudoersファイルをチェックして、sudoersグループが有効になっているかどうかを確認します。そのために、以下のコマンドを実行します。

# visudo

5、上記コマンドを実行すると、開いたファイルに以下の行が表示されます。

6、以下のコマンドを実行して、ユーザ名 "aareez "を "wheel "グループに追加します。

# usermod -aG wheel aareez

上記コマンド実行後、以下のコマンドを実行することで、そのグループの所属を確認することができます。

# groups aareez

7、新しいユーザー名とパスワードでログインします。以下のコマンドでユーザを切り替えることができます。

# su - aareez

現在、新しいアカウントからログインしていることが確認できます。これを確認したい場合は、以下のコマンドで確認できます。

# whoami

CentOS 7システムを更新する

8、パッケージのインストールを進める前に、以下のコマンドでCentOSをアップデートしてください。このコマンドを実行するには、root ではないユーザから sudo 権限でログインすることを忘れないでください。

# sudo yum -y update

9、パスワードの入力を求められます。ここでパスワードを入力し、Enterキーを押してアップデートを待ちます。

これでCentOSのアップデートが完了しました。次のステップは、Apache Web Serverをインストールすることです。

Nano Editorのインストール

10、Nano Editorをインストールするには、以下のコマンドを実行します。

# sudo yum install nano

epel-release のインストール

11、epel-releaseをインストールするには、以下のコマンドを実行します。

# sudo yum install epel-release

Apache ウェブサーバのインストール

12、apache web-serverをインストールするには、以下のコマンドを実行する必要があります。

# sudo yum -y install httpd

パスワードの入力を求められます。今すぐパスワードを入力し、Enterキーを押して更新を待ちます。

13、インストール後、ECSを起動したときに自動的に実行されるようにする必要があります。そのためには、以下のコマンドを実行します。

# sudo systemctl enable httpd

# sudo systemctl start httpd

14、DocumentRoot ディレクティブが正しいディレクトリを指していることを確認するには、以下のコマンドで Apache の設定ファイルを確認してください。

# sudo nano /etc/httpd/conf/httpd.conf

Note: DocumentRoot の設定は以下のようになります。

# DocumentRoot "/var/www/html”

15、以下のコマンドを実行して00-base.confを開き、mod_rewriteを検索して、このモジュールが正しく読み込まれているかどうかを確認します。

# sudo nano /etc/httpd/conf.modules.d/00-base.conf

mod_rewriteモジュールが既にロードされている場合、以下のような行が表示されます。

LoadModule rewrite_module modules/mod_rewrite.so

セミコロンは、任意の Apache モジュールの行にコメントをつけるために使われます。上記の行がセミコロン(;)で始まる場合は、セミコロンを削除してコメントを外します。

16、さて、ImpressPages CMSでmod_rewriteを正しく動作させるためには、Apacheの設定を編集する必要があります。編集用のファイルを開くには、以下のコマンドを使用します。

# sudo nano /etc/httpd/conf/httpd.conf

17、セクションを探し、AllOverrideの値を以下のように変更します。

From To
AllowOverride none AllowOverride All

修正後のセクションは以下のようになります。

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

18、Ctrl+Xを押して変更を保存し、Yを押してからEnterキーを押します。これで変更が保存されました。

19、変更を正常に動作させるためには、apacheを再起動する必要があります。そのためには、以下のコマンドを実行します。

# sudo systemctl restart httpd

HTTPとHTTPSのためのファイアウォールを設定する

ファイアウォールを有効にしている場合は、クラウドサーバーの Alibaba Cloud セキュリティグループでルールを定義し、ポート 80/tcp, 443/tcp の例外を追加する必要があります。これらのポートは、ECSインスタンスを作成する際に有効にすることができます。これらのポートのブロックを解除し忘れた場合は、以下の手順に従ってください。デフォルトでは、これらのポートはファイアウォールによってブロックされています。

これを行うには、スナップショットで与えられた指示に従ってください。

20、Elastic Compute Serviceセクションに移動します。ImpressPages CMSに使用したECSのMoreボタンをクリックします。

21、ルールの設定をクリックします。

22、ルールのクイック作成をクリックします。

23、下のスクリーンショットのように設定を追加してOKをクリックします。

SELinux (Security Enhanced Linux)を無効化

ImpressPages CMSのパーミッション関連の問題を回避するためには、SELinuxを無効にする必要があります。そのためには、まず、SELinuxが有効になっているか無効になっているかを確認します。

24、確認するには、以下のコマンドを使用します。

# sudo sestatus

Alibaba Cloud ECSではデフォルトで無効になっています。ただし、以前にECSに変更を加えていた場合は、このステップに従ってください。ステータスが無効になっている場合は、このステップをスキップします。それ以外の場合は、以下のコマンドを使用してファイルを開きます。

# sudo nano /etc/selinux/config

25、開いているファイルに以下の変更を加え、変更後のファイルを保存します。

From To
SELINUX=enforcing SELINUX=disabled

Ctrl+Xを押してから「Y」を押し、Enterキーを押して変更を保存し、開いたファイルを閉じます。

SELinuxを無効にした後、ECSを再起動する必要があります。ECSを再起動するには、以下の手順に従ってください。

PHP 7.1をインストールする

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

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

27、リポジトリを追加したら、ImpressPages CMSで必要なモジュールと一緒にPHP7.1をインストールします。以下のコマンドを実行してください。

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

PHPモジュールのインストールに成功すると、以下のような画面が表示されます。

MariaDB(MySQL)サーバのインストール

28、MySQLサーバの代替として、CentOSではデフォルトでMariaDBサーバを使用しています。MariaDBをインストールするには、以下のコマンドを使用します。

# sudo yum -y install mariadb-server

Alibaba Cloud Aspara DB for RDSは最高の代替手段と言えるでしょう。こちらの使用をお勧めします。

29、インストールが成功した後、システムの再起動時に自動的に起動するようにMariaDBサーバーを有効にします。これを行うには、以下のコマンドを使用します。

# sudo systemctl enable mariadb

# sudo systemctl start mariadb

30、さて、MariaDBサーバーのセキュリティを確保するために、コマンドを実行します。

# sudo mysql_secure_installation

ルートパスワードはデフォルトでは空白になっていますが、エンターボタンを押して進み、「Y」を選択してパスワードを選択します。

データベースの作成

31、MariaDBシェルを使用してrootユーザーとしてログインし、以下のコマンドを実行します。

# sudo mysql -u root -p

32、コマンドプロンプトは、ユーザー'root'のパスワードを入力するように求められます。パスワードを入力してエンターキーを押すと、MariaDBのコマンドプロンプトにプロンプトが表示されます。

33、ImpressPages CMSのデータベースとこのデータベースのユーザーを作成するには、次のクエリを使用します。

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

ここでは、im_dbを任意の名前に変更することができます。

Unzip のインストール

34、任意のzipフォルダを解凍するには、unzipツールが必要です。そのためには、以下のコマンドを使用します。

# sudo yum -y install unzip

35、その後、「y」と入力してEnterキーを押します。

ImpressPages CMSファイルのインストール

36、cd /var/www/html/に移動します。

注意: もし、「そのようなディレクトリやファイルがありません」などのエラーが出た場合は、htmlディレクトリを作成してください。そのためには、cd /var/wwwに移動し、以下のコマンドを実行してhtmlディレクトリを作成し、cd htmlと入力してエンターキーを押します。

# sudo mkdir html

37、今すぐ次のコマンドを使用してインストール用のImpressPages CMSパッケージを取得します。

# sudo wget http://download.impresspages.org/ImpressPages_5_0_3.zip

上記のコマンドでエラーが出た場合や、最新版のインストールが必要な場合は、ここをクリックして最新版のリンクを取得してください。

38、カレントディレクトリにあるファイルを一覧表示するには、以下のコマンドを使用します。

# ls -la

39、今すぐ圧縮されたzipフォルダを解凍してください。そのためには、以下のコマンドを使用します。

# sudo unzip ImpressPages_5_0_3.zip

40、今、コマンドを使ってインストールしたディレクトリを/var/www/htmlに移動します。

# sudo mv ImpressPages/* ImpressPages/.htaccess /var/www/html

41、ファイルの所有者を変更してパーミッションの問題を回避します。以下のコマンドを実行します。

# sudo chown -R apache:apache * .htaccess

42、上記の手順を行った後、コマンドでApacheを再起動します。

# sudo systemctl restart httpd

おめでとうございます。これで、IPアドレス経由でImpressPages CMSにアクセスできるようになりました。

ImpressPages CMSのインストールを完了

43、ImpressPages CMSにアクセスするには、47.254.66.175ではなく、ECSのIPアドレスを使用し、ブラウザのアドレスボックスに以下のアドレスを記述してエンターキーを押してください。

http://47.254.66.175/index.php

44、あなたは、ウェブサイトの設定ページにリダイレクトされます、あなたのウェブサイトの名前、管理者のメールアドレスとタイムゾーンを入力します。

ウェブ名 あなたのウェブサイトの名前
管理者のメールアドレス あなたのメールアドレス
タイムゾーン あなたのタイムゾーン

「次へ」を押します。

45、これでシステムチェックページが開きますので、Nextを押します。

46、この後、データベースの設定ページにリダイレクトされます。上のクエリで使用したように以下の値を追加します。

ホスト localhost
データベース名 im_db
ユーザー名 im_db
パスワード SecurePassword

そして次へボタンを押してください。

47、これで自動的にアミンパネルにリダイレクトされます。もし自動的にリダイレクトされない場合は、以下のリンクをクリックしてECSのIPアドレスを追加してください。

http://47.254.66.175/admin.php

48、それでも管理画面にアクセスできない場合は、.htaccessファイルに問題がある可能性があります。そのためには、以下のコマンドを使ってエディタで.htaccessを開いてください。

# sudo nano .htaccess

ユーザーのパスワードの入力を求められます。パスワードを入力してEnterキーを押します。

49、下の行のコメントを外してみてください。

Options -Indexes
Options -MultiViews

Ctrl+Xを押して、「Y」を押してからEnterキーを押します。

50、apacheサーバを再起動

# sudo systemctl restart httpd

お待たせしました....チュートリアルは終了しました。質問や問題があれば、コメント欄に質問を書いてみてください。ありがとうございました。

アリババクラウドは日本に2つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
アリババクラウドジャパン公式ページ