FAMPにBackdrop CMSをインストールする

Backdropは**Alibaba Cloud Elastic Compute Service** (ECS)サーバーと互換性があり、うまく動作します。このチュートリアルでは、FAMP上で**Backdrop CMS**を設定します。

*本ブログは英語版からの翻訳です。オリジナルは[こちら](https://www.alibabacloud.com/blog/how-to-install-backdrop-cms-on-famp-freebsd-111_585765)からご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。*

[Alibaba Cloud Tech Share](https://www.alibabacloud.com/campaign/techshare?spm=a2c65.11461447.0.0.3d4dca23dvApaA) 執筆、Arslan Ud Din Shafiq。

Backdropはオープンソースで無料のコンテンツ管理システム（CMS）です。モバイルフレンドリーで高速です。Backdrop CMSの使用にはプログラミング言語の知識は必要ありません。簡単にコンテンツを作成、編集、管理することができます。

Backdrop CMSはマルチレベルのユーザー体験を提供します。これは、異なるレベルの権限を異なる人に設定できることを意味します。Backdrop CMSにはアドオン、プラグイン、テーマ、レイアウトがあります。それらを直接使用することができ、他のアドオンやテーマを探す必要はありません。APIを変更する必要がある場合でも、必要に応じて変更することができます。

もしあなたがDrupal 7を使用しているならば、Drupal 7からのアップグレードパスが組み込まれているBackdrop CMSにアップグレードすることができます。BackdropはAlibaba Cloud [Elastic Compute Service](https://www.alibabacloud.com/product/ecs?spm=a2c65.11461447.0.0.3d4dca23dvApaA) (ECS)サーバーと互換性があり、うまく動作します。開発者として、私はBackdrop CMSをホストするためにAlibaba Cloudのサービスを好みます。[Alibaba Elastic Compute](https://www.alibabacloud.com/product/ecs?spm=a2c65.11461447.0.0.3d4dca23dvApaA) (ECS)は柔軟性が高く、トラフィックが増えたらいつでもハードウェアリソースをアップグレードすることができます。

Backdrop CMSは特定のオペレーティングシステム（OS）へのインストールを制限しません。任意のオペレーティングシステム（OS）を使用することができますが、インストール手順はオペレーティングシステムの選択によって異なります。

このチュートリアルでは、FreeBSD 11.1をインストールしたAlibaba Cloud [Elastic Compute Service](https://www.alibabacloud.com/product/ecs?spm=a2c65.11461447.0.0.3d4dca23dvApaA) (ECS)を使用します。

###前提条件
1、Alibaba Cloud [Elastic Compute Service](https://www.alibabacloud.com/product/ecs?spm=a2c65.11461447.0.0.3d4dca23dvApaA) (ECS)が有効化されている必要があります。新規ユーザーの場合は、Alibaba Cloudアカウントで[Free Credits](https://account-intl.aliyun.com/register/intl_register.htm?spm=a2c65.11461447.0.0.3d4dca23dvApaA&biz_params=%7B%22intl%22%3A%22%7B%5C%22referralCode%5C%22%3A%5C%22ffxt3q%5C%22%7D%22%7D)を取得できます。ECSインスタンスの設定方法がわからない場合は、[このチュートリアル](https://www.alibabacloud.com/blog/3-ways-to-set-up-a-linux-server-on-alibaba-cloud_572384?spm=a2c65.11461447.0.0.3d4dca23dvApaA)を参照するか、[クイックスタートガイド](https://www.alibabacloud.com/help/doc-detail/25422.htm?spm=a2c65.11461447.0.0.3d4dca23dvApaA)を確認してください。

2、サーバーのホスト名を設定する必要があります。

3、Alibaba CloudのVNCコンソールにアクセスするか、PCにインストールされているSSHクライアントを使用します。

###コンソールへのログイン
前提条件が完了したら、SSHクライアント(例：Putty - Puttyは [https://www.putty.org](https://www.putty.org/?spm=a2c65.11461447.0.0.3d4dca23dvApaA) から入手できます)またはAlibaba CloudアカウントのダッシュボードからVNCコンソールを利用して、rootユーザーとしてログインします。

###Sudoをインストール
1、ユーザーにsudo権限を割り当てるには、まずsudoをインストールする必要があります。そのためには、以下のコマンドを実行します。

`# pkg install sudo`

2、インストールを進めるための許可を求められます。「y」と入力してEnterキーを押します。

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

`# adduser`


2、Usernameは、選択したユーザー名を入力してEnterキーを押します。

3、Full Nameは、フルネームを入力してEnterキーを押します。

4、Uidは空欄のままEnterキーを押します。

5、Login groupは、ホイールと入力してEnterキーを押します。

6、ユーザー名を他のグループに招待するには、空欄のままEnterキーを押します。

7、ログインクラスはdefaultと入力してEnterキーを押します。

8、シェルはshと入力してEnterキーを押します。

9、ホームディレクトリは、/home/your_usernameと入力してEnterキーを押します。

10、ホームディレクトリの権限は、空欄のままEnterキーを押します。

11、パスワードベースの認証を使用する場合は、「はい」と入力してEnterキーを押します。

12、パスワードを使用する場合は、「いいえ」と入力してEnterキーを押します。

13、ランダムパスワードを使用する場合は、「いいえ」と入力してEnterキーを押します。

14、あなたはパスワードを入力するように求められます。お好みのパスワードを入力し、Enterキーを押してください。

15、パスワードを再入力してEnterキーを押します。

16、「作成後にアカウントをロックアウトしますか」は、「いいえ」と入力してEnterキーを押します。

17、OKの場合は、「はい」と入力してEnterキーを押します。

18、別のユーザーを追加するか聞かれるので、「いいえ」と入力してEnterキーを押します。

19、sudo/admin権限を持つ新しいユーザーが正常に作成されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/239011b6-853a-fef8-7c34-70d6d8a395b3.png)


注: "aaree "は任意のユーザ名を指定することができます。
20.上記コマンド実行後、以下のコマンドを実行することで、そのグループのメンバーであることを確認することができます。

`# groups aaree`

上のスクリーンショットでは、ユーザー名 "areee "が "wheel "の一部であることを示しています。

21、sudoersファイルを編集して、下のスクリーンショットに示されている行のコメントを解除して、sudo権限をホイールグループに与える必要があります。このために、/etc/sudoersファイルをチェックして、sudoersグループが有効になっているかどうかを確認します。そのために、以下のコマンドを実行します。

`# visudo`

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


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/ce3dde71-02c2-e4f2-e419-5f2d1b863b5d.png)

行頭の#を削除してコメントを外してください。そうしないと、ユーザ名でsudoコマンドを実行できなくなります。

削除するには、#にカーソルを合わせてrキーを押した後、スペースキーを押します。その後、:xと入力してEnterキーを押すと変更が保存されます。

23、では、最近作成したアカウントでログインするか、以下のコマンドでrootユーザからユーザ名に切り替えることができます。

`# su - aaree`

どのアカウントからログインしたかを確認するには、以下のコマンドを入力してEnterキーを押します。

`# whoami`

###FreeBSD 11.1 システムのアップデート
パッケージのインストールに進む前に、以下のコマンドを実行して CentOS をアップデートしてください。

注意: このコマンドを実行するには、root ではないユーザから sudo 権限でログインすることを忘れないでください。

`# sudo freebsd-update fetch`

さて、確認のためにパスワードを入力するように促されます。パスワードを入力して Enter キーを押し、画面に "Complete!" と表示されるまで待ちます。


`# sudo freebsd-update install`
`# sudo pkg update`
`# sudo pkg upgrade`

この操作を続行するように促されるので、'y'と入力してEnterキーを押します。

###Apacheウェブサーバのインストール
1、apache web-serverをインストールするには、以下のコマンドを実行する必要があります。

`# sudo pkg install apache24`

パスワードの入力を求められることがあります。ここでパスワードを入力し、Enterキーを押します。

y/Nの入力を求められますので、'y'と入力してEnterキーを押し、更新を待ちます。

2、Apache Web Serverが正常にインストールされました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/c59a76ef-88f0-1e70-c4c5-8bff69e4f5de.png)

3、これで、ECSを起動したときに自動的にapacheサーバが実行されるようになりました。そのためには、以下のコマンドを実行してください。

`# sudo sysrc apache24_enable=yes`

4、以下のコマンドを実行してApacheのサービスを起動します。パスワードの再入力を求められるかもしれません。

`# sudo service apache24 start`

5、Apacheが正しくインストールされているかどうかは、ブラウザからIPにアクセスすることで確認できます。以下のページが表示されるはずです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/ca664c7f-c540-14ec-4ead-e7b7c02137d5.png)

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

`# sudo vi /usr/local/etc/apache24/httpd.conf`

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

`# DocumentRoot "/usr/local/www/apache24/data”`


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/15c9c646-62c5-3ff6-88fa-2f6b9e69f251.png)

7、今度はmod_rewriteを有効にする必要があります。mod_rewriteをロードするには、Apacheの設定で以下の行をアンコメントする必要があります。

`#LoadModule rewrite_module libexec/apache24/mod_rewrite.so`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/e03388b4-adb0-9748-67ac-a4cc438c14d1.png)

この行はデフォルトでコメントされています。mod_rewrite をロードするには、この行のコメントを外すために # を削除してください。これを行うには、カーソルを # に合わせて r を押し、スペースキーを押します。今度は :x と入力して Enter キーを押して変更を保存します。

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

`# sudo service apache24 restart`

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

これを行うには、以下の手順に従ってください。

1、Elastic Compute Serviceセクションに移動します。Backdrop CMSの準備をしているECSの詳細ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/7a8e785c-9bdd-f141-bb67-d220ca168637.png)

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

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/02cb65f5-52df-9517-de4a-ae61e33450e9.png)

