sha256sum을 이용해 파일의 유효성을 검증해보기

Ubuntu나 Raspbian 등 운영체제를 설치하기 위해선 해당 배포 웹페이지에서 iso 파일을 받게 된다. 보통 배포되는 웹페이지를 보면 파일과 함께 md5, sha256 파일이 같이 보여지게 되는데, 이를 이용해 내가 다운로드 받은 파일이 제대로 받아진 것인지를 확인할 수 있다.

macOS나 Ubuntu에선 기본으로 sha 관련 툴이 제공된다. 먼저 다운로드 받은 파일의 sha256 hash 코드를 확인해보려면,

$ shasum -a 256 ubuntu-18.04.3-desktop-amd64.iso
add4614b6fe3bb8e7dddcaab0ea97c476fbd4ffe288f2a4912cb06f1a47dcfa0  ubuntu-18.04.3-desktop-amd64.iso

결과로 다음과 같이 hash 코드가 생성되고 파일명을 같이 보여준다. 이를 위에서 보여졌던 SHA256SUMS 파일을 받아 비교해 보면,

$ cat SHA256SUMS.txt 
add4614b6fe3bb8e7dddcaab0ea97c476fbd4ffe288f2a4912cb06f1a47dcfa0 *ubuntu-18.04.3-desktop-amd64.iso
b9beac143e36226aa8a0b03fc1cbb5921cff80123866e718aaeba4edb81cfa63 *ubuntu-18.04.3-live-server-amd64.iso

눈으로 하나 하나 비교해봐도 되겠지만, 검사 기능도 역시 지원한다.

$ shasum -a 256 -c SHA256SUMS.txt               
ubuntu-18.04.3-desktop-amd64.iso: OK
shasum: ubuntu-18.04.3-live-server-amd64.iso: 
ubuntu-18.04.3-live-server-amd64.iso: FAILED open or read
shasum: WARNING: 1 listed file could not be read

받을 파일 중 ubuntu-18.04.3-desktop-amd64.iso는 무결함을 검증하였다. 이제 안심하고 이 이미지 파일을 사용할 수 있게 된다.

Advertisements

Install Confluence Server on VPS

Confluence (https://www.atlassian.com/ko/software/confluence)는 협업 문서 작성 도구로 잘 알려져 있는 툴이다. 많은 개발 회사들에 사용하는 것으로 알려져 있다. 무료는 아니고, 클라우드 서비스, 설치형 둘다 제공한다.

한번 써보고자 시도해 봤는데 (그냥 새로운 걸 좋아하는 취지에서…) 클라우드 서비스를 사용하려면, 한달에 $10을 내야 한다. 현재 블로그를 운용하는 VPS가 약간은 잉여인지라, 거기에 추가해보면 어떨까 해서 다시 삽질을 시작해봤다.

설치는 대단히 간단하다. 서버에 설치 스크립트 파일을 저장하고, 이를 루트 권한으로 실행하면 끝.

설치 방법은 https://confluence.atlassian.com/doc/installing-confluence-on-linux-143556824.html에 나와 있는대로, 몇번 엔터키만 툭탁하면 설치는 완료.

한글 관련 문제가 있어, 데이터베이스를 생성할 때, utf-8을 기본값으로 설정해야 한다. 이 작업을 하지 않으면, 한글 문서를 적어도 깨져보이는 에러가 발생한다.

mysql 설정, 파일에 다음의 두 라인 추가

/etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
...
character_set_server=utf8
collation-server=utf8_bin 

데이터베이스 생성

$ mysql -u root -p

mysql> CREATE DATABASE <database-name> CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL PRIVILEGES ON <database-name>.* TO '<confluenceuser>'@'localhost' IDENTIFIED BY '<password>';

기본 접근 경로는 http://<your_domain>:8090 이다. 처음 접속 시 라이센스 및 데이터베이스 관련 설정을 해야 하고, 약간의 시간이 걸리고 나면 완료.

설치형은 $10를 한번만 지불하면 된다. 물론 기술지원 (메이저 업데이트)을 위해선 1년마다 $10을 지불해야 하지만, 납득할 만한 가격인듯.

다음으로 현재 블로그에 사용하는 SSL을 이용해, 보안접속이 가능하도록 설정한다.

내부 프록시를 사용하는 방법을 사용하고, 또 현재 도메인을 이용해 <your-domain>/confluence 와 같이 시용하기 위해 몇가지 설정을 한다. 이를 위해서 nginx 설정 파일, confluence의 server.xml 파일을 수정한다.

/etc/nginx/sites-enabled/default

다음 라인 추가.

         location /confluence {
                client_max_body_size 100m;
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Server $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://localhost:8090;
        }

        location /synchrony {
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Server $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://localhost:8091/synchrony;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade";
        }

다음 라인 코멘트 처리

    #location = /favicon.ico { log_not_found off; access_log off; }
    #location = /robots.txt { log_not_found off; access_log off; allow all; }
    #location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
    #    expires max;
    #    log_not_found off;
    #}
/opt/atlassian/confluence/conf/server.xml

아래와 같이 수정

    <Connector port="8090" connectionTimeout="20000" redirectPort="8443"
        maxThreads="48" minSpareThreads="10"
        enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"
        protocol="org.apache.coyote.http11.Http11NioProtocol"
        proxyName="ahnbk.com" proxyPort="443" scheme="https" secure="true" compression="on"/>

...

    <Context path="/confluence" docBase="../confluence" debug="0" reloadable="false" useHttpOnly="true">
                    
...

한글 문제 해결을 위해서, mysql 연결관련 설정에서 링크를 다음과 같이 설정.

jdbc:mysql://localhost:3306/confluence?useUnicode=true&characterEncoding=utf8

위와 같이 수정하고, nginx, confluence 재시작

$ sudo service nginx restart
$ sudo service confluence restart

이제 https://ahnbk.com/confluence 로 접속해보면 (도메인 이름은 각자 상황에 맞게)

와 같이 정상적으로 보인다. ^^ 성공!