Using sockets for database

plans-img 모든 플랜 에서 사용 가능

deployment-img self-hosted 배포판

Mattermost는 데이터베이스 백엔드를 필요로하며, PostgreSQL은 우리의 선택한 데이터베이스입니다. 이 문서에서는 데이터베이스 설정을 위해 소켓을 사용하는 방법을 이해해 봅시다.

  • PostgreSQL을 설치하고 구성합니다.

  • TCP 또는 UNIX 소켓 중에 선택하고 해당 섹션으로 이동합니다.

TCP 소켓 사용

  • postgres 사용자로 서버에 연결하여 새 사용자를 만듭니다(새 사용자의 암호를 묻게 됩니다):

    sudo -u postgres createuser -P mmuser

  • mmuser 사용자가 소유한 Mattermost 데이터베이스를 만듭니다:

    sudo -u postgres createdb -O mmuser mattermostdb

  • 연결 및 인증 섹션에서, listen_address 리스트 라인을 필요에 따라 설정합니다:

    /var/lib/postgres/data/postgresql.conf
    listen_address = 'localhost,my_local_ip_address'
    

    모든 사용 가능한 주소에서 듣기 위해 ‘*’를 사용할 수 있습니다.

  • 그런 다음 인증 구성에 다음과 같은 줄을 추가합니다:

    /var/lib/postgres/data/pg_hba.conf
    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    # IPv4 local connections:
    host    all             all             ip_address/32   md5
    
  • 다음을 사용하여 설정을 실행합니다:

    $ psql --host=ip_address --dbname=mattermostdb --username=mmuser --password
    

Unix 소켓 사용

  • postgres 사용자로 서버에 연결하여 새 사용자를 만듭니다:

sudo -u postgres createuser mattermost
  • mattermost 사용자가 소유한 Mattermost 데이터베이스를 만듭니다:

sudo -u postgres createdb -O mattermost mattermostdb
  • /var/lib/postgres/data/pg_hba.conf 에 다음 줄을 추가하여 Unix 소켓을 설정합니다:

local    mattermostdb    mattermost    peer
  • postgresql.service를 재시작합니다.

  • 다음을 사용하여 설정을 실행합니다:

    sudo -u mattermost psql --dbname=mattermostdb
    

Mattermost 구성

  • Mattermost는 /etc/webapps/mattermost/config.json 에서 구성됩니다. 문자열은 따옴표로 묶어야 합니다.

  • DriverNamepostgres 로 설정합니다.

DataSource 를 설정합니다:

  • TCP 소켓: postgres://mmuser:mmuser_password@127.0.0.1:5432/mattermostdb?sslmode=disable&connect_timeout=10

  • Unix 소켓: postgres:///mattermostdb?host=/run/postgresql , 여기서 mattermostdb 는 데이터베이스의 이름이고 /run/postgresql 은 Unix 소켓을 포함하는 디렉터리입니다.