###PHP 7.1をインストール
1、今、Backdrop CMSに必要なモジュールと一緒にPHP 7.1をインストールする必要があります。そのためには、以下のコマンドを実行します。

`# sudo pkg install php71 mod_php71 php71-GD php71-mbstring php71-mysqli php71-curl php71-ctype php71-tokenizer php71-dom php71-session php71-iconv php71-hash php71-json php71-fileinfo php71-pdo php71-pdo_mysql php71-zlib php71-filter php71-xml php71-SampleXML`

2、上記の操作を進めるように促されます。yを入力してEnterキーを押して先に進みます。

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/ff91bc5a-94ad-1a14-b1c0-7984b067c7a0.png)

3、ここで、PHPを使用するようにApacheを設定する必要があります。そのためには、Apache の Includes ディレクトリに php.conf という新しいファイルを作成してください。そのためには、以下のコマンドを実行します。

`# sudo vi /usr/local/etc/apache24/Includes/php.conf`

開いたファイルに以下のテキストを追加し、:xと入力してEnterキーを押してファイルを保存します。

```
<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>
```

4、今、変更をリロードするためにApacheサービスを再起動します。以下のコマンドを使用します。

`# sudo service apache24 restart`

###MariaDB（MySQL）サーバのインストール
1、MySQLサーバの代わりに、FreeBSDではデフォルトでMariaDBサーバを使用しています。MariaDBをインストールするには、以下のコマンドを使用します。

