18
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWSのEC2、Amazon LinuxにCrowiをインストールする

Last updated at Posted at 2018-05-15

node.jsをインストールする

ファイルを取得する。

cd /tmp
sudo curl -O http://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.gz

インストールを行う。

sudo tar --strip-components 1 -xzvf node-v8.11.1-linux-x64.tar.gz -C /usr/local

インストールが正常にされているかバージョンを確認する。

node -v
v8.11.1

#mongodbをインストールする
yum リポジトリの定義ファイルを作成する。

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

以下のように編集する。

[mongodb]
name=MongoDB repo
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=0

インストールします。

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

DBをスタートさせる。

sudo service mongod start

バージョンを確認する

mongo
db.version
2.6.12

Crowi 用の DB を作成します。
ここでは DB 名は crowidb としました。

use crowidb
switched to db crowidb

続いてユーザを作成。
ここではとりあえず、ユーザ名「crowi」パスワード「password0」としました。

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

#Redis のインストール
EPEL からインストールします。

sudo rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
sudo yum --enablerepo=epel install -y redis

インストールしたらサービスを起動。
自動起動設定も有効にします。

sudo service redis start
sudo chkconfig redis on

接続できるか確認しておきます。

redis-cli -h localhost INFO Server

#ElasticSearch のインストール
まずは Java をインストールします。

sudo yum install -y java-1.8.0

yum リポジトリからインストールするため、GPG Key をインストール。

sudo rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

リポジトリ定義ファイルを作成。

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

以下のように編集します。

[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=https://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
enabled=0

インストール、起動、自動起動設定の有効化を行います。

sudo yum --enablerepo=elasticsearch-2.x install -y elasticsearch
sudo service elasticsearch start
sudo chkconfig elasticsearch on

日本語に対応するため、analysis-kuromoji をインストールします。

sudo /usr/share/elasticsearch/bin/plugin install analysis-kuromoji

プラグインが読めているか確認する。

sudo service elasticsearch restart
sudo curl -X GET 'http://localhost:9200/_nodes/plugins?pretty' | grep Japanese

#Crowi のインストール
まずは git と krb5-devel をインストール。

sudo yum install -y git krb5-devel

アプリケーション配置用ディレクトリを作成します。
ここでは「/var/apps」にしました。

sudo mkdir /var/apps && cd /var/apps/

crowi を Github から clone して v1.6.0 タグをチェックアウトします。

sudo git clone https://github.com/crowi/crowi.git && cd crowi/
sudo git checkout refs/tags/v1.6.0
sudo yum -y install gcc gcc-c++

フォルダのオーナーを変更する。

cd ..
sudo chown ec2-user:ec2-user -R crowi/
cd crowi

npm install を実行します。
ここが結構時間がかかります。

npm install

CSS, JS のビルドを実行。
画面にアクセスしてデザインが崩れている場合はこれが抜けている可能性が高いです。

npm run build

適当なパラメータで実行

FILE_UPLOAD=local PASSWORD_SEED=password0 MONGO_URI=mongodb://localhost/crowidb npm start

動作を確認する。

http://localhost:3000/

動作を確認できたら止める

npm stop

foreverで自動起動させるように設定していく

npm install -g forever initd-forever log

init.dスクリプトの作成

initd-forever -n crowi
chmod +x crowi
sudo mv crowi /etc/init.d

引数等を足す (FILE_UPLOAD=localを入れています)

sudo vim /etc/init.d/crowi
- nodeApp="/home/username/crowi"
+ nodeApp="/home/username/crowi/app.js"
- $foreverApp start --pidFile $pidFile -l $logFile -a -d -c "$command" $nodeApp
+ FILE_UPLOAD=local PASSWORD_SEED=password0 MONGO_URI=mongodb://localhost/crowidb $foreverApp start --pidFile $pidFile -l $logFile -a -d -c "$command" $nodeApp

起動設定

sudo chkconfig crowi --add
sudo chkconfig crowi on
sudo chkconfig crowi list
sudo service crowi start
18
19
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
18
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?