---
# System prepended metadata

title: "[12屆 鐵人賽] [Day5]\n你可能不會用到的 Neo4j Server"
tags: [iT鐵人賽, Neo4j]

---

[12屆 鐵人賽] [Day5]
你可能不會用到的 Neo4j Server
===

###### tags: `iT鐵人賽` `Neo4j`

## 前情提要

前兩篇介紹了應用端的程式

這篇會來介紹 Neo4j Server 的架設，以及一些相關的細節

會分成 Windows 版跟 Linux 版

如果沒有架設 Server 的需求

這篇可以直接略過

## Linux 安裝

首先先說說相對比較麻煩的 Linux 版

先準備一台新的 VM ( 為了 Demo 方便 )

這裡開的是 ubuntu 18.04

基本上就是按照[官方安裝步驟](https://debian.neo4j.com/?_ga=2.131133384.636924486.1589170866-1884466348.1587716682)
```bash=
wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -
echo 'deb https://debian.neo4j.com stable latest' | sudo tee /etc/apt/sources.list.d/neo4j.list
sudo apt-get update
```
> 我的 "wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -"
> 會噴錯，~~懶得修~~，所以我改用
> ```bash=
> apt-key adv --fetch-keys https://debian.neo4j.com/neotechnology.gpg.key
> ```
> 然後他需要套件 gunpg
> ```bash=
> apt install gnupg
> ```

上面三條執行好就可安裝了

```bash=
sudo apt-get install neo4j
```

檢查一下裝好沒
```bash=
sudo systemctl status neo4j
```

![](https://i.imgur.com/eFYO5jk.png)

看來是行了

再來就是[開啟外部IP連接](https://neo4j.com/developer/kb/how-do-i-enable-remote-https-access-with-neo4j-30x/)

我沒有給他預設的安裝路徑 所以要看一下他自動裝去哪了

直接進服務看

```bash=
cat /lib/systemd/system/neo4j.service
```

![](https://i.imgur.com/1nKX1MX.png)

```
Environment="NEO4J_CONF=/etc/neo4j" "NEO4J_HOME=/var/lib/neo4j"
```
嗯 ... 看來要改的 conf 在 "/etc/neo4j" 底下
```bash=
vi /etc/neo4j/neo4j.conf
```

找到 Network connector configuration 的區塊

![](https://i.imgur.com/J7WJg03.png)

* dbms.default_listen_address=0.0.0.0
    * 要開啟外部連接這條一定要開，不然他只會跑 localhost
* Bolt connector
    * Graph Database 在用的，要開
    * 改成這樣
    ```shell=
    dbms.connector.bolt.tls_level=DISABLED
    dbms.connector.bolt.listen_address=0.0.0.0:7687
    ```
* HTTP Connector
    * Web 連線用
    * 如果你打算用 Neo4j Desktop 連，可以不開
    * 改成這樣
    ```shell=
    dbms.connector.http.listen_address=0.0.0.0:7474
    ```
* HTTPs Connector
    * 這個就看你，測試走 HTTP 就夠了
    * 改法跟 HTTP 一樣

![](https://i.imgur.com/wuNVoSD.png)
~改好後~

改好重啟服務才會生效
```bash=
sudo systemctl restart neo4j
```
連進去看看吧
```
http://IP:7474/
```

![](https://i.imgur.com/ruyY0Bi.png)


他會要你先連到 Database

記得要先把 Connect URL 改成 " **bolt://** "

Username 和 Password 預設都是 "**neo4j**"

第一次連線他會要你改密碼

![](https://i.imgur.com/28dfCfn.png)

看到這個就連線成功了喔

## Windows 安裝

老樣子先給[官網連結](https://neo4j.com/download-center/)

![](https://i.imgur.com/pSWXIT3.png)

你可以看到 Server 有兩個版本

* Enterprise
    * 要 $$
        * 不過官方有為開發人員提供許多免費的方案
    * 企業版，更多的節點關係的數量上限，一些備份還原之類的功能
        >沒有很仔細研究，歡迎知道的底下補充
* Community 
    
這邊就用 Community Demo，一樣記錄一下版本 4.1.1

下載下來會是一個 .zip 檔，放到一個你爽的地方解壓縮

> 我是丟這裡 ==> D:\Neo4j

![](https://i.imgur.com/Z7nCsyq.png)

解壓完後會看到這樣的目錄，重要的如下w

* bin
    * 等等安裝程式的目錄
* conf
    * Linux 那邊用到的 conf 檔在這裡
    * 改對外的內容跟剛剛 Linux 那邊一樣，就不再做一次
* plugins
    * 套件 Library 要丟的地方，以後會講

接下來我們進到 bin 的資料夾下吧

你會看到有一個檔叫 " **neo4j.bat** "

用 CMD 開他吧

![](https://i.imgur.com/trI95pb.png)

你會看到可以用的功能

安裝吧
```bash=
neo4j.bat install-service

neo4j.bat start

neo4j.bat status
```

![](https://i.imgur.com/tLGo6aM.png)

看的 " **Neo4j is running** " 就沒有問題了喔

接下 開啟外部IP連接 跟 測試 流程就跟 linux 版一模一樣

所以就不重複講了~

---

今天的內容感覺有點騙 (ﾟ∀ﾟ)

原本還在想 Server 的部分要不要挪到後面一點在講

畢竟不是每個人都用的到 

最後想說算了，都是安裝類的就排在一起了

然後這篇實在是找不到地方塞 meme 圖_(:3 」∠ )_

明天 ***該來教教 Neo4j 介面怎麼用了吧 ( 上篇 )***

期待明日的降臨吧 Ciao!

## 紀錄

撰寫日期：2020/09/09
耗時：1.5 小時

撰寫日期：2020/09/10
耗時：差不多 1 小時

total
耗時：2.5 小時左右

可能不只