このチュートリアルでは、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
でアクセスしています。
以下のチェックボックスにチェックを入れると、この規約に同意したことになります。
###データベースの設定
データベースを設定するために、以下のフォームに情報を入力します。
###管理者アカウントの設定
PyroCMS の管理画面にアクセスするには、管理者アカウントが必要です。管理者アカウントを作成するには、以下のフォームに情報を入力してください。
###基本的な設定
PyroCMS の名前、プライマリドメイン名、言語、タイムゾーンを設定する必要があります。これを行うには、以下のフォームに情報を入力して、インストールボタンをクリックしてください。
インストール中は以下のような画面が表示されます。インストールには数分かかる場合があります。
正常にインストールが完了したら、ログインをクリックして管理パネルにアクセスし、サイトを表示して、あなたのウェブサイトに移動することができます。
ログインをクリックすると、以下のような画面が表示されます。
管理パネルへのログインに成功すると、以下のようなダッシュボードが表示されます。
###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ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
アリババクラウドジャパン公式ページ