LibreOffice – 무료 오피스 소프트웨어

https://ko.libreoffice.org/

BS가 집에서 MS Office 365를 쓰다가 한달에 한 번을 실행하지 않는 오피스에 돈이 아까워서 LibreOffice로 갈아탔습니다.
가끔 HWP를 보거나 수정할 일이 있어서 아내의 태블릿에는 PolarisOffice를 설치…

그런데 왜 PolarisOffice가 아닌 LibreOffice를 선택했냐면…
역시 완전한 무료라는 점이 가장 큽니다.

최근에 설치형 Office보다는 Google의 문서나 스프레드시트를 더 많이 쓰고 있었기 때문에 설치형은 최대한 가볍고 무료인 것으로 결정 했습니다.

LibreOffice는 Ubuntu를 비롯한 상당수의 리눅스 배포판의 기본 프로그램으로 이미 충분히 검증된 점도 있습니다.
그리고 오라클의 횡포로 인해 망해가는 OpenOffice보다는 나을 것이라는 생각에…

결론…
HWP 수정이 필요하면 PolarisOffice 또는 네이버
일반적인 사용은 LibreOffice
그리고 진짜로 MS Office가 필요할 때에는 온라인으로…

자기 서명(self signed) SSL 인증서 만들기

openssl req -new -newkey rsa:2048 -days 36500 -nodes -x509 -keyout bslinux.key -out bslinux.crt

req 자기 서명 인증서 만들기
-new 새로 만들기
-newkey 키도 새로 만들기
rsa:2048 RSA 알고리즘의 길이를 2048로
-days 36500 유효 기간은 36500일 (100년?)
-nodes 개인키 파일 암호화 하지 않기
-x509 X.509 표준 형식으로 만들기
-keyout bslinux.key 개인키를 bslinux.key 로 저장
-out bslinux.crt 인증서를 bslinux.crt 로 저장

추가 옵션 하나… 인증서의 subject 설정
-subj ‘/C=KR/ST=Seoul/CN=www.example.com’

워드프레스(WordPress) 소개

블로그 서비스 중 하나이다. 설치형과 서비스형으로 나눌 수 있다.

서비스형

https://wordpress.com/

무료 버전

네이버 블로그와 같이 아파트형 서비스이다.
xxx.wordpress.com 과 같은 도메인을 사용한다.
유저 커뮤니티를 통해 유저끼리 문제 해결을 해야 한다.
3GB의 저장 공간을 제공한다.
WordPress.com 에서 광고를 표시하게 된다.

개인용 최저가 버전

월 $4(그러나 년단위 결제….)
개인 도메인을 사용할 수 있다.
이메일, 채팅 등의 지원을 받을 수 있다.
6GB의 저장 공간을 제공한다.
광고가 제거된다.

설치형

https://wordpress.org/

설치형 블로그 소프트웨어 중에서 현재까지 활발하게 개발되고 유지보수 되는 것은 이것 뿐이라고 생각된다.
물로 [XE] 가 있기는 하지만… XE는 블로그를 위한 소프트웨어는 아니다.
블로그로 사용할 수 있다… 정도…

WordPress 플러그인 소개

Category Order and Taxonomy Terms Order
WordPress를 기본으로만 사용하면 카테고리 순서를 변경하는 것이 없다.
카테고리를 사용한다면 필수 플러그인이라 할 수 있다.

Duplicator
설치형이라면 반드시 사용하게 되는 플러그인이다.
블로그의 내용을 백업하고 복원할 수 있다.
능력만 있다면 블로그 내용을 다른 블로그로 이전하는 importer 도 만들 수 있다.

SyntaxHighlighter
프로그래머의 블로그라면 이 또한 필수 플러그인이라 할 수 있다.
블로그 포스트에 코드를 삽입할 때, 문법 강조를 사용할 수 있다.

TTXML Importer
텍스트큐브 기반의 블로그 백업 파일로부터 포스팅 자료를 가져오는데 사용한다.
https://github.com/channy/ttxml-importer
[포스팅 시점 최신 버전 다운로드: ttxml-importer-master]

웹 호스팅

간략 소개

