728x90
반응형

[커뮤니티 콘텐츠로서 본 게시물은 특정 작성자의 견해와 의견을 반영한 것으로, Neo4j의 공식적인 입장이 반드시 반영되는 것은 아닙니다.]

Neo4j를 설치하는 방법은 여러 가지가 있죠. 간단한 .exe 파일이나 .zip 파일을 이용해서 Windows 서버나 데스크탑에 설치할 수 있어요. 하지만 좀 더 Windows 표준 방식대로 Neo4j를 쉽게 설치할 수 있다면 더 좋겠죠?

예전에는 표준 패키지 관리자가 없어서 Windows에서 이런 방식이 어려웠어요. 하지만 Chocolatey 같은 툴이 지난 몇 년 동안 인기를 얻으면서, Windows 패키지 관리자로 자리 잡았답니다.

설치가 얼마나 쉬운지 궁금하신가요? 다음은 Neo4j와 Java를 설치하는 명령이에요.

choco install jre8 neo4j-community

이 명령을 실행하면 Java 1.8과 Neo4j Community Edition이 설치되고, Neo4j 서버가 시작돼요. 이 모든 게 단 하나의 짧은 명령어로 가능하다니, 정말 놀랍죠!

이번 블로그 포스팅에서는 Chocolatey를 선택해서 Neo4j를 패키징한 이유, 그리고 Chocolatey가 정확히 무엇인지 살펴볼 거예요. 또한 더 많은 예제를 통해 Neo4j를 설치하는 방법, Chocolatey 패키지가 어떻게 만들어졌는지, 그리고 앞으로의 계획에 대해서도 다룰 예정이에요.

    • Chocolatey란 무엇인가요?
    • 제가 Chocolatey를 선택한 이유는 무엇일까요?
    • Chocolatey를 사용해서 Neo4j를 설치하는 방법
    • Chocolatey 패키지는 어떻게 만들어질까요?
    • 다음 단계는 무엇일까요?

왜 Chocolatey인가?

2014년 말, 저는 진행 중인 프로젝트를 위해 Neo4j Community Edition을 시험해보고 있었어요. 고도로 연결된 데이터 세트에는 Graph Database가 딱이었죠.

저는 항상 자동화를 옹호해왔기 때문에 (같은 일을 두 번 하는 건 정말 싫어해요!) Neo4j .zip 파일을 다운로드하고 데이터베이스를 구성한 다음 서비스를 시작하는 간단한 PowerShell 스크립트를 만들었어요. 괜찮긴 했지만, 뭔가 서툴렀고 다른 사람들과 쉽게 공유할 수 없었죠.

그 당시 Chocolatey가 꽤 인기 있었는데, Neo4j 패키지가 없다는 걸 알게 됐어요. 그래서 제 설치 스크립트를 Chocolatey 기반 설치로 변환해서 제 작업을 다른 Windows Neo4j 사용자들과 공유하기로 마음먹었답니다.

지금은 거의 1,000건에 달하는 다운로드를 기록하고 있어요. Neo4j 패키지는 Chocolatey.org의 커뮤니티 저장소와 Neo4j Chocolatey 패키지 자체에 대한 커뮤니티 기여도 포함하고 있답니다.

Chocolatey란 무엇인가요?

그렇다면 이 Chocolatey라는 건 대체 뭘까요? Chocolatey 웹사이트에서 Chocolatey가 무엇인지, 무엇이 아닌지를 잘 설명해주고 있어요. 다음은 간략하게 발췌한 내용이에요:

"Chocolatey는 Windows용 패키지 관리자입니다 (apt-get 또는 yum과 유사하지만 Windows용). 필요한 애플리케이션과 도구를 빠르게 설치하기 위한 분산형 프레임워크로 설계되었어요. 현재 배포판에서 문, 컴퓨터로 패키지를 전달하기 위해 PowerShell을 중점적으로 사용하는 NuGet 인프라를 기반으로 구축되었죠.

"Chocolatey는 버전 관리 및 종속성 요구 사항을 모두 이해하는 패키징 프레임워크를 사용하여 Windows 소프트웨어 관리의 모든 측면에서 쉽게 작동하도록 설계된 단일 통합 인터페이스입니다. Chocolatey 패키지는 설치 프로그램, 실행 파일, zip 및 스크립트를 컴파일된 패키지 파일로 래핑하여 특정 소프트웨어를 하나의 배포 아티팩트로 관리하는 데 필요한 모든 것을 캡슐화합니다. Chocolatey 패키지는 독립적으로 사용할 수 있지만 SCCM, Puppet 및 Chef와 같은 구성 관리자와 통합할 수도 있습니다. Chocolatey는 소프트웨어 배포를 관리하기 위해 전 세계 기업의 신뢰를 받고 있습니다. Windows에서 소프트웨어를 관리하는 것이 이렇게 재미있었던 적은 없었습니다!”

