CentOS7にDevHubをインストールした時の記録です。
だいたいOSのインストールから始めて1時間程度です。
CentOS7が初めてだったので、ネットワーク関連の設定から始まります。
なお、sudoしてないのは、ぜんぶrootで実行しているからです。(良くない。)
1. CentOS7の初期設定
CentOS7をインストールしたら、とりあえずネットワークやfirewall、そしてSELinuxの設定を行います。
1.1. ネットワーク設定
とりあえずホスト名を表示してみます。
nmcli g hostname
必要であればホスト名を変更します。
nmcli g hostname hogehoge
次にネットワークインタフェースの一覧を表示してみます。
nmcli c show
さらに詳細を表示してみます。
nmcli —fields connection c show eth0
connection.autoconnect
がno
であれば、OS起動時に自動的にネットワークが起動しないので、yes
に変更します。
nmcli c mod eth0 connection.autoconnect yes
その他、ネットワークインタフェースの情報(ここではIPv4関連)を表示し内容を確認します。
nmcli —fields ipv4 c show eth0
ip a show
変更が必要なものがあれば、変更します。
1.2. firewallの設定
まずは、現状の稼働状態を表示します。
systemctl status firewalld
そして、設定内容を確認します。
firewall-cmd —list-all
おそらくhttp(80番ポート)は開いていないので、開けます。
firewall-cmd —permanent —add-service=http
この設定だと、永続的(一時的ではない)設定が行われますが、現時点では反映されていない(80番は開いていない)ので、反映します。
firewall-cmd —reload
1.3. SELinuxの設定
MongoDBの本家に「ちゃんと設定するかdisabledにしろ」的なことが書いてあったので、今回はdisabledにします。
vi /etc/selinux/config
SELINUX=enforcing
をSELINUX=disabled
に変更すると、再起動後にSELinuxが止まります。
2. 前提条件のインストール
DevHubの動作に必要なミドルウェアなどをインストールします。yumを使って手っ取り早くやってしまいます。
2.1. MongoDBのインストール
MongoDBは標準のリポジトリにはないので、mongodb-orgのリポジトリを追加します。
vi /etc/yum.repos.d/mongodb-org-3.0.repo
内容は下記の通りです。
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1
yumでMongoDBをインストールします。
yum install mongodb-org
OSごと再起動して、MongoDBが起動することを確認します。
reboot
mongodbの状態は下記で確認できます。
systemctl status mongod
2.2. node.jsとgitのインストール
node.jsが標準のリポジトリにないので、EPELを使えるようにしてしまいます。
yum install epel-release
yumを使ってnode.js、npm、gitをインストールします。
yum install nodejs npm git
3. DevHubのインストール
DevHubをインストールします。ついでに、OS起動時に自動的に起動するようにします。
3.1. DevHubのインストール
DevHubを配置する場所に移動します。今回は/srv
を使用してしまいます。
cd /srv
GitHubからクローンします。
git clone https://github.com/volpe28v/DevHub.git
必要なライブラリをnpmでインストールします。
cd DevHub
npm install
試しに起動してみます。firewallが動作していて80番ポートしか開けていないので、80番で待ち受けるようにします。
node app.js -p 80
起動するまで結構な時間がかかるようですが、しばらく経つとブラウザでアクセスできるようになります。
3.2. 自動起動にする
node.jsのアプリケーションをdaemon化するforeverをインストールします。一緒に、foreverのinit.d用スクリプトを作成するinitd-foreverもインストールします。
npm install -g forever initd-forever
foreverのinit.d用スクリプトを作成します。
initd-forever -a /srv/DevHub/app.js -n devhub
init.dから起動した場合も80番ポートで待ち受けるように、生成されたスクリプトを修正します。
vi devhub
$foreverApp start 〜
の最後に -p 80
を付けます。
そして、修正したスクリプトをinit.dへ移動し、実行できるようにします。
cp devhub /etc/init.d
chmod a+x /etc/init.d/devhub
OS起動時に自動的に起動するように設定します。
chkconfig devhub on
OSを再起動してみます。
reboot
DevHubが使用できれば、完成です。
4. 参考情報
下記の情報を参考にさせていただきました。
-
DevHubの本家
https://github.com/volpe28v/DevHub/ -
MongoDB本家にあるCentOSへのインストール方法
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/ -
DevHubのインストール方法
http://wiki.rookie-inc.com/serverapps/devhub -
「CentOS7.1でNetwork ManagerのCUIを使ってネットワーク設定をする」
http://te2u.hatenablog.jp/entry/2015/07/10/014214 -
「CentOS7.1 64bit firewalldによるアクセス制御」
http://www.kakiro-web.com/linux/firewalld.html -
「node.jsをyumでインストールする(centos6.5)」
http://qiita.com/you21979@github/items/4efd9fc4363573191b5c -
「Node.jsのサービス実行」
http://multix.jp/daemon-nodejs/