LoginSignup
0
0

More than 3 years have passed since last update.

Amazon linux2上にcrowiをインストールする

Posted at

crowiについてはこちら
https://site.crowi.wiki/
見やすいWikiが作れます

node.jsインストール

nodebrewを入れて好きなバージョンに切り替えられるようにする

curl -L git.io/nodebrew | perl - setup
vi ~/.bash_profile
export PATH=$HOME/.nodebrew/current/bin:$PATH
source ~/.bash_profile

nodeのバージョンを確認し、8.11.1に切り替える
nodeのバージョンが新しすぎるとエラーで落ちるので、nodeのバージョンは8.11.1でいきましょう。

nodebrew ls-remote
nodebrew install-binary v8.11.1
nodebrew use 8.11.1

すぐにバージョンを確認しても反映されていないことがあるので、ターミナルを再起動

node -v

v8.11.1が表示されればOK

MongoDBをインストール

定義ファイルを作成

sudo vi /etc/yum.repos.d/mongodb.repo

以下の通り記載

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

完了したらインストール

sudo yum --enablerepo=mongodb install -y mongodb-org

MongoDBにデータベースやユーザー追加

MongoDBがインストール出来たらcrowi用のデータベースを追加

mongo
use crowidb
switched to db crowidb

続いてユーザーを追加
パスワードなどは適当

db.createUser({user: "crowi", pwd: "password", roles: [{role: "readWrite", db: "crowidb"}]});

作成したら一回MongoDBから抜けて起動

sudo yum install -y mongodb-org
sudo service mongod start

Nginxインストール

Amazon linuxが提供しているトピック一覧を確認

amazon-linux-extras

nginx1などが出てくると思われる。未インストールであればdisabledとなっているはず
Nginxをインストール

sudo amazon-linux-extras install nginx1

再度確認するとステータスがenabledに変わるはずなので、バージョンも確認

nginx -v

Nginxを起動

sudo systemctl start nginx.service
sudo systemctl status nginx.service

このままだとEC2サーバ起動時にNginxが立ち上がらないので自動起動の設定をONにする

systemctl is-enabled nginx.service
sudo systemctl enable nginx.service
systemctl is-enabled nginx.service

Nginxの設定ファイルを作成

場所は様々ですが・・・

sudo vi /etc/nginx/conf.d/crowi.conf

中身に以下記載

server {
  listen   *:80;
  server_name crowi.hoge.com;

  access_log /opt/nginx/logs/crowi_access.log;
  error_log  /opt/nginx/logs/crowi_error.log;

  location / {
    proxy_pass http://127.0.0.1:3001;
  }
}

Crowiのインストール

git clone --depth 1 https://github.com/crowi/crowi.git
cd crowi
git checkout v1.6.0
sudo npm install

これでlocalhostにアクセスするとcrowiが表示されるはず

プロセスの常時起動設定

環境変数の設定
3001ポートで動かしたい

export PASSWORD_SEED=なんでもOK
export MONGO_URI=mongodb://crowi:パスワード@localhost/crowidb
export PORT=3001
export NODE_ENV=production

終わったらforeverのインストール

npm install forever -g

プロセス起動

forever start app.js
forever list

これでlocalhostにアクセスすると、crowiの設定画面が見られるようになるはずです。
あとは管理者ユーザーを登録してcrowiライフスタートです。
basicなどはcrowiの設定画面から設定が出来るのでかんたんです。

何らかの理由で落としてしまったときにやらないといけないっぽいこと

nginxの再起動と環境変数の再設定〜

systemctl restart nginx

export PASSWORD_SEED=なんでもOK
export MONGO_URI=mongodb://crowi:パスワード@localhost/crowidb
export PORT=3001
export NODE_ENV=production

forever start app.js

参考(ありがとうございます)

https://qiita.com/zwirky/items/83cd83e4094e502092d2
https://qiita.com/Hwoa/items/a01f2c6325b0f719905a

0
0
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
0
0