目的
最終的な目的はFastAPIからグラフデータベースをアクセスする試験を行うこと。
今回はDBサーバにNeo4jの環境を構築した。今後は、WebサーバのFastAPIからアクセスできるようにする。
環境
名称 | バージョン |
---|---|
RedHat EnterpriseLinux | 8.7 |
Java(OpenJDK) | 17 |
Neo4j | 5.5.0 |
インストール
Java17(OpenJDK)
# dnf -y install java-17-openjdk java-17-openjdk-devel
# alternatives --config java
# java --version
Oracle Java17を使用する場合は、アダプタを追加インストールする必要があるようなので注意
https://neo4j.com/docs/operations-manual/current/installation/linux/rpm/
Neo4j
# rpm --import https://debian.neo4j.com/neotechnology.gpg.key
# vi /etc/yum.repos.d/neo4j.repo
[neo4j]
name=Neo4j RPM Repository
baseurl=https://yum.neo4j.com/stable/5
enabled=1
gpgcheck=1
# dnf install neo4j-5.5.0
設定編集
別サーバからアクセスできるようにするため設定変更
-#server.default_listen_address=0.0.0.0
+server.default_listen_address=0.0.0.0
デフォルトではhttp(ポート7474)とBoltプロトコル(ポート7687)で待ち受けしている。
ポートの変更及び、プロトコルを変更する場合は、下記の設定を変更する。
# Bolt connector
server.bolt.enabled=true
#server.bolt.tls_level=DISABLED
#server.bolt.listen_address=:7687
#server.bolt.advertised_address=:7687
# HTTP Connector. There can be zero or one HTTP connectors.
server.http.enabled=true
#server.http.listen_address=:7474
#server.http.advertised_address=:7474
# HTTPS Connector. There can be zero or one HTTPS connectors.
server.https.enabled=false
#server.https.listen_address=:7473
#server.https.advertised_address=:7473
パスワード変更
# neo4j-admin dbms set-initial-password パスワード
neo4jの下記ページではneo4j-admin set-initial-password
とあるが、5.5ではneo4j-admin dbms set-initial-password
でないとエラーになる。
マニュアルの更新遅れか?
https://neo4j.com/docs/operations-manual/current/configuration/set-initial-password/
set-initial-password はDB初回起動前に行う。起動後に変更する場合、パスワードファイル/var/lib/neo4j/data/dbms/auth.ini
を削除することで対応できる。
RHEL8のポート開放
# firewall-cmd --add-port=7474/tcp --permanent
# firewall-cmd --add-port=7687/tcp --permanent
# firewall-cmd --reload
# firewall-cmd --list-port
7474/tcp 7687/tcp
サービス起動
# systemctl start neo4j
# systemctl status neo4j
# systemctl enable neo4j
ブラウザで確認
http://サーバのアドレス:7474/browser/
IDはneo4j、パスワードは先に設定したパスワードでログインできることを確認する。
参考