WordPress
Redmine
GitLab
cloudgarage

CloudGarage 早速いじってみた - Part.04 アプリケーションテンプレート

More than 1 year has passed since last update.

はじめに

こんにちは、 @FoxBoxsnet です。

前回は、サーバー作成方法と作成したサーバーでベンチマークを取りました。

今回はアプリケーションテンプレートを使ってみます。
これを書いている時に 公式(@CloudGarage_PR) にコメントをもらってしまったw

FAQにアプリケーションテンプレートの使い方を追記して頂いたので紹介しようと思う。

目次

公式ページ

アプリケーションテンプレート とは?

アプリケーションテンプレートとは、 CloudGarage が用意しているソフトウェアインストール済みのOSイメージである。
ここで注意しなくてはならないのが、 ソフトウェアのインストールが完了しているだけである MySQLの設定やWordPressの配置などは各個人で行わないければならない.

  • (最初は私も全自動設定だと思っていたw

Java

screenshot-2017-08-14-17-01-28.png

インストールされていたバージョン (2017/08/05)

Packages Versions
openjdk-8-jdk 8u131-b11-0ubuntu1.16.04.2
openjdk-8-jdk-headless 8u131-b11-0ubuntu1.16.04.2
openjdk-8-jre 8u131-b11-0ubuntu1.16.04.2
openjdk-8-jre-headless 8u131-b11-0ubuntu1.16.04.2

今回は、 Elasticsearch を適当に起動してみる。

bash
root@java:~# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.deb
--2017-08-14 17:10:37--  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.deb
Resolving artifacts.elastic.co (artifacts.elastic.co)... 54.235.82.130, 54.243.108.41, 23.21.118.61, ...
Connecting to artifacts.elastic.co (artifacts.elastic.co)|54.235.82.130|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 33367126 (32M) [application/octet-stream]
Saving to: ‘elasticsearch-5.5.1.deb’

elasticsearch-5.5.1.deb                                     100%[========================================================================================================================================>]  31.82M  11.9MB/s    in 2.7s

2017-08-14 17:10:41 (11.9 MB/s) - ‘elasticsearch-5.5.1.deb’ saved [33367126/33367126]

root@java:~# dpkg -i elasticsearch-5.5.1.deb
Selecting previously unselected package elasticsearch.
(Reading database ... 148757 files and directories currently installed.)
Preparing to unpack elasticsearch-5.5.1.deb ...
Creating elasticsearch group... OK
Creating elasticsearch user... OK
Unpacking elasticsearch (5.5.1) ...
Setting up elasticsearch (5.5.1) ...
Processing triggers for systemd (229-4ubuntu17) ...
Processing triggers for ureadahead (0.100.0-19) ...
root@java:~# systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: http://www.elastic.co

メモリ要求量と、 Networkのせっていを変更

bash


root@java:~# sed -ie s/-Xms2g/-Xms512m/ /etc/elasticsearch/jvm.options
root@java:~# sed -ie s/-Xmx2g/-Xmx512m/ /etc/elasticsearch/jvm.options

root@java:~# sed -ie s/'#network.host: 192.168.0.1'/'network.host: 0.0.0.0'/ /etc/elasticsearch/elasticsearch.yml

root@java:~# systemctl start elasticsearch
root@java:~# systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
   Active: active (running) since Mon 2017-08-14 17:22:46 JST; 1min 51s ago
     Docs: http://www.elastic.co
  Process: 2147 ExecStartPre=/usr/share/elasticsearch/bin/elasticsearch-systemd-pre-exec (code=exited, status=0/SUCCESS)
 Main PID: 2150 (java)
    Tasks: 33
   Memory: 712.5M
      CPU: 10.927s
   CGroup: /system.slice/elasticsearch.service
           mq2150 /usr/bin/java -Xms512m -Xmx512m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -server -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.no

Aug 14 17:22:46 java systemd[1]: Starting Elasticsearch...
Aug 14 17:22:46 java systemd[1]: Started Elasticsearch.

アクセスしてみる

http:// <Global IP>:9200 でアクセスすると、
screenshot-2017-08-14-17-25-39.png

まとめ

Java のインストールを省けるので結構楽に使えるのではないだろうか、
実際私が インスタンス 立ててから、 Elasticsearch を起動するまで約5分でできた。

ただ、 Javaは知っての通りすごく頻繁にアップデートが来る。
今回利用したテンプレートも比較的最近のバージョンだったが、

bash
root@java:~# apt update
root@java:~# apt list --upgradable | grep openjdk

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

openjdk-8-jdk/xenial-updates,xenial-security 8u131-b11-2ubuntu1.16.04.3 amd64 [upgradable from: 8u131-b11-0ubuntu1.16.04.2]
openjdk-8-jdk-headless/xenial-updates,xenial-security 8u131-b11-2ubuntu1.16.04.3 amd64 [upgradable from: 8u131-b11-0ubuntu1.16.04.2]
openjdk-8-jre/xenial-updates,xenial-security 8u131-b11-2ubuntu1.16.04.3 amd64 [upgradable from: 8u131-b11-0ubuntu1.16.04.2]
openjdk-8-jre-headless/xenial-updates,xenial-security 8u131-b11-2ubuntu1.16.04.3 amd64 [upgradable from: 8u131-b11-0ubuntu1.16.04.2]

このように更新が来ていた、マイナーバージョンのアップデートなどで、アプリケーションテンプレートが更新される事を期待してます!!

GitLab

インスタンス・オプションについて | FAQ | CloudGarage

screenshot-2017-08-13-22-44-18.png

GitLabの推奨動作環境はCPU:2core memory:4GB 以上となります。
memoryが不足し、502エラーになるなどの場合はディスクに余裕があればswapを設定いただくことで回避できます。

まんまと、引っかかったのでみなさんご注意!!

インストールされていたバージョン (2017/08/05)

Packages Versions
gitlab-ce 9.3.9-ce.0
GitLab 9.3.9
GitLab Shell 5.1.1
GitLab Workhorse v2.1.1
GitLab API v4
Git 2.13.0
Ruby 2.3.3p222
Rails 4.2.8
postgresql 9.6.3

1. password 変更

screenshot-2017-08-13-22-59-30.png

2. ログイン

ID: root
PW: 1. のパスワードでログインできる。
screenshot-2017-08-13-23-02-04.png

設定とか

Admin Area

screenshot-2017-08-13-23-58-39.png

まとめ

GitLab は自分でも構築してみた事があるが、意外と面倒だった。
GitLab を軽く弄るにはいい機会であった。
DBの設定, HTTPSなどが整えば、これで立てるのもありではないだろうか.

RubyOnRails

screenshot-2017-08-14-18-04-02.png

私は、 RubyOnRails 書けないので 入ってるソフトウェアだけ確認した.

インストールされていたバージョン (2017/08/14)

Packages Versions
libruby2.3 2.3.1-2~16.04
libtcltk-ruby 1:2.3.0+1
rake 10.5.0-2
ruby 1:2.3.0+1
ruby-dev 1:2.3.0+1
ruby-did-you-mean 1.0.0-2
ruby-full 1:2.3.0+1
ruby-minitest 5.8.4-2
ruby-net-telnet 0.1.1-2
ruby-power-assert 0.2.7-1
ruby-test-unit 3.1.7-2
ruby2.3 2.3.1-2~16.04
ruby2.3-dev 2.3.1-2~16.04
ruby2.3-doc 2.3.1-2~16.04
ruby2.3-tcltk 2.3.1-2~16.04
rubygems-integration 1.10

まとめ

Rubyの開発環境として使うには一式入っているような気がした。

Redmine

screenshot-2017-08-15-22-05-54.png

Redmine 全く公式資料が無いので手間取ったw

インストールされていたバージョン (2017/08/15)

Packages Versions
redmine 3.2.1-2
redmine-mysql 3.2.1-2
apache2 2.4.18-2ubuntu3.3
mysql-client 5.7.19-0ubuntu0.16.04.1
mysql-server 5.7.19-0ubuntu0.16.04.1
ruby 1:2.3.0+1
ruby2.3 2.3.1-2~16.04

1. アクセスしてみる

http://<Global IP>/redmine
screenshot-2017-08-15-22-07-41.png

2. ログイン

右上の ログイン をクリックしてログインページへ飛ぶ
screenshot-2017-08-15-22-09-14.png

ID: admin
PW: admin
でログイン出来る。
また、この ID, PW は Redmine のデフォルトパスワードなので、ディクショナリーアタックされる可能性が高い。
すぐ変更するようにしよう。

まとめ

こちらも簡単に Redmine をお試し出来る環境ができていた。
お試しレベルはこれで十分しれない。

アクセスが http://<Global IP>/redmine なため、 http://<Global IP> でアクセス出来るようになっていればもう少し手間が省けたかもしれない。

LAMP

screenshot-2017-08-15-22-17-15.png

LAMPの環境のバージョンなどを調べた

インストールされていたバージョン (2017/08/15)

Packages Versions
apache2 2.4.18-2ubuntu3.3
mysql-client 5.7.19-0ubuntu0.16.04.1
mysql-server 5.7.19-0ubuntu0.16.04.1
php7.0 7.0.18-0ubuntu0.16.04.1

試してみる

bash
root@lamp01:~# vim /var/www/html/index.php
index.php
<?php
  phpinfo();
?>

アクセスしてみる

http://Global IP/index.php でアクセス
screenshot-2017-08-15-22-39-36.png

まとめ

phpinfo を表示してみた。
起動直後から LAMPの環境が使えるので php の表示チェックなどにつかそうだ。

WordPress

インスタンス・オプションについて | FAQ | CloudGarage
screenshot-2017-08-14-16-58-18.png

PHP / Apache / MySQL をインストール・起動されるらしい。
公式FAQに記載されたのでそのまま実行してみる.

インストールされていたバージョン (2017/08/05)

Packages Versions
apache2 2.4.18-2ubuntu3.3
mysql-client 5.7.19-0ubuntu0.16.04.1
mysql-server 5.7.19-0ubuntu0.16.04.1
php7.0 7.0.18-0ubuntu0.16.04.1

WordPressパッケージは/root以下に配置されます。

DBとユーザーの作成

bash
root@wp001:~# mysql
mysql> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.01 sec)