`# sudo pkg install mariadb102-server mariadb102-client`

Alibaba Cloud [AsparaDB for RDS](https://account-intl.aliyun.com/register/intl_register.htm?spm=a2c65.11461447.0.0.3d4dca23dvApaA&biz_params=%7B%22intl%22%3A%22%7B%5C%22referralCode%5C%22%3A%5C%22ffxt3q%5C%22%7D%22%7D)は良い代替手段であり、私は強くお勧めします。Alibaba Cloud [AsparaDB for RDS](https://account-intl.aliyun.com/register/intl_register.htm?spm=a2c65.11461447.0.0.3d4dca23dvApaA&biz_params=%7B%22intl%22%3A%22%7B%5C%22referralCode%5C%22%3A%5C%22ffxt3q%5C%22%7D%22%7D)は、データベースの管理から解放され、ビジネスに集中することができます。すぐに使えるサービスです。SQL インジェクション、ネットワーク攻撃、ブルートフォース攻撃、その他多くのタイプのデータベース攻撃からの保護を提供します。それは非常にスケーラブルで、利用可能で、使いやすさと安全性が高いです。

2、アクションを取るかどうかを尋ねるプロンプトが表示されます。yと入力してEnterキーを押します。MariaDBサーバーが正常にインストールされました。

3、ここで、システム再起動時に自動的にMariaDBサーバーが起動するように設定します。そのためには、以下のコマンドを使用します。

`# sudo sysrc mysql_enable=“yes"`

`# sudo service mysql-server start`

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

`# sudo mysql_secure_installation`

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

#データベースの作成
1、MariaDBシェルを使用してrootユーザーとしてログインし、以下のコマンドを実行します。

`# sudo mysql -u root -p`

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

3、Backdrop CMSのデータベースとこのデータベースのユーザーを作成するには、以下のクエリを使用します。

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

ここで、Backdrop_dbは希望する名前のデータベース名に変更することができ、Backdrop_userは希望するユーザ名に変更することができます。

###バックドロップCMSのインストール
1、cd /usr/local/www/apache24/dataに移動します。

2、カレントディレクトリを確認するには、コマンドを使用します。

`# pwd`

3、今、以下のコマンドを使用して、インストール用のBackdrop CMSパッケージを取得します。

`# sudo wget https://github.com/backdrop/backdrop/releases/download/1.9.3/backdrop.zip `

上記のコマンドでエラーが発生した場合、またはBackdrop CMSの最新バージョンをインストールする必要がある場合は、[ここをクリック](https://github.com/backdrop/backdrop/releases/download/1.9.3/backdrop.zip?spm=a2c65.11461447.0.0.3d4dca23dvApaA&file=backdrop.zip)して最新バージョンのリンクを取得します。

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

`# ls -la`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/e3b85e1d-261d-ab18-19e7-0482d02e9e6b.png)


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

`# sudo unzip backdrop.zip`

6、さて、すべてのファイルをWebルートディレクトリに移動します。そのためには、以下のコマンドを実行します。

`# sudo mv backdrop/* /usr/local/www/apache24/data`

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

`# sudo chown -R www:www *.`

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

`# sudo service apache24 restart`

おめでとうございます。IPアドレス経由でBackdrop CMSにアクセスする時が来ました。

###Backdrop CMSのインストールを完了する
1.Backdrop CMSのインストールファイルを開く前に、settings.phpファイルのデータベース設定を確認する必要があります。

`# sudo vi settings.php`

2、開いたファイルの下の行を見つけて、データベースの設定を更新するためにそれを編集し、:xと入力してからEnterキーを押して変更を保存します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/f8512785-6506-4ee8-2ba0-f3789d390e11.png)

3、Backdrop CMSにアクセスするには、ブラウザのアドレスボックスでECSのIPアドレスを使用してエンターキーを押します。私のECSのIPアドレスは47.89.249.16です。

IPアドレス経由でアクセスできない場合は、IPアドレスに/index.phpを付加してみてください。私の例では、[http://47.89.249.16/index.php](http://47.89.249.16/index.php?spm=a2c65.11461447.0.0.3d4dca23dvApaA)

4、保存して続行をクリックしてBackdrop CMSのインストールを進めます。

5、インストールが完了したら、次のフォームが表示されます。あなたのウェブサイトに関する詳細を記入し、ウェブ管理者の資格情報を設定し、保存して続行を押してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/6713adb9-472e-ac75-f55d-7e4ddff1cfb8.png)

6、これで、[Alibaba Cloud ECS](https://www.alibabacloud.com/product/ecs?spm=a2c65.11461447.0.0.3d4dca23dvApaA)のIPアドレスからBackdrop CMSのサイトにアクセスできるようになりました。私の場合は、[http://47.89.249.16/](http://47.89.249.16/?spm=a2c65.11461447.0.0.3d4dca23dvApaA) を使ってアクセスしました。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/1ab21bc6-2033-8b5f-b396-73420365399f.png)



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