3
1

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.

WSL(Ubuntu18.04)にDockerを使わずCodiMDを入れる

Posted at

はじめに

WSL(Ubuntu 18.04)にDockerを利用せずにCodiMDを立ててみましたので、メモを( ..)φ

nodejsとnpmのインストール

$ sudo apt install nodejs
$ sudo apt install npm

yarnをインストール

yarnはパッケージマネージャーで、npm同様、こちらもインストールします。

$ cd ~
$ npm install -g yarn
$ yarn install

PostgreSQLにDBを作成

※PostgreSQLのインストールと初期設定は省略します。
PostgreSQLに利用するDBを作成します。「new_role」、「password」、「codimd」は任意で変更します。

$ psql -U postgres
postgres=# CREATE ROLE new_role WITH LOGIN PASSWORD 'password';
postgres=# create database codimd owner new_role encoding 'UTF8';
postgres=# \q

Firewallのポートを開放

「3000」を開放します。自分の環境では、「ufw」で開放しようとしたら以下のようなエラーが出たため、firewalld-cmdを利用しました。

■失敗例

$ sudo ufw allow 3000
ERROR: problem running iptables: iptables v1.6.1: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
$ sudo ufw reload
ERROR: problem running iptables: iptables v1.6.1: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
$ sudo ufw status
ERROR: problem running iptables: iptables v1.6.1: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

■成功例

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

CodiMDの導入

※本当は「/opt」へ配置するのが正解らしいですが、(勉強不足だったので)自分は「/usr/local」に配置しました。

GitHubからCodiMDを取得します。

$ cd /usr/local
$ git clone https://github.com/hackmdio/codimd.git

セットアップ用のスクリプトを実行します。

$ cd codimd
$ bin/setup

これから編集するので、設定ファイル(config.json)のバックアップを作成します。

$ cp config.json config.json.org

設定ファイル(config.json)の「db」部分を編集します。
※今回は「development」を変更します。
※設定値は「PostgreSQLにDBを作成」で入力した値(ロール、パスワード、DB名)を利用します。また、「host」や「port」は各自の環境に合わせて変更してください。

$ vi config.json
 1|  "development": {
 2|          "loglevel": "debug",
 3|          "hsts": {
 4|              "enable": false
 5|          },
 6|          "db": {
 7|             "username": "new_role",
 8|             "password": "password",
 9|             "database": "codimd",
10|             "host": "localhost",
11|             "port": "5432",
12|             "dialect": "postgres"
13|          }
14|      },

DB設定ファイル(.sequelizerc)についてもバックアップを取り、「url」部分を変更します。

$ cp .sequelizerc .sequelizerc.org
$ vi .sequelizerc
 1| 'url':'postgres://new_role:password@localhost:5432/codimd'

DBのmigrationを実行します。

$ node_modules/.bin/sequelize db:migrate

npmでbuildを実行します。

$ npm run build

実行と確認

「development」の設定しか行っていませんので「development」しか指定できませんが、まずは以下のコマンドを実行します。

$ NODE_ENV='development' node app.js &

アクセスするとログがばんばん出てきたので、以下を実行しました。

$ NODE_ENV='development' node app.js > /dev/null 2>&1 &

Webブラウザで「 http://localhost:3000/ 」にアクセスするとCodiMDのサイトが確認できます。

最後に

HackMDを利用したときにすでに分かっていたことですが、CodiMD便利ですね。
共有しながら皆でつっつけるのが非常に効率的です。

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?