mysql> GRANT ALL PRIVILEGES ON wordpress.* to wordpress@localhost identified by 'password';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> EXIT
Bye
root@wp001:~#

WordPressパッケージをドキュメントルートに移動する

bash
root@wp001:~# mv /root/wordpress /var/www/html

root@wp015:~# ls -la /var/www/html/
total 24
drwxr-xr-x 3 root   root     4096 Aug  6 21:15 .
drwxr-xr-x 3 root   root     4096 Jul 21 11:56 ..
-rw-r--r-- 1 root   root    11321 Jul 21 11:57 index.html
drwxr-xr-x 5 nobody nogroup  4096 Aug  6 21:24 wordpress

wp-config.php を設定

bash
root@wp015:~# sed -ie s/database_name_here/wordpress/g wp-config.php
root@wp015:~# sed -ie s/username_here/wordpress/g wp-config.php
root@wp015:~# sed -ie s/password_here/password/g wp-config.php

GUIで設定

  1. サイトのタイトル, ユーザー名, パスワード, メールアドレス, 検索エンジンでの表示 の必要事項を入力して WordPress をインストール をクリック
    screenshot-2017-08-06-21-21-46.png

  2. ログイン をクリック
    screenshot-2017-08-06-21-22-09.png

  3. ログインしてみる
    screenshot-2017-08-06-21-22-29.png

  4. 各種機能を確認する
    screenshot-2017-08-06-21-22-42.png

