Ubuntu 22.04에 CouchDB 설치 - HostnExtra

이 기사에서는 Ubuntu 22.04에 CouchDB를 설치하고 Nginx 프록시 서버 및 Certbot SSL로 구성하는 방법을 설명합니다.

Apache CouchDB는 Erlang으로 구현된 오픈 소스 문서 지향 NoSQL 데이터베이스입니다. 직관적인 HTTP/JSON API를 사용하고 안정성을 위해 설계된 빅 데이터에서 모바일로 확장되는 원활한 다중 마스터 동기화. 데이터를 자체 서버 또는 주요 클라우드 제공업체에 안전하게 저장하십시오. 웹 및 기본 애플리케이션은 기본적으로 JSON을 말하고 모든 데이터 스토리지 요구에 맞는 이진 데이터를 지원하기 때문에 CouchDB를 좋아합니다.

전제 조건:


  • 루트 또는 루트가 아닌 액세스 권한이 있는 Ubuntu 22.04 설치 전용 서버 또는 KVM VPS(루트가 아닌 경우 "sudo"사용).
  • 도메인을 서버의 공용 IP 주소로 가리키는 DNS A 레코드.

  • 설치 과정부터 시작하겠습니다

    Install CouchDB on Ubuntu

    1. 서버 업데이트 및 종속성 설치


    # sudo apt update && sudo apt install -y curl apt-transport-https gnupg

    2. CouchDB 리포지토리 및 키를 구성합니다.




    # curl https://couchdb.apache.org/repo/keys.asc | gpg --dearmor | sudo tee /usr/share/keyrings/couchdb-archive-keyring.gpg >/dev/null 2>&1
    # echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ ${VERSION_CODENAME} main" | sudo tee /etc/apt/sources.list.d/couchdb.list >/dev/null
    # sudo apt update
    


    메모:

    If you get following error, edit couchdb.list and add jammy before main. It will resolve it.
    
    E: Malformed entry 1 in list file /etc/apt/sources.list.d/couchdb.list (Component)
    E: The list of sources could not be read
    


    3. CouchDB 설치


    # sudo apt install -y couchdb
    설치는 몇 가지 질문을 할 것입니다.

    1. standalone 2. clustered 3. none
    General type of CouchDB configuration: 1
    


    당신의 선택에 따라 선택하십시오. 이 데모 목적으로 1을 선택했습니다.

    A CouchDB node has an Erlang magic cookie value set at startup.
    
    This value must match for all nodes in the cluster. If they do not match, attempts to connect the node to the cluster will be rejected.
    
    CouchDB Erlang magic cookie: monkey
    


    얼랑 매직 쿠키를 설정합니다. 이것은 클러스터를 인증하기 위한 고유 식별자이며 모든 노드에는 동일한 쿠키가 있어야 합니다. 여기에 원숭이를 썼습니다. 당신이 원하는 무엇이든 쓸 수 있습니다.

    기본값은 독립 실행형 노드의 경우 127.0.0.1(루프백)이고 클러스터 노드의 경우 0.0.0.0(모든 인터페이스)입니다. 클러스터 모드에서는 127.0.0.1에 바인딩할 수 없습니다.

    CouchDB interface bind address: 0.0.0.0
    
    Add bind address as 0.0.0.0
    


    기존 관리 사용자는 이 패키지로 덮어쓰지 않습니다.

    Password for the CouchDB "admin" user:
    
    Repeat password for the CouchDB "admin" user:
    


    여기에 귀하의 선택에 따라 관리자 비밀번호를 추가하십시오.

    설치가 성공적으로 완료되었습니다. 브라우저로 이동하여 http://:5984/_utils/를 엽니다.

    4. Nginx 구성



    이제 Nginx 프록시를 구성해 보겠습니다. 다음 명령을 사용하여 Nginx를 설치합니다.
    # sudo apt-get install -y nginx apache2-utils
    기본 Nginx 구성 파일을 제거하고 자체 구성 파일을 만듭니다.
    # sudo rm -rf /etc/nginx/sites-enabled/default
    이제 새 구성 파일을 만듭니다.
    # nano /etc/nginx/sites-available/couchdb-site
    다음 콘텐츠를 추가합니다.

    server {
    listen 80 default_server;
    server_name coachdb.local;
    
    location / {
    proxy_pass http://localhost:5984;
    proxy_redirect off;
    
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    
    }
    
    }
    


    메모:

    보안상의 이유로 기본 http 80 포트를 5000과 같은 다른 포트로 변경할 수 있습니다. 따라서 액세스하려면 웹사이트 이름 끝에 5000 포트를 언급해야 합니다. 그러나 SSL과 충돌이 발생할 수 있습니다. SSL로 다른 포트를 테스트하지 않았습니다.

    이제 심볼릭 링크를 생성하고 다음 명령을 사용하여 Nginx 서비스를 다시 시작합니다.

    # ln -s /etc/nginx/sites-available/couchdb-site /etc/nginx/sites-enabled/
    # nginx -t
    # systemctl restart nginx
    


    5. 방화벽 구성



    활성화되지 않은 경우 UFW를 활성화합니다.
    # ufw enable
    다음 포트를 추가합니다.

    # ufw allow 22/tcp
    
    # ufw allow 80/tcp
    
    # ufw allow 443/tcp
    
    # ufw allow 5984/tcp
    


    상태 확인:
    # ufw status
    메모:

    SSH 포트가 다를 수 있습니다.
    사용자 지정 Nginx 웹 서버 포트가 있는 경우 해당 포트도 추가합니다.

    6. certbot의 nginx 패키지 설치


    # apt install certbot python3-certbot-nginx -y

    7. 인증서 받기



    certbot 명령을 사용하여 인증서를 얻습니다. Nginx 플러그인은 Nginx를 재구성하고 구성을 다시 로드합니다.
    # certbot --nginx -d yoursite.com -d www.yousite.com
    certbot을 처음 실행하면 이메일 주소를 입력하고 서비스 약관에 동의하라는 메시지가 표시됩니다.

    이제 Ubuntu 22.04에 CouchDB를 성공적으로 설치하고 Nginx 프록시 서버와 Certbot SSL로 구성했습니다.

    좋은 웹페이지 즐겨찾기