웹 호스팅은 누군가가 만들어 둔 웹서버를 사용하는 것으로…
주택으로 본다면 하나의 건물에 여러 가구가 거주하는 “임대 아파트”와 같다.

서버를 관리하는 비용이 없이 간단하게 홈페이지를 만들 수 있기 때문에
웹서버만 필요한 경우라면 VPS나 자체 서버를 구축하지 않고 웹호스팅을 이용하는 것이 저렴하고 편리하다.

서버의 사양이 점점 높아져서 웹호스팅만 하는 경우라면, 하나의 서버에 상당히 많은 웹페이지를 넣을 수 있게 되어
과거의 웹호스팅에 비하면 굉장히 저렴한 제품이 많이 나왔다.

크게 Windows와 Linux 웹호스팅으로 구분되고, 가끔 Java 웹호스팅도 있긴 하다.
Windows 웹호스팅은 당연히 IIS와 함께 ASP를 기반으로 하고
Linux 웹호스팅은 대부분 Apache + PHP + MySQL(또는 MariaDB)를 제공한다.

또한 관리를 위한 SSH 접근을 허용하며, 대부분 FTP와 웹기반 DB 관리자도 지원한다.

웹호스팅 서비스 선택시 주의 사항

SSL 지원 여부를 확인해야 한다.
법령에 따라 회원 가입을 받는 사이트는 SSL을 사용해야 하는데, 업체마다 해당 내용이 매우 다르다.
지원을 아예 안하는 업체도 있고, 비싸게 팔아먹는 회사들이 대부분이고, 직접 발급받은 SSL 인증서를 사용할 수 있는 업체는 소수이다.
직접 발급 받은 인증서를 사용하지 못하면, 호스팅 업체가 부르는 가격대로 비싸게 SSL 인증서를 구입해야 하는데…
개인이 사용하기에는 너무 비싸게 받는다.

일 트래픽 제한이 충분한지 확인한다. 그리고 트래픽 제한에 걸리면 임시로 N회 풀어주는 것도 있는지 잘 확인한다.
트래픽 제한에 따라 초기 웹서비스를 세팅하기 위한 파일 업로드에 문제가 생길 수 있다.

서브도메인 지원 여부도 잘 따져 본다. 상당 수의 웹호스팅 업체가 서브 도메인을 지원하지 않거나, 자사의 도메인 서비스 이용시에만 가능하게 하는 경우가 많다.
이런 점에서는 외국 웹호스팅이 나을 수도 있다. 미국 웹호스팅 업체들은 이런 것 가지고 치사하게 장사하지 않는 업체가 많다.

웹호스팅 관련 사이트들

[iwinv]
하루 10원 용량 10G 트래픽 무제한… SSL 미지원…
하루 20원 용량 10G 트래픽도 10G… Let’s Encript SSL 지원

[코리아호스팅]
최저 사양으로 월 333원, 용량 500M, 트래픽 약 15G, 아주 기본적인 서비스, SSL 부가 서비스 지원

[80포트]
적당한 용량까지는 제한 없이 허용한다 하고, 최저가 기준 일 1G 트래픽
SSL 설정은 inames.co.kr 을 통해서 해야 한다.
지속적인 건전한? 운영을 한다면 무료 호스팅을 받을 수도 있다.

[bluehost]
미국 업체로 월 $3 정도에 50G 트래픽 무제한, Free SSL, 서브 도메인 지원, 이메일 계정 5개, 이메일 계정당 100MB 등!
같은 가격의 국내 서비스와 비교하면 좋은 편이다.
그리고 서버가 한국이 아니므로…

간단한 Docker 사용

Ubuntu 16.04 LTS 기준으로 작성

설치

# docker라는 패키지명은 이미 사용 중이여서 docker.io라는 패키지 명을 사용
apt-get install docker.io

# docker를 사용할 사용자를 그룹에 추가
# 미리 docker를 사용할 유저를 docker 그룹에 추가하면 sudo 명령을 통하지 않고 docker를 사용할 수 있음
usermod -G docker -a bs

이미지 관리

왠만하면 이미지는 공식 버전(OFFICIAL)을 사용하는 것을 권장
이미지 저자가 악의적인 무언가를 넣었을 수도 있으므로 검증된 이미지를 사용해야 함
자신만의 이미지 생성이나 설정을 할 때에는 Host OS와 동일한 이미지에서 시작하는 것을 권장

# 이미지 찾기
docker search ubuntu

# 이미지 받기
docker pull ubuntu

# 가지고 있는 이미지 확인
docker images

# 가지고 있는 모든 이미지 확인
# 태그 되지 않고 이름이 없는 이미지들이 보일 수 있음
# 태그된 이미지가 참조하는 익명의 이미지가 보일 수 있음
docker images -a

# 컨테이너를 이미지로 생성
docker commit -a "BS <bs@bspfp.pe.kr>" -m "Commit Test" ubuntu-test mytest:0

# 이미지에 추가 태그 붙이기
docker tag mytest:0 mytest:latest

# 이미지 삭제
# 더이상 참조되지 않는 익명의 이미지가 함께 삭제 됨
docker rmi mytest:0

아래는 ubuntu 이미지 검색 결과

NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
ubuntu                            Ubuntu is a Debian-based Linux operating s...   5365      [OK]
ubuntu-upstart                    Upstart is an event-based replacement for ...   69        [OK]
rastasheep/ubuntu-sshd            Dockerized SSH service, built on top of of...   66                   [OK]
consol/ubuntu-xfce-vnc            Ubuntu container with "headless" VNC sessi...   37                   [OK]
ubuntu-debootstrap                debootstrap --variant=minbase --components...   27        [OK]
torusware/speedus-ubuntu          Always updated official Ubuntu docker imag...   27                   [OK]
nickistre/ubuntu-lamp             LAMP server on Ubuntu                           14                   [OK]
nuagebec/ubuntu                   Simple always updated Ubuntu docker images...   13                   [OK]
nickistre/ubuntu-lamp-wordpress   LAMP on Ubuntu with wp-cli installed            8                    [OK]
...

컨테이너 관리

# 컨테이너를 생성하면서 실행
# create로 생성하고 start로 실행할 수도 있지만 run으로 바로 생성과 시작을 할 수도 있음
# --rm 옵션을 주면 종료시 컨테이너를 자동으로 삭제함
docker run -i --name ubuntu-test -t ubuntu /bin/bash -

# 실행 중인 컨테이너 확인
docker ps

# 종료된 컨테이너를 포함한 모든 컨테이너를 확인
docker ps -a

# 종료된 컨테이너 다시 실행
docker start -a -i ubuntu-test

컨테이너

가상화는 H/W 환경을 가상으로 제공한다.
이에 따라 각 VM에 Guest OS를 설치해야 한다. 그만큼의 저장소도 소비한다.
컨테이너는 이런 단점을 대폭 줄여서 소프트웨어 환경만 분리한다.
마치 Linux에서 chroot 명령을 적절히 사용하여 Host OS와 분리된 공간에서 소프트웨어를 구동하는 것과 유사하다.
때문에 가상화보다 빠르다.

[Docker]

업계 표준이 된 컨테이너 기술

[간단한 Docker 사용]
[가장 빨리 만나는 Docker]

Windows Container

Microsoft에서는 Windows Server 2016에서 컨테이너 기술인 Docker를 Windows Container와 Hyper-V Container 형태로 제공/지원.
기존 Docker와 완전히 다른 형태가 아니라, Docker와 동일한 형태를 Windows Server에 구현한 형태.
그렇기에, Docker 자체 명령어와 Windows PowerShell 형태의 관리를 제공.

[Windows Container]
[MS의 Windows Container에 대한 알림글]

VPS(Virtual Private Server) – 가상 서버 호스팅

[VM 관련 포스팅]에서 소개한 VM 으로 서버를 제공하는 서비스

웹호스팅과 같은 특정 기능을 호스팅하는 것에 비하면 비싸다.
하지만 OS의 관리자 권한을 가지고 자신만의 환경을 구축하여 서비스 할 수 있기 때문에 원하는 용도로 맘껏 활용할 수 있다.

저렴한 VPS
[Google Cloud Platform]
[AWS Lightsail]
[Vultr]

SSL 인증서

SSL 인증서 목적

인증서의 목적은 암호화와 사이트의 신뢰도 향상이다.
관련 법에 따라 의무적으로 사용해야 하는 경우가 있다. (개인 정보를 수집하는 사이트)
개인적인 블로그나 위키를 설치형으로 호스팅 하는 경우에도 사용하면 좋다.
만약 설치형에서 소프트웨어에서 SSL 인증서를 사용하지 않으면 패킷을 가로 챘을 때에 관리자의 비밀번호가 노출될 수 있다.

SSL 인증서의 두번째 목적인 사이트 신뢰도는
SSL 인증서 발급 기관이 해당 사이트가 짝퉁이 아님을 보장하는 것
만약 짝퉁인데 인증서가 먹힌 것으로 판단되게 되면 대부분의 유료 SSL 인증서는 계약 당시의 보험금으로 보상해 준다

작은 사이트를 위한 공짜 SSL

[Let’s Encrypt]
위 사이트를 통해서 무료로 SSL 인증서를 발급 받을 수 있다.
물론 무료이기 때문에 뚫렸을 때에 보상금 같은 것은 없다.
암호화가 필요한데 “Self-signed SSL 인증서”를 사용하면 대부분의 웹브라우저나 모바일 기기에서 거부 당하므로 소규모 사이트라면 간단하게 사용하기에 좋다.

Self-signed SSL 인증서

자신의 인증서에 대한 인증을 자신이 하는 경우를 말한다.
대부분의 웹브라우저에서 경고를 띄우고, 모바일 기기에서는 exception이 발생할 수도 있다.
개발용도나 백엔드끼리의 통신등에 주로 쓰인다.

생성 방법

openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -out server.crt
[/code]

  • req: 자기 서명 인증서 만들기
  • -new: 새로 만들기
  • -newkey: 키도 새로 만들기
  • rsa:2048: RSA 알고리즘 2048 길이로
  • -days 365: 유효 기간은 365일
  • -nodes: private key를 DES로 암호화 하지 않음
  • -x509: X.509 표준을 사용
  • -keyout server.key: private key를 server.key에 저장
  • -out server.crt 생성될 인증서
  • 옵션 사항) -subj ‘/C=KR/ST=Seoul/CN=www.example.com’: 한국,서울,www.example.com 도메인용

WSL – Windows Subsystem for Linux

  • Windows 에서 Linux 프로그램을 맛볼 수 있는 기능
  • Windows 10 1607 에서 시작
  • 64비트만 가능
    당연히 이 가짜 Linux에서 실행되는 프로그램도 64비트용이어야 하고
  • Windows Server 2019 부터 서버 제품에도 포함되었음

처음에는 Ubuntu 만 가능했지만 Windows 1709 부터 Windows Store 를 통해 배포되는 형식으로 바뀌면서 Fedora, SUSE 이미지도 제공됨… 그리고 점점 늘어나고 있긴 함.

그런데 이걸 어디다가 써먹지!!!???

일단은 무조건 개발자를 위한 도구라는 것!!!
일반적인 Linux 로 생각하고 사용하기에는 성능이 너무 너무 떨어짐.
Hyper-V에 Linux 설치한 것이 더 빠를지도 모름

BS 생각엔…
MS가 생각하길… 이대로 있다가는 안될 거 같아. 뭔가 변화가 필요해…
그리하여 MS는 Linux와 친해지고, Open Source Project 들과 친해지는 과정을 가는데…
GitHub를 인수하고, Eclipse 재단에 가입하고, MS의 OS가 아닌 환경을 위한 Visual Studio Code를 만들고, 몇몇 MS의 제품을 Open Source로 바꾸고…
그런 일련의 변화 중에서 Linux 개발을 위해 MS Windows 를 버리고 Linux 나 macOS 를 사용할 필요가 없이 Windows 하나로 모두 해결 가능한 상태를 만들고 싶었고,
Windows NT 시절의 그 모습이 떠올랐던게 아닐까? [위키의 Windows NT 구조]

아직은 갈 길이 멀지만… 업계에서 핫한 소프트웨어들 중심으로 점차 안정적인 모습을 갖춰가고 있음.

참고자료
[MS의 릴리즈 노트]