본질적으로 Chocolatey는 Windows용 소프트웨어를 쉽게 생성, 게시, 검색 및 설치할 수 있게 해주는 도구라고 할 수 있어요.

만들기

Chocolatey는 일반적인 Windows를 사용하고 확장해서 NuGet 형식으로 패키지를 생성해요.

게시하기

Chocolatey 패키지는 커뮤니티 피드에 게시할 수 있어요. 이곳은 인터넷상의 누구나 게시하고 사용할 수 있는 곳이죠. 패키지는 자동화된 프로세스에 의해 조정되고, 필요한 경우 사람이 직접 조정하기도 해요. 또한 패키지 및 관련 파일은 바이러스 검사도 거친답니다.

찾아보기

사람들은 패키지 목록을 검색하거나 choco search 명령을 사용해서 찾아요.

설치하기

설치는 명령 프롬프트나 PowerShell을 사용해서 할 수 있어요. 예를 들어 choco install <packagename>처럼요. 현재 설치할 수 있는 패키지는 4,000개가 넘는답니다.

많은 분들이 보안에 대해 걱정하고 인터넷 기반 설치 프로그램을 신뢰하는 것에 대해 고민하시죠. 당연한 일이에요! Chocolatey는 을 매우 중요하게 생각하고, 패키지는 승인 전에 조정되고 심사 과정을 거쳐요. Chocolatey는 또한 Pro 및 Business 에디션을 발표했는데, 여기에는 안티 바이러스/안티 맬웨어 탐지 및 패키지 바이너리용 CDN (Private Content Distribution Network)과 같은 기능이 포함되어 있어요.

그리고 필요하다면 언제든지 자신만의 Chocolatey 서버를 호스팅할 수도 있답니다.

Chocolatey는 어떻게 설치하나요?

의 설치 지침을 따라해주세요.

Chocolatey를 사용하여 Neo4j를 어떻게 설치하나요?

Chocolatey를 설치한 후 관리자 권한으로 명령 프롬프트 또는 PowerShell 창을 열어주세요.

Neo4j를 설치하기 전에 Java를 설치해야 해요. 물론 Chocolatey를 사용해서 Java를 설치할 수도 있죠. 간단한 설치 명령줄은 다음과 같아요.

choco install jre8 neo4j-community

Chocolatey 패키지는 설치를 사용자 정의해야 하는 경우 설치 매개변수를 지원해요. 사용 가능한 패키지 매개변수는 패키지 설명에 설명되어 있답니다. 예를 들어 Neo4j 3.0.1의 경우:

/Install:[Install Path]
/ImportNeoProperties:[Path to file]
/ImportServiceProperties:[Path to file]
/HTTPEndPoint:[Host/IP:port]
/HTTPSEndPoint:[Host/IP:port]
/ServiceName:[Windows Service Name]

패키지 매개변수에 대한 자세한 내용은 Github 저장소의 Neo4j 패키지 부분을 참고해주세요. 이 예제의 경우:

/Install:<Install Path>

그러면 Neo4j가 지정된 디렉터리에 설치될 거예요. 기본적으로는 <Chocolatey Bin Root>neo4j-community 위치에 설치되는데, 보통 C:toolsNeo4jCommunity일 거예요.

/ImportNeoProperties:<Path to file>

<설치 경로>confneo4j.conf에 지정된 파일을 복사해요. 서비스 시작 전에 Neo4j 서버를 빠르게 구성하는 방법이죠. 구성 파일에 대한 자세한 정보는 에서 확인할 수 있어요.

/ImportServiceProperties:<Path to file>

그러면 지정된 파일이 <Install Path>confneo4j-wrapper.conf로 복사돼요. 이것도 서비스 시작 전에 Neo4j Windows 서비스를 빠르게 구성하는 방법이에요. 구성 파일에 대한 정보는 에서 찾아볼 수 있어요.

/WindowsServiceName:<Name of Windows Service>

이건 설치될 Windows 서비스의 이름이에요.

메모: 이 설정은 ServiceProperties 파일에 있어요:

/HTTPEndpoint:<IP Address or hostname>:<Port>

이건 Neo4j 서버에서 사용할 HTTP 엔드포인트예요. 예를 들어 localhost:7474 같은 거죠.

메모: 이 설정은 NeoProperties 파일에 있어요.

/HTTPSEndpoint:<IP Address or hostname>:<Port>

Neo4j 서버에서 사용할 HTTPS 엔드포인트예요. 예를 들어 0.0.0.0:7473 같은 거요.

메모: 이 설정은 NeoProperties 파일에 있어요. 사용 예시를 볼까요?

choco install neo4j-community -version 3.0.1 -packageParameters 
"/Install:C:AppsNeo /ImportNeoProperties:C:ConfigMyNeoProperites.txt 
/ImportNeoServerProperties:C:ConfigMyNeoServerProperites.txt"

이 명령은 Neo4j를 C:AppsNeo에 설치하고, neo4j.properties 파일을 C:ConfigMyNeoProperites.txt에서, 그리고 neo4j-server.properties 파일을 C:ConfigMyNeoServerProperites.txt에서 가져와요.

