第10章 その他(カスタマイズなど) - Next-L Enju インストールマニュアル(Docker編)
その他(カスタマイズなど)
Enjuを運用するにあたっての留意点・注意点
Enjuサーバは,外部からネットワーク経由でアクセスすることができるサービスとして運用されます。したがって,そのセキュリティ管理などには十分に気を配る必要があります。Enjuサーバ自体は,配付時点での最新の状況に対応できるようにセキュリティ対策を講じていますが,日進月歩のネットワーク環境では,新しいネットワーク上の脅威が発生する可能性もあります。このような状況に対応するため,運用に際しては,特に以下の2つにご注意ください。
-
最新の配付パッケージを使用すること:Enjuコンテナについても,今後,バージョンアップを重ねるたびに配付を予定しています。機能面での充実というだけではなく,セキュリティ面からも最新のパッケージを使用ください。
-
不必要な外部からのアクセスを禁止すること:場合によっては,ファイアウォールの導入やリモートルータでのフィルタリングについても検討した方が良いこともあるでしょう。
Enju を停止する
この章では頻繁にEnjuを停止する方法の説明がありますので、停止する方法についてまず説明しておきます。
-
Enjuをインストールしたディレクトリに移動します。
cd enju_leaf
-
Enju を停止します。
docker compose down
Enju を再起動する
この章では頻繁にEnjuを再起動する方法の説明がありますので、再起動する方法についてまず説明しておきます。
-
Enjuをインストールしたディレクトリに移動します。
cd enju_leaf
-
Enjuを再起動します。
docker compose up -d
「条件を詳しく指定して検索」の画面をカスタマイズする
Enju 「条件を詳しく指定して検索」の画面をカスタマイズする方法を説明します。 設定する画面がないため、これはサーバー上の作業をする必要があります。
-
Enjuを停止する を実行して、Enjuを停止します。
-
以下のファイルの中身を編集して保存します。
app/views/page/advanced_search.html.erb
-
Enjuを再起動する を実行してEnjuを再起動し、「条件を詳しく指定して検索」の画面をリロードして確認します。修正が必要なら 1. と 2. の手順を行います。
トップの画面の検索フォームをカスタマイズする
Enju トップの画面の検索フォームをカスタマイズする方法を説明します。 設定する画面がないため、これはサーバー上の作業をする必要があります。
-
Enjuを停止する を実行して、Enjuを停止します。
-
以下のファイルの中身を編集して保存します。
app/views/page/_search_form.html.erb
-
Enjuを再起動する を実行してEnjuを再起動し、トップの画面をリロードして確認します。修正が必要なら 1. と 2. の手順を行います。
検索結果一覧画面の検索フォームをカスタマイズする
Enju 検索結果一覧画面の検索フォームをカスタマイズする方法を説明します。 設定する画面がないため、これはサーバー上の作業をする必要があります。
-
Enjuを停止する を実行して、Enjuを停止します。
-
`app/views/manifestations/_index_form.html.erb`を編集します。
-
Enjuを再起動する を実行してEnjuを再起動し、検索して検索結果一覧画面を確認します。修正が必要なら 1. と 2. の手順を行います。
検索結果一覧画面に表示項目を追加する
Enju 検索結果一覧画面に表示される書誌情報や所蔵情報の表示内容をカスタマイズする方法を説明します。 設定する画面がないため、これはサーバー上の作業をする必要があります。
-
Enjuを停止する を実行して、Enjuを停止します。
-
`app/views/manifestations/_manifestation.html.erb`を編集します。 例えば、件名などを追加表示したい場合は以下のようなコード片を挿入します:
<%- manifestation.subjects.each do |subject| -%> <%= link_to "#{subject.subject_heading_type.display_name.localize}: #{subject.term}", manifestations_path(query: "subject_sm:\"#{subject.term}\"") -%> <%- end -%>
-
Enjuを再起動する を実行してEnjuを再起動し、検索して検索結果一覧画面を確認します。修正が必要なら 1. と 2. の手順を行います。
トップ画面やヘルプなどに表示する画像を置く
-
置きたい画像を用意します。(ここでは例として logo.png とします)
-
インストールしてあるEnju の app/assets/images/ 以下に画像ファイルを置きます。※ custom フォルダを作成し、その下にファイルを置くことを推奨します。
-
フォルダを作成しその下にファイルを置くことも可能です。
-
ファイル名やフォルダ名は任意に作成できます(ただし、Enjuが使用するものと衝突する場合は動作保証しかねます)。
-
customフォルダ以下のファイルはEnjuが用意した画像と衝突しないことが保証されます。
-
-
以下のコマンドを実行します。
$ bundle exec rake assets:precompile
-
参照するURLについて
以下のようなURLになりますのでこのURLを使って参照することができます。
-
app/assets/images/ 以下に、 custom フォルダを作成して、その下に logo.png を置いた場合
-
URL例(デモサーバー): https://enju.next-l.jp/assets/custom/logo.png
-
URL例(コンテナ): http://localhost:8080/assets/custom/logo.png
-
※ 画像ファイルをブラウザから置けるようにする機能を開発予定です(詳細 #1133)。
ヘッダーをカスタマイズする
ヘッダーをカスタマイズする方法を説明します。 現在は、ヘッダーに表示されるタイトルしか変更できないため、 たとえば、バナー画像を使いたい場合などは、 サーバー上の作業をする必要があります。
-
Enjuを停止する を実行して、Enjuを停止します。
-
バナー画像があれば、画像ファイルをEnju に置きます。
-
画像ファイルを置く方法は、トップ画面やヘルプなどに表示する画像を置くを参照してください。
-
説明で使う例として:置いたファイル:custom/logo.png
-
バナー画像の大きさは 横:640ピクセル 縦:65ピクセル にするとちょうどよいです。大きすぎるとはみ出て表示されます。
-
-
`app/views/page/_header.html.erb`を編集します。 例えば、バナー画像をタイトルの代わりにつけたい場合は、以下の記述を変更します。
<h1><%= link_to image_tag('custom/logo.png'), root_path %></h1>
-
Enjuを再起動する を実行してEnjuを再起動し、リロードして画面(どの画面でもよい)を確認します。修正が必要なら 1. と 2. 3.の手順を行います。
Sitemapsを設定する
以下のコマンドでサイトマップを作成・更新します。ファイルは`public/sitemap.xml.gz`に作成されます。定期的にサイトマップを更新する場合、以下のコマンドをcronなどに登録してください。
docker compose run --rm web rake sitemap:create
サイトマップは以下のようなURLでアクセスできます。