Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした