기은P
시간이 멈추는 장소
기은P
  • Programming (272)
    • 개발노트 (1)
    • FrontEnd (56)
      • ES&JS 문법 (14)
      • HTML&CSS (4)
      • React 기본 (18)
      • React 심화 (12)
      • React 이슈 (2)
      • Project 연습 (1)
      • Next.js (5)
    • Backend&Devops (33)
      • AWS (2)
      • Docker (9)
      • Jenkins (6)
      • Nginx (6)
      • Node.js (1)
      • ElasticSearch (5)
      • 프레임워크&아키텍처 (2)
      • 암호화 (0)
      • 기타 (2)
    • 알고리즘 (3)
    • C# (8)
      • WPF (8)
    • Java (51)
      • 순수 Java (18)
      • RDF&Jena (12)
      • RCP&GEF (9)
      • JMX (5)
      • JMapper (3)
      • 오류해결 (4)
    • Database (21)
      • RDBMS (9)
      • NoSQL (2)
      • TSDB (1)
      • GraphQL (1)
      • Hibernate (3)
      • 데이터베이스 이론 (4)
      • Redis (1)
    • 프로토콜 (11)
      • Netty (4)
      • gRPC (5)
      • 프로토콜 개념 (2)
    • Server (4)
      • Linux (4)
    • 2020 정보처리기사 필기 (43)
      • 목차 (1)
      • 기출문제 (1)
      • 1과목 - 소프트웨어 설계 (6)
      • 2과목 - 소프트웨어 개발 (7)
      • 3과목 - 데이터베이스 구축 (8)
      • 4과목 - 프로그래밍 언어 활용 (7)
      • 5과목 - 정보시스템 구축 관리 (10)
    • 2020 정보처리기사 실기 (31)
      • 목차 (4)
      • 기출예상문제 (19)
      • 실기요약 (8)
    • 빅데이터분석기사 필기 (4)
      • 목차 (0)
      • 필기 요약 (3)
    • 전기 공학 (1)
      • CIM (1)
    • 산업자동화시스템 (3)
      • SCADA (1)
      • OPC UA (2)
    • 디자인패턴 (1)
    • 휴지통 (0)

공지사항

  • 공지사항/포스팅 예정 항목

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
기은P

시간이 멈추는 장소

[Jena] Apache Jena Fuseki 리눅스 설치 방법
Java/RDF&Jena

[Jena] Apache Jena Fuseki 리눅스 설치 방법

2020. 3. 27. 11:40
반응형

Apache Jena Fuseki 리눅스 설치

 

1. SSH access to virtual host

VirtualBox (or similar) VM environment와 같은 가상환경에서 설치한다는 가정입니다.

$ sudo apt install openssh-server

 

 

VM은 NAT 네트워크를 사용하기 때문에 VM Environment에서 환경설정->네트워크->NAT->포트포워딩을 선택하고, Rule의 이름을 ssh, 프로토콜=TCP, Host Port=2222, Guest Port=22로 설정한다음 위의 명령어를 터미널에서 실행하면 됩니다.

 

 

 

 

 

 

2. Install Java 8 And Apache Jena Fuseki

아래의 명령어를 터미널에서 실행.

$ sudo apt update
$ sudo apt install openjdk-8-jre-headless

Fuseki는 자바 1.8버전 이상에서 가동한다. 1.7버전일 경우 이전 버전을 삭제하고 1.8버전을 새로 설치하도록 합니다.

# show the available Java versions
$ sudo update-java-alternatives -l

위의 명령어를 입력하면 현재 설치된 자바의 버전을 확인할 수 있다.

# set the version to use
$ sudo update-java-alternatives --set java-1.8.0-openjdk-amd64

그 다음 Fuseki를 설치한다.

$ wget http://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-3.13.1.tar.gz

설치가 다 되었으면 아래 명령어를 사용해서 압축을 풀어줍니다.

$ cd /opt
$ sudo tar xzf ~/apache-jena-fuseki-3.13.1.tar.gz
$ sudo ln -s apache-jena-fuseki-3.13.1 fuseki

아래 명령어를 사용해서 fuseki가 잘 설치가 되었는지 확인한다.

$ cd /opt/fuseki/
$ ./fuseki-server --help
$ ./fuseki-server –version

 

 

 

 

 

 

3. Create a Fuseki system user

보안을 위해 Fuseki라는 시스템 사용자를 생성해준다.

$ sudo adduser --system --home /opt/fuseki --no-create-home fuseki

 

 

 

 

 

 

 

 

 

4. Create directories for Fuseki configuration and databases

Fuseki 파일을 별도의 시스템 디렉토리로 분할하여 최소한 FHS(Filesystem Hierarchy Standard)와 비슷한 레이아웃을 생성한다.

Fuseki에서 필요한 파일을 관리하기 위해 lib, log, etc 폴더를 생성한다.

# create the database directories
$ cd /var/lib
$ sudo mkdir -p fuseki/{backups,databases,system,system_files}
$ sudo chown -R fuseki fuseki

# create the log directories
$ cd /var/log
$ sudo mkdir fuseki
$ sudo chown fuseki fuseki

# create the configuration directories
$ cd /etc
$ sudo mkdir fuseki
$ sudo chown fuseki fuseki

# finally create symlinks for databases and logs within the configuration directory
$ cd /etc/fuseki
$ sudo ln -s /var/lib/fuseki/* .
$ sudo ln -s /var/log/fuseki logs

 

 

 

 

 

 

 

5. Create the systemd script

그리고 /etc/systemd/system/fuseki.service로 fuseki 서비스 파일을 생성해준다.

$ cd /etc/systemd/system
$ vi fuseki.service

내용은 아래와 같이 입력한다.

[Unit]

Description=Fuseki

[Service]

Environment=FUSEKI_HOME=/opt/fuseki

Environment=FUSEKI_BASE=/etc/fuseki

Environment=JVM_ARGS=-Xmx6G

User=fuseki

ExecStart=/opt/fuseki/fuseki-server

Restart=on-failure

RestartSec=15

[Install]

WantedBy=multi-user.target

 

아래 명령어로 fuseki를 실행시킨다.

$ sudo systemctl start fuseki -- fuseki 실행
$ sudo systemctl status fuseki -- fuseki 서버 상태 확인
$ sudo systemctl enable fuseki

웹 브라우저에서 localhost:3030을 입력하면 Fuseki 접속이 가능하다.

 

 

다른 네트워크에도 접속이 가능하게 하려면 가상머신-설정-네트워크-포트포워딩에 들어가서

Name="fuseki", Protocol="TCP", Host Port="3030", Guest Port="3030"로 설정해준다.

 

포트 포워딩을 설정하면 아래와 같이 다른 환경에서도 접속이 가능해진다.

 

 

후에 다시 리눅스로 돌아가서 보안 구성 /etc/fuseki/shiro.ini에서 / $ / ** = anon 행을 주석 처리하고 Fuseki를 다시 시작하여 로컬이 아닌 호스트 액세스에 대한 관리 작업을 허용하도록 Fuseki에 지시해야 한다. Fuseki URL을 전세계에 공개하면 누구나 데이터 세트를 관리할 수 ​​있으므로 위험 할 수 있다.

 

cd /etc/fuseki
vi shiro.ini

vi 편집기를 통해 shiro.ini를 열어주고,

/$/** = anon에 ##을 붙혀서 주석을 처리해주면 local이 아닌 다른 환경에서도 dataset을 관리할 수 있게 된다.

 

 

Fuseki.service가 등록이 되면 아래 명령어로 서비스를 키고 끌 수 있다.

 

 

 

 

 

 

반응형
저작자표시 변경금지 (새창열림)

'Java > RDF&Jena' 카테고리의 다른 글

[Jena] Apache Jena TDB란?  (0) 2020.03.27
[RDF] Parse error: Bad character in IRI(space) 해결 방법  (0) 2020.03.27
Jena SPARQL 사용 방법 및 소스 코드  (0) 2020.03.20
Jena SDB 사용 예제  (0) 2020.03.20
RDF - Jena 예제 및 주로 사용하는 함수 정리  (0) 2020.03.12
    'Java/RDF&Jena' 카테고리의 다른 글
    • [Jena] Apache Jena TDB란?
    • [RDF] Parse error: Bad character in IRI(space) 해결 방법
    • Jena SPARQL 사용 방법 및 소스 코드
    • Jena SDB 사용 예제
    기은P
    기은P
    기은P의 블로그 일상과 개발 관련 포스팅 #React #Typescript #Next #Nest https://github.com/kimdongjang

    티스토리툴바