scrumblrで簡単に作る付箋共有サーバ

# きっかけ

- 複数人でのタスク管理(可視化)したいが複雑なツールは利用したくない。(カンバン的な)
- 動作の軽いOSSで組みたい
- Node.js使ってみたかった

# 成果物イメージ
![image.png](https://qiita-image-store.s3.amazonaws.com/0/248744/d69e800b-6e6b-1324-dfc9-2d5ae394b4d2.png)


# 前提環境
- 仮想化ソフトウェア
 - VirutalBox(5.2.12) 

- 仮想化マシン
 - CPU   ：2コア
 - メモリ ：512MB
 - NIC1　 ：ホストオンリー
 - NIC2　 ：NAT

- OS
・CentOS7.5(Mimalインストール)



# OS設定
1. SELINUX無効化
1. Firewalld無効化
1. pgmユーザの作成
1. sudo付与

   ```
   echo "pgm ALL=(ALL) NOPASSWD:SETENV: ALL" |tee -a /etc/sudoers.d/pgm
   ```
   `:SETENVをつけることでsudo時にオプション「-E」を付与する事でsudo元の環境変数を引き継ぐ`

1. プロキシ・証明書設定　※社内Proxy等利用している方のみ
1. yum最新化
1. 再起動
1. wget/gcc/gitのインストール(yum)

    ```:「-E」が環境変数引継ぎの意
    # su -pgm
    $ sudo -E yum -y install wget   //redisのダウンロードにて利用
    $ sudo -E yum -y install gcc    //redisのmakeにて利用
    $ sudo -E yum -y install git    //scrumblrのダウンロードにて利用
    ```

# Scrumblr構築

1. redisのインストール

    ```bash
    $ wget http://download.redis.io/releases/redis-5.0.0.tar.gz
    $ tar xzf redis-5.0.0.tar.gz
    $ cd redis-5.0.0
    $ make distclean ※
    $ make
    $ sudo make install
    ```

    `※環境によっては、makeでエラーが発生するため。`


1. redis起動

    ```
    $ /home/pgm/redis-5.0.0/src/redis-server &
    ```

1. nodeインストール

    ```
    $ sudo -E curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash -
    ```

    `setup_10.「x」←数字等ではなく、そのままエックスを入力のこと。`

    ```
    $ sudo -E yum -y install nodejs
    ```

1. npmのプロキシ設定＋証明書エラー無視設定

    ```
    $ sudo -E npm -g config get
    $ sudo -E npm -g config set proxy http://プロキシのIP:プロキシのポート
    $ sudo -E npm -g config set https-proxy http://プロキシのIP:プロキシのポート
    $ sudo -E npm -g config set strict-ssl false　※
    $ sudo -E npm -g config get
    ```

    `証明書系エラーを無視`

1. scrumblrインストール

    ```
    $ cd    //ホームディレクトリへ移動
    $ git clone https://github.com/aliasaria/scrumblr.git
    $ cd scrumblr
    $ ll | grep -e server.js -e config.js
    $ sudo -E npm install
    ```

1. scrumblr設定変更(※)

    ```
    $ sed -i -e "s/'127.0.0.1:6379'/'redis:\/\/127.0.0.1:6379'/g" config.js 
    $ sed -i -e "s/'sys'/'util'/g" server.js
    ```

    `※起動時にエラーが発生するため実施(scrumblrのGitのIssuesより)`

1. scrumblr起動

    ```
    $ sudo node /home/pgm/scrumblr/server.js --port 80 &
    ```

# ブラウザからアクセス
- Chrome、FireFox推奨
- Win7×IE11では正しく描画されない

# 操作方法
- 日本語入力可能
- 初アクセス時はプロジェクト(任意の文字列)を指定(go)の欄に記載しEnter
  `以降は「http://アドレス/任意の文字列」にて直接アクセス可能。上述成果物でいうと、「TEST」`

- 左下の「＋」ボタンで付箋を追加可能。色は自動的に決まる。
- ホワイトボードの右にポインタを合わせると＋ボタンが現れるため、クリックすると「縦の点線」と「分割名(任意の文字列)」を追加可能。
　`上述成果物でいうと、「Todo」「Doing」「Done」の3つ`

# 参考資料
> https://github.com/aliasaria/scrumblr

　`対象箇所：how to install and run on your own computer (linux/osx)`

> https://redis.io/download

> https://www.ritolab.com/entry/74

> https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions-enterprise-linux-fedora-and-snap-packages

　`対象箇所：Debian and Ubuntu based Linux distributions, Enterprise Linux/Fedora and Snap packages
`

> https://github.com/nodesource/distributions/blob/master/README.md

> http://creator.cotapon.org/articles/node-js/%E3%80%90node-js%E3%80%91sys%E3%81%AB%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E5%87%BA%E3%81%9F%E3%82%89util%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B%E3%81%A8%E8%A7%A3%E6%B1%BA