このチュートリアルでは、Alibaba Cloud ECSインスタンスにLimeSurvey CEをインストールして設定します。
本ブログは英語版からの翻訳です。オリジナルはこちらからご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。
前提条件
- Alibaba Cloud Elastic Compute Service (ECS)を有効にし、有効な支払い方法を確認する必要があります。新規ユーザーの場合は、新規アカウントで300ドル~1200ドル相当のAlibaba Cloudクレジットを獲得できます。ECSインスタンスのセットアップ方法がわからない場合は、このチュートリアルまたはクイックスタートガイドを参照してください。ECSインスタンスには、少なくとも1GBのRAMと1つのCoreプロセッサが必要です。
- Alibaba Cloudから登録されたドメイン名。すでにAlibaba Cloudまたは他のホストからドメインを登録している場合は、そのドメインネームサーバーレコードを更新することができます。
- ドメイン名は、あなたのAlibaba Cloud ECSのIPアドレスを指している必要があります。
- Alibaba CloudのVNCコンソールまたはPCにインストールされているSSHクライアントにアクセスします。
- サーバーのホスト名を設定し、root権限を持つユーザーを作成します。
環境の設定
サーバーの設定
何らかのパッケージのインストールを進める前に、以下のコマンドを使用してUbuntuシステムを更新してください。このコマンドを実行するには、root 以外のユーザーから sudo 権限でログインすることを忘れないでください。
# sudo apt update && sudo apt upgrade
PHPのインストール
Limesurvey は PHP 5.5.5.9 以降が必要です。このチュートリアルでは、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
最後に、PHP7.2をインストールするには、以下のコマンドを実行します。
# sudo apt install -y php7.2
必要な PHP 拡張機能のインストール
LimeSurvey CEを使用するには、以下のPHP拡張機能が必要です。
1、php7.2-cli
2、php7.2-fpm
3、php7.2-common
4、php7.2-mysql
5、php7.2-ldap
6、php7.2-imap
7、php7.2-GD
8、php7.2-mbstring
9、php7.2-zip
10、php7.2-xml
上記のPHPの拡張機能をインストールするには、以下のコマンドを実行します。
# sudo apt-get -y install php7.2-xml php7.2-mbstring php7.2-common php7.2-mysql php7.2-fpm php7.2-cli php7.2-gd php7.2-zip php7.2-imap php7.2-ldap
上記の拡張機能をインストールすると、自動的に apache2 がインストールされます。そのため、明示的にapacheをインストールする必要はありません。
インストールされているPHPのバージョンを確認するには、以下のコマンドを実行します。
# php —version
MariaDBのインストール
LimeSurvey CE は MySQL、PostgreSQL、MSSQL、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 lime CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'aareez'@'localhost' IDENTIFIED BY '654321Ab';
GRANT ALL PRIVILEGES ON lime.* TO 'aareez'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Unzipのインストール
圧縮されたzipフォルダを解凍するために使用するunzipをインストールする必要があります。unzipをインストールするには、コマンドを実行します。
# sudo apt-get install unzip -y
LimeSurvey CE のインストールとセットアップ
LimeSurvey CEをインストールするには、以下の手順に従います。
コマンドを使って /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
LimeSurvey CE の最新の安定版を以下のコマンドでダウンロードしてください。
# wget https://download.limesurvey.org/latest-stable-release/limesurvey3.15.0+181008.zip
以下のコマンドを実行して、ダウンロードした圧縮フォルダを解凍します。
# unzip limesurvey3.15.0+181008.zip
以下のコマンドを実行してzipフォルダを削除してください。
# rm limesurvey3.15.0+181008.zip
これで、/var/www/html の所有権を www-data に提供し、apache サーバが必要なファイルにアクセスできるようにします。
# sudo chown -R www-data:www-data /var/www/html
Apache サーバの設定
以下のコマンドを実行して、LimeSurvey CE用のバーチャルホスト設定ファイルを作成します。このコマンドを実行すると、nano テキストエディタでファイルが開きます。
# sudo nano /etc/apache2/sites-available/lime.conf
以下のコードをコピーしてLimeSurvey CEに保存します。
<VirtualHost *:80>
ServerAdmin admin@xyz.com
ServerName softpedia.xyz
DocumentRoot /var/www/html/limesurvey/
DirectoryIndex index.php index.htm index.html
<Directory /var/www/html>
Options FollowSymLinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/LimeSurvey_error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/LimeSurvey_access.log combined
</VirtualHost>
以下のコマンドを実行してデフォルトサイトを無効にします。
# sudo a2dissite 000-default.conf
新しく作成したバーチャルホストを有効にする必要があります。そのためには、以下のコマンドを実行します。
# sudo a2ensite lime
rewrite modを有効にする必要があります。apache2ディレクトリの設定ファイルを編集するか、以下のコマンドを実行してください。
# sudo a2enmod rewrite
SSLエンジンを有効にする必要があります。apache2ディレクトリの設定ファイルを編集するか、以下のコマンドを実行してください。
# sudo a2enmod ssl
以下のコマンドを実行して変更を適用し、設定をロードするには、apacheサーバを再起動する必要があります。
# sudo service apache2 restart
LimeSurvey CEには、自分のドメイン名やECSのIPアドレスからアクセスすることができます。私の場合は、http://softpedia.xyz
を経由してアクセスしています。以下のような画面が表示されます。
それはあなたのブラウザの言語を自動的に検出します。ただし、ご希望の言語を選択して「インストール開始」をクリックしてください。以下の画面が表示されます。
「承諾する」ボタンをクリックして次に進みます。インストール前のチェックページに移動します。全てが正常に動作していることが確認できます。ここでエラーが出た場合は、トラブルシューティングをしてみてください。
「次へ」ボタンをクリックすると、データベースの設定ページにリダイレクトされます。
クリックして[次へ]ボタンをクリックして、あなたは、テーブルをデータベースに埋め込むことを許可するかどうかを尋ねられます。
Populate databaseボタンをクリックして続行すると、管理者の設定ページにリダイレクトされます。
ここで、上記のフォームに情報を入力し、「次へ」をクリックします。管理者アカウントが作成されると、以下のページにリダイレクトされます。
管理画面をクリックすると、以下のページにリダイレクトされます。管理者の資格情報を使用してアカウントにログインします。
ログインすると、以下のようなダッシュボードが表示されます。
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ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
アリババクラウドジャパン公式ページ