LoginSignup
0
1

More than 3 years have passed since last update.

Ubuntu 16.04でのElastic Compute ServiceインスタンスへのPyroCMSのインストール

Posted at

このチュートリアルでは、Alibaba Cloud ECSインスタンスPyroCMSをインストールして設定します。

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

前提条件

  • Alibaba Cloud Elastic Compute Service (ECS)を有効にし、有効な支払い方法を確認する必要があります。新規ユーザーの場合は、新規アカウントで300ドル~1200ドル相当のAlibaba Cloudクレジットを獲得できます。ECSインスタンスのセットアップ方法がわからない場合は、このチュートリアルまたはクイックスタートガイドを参照してください。ECSインスタンスは、少なくとも2GBのRAMと2コアプロセッサを搭載している必要があります。
  • Alibaba Cloudから登録されたドメイン名。すでにAlibaba Cloudまたは他のホストからドメインを登録している場合は、そのドメインネームサーバーレコードを更新することができます。
  • ドメイン名は、あなたのAlibaba Cloud ECSのIPアドレスを指している必要があります。
  • Alibaba CloudのVNCコンソールまたはPCにインストールされているSSHクライアントにアクセスします。
  • サーバーのホスト名を設定し、root権限を持つユーザーを作成します。

環境の設定

サーバーの設定

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

# sudo apt update && sudo apt upgrade

PHPのインストール

PyroCMS には PHP 7.0 以降が必要です。このチュートリアルでは、PHP 7.2をインストールします。そのためには、以下の手順を実行します。

まず、Pythonのソフトウェアプロパティとソフトウェアプロパティコモンをインストールします。そのためには、以下のコマンドを実行します。

# sudo apt-get install software-properties-common python-software-properties 

新しいバージョンのPHP用のリポジトリを追加します。

# sudo add-apt-repository ppa:ondrej/php

そして、利用可能なリポジトリを更新するためにシステムを更新します。

# sudo apt update

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

# sudo apt install -y php7.2

必要な PHP 拡張モジュールのインストール

PyroCMS は以下の PHP 拡張機能が必要です。

1、php7.2-cli
2、php7.2-fpm
3、php7.2-mysql
4、php7.2-curl
5、php7.2-sqlite3
6、php7.2-GD
7、php7.2-mbstring
8、php7.2-dom

上記のPHPの拡張機能をインストールするには、以下のコマンドを実行します。

# sudo apt-get -y install php7.2-cli php7.2-fpm php7.2-dom php7.2-mbstring php7.2-mysql php7.2-curl php7.2-sqlite3 php7.2-gd 

上記の拡張機能のインストールを行うと、apache2が自動的にインストールされますので、つまり手動でインストールする必要はありません。

以下のコマンドを実行して、インストールされているPHPのバージョンを確認します。

# php -version

MariaDBのインストール

PyroCMS は MySQL、PostgreSQL、MSSQL、Redis、SQLite をサポートしています。このチュートリアルでは、MySQLにMariaDBサーバを使用します。デフォルトでは、Ubuntuのリポジトリには古いバージョンのMariaDBがインストールされています。新しいバージョンのMariaDBを使用するには、UbuntuシステムにMariaDBリポジトリを追加する必要があります。そのためには、以下の手順に従ってください。

以下のコマンドを実行してキーを確認します。

# sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

以下のコマンドを実行してリポジトリを追加します。

# sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main’

以下のコマンドを実行してアップデートします。

# sudo apt update

以下のコマンドを実行してMariaDBをインストールします。

# sudo apt install -y mariadb-server

再起動後に自動的に起動できるように、MariaDBサーバーを起動して有効にします。

# sudo systemctl start mariadb
# sudo systemctl enable mariadb

以下のコマンドを実行して、MariaDBサーバのセキュリティを強化し、rootユーザにパスワードを設定します。

# sudo mysql_secure_installation

以下のコマンドを使用して、rootユーザーとしてMySQLシェルに接続し、パスワードを入力します。

# sudo mysql -u root -p

以下のMySQLクエリをMariaDBサーバで実行します。

CREATE DATABASE pyro CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'aareez'@'localhost' IDENTIFIED BY '654321Ab';
GRANT ALL PRIVILEGES ON pyro.* TO 'aareez'@'localhost';
FLUSH PRIVILEGES;
EXIT; 

Unzipのインストール

圧縮されたzipフォルダを解凍するために使用するunzipをインストールする必要があります。unzipをインストールするには、以下のコマンドを実行します。

# sudo apt-get install unzip -y

Curlのインストール

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

# sudo apt-get install curl -y

Git のインストール

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

# sudo apt-get install git -y

composerのインストール

composerをインストールして設定するには、以下のコマンドを実行します。

# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# php -r "if (hash_file('SHA384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
# php composer-setup.php
# php -r "unlink('composer-setup.php');"
# sudo mv composer.phar /usr/local/bin/composer

composerのバージョンを確認するコマンドを実行することで、composerが正常にインストールされているかどうかを確認することができます。

# composer -v

PyroCMSのインストールと設定

PyroCMSをインストールするには、以下の手順に従います。

コマンドで /var/www/html に移動します。

# cd /var/www/html

var/www/html ディレクトリの所有者を aareez に変更します。

# sudo chown -R aareez:aareez /var/www/html

以下のコマンドでindex.htmlファイルを削除します。

# sudo rm index.html

PyroCMSの最新の安定版をダウンロードするには、以下のコマンドを実行してください。

# composer create-project pyrocms/pyrocms

www-data に /var/www/html の所有権を与え、apache サーバが必要なファイルにアクセスできるようにします。

# sudo chown -R www-data:www-data /var/www/html

Apache サーバの設定

以下のコマンドを実行して、PyroCMS用のバーチャルホスト設定ファイルを作成します。その後、nanoテキストエディタでファイルが開きます。

# sudo nano /etc/apache2/sites-available/pyro.conf

以下のコードをコピーしてPyroCMSして保存します。

<VirtualHost *:80> 
    ServerAdmin admin@xyz.com
    ServerName softpedia.xyz
    DocumentRoot /var/www/html/pyrocms/public
    DirectoryIndex index.php index.htm index.html
   <Directory /var/www/html>
        Options +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
 ErrorLog ${APACHE_LOG_DIR}/PyroCMS_error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/PyroCMS_access.log combined
</VirtualHost>

以下のコマンドを実行してデフォルトサイトを無効にします。

# sudo a2dissite 000-default.conf

新しく作成したバーチャルホストを有効にする必要があります。そのためには、以下のコマンドを実行します。

# sudo a2ensite pyro

これでrewrite modを有効にする必要があります。apache2ディレクトリの設定ファイルを編集するか、以下のコマンドを実行してください。

# sudo a2enmod rewrite

ここで、SSLエンジンを有効にする必要があります。apache2ディレクトリの設定ファイルを編集するか、以下のコマンドを実行してください。

# sudo a2enmod ssl

ここで、以下のコマンドを実行して変更を適用し、設定をロードするために apache サーバを再起動する必要があります。

# sudo service apache2 restart

これで、ドメイン名やECSのIPアドレスからPyroCMSにアクセスできるようになりました。私の場合は http://softpedia.xyzでアクセスしています。

以下のチェックボックスにチェックを入れると、この規約に同意したことになります。

image.png

データベースの設定

データベースを設定するために、以下のフォームに情報を入力します。

image.png

管理者アカウントの設定

PyroCMS の管理画面にアクセスするには、管理者アカウントが必要です。管理者アカウントを作成するには、以下のフォームに情報を入力してください。

image.png

基本的な設定

PyroCMS の名前、プライマリドメイン名、言語、タイムゾーンを設定する必要があります。これを行うには、以下のフォームに情報を入力して、インストールボタンをクリックしてください。

image.png

インストール中は以下のような画面が表示されます。インストールには数分かかる場合があります。

image.png

正常にインストールが完了したら、ログインをクリックして管理パネルにアクセスし、サイトを表示して、あなたのウェブサイトに移動することができます。

image.png

ログインをクリックすると、以下のような画面が表示されます。

image.png

管理パネルへのログインに成功すると、以下のようなダッシュボードが表示されます。

image.png

SSL証明書のインストール

Let's Encrypt with Certbotを使ってSSL証明書をインストールします。そのためには、以下の手順を実行します。

パッケージを更新します。

# sudo apt-get update

software-properties-commonをインストールします。

# sudo apt-get install software-properties-common.

以下のコマンドを実行して、サートボットのリポジトリを追加します。

# sudo add-apt-repository ppa:certbot/certbot

追加された certbot リポジトリを読み込むようにパッケージを更新します。

# sudo apt-get update

SSL証明書発行前にapacheを停止します。

# sudo systemctl stop apache2

以下のコマンドを実行して、python-certbot-apacheをインストールします。

# sudo apt-get install python-certbot-apache

以下のコマンドを実行して、Let's Encrypt SSLを発行してもらいます。

# sudo certbot --apache -d softpedia.xyz

オプション2を選択してリンクをhttpsにリダイレクトし、SSLのバーチャルホスト設定を更新します。apacheサーバを再起動します。

# sudo systemctl start apache2

https<span>://your_domain_name</span>.tldからアクセスできます。

ファイアウォールとポートの設定

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

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

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1