Chocolatey를 사용하여 Neo4j를 설치할 때 흔히 발생하는 문제

Neo4j를 설치할 때 자주 발생하는 실패 사례들을 한번 살펴볼까요?

    • 커뮤니티 Chocolatey 피드를 사용하는 경우, 설치 .zip 파일을 다운로드하려면 인터넷 연결이 필요해요.
    • Neo4j Chocolatey 패키지가 이미 설치되어 있다면, --force 파라미터를 사용해서 Chocolatey에게 강제 설치를 지시해야 해요.
    • Neo4j를 설치하기 전에 적절한 버전의 Java가 설치되어 있어야 해요. 예를 들어, 이전 버전의 Neo4j 2.x는 Java 1.8에서 작동하지 않거나, Java 1.7을 사용하는 경우 Neo4j 3.x가 실패할 수 있어요.

Chocolatey 설치에 문제가 있다면, --verbose 또는 --debug 옵션을 추가해서 오류에 대한 자세한 정보를 얻어보세요. 또는 설치 중에 자세한 로그가 C:ProgramDatachocolateylogs에 생성될 거예요.

Chocolatey 패키지는 어떻게 만들어질까요?

Neo4j Chocolatey 패키지의 소스 파일은 Github 저장소에 있어요.

필요한 사항은 다음과 같아요:

    • PowerShell 버전 3.0 이상
    • Chocolatey
    • Psake PowerShell 모듈. Psake는 PowerShell 버전의 Rake 또는 Make와 같아요.

psake 파일에는 default.ps1 템플릿에서 Chocolatey 패키지를 생성하기 위한 일반적인 작업들이 포함되어 있어요. 기본 작업은 모든 Chocolatey 패키지를 빌드하고 압축하는 것이고요. 다양한 종류의 작업에 대한 자세한 내용을 보려면 Invoke-Psake -docs처럼 -docs 인수를 사용해서 psake를 실행해 보세요.

Neo4j Chocolatey 패키지에 대한 향후 계획…

제가 추가하고 싶은 몇 가지 사항이 있는데요:

      • 패키징 프로세스 자동화

패키징 프로세스 자체가 템플릿화되어 있긴 하지만, 여전히 최신 버전의 Neo4j를 수동으로 확인한 다음 패키징 정보를 생성하고 Chocolatey 피드에 게시해야 해요. 대신 새로운 Neo4j 데이터베이스 버전이 출시되는 짧은 시간 안에 해당 Chocolatey 패키지가 생성되고 게시되도록 프로세스를 자동화하고 싶어요.

      • Java가 설치되지 않은 경우 개인 JRE를 설치

많은 제품들이 자체적인 전용 Java Runtime Environment를 설치하기 때문에 이전에 설치된 Java Runtime Environment에 의존할 필요가 없죠. 또한, Java 버전도 제어할 수 있고요. 컴퓨터에서 Java가 감지되지 않는 경우 개인 JRE를 설치하는 기능을 Neo4j 설치 프로세스에 추가하고 싶어요. 항상 개인용 JRE를 설치하기 위해 패키지 매개변수로 추가할 수도 있고요.

      • Neo4j의 Enterprise Edition 추가

대부분의 Neo4j Enterprise Edition 사용자들은 아마도 자신만의 설치 방법을 갖고 있기 때문에 현재는 Community Edition만 Chocolatey에서 사용할 수 있어요. 하지만 Enterprise Edition에 대한 수요가 있다면 추가하는 것은 그리 어렵지 않을 거예요.

결론

Chocolatey는 Windows 컴퓨터에 Neo4j Graph Database를 빠르게 설치하는 쉬운 방법이에요. 실제로 대부분의 기존 방법보다 훨씬 쉽죠. 그리고 Chocolatey는 다른 구성 관리 제품 (예: Puppet, Chef, PowerShell DSC) 과 통합되어서 Neo4j는 여러분의 요구에 가장 적합하게 설치 및 관리될 수 있어요.

언제든지 Neo4j Chocolatey Packages 저장소에 이슈와 풀 리퀘스트를 제출할 수 있어요. 여러분의 피드백과 생각을 듣고 싶어요. 여러분의 생각을 알려주세요!

Graph 기술의 세계를 더 깊이 알고 싶으신가요? 무료 사본을 받으려면 아래를 클릭해서Neo4j 배우기 전자책을 읽고 세계 최고의 Graph Database를 따라잡으세요.

책 받기

  • Chocolatey
  • Configuration Management
  • Java
  • JRE
  • NuGet
  • PowerShell
  • Psake
  • Windows
  • Windows Package Manager

에이치시스템즈의 LogTree는 Neo4j 기반 GraphRAG 플랫폼으로, 데이터를 자동으로 지식그래프화하고 자연어 질의로 즉시 답을 제공합니다.

👉 에이치시스템즈 홈페이지

728x90
반응형

+ Recent posts