CentOS7にCezerinをインストールする手順

CentOS7にCezerinをインストールする手順

Centos7にreact.jsベースのECプラットフォームである「Cezerin」をインストールする手順を記述してます。

環境

  • OS centos7.7.1908
  • node v10.21.0

必要パッケージインストール

事前に必要なパッケージをインストールしておきます。

まずはアップデートをしておきます。

sudo yum -y update

gitとwgetとnanoをインストールします。

sudo yum install git wget nano

Node.jsインストール

nodeをインストールします。リポジトリを追加します。

sudo yum install epel-release curl

バージョン10をインストールします。12では動作しませんでした。

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum install nodejs

バージョンを確認しておきます。

node -v

<出力結果>
v10.21.0

MongoDBインストール

mongoDBをインストールします。リポジトリを追加しておきます。

nano /etc/yum.repos.d/mongodb.repo

下記の通りに編集します。

[MongoDB]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=0
enabled=1

インストールを実行します。

yum install mongodb-org

起動しておきます。

systemctl start mongod.service

## 自動起動有効
systemctl enable mongod.service

バージョンを確認します。

mongod --version

<出力結果>
db version v4.2.8

Cezerinインストール

準備ができたのでCezerinをインストールします。
optディレクトリ配下に、ダウンロードします。

cd /opt
sudo git clone https://github.com/cezerin/cezerin.git cezerin

権限の問題が発生するので、/opt/cezerinに実行ユーザーを追加します。

sudo chown -R username /opt/cezerin

npmで、Cezerinをインストールします。

cd cezerin
npm i postcss@6.0.23
npm install
npm run build

デフォルトのデータを追加しておきます。

npm run setup

<出力結果>
> cezerin@0.33.0 setup /opt/cezerin
> node -r esm src/api/server/setup.js

info: Successfully connected to mongodb://127.0.0.1:27017/shop

firewall設定

firewallが設定されていれば、ポート3000番を許可しておきます。

sudo firewall-cmd --add-port=3000/tcp --zone=public --permanent
sudo firewall-cmd --reload

Cezerin起動

Cezerinを起動します。

npm start

<出力結果>
[start-api] > cezerin@0.33.0 start-api /opt/cezerin
[start-api] > node -r esm src/api/server/index.js
[start-api] 
[start-store] 
[start-store] > cezerin@0.33.0 start-store /opt/cezerin
[start-store] > node -r esm dist/store/server/index.js
[start-store] 
[start-store] info: Store running at http://localhost:3000
[start-api] info: API running at http://localhost:3001
[start-api] info: MongoDB connected successfully

ブラウザから http://プライベートIP or サーバーアドレス:3000 にアクセスすると下記の画面が表示されます。

サービス化

マシンが再起動しても、cezerinが起動されるようにサービスに登録しておきます。

sudo nano /etc/systemd/system/cezerin.service

<編集>
[Unit]
Description=Cezerin

[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/cezerin
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodejs-example

[Install]
WantedBy=multi-user.target

daemonを再起動します。

systemctl daemon-reload

自動起動を設定します。

systemctl enable cezerin