💼

【備忘録】SHIRASAGIをローカル環境に構築する part 2

2024/03/20に公開

前回まで

lubuntu 22.04の環境にMongoDBの追加して導入準備までしました
本格的にインストールしていきます。
前回の記事

公式のレポジトリを参考に構築をする

SHIRASAGIレポジトリ
Readmeの手順で環境に合わせて、インストールしていきます

MongoDBの起動設定

前回、自動起動の設定をしていなかったので電源切った場合
立ち上げ時に起動させる必要がある

systemctl start mongod #MongoDBサービス開始
sudo systemctl enable mongod #MongoDBサービスの自動立ち上げ

asdfのインストール

sudo -s or su - #rootユーザに切り替える
git clone https://github.com/asdf-vm/asdf.git ~/.asdf
#rootのホーム配下に追加されるので.bashrcに追加
vi ~/.bashrc
#ファイルの末尾に追記
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash
#設定を反映させる
source ~/.bashrc
#asdfがrootユーザーに使えるようになる

asdfがpipやnpmの代わりになるようですね

Rubyのインストール

asdf plugin add ruby #/root/.asdf/repositoryにプラグイン追加
asdf install ruby 3.1.4 #バージョン指定でダウンロードとインストール
asdf global ruby 3.1.4 #グローバルデフォルトの設定

Nodejsのインストール

asdf plugin add nodejs #nodejsのプラグインを追加
asdf install nodejs 20.5.0 #nodejsをダウンロードとインストール
asdf global nodejs 20.5.0 #グローバルデフォルトの設定
npm install -g yarn #yarnパッケージのダウンロード

npm は執筆時10.5.0が最新なのでアップデートを促されるため、アップデートしても良いと考えている

npm アップデート
npm install -g npm@10.5.0

SHIRASAGI のインストール

SHIRASAGI のダウンロード (stable)
最新版のver1.18.2が入るのか?

git clone -b stable https://github.com/shirasagi/shirasagi /var/www/shirasagi

次に設定ファイルの設置とgemのインストールをするため、ディレクトリを変更します

cd /var/www/shirasagi
cp -n config/samples/*.{yml,rb} config/ # 4ファイル程コピーされる
bundle install --without development test # 実行するとインストールが始まる
#上記実行後、エラーが無ければ次のコマンドを実行

Webサーバの起動

bundle exec rake unicorn:start
下記レスポンスメッセージ
bundle exec unicorn_rails -c /var/www/shirasagi/config/unicorn.rb -E production -D
プロセス確認
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       18608 35.2  4.2 728708 685704 ?       S    20:14   0:14 unicorn_rails master -c /var/www/shirasagi/config/unicorn.rb -E production -D
root       18609  0.0  4.1 728840 672948 ?       S    20:14   0:00 unicorn_rails worker[0] -c /var/www/shirasagi/config/unicorn.rb -E production -D
root       18610  0.0  4.1 728840 672948 ?       S    20:14   0:00 unicorn_rails worker[1] -c /var/www/shirasagi/config/unicorn.rb -E production -D

サイトを作る

データベース(インデックス)の作成

bundle exec rake db:drop
bundle exec rake db:create_indexes

新規サイトの追加(サンプル)

bundle exec rake ss:create_site data='{ name: "サイト名", host: "www", domains: "localhost:3000" }'
↓サイト名をお好みの名前に変更
bundle exec rake ss:create_site data='{ name: "zenn_test_abekobo", host: "www", domains: "localhost:3000" }'
レスポンスメッセージ> created  zenn_test_abekobo

サンプルデータの投入

bundle exec rake db:seed name=demo site=www

Webページにアクセスしてみる

管理画面と公開ページに分かれているみたいです
管理画面のログインページだけ紹介します
管理画面
公開ページのサンプル
サンプル

まとめ

サイトを立ち上げるとこまで出来ました
管理画面でポータルやワークフロー等の機能が確認できたので、
公開ページの作成にも取り組みたいと思います

Discussion