一括流し込み

今回使用したコマンドをそのままshell に流し込めるように書き出した物.
15回ほどやり直してるうちに残すようになった。

bash
mysql
CREATE DATABASE wordpress; 
GRANT ALL PRIVILEGES ON wordpress.* to wordpress@localhost identified by 'password';
FLUSH PRIVILEGES;
EXIT

mv /root/wordpress /var/www/html

cd /var/www/html/wordpress
cp wp-config-sample.php wp-config.php

sed -ie s/database_name_here/wordpress/g wp-config.php
sed -ie s/username_here/wordpress/g wp-config.php
sed -ie s/password_here/password/g wp-config.php

まとめ

うん。 何度やったかわからない Hello WordPress!! でしたw
テーマの検証やレビューにはいいかもしれない。

総括

全体的に簡単に使用出来るように面倒なDB周りの設定がしてあり WebUIでアクセスするだけで設定出来る物が半分ぐらいあった。
お試しレベルではかなり良いのではないだろうか。

ただ、実運用を考えてしまうと、自分で設定しないとデータベース名, ユーザー, パスワード などが不明のため、不安ではある。

また全ての DB に言えることだが、今回のアプリケーションテンプレートでは root は Non Password である。
もし使い続けるなら設定を改める必要があるだろう。

MySQLのログイン情報がわかりません。

一部のテンプレートでインストールされているMySQLはroot(パスワード無し)で設定されており、127.0.0.1 からのみ接続可能です。

出典: インスタンス・オプションについて | FAQ | CloudGarage