LoginSignup
4
3

More than 5 years have passed since last update.

EC2にredashの導入

Last updated at Posted at 2017-02-12

環境

redashのバージョン: v0.10.1
サーバ: amazon linux

手順

1. EC2のインスタンス作成

amazon linuxを選択
スクリーンショット 2017-02-12 19.48.45.png

今回はお試しなので、スペックはt2.nanoで。
スクリーンショット 2017-02-12 19.49.31.png

2. 作成したインスタンスにssh接続

下記のページを参考にして、redashサーバへssh接続出来るようにする

Mac OS XでAWS EC2のLinuxインスタンスにssh接続する
http://qiita.com/tomoktan_cansell/items/5c83f090f958ca35b1d2

3. 作成したインスタンスに、redashのインストール

作成したインスタンスにログイン後、下記のコマンドを入力する。

$ wget https://github.com/getredash/redash/archive/v0.10.1.b1834.zip
$ unzip v0.10.1.b1834.zip
$ cd redash-0.10.1.b1834/
$ cd setup/amazon_linux/
$ ./bootstrap.sh

4. 80番portが重複しているエラーの対処

この状態でredashにアクセスすると、

2017/02/12 10:45:24 [emerg] 23011#0: a duplicate default server for 0.0.0.0:80 in /etc/nginx/nginx.conf:41

となり、80番portのnginxの設定が重複していてエラーとなる。

/etc/nginx/conf.d/redash.confに、80番portの設定が入っているので、
/etc/nginx/nginx.confの設定を80番port以外に変更する必要がある。

$ vi /etc/nginx/nginx.conf
>>> before
     40     server {
     41         listen       80 default_server;
     42         listen       [::]:80 default_server;
     43         server_name  localhost;
>>>

>>> after
     40     server {
     41         listen       8081 default_server;
     42         listen       [::]:8081 default_server;
     43         server_name  localhost;
>>>

$ sudo /etc/init.d/nginx restart

5. 「TemplateNotFound: login.html」の対応

assetのpath指定を行なっていないのと、下記のエラーが出る。

[2017-02-12 12:14:32,296][PID:19995][ERROR][redash.wsgi] Exception on /login [GET]
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.7/site-packages/flask_restful/__init__.py", line 271, in error_router
    return original_handler(e)
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/opt/redash/redash.0.9.2.b1536/redash/handlers/authentication.py", line 49, in login
    show_saml_login=settings.SAML_LOGIN_ENABLED)
  File "/usr/local/lib/python2.7/site-packages/flask/templating.py", line 127, in render_template
    return _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list),
  File "/usr/local/lib/python2.7/site-packages/jinja2/environment.py", line 851, in get_or_select_template
    return self.get_template(template_name_or_list, parent, globals)
  File "/usr/local/lib/python2.7/site-packages/jinja2/environment.py", line 812, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/usr/local/lib/python2.7/site-packages/jinja2/environment.py", line 774, in _load_template
    cache_key = self.loader.get_source(self, name)[1]
  File "/usr/local/lib/python2.7/site-packages/flask/templating.py", line 64, in get_source
    raise TemplateNotFound(template)
TemplateNotFound: login.html

.envにassetのpath指定を行う

$ sudo vi /opt/redash/.env

>>> before
export REDASH_LOG_LEVEL="INFO"
export REDASH_REDIS_URL=redis://localhost:6379/1
export REDASH_DATABASE_URL="postgresql://redash"
export REDASH_COOKIE_SECRET=veryverysecret
>>>

>>> after
export REDASH_LOG_LEVEL="INFO"
export REDASH_REDIS_URL=redis://localhost:6379/1
export REDASH_DATABASE_URL="postgresql://redash"
export REDASH_COOKIE_SECRET=veryverysecret
export REDASH_STATIC_ASSETS_PATH="../rd_ui/dist/"
>>>
$ supervisorctl restart all

6. 管理画面へアクセス

ブラウザから、redashにアクセスすると下記の画面が出れば、redashのインストールは無事完了。
スクリーンショット 2017-02-12 23.17.23.png

admin/adminでログインが可能。
スクリーンショット 2017-02-12 23.18.15.png

4
3
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
4
3