Nextcloud는 한국에서 개발되지 않았습니다. 공식적으로 한글 지원을 해준다면 그 기간에 비례하여 문제가 거의 없거나 발생하지 않을 수 있겠지만, Nextcloud는 그렇지 않습니다. 때문에 Nextcloud를 설치하고 사용하는 데 있어서 한글 관련 문제는 어쩌면 발생할 수밖에 없습니다.
한글 관련 문제를 방지하려면 Apache2 서버와 PHP 그리고 MariaDB의 문자 집합(Character Set)을 유니코드를 지원하는 UTF8로 변경해야 합니다. 유니코드는 전 세계의 모든 문자를 표현하기 위해 제정되었고 문자 표시 방법의 국제 표준이 되었습니다.
다음 순서에 따라 APM에 UTF8을 적용합니다.
1) Apache2 UTF8 설정
다음 명령어를 입력하여 apache2.conf 파일을 수정합니다.
~$ sudo vi /etc/apache2/apache2.conf
파일 맨 아래에 다음 내용을 추가합니다.
AddDefaultCharset utf-8
2) PHP UTF8 설정
다음 명령어를 입력하여 php.ini 파일을 수정합니다.
(PHP 7.1버전일 경우 7.0을 7.1로 변경합니다)
~$ sudo vi /etc/php/7.0/apache2/php.ini
파일을 열고 [mbstring] 부분을 찾습니다.
[mbstring] 부분에서 다음 문자열을 찾아 값을 모두 UTF-8로 변경해주고 ; 을 제거해 주석 처리를 풀어줍니다.
;mbstring.language = Japanese
;mbstring.internal_encoding
;mbstring.http_input
;mbstring.http_output
마지막으로 작업할 것이 하나 있습니다. MariaDB의 binlog_format 기본 값은 STATEMENT인데, Nextcloud에서는 binlog_format의 설정 값이 MIXED가 아니면 설치도 안 되고, 임시로 변경하여 설치했다 하더라도 다시 STATEMENT로 되돌아가기 때문에 귀찮은 일이 발생합니다. 따라서 아예 binlog_format의 설정 값을 MIXED로 고정시켜야 합니다.
클라우드(Cloud)라는 말은 어느새 우리 디지털 생활(Digital Life)을 영위하는 데에 빠질 수 없는 말이 되었습니다. 하지만 우리가 클라우드라고 할 때에는 보통 클라우드 스토리지(Cloud Storage)를 가리키는 경우가 많습니다.
클라우드 스토리지
클라우드 스토리지는 “서버에 내 자료를 저장해두고, 클라이언트 단말기를 이용하여 언제 어디서든 내 자료에 접근하는 기술”이라고 할 수 있습니다. 백문이 불여일견이라고 설명을 들어도 이해가 가지 않는다면 실제 서비스를 보면 됩니다.
네이버의 네이버 클라우드, 마이크로소프트의 OneDrive, Dropbox 등이 있고, 지금은 서비스가 종료된 다음카카오의 다음클라우드도 있습니다. 이제는 감이 올 겁니다.
그래도 잘 모르겠다면 클라우드 스토리지에 대해 자세히 설명이 되어 있는 나무위키를 찾아보시기 바랍니다.
Nextcloud
제가 소개해드릴 클라우드 스토리지 Nextcloud는 앞서 잠깐 언급했던 네이버 클라우드, 다음클라우드, Dropbox, OneDrive 등과 같은 서비스와 거의 같은 기능을 제공합니다.
Nextcloud 주요 기능
Dropbox와 같은 동기화(Sync) 기능
스마트폰 전용 애플리케이션(안드로이드, 아이폰)
Windows, Mac, Linux 다양한 OS 지원
공개 주소를 통한 파일 및 폴더 공유
ownCloud 사용자 및 그룹 사이의 공유
다양한 3rd Party 애플리케이션 제공
Dropbox의 설치형 버전이라고 생각하면 쉽습니다. 블로그도 기업에서 제공되는 서비스형 블로그와 개인이 웹호스팅과 도메인 서비스를 받아서 직접 설치하는 설치형 블로그가 있듯이, Nextcloud는 Dropbox의 설치형 버전이라고 할 수 있습니다.
물론 세부적인 기능들에서는 조금씩의 차이점이 있습니다만 거의 동일한 기능을 제공하며 오히려 대부분 무료 사용자인 것을 고려할 때 기능은 Nextcloud가 더 다양하다고 할 수 있습니다. 오히려 Nextcloud는 자신이 사용자이면서 동시에 관리자가 되는 것이기 때문에 자신뿐 아니라 다른 사람까지도 자신의 Nextcloud를 이용할 수 있게 계정을 만들고 관리할 수도 있습니다. 개인 드롭박스의 운영자쯤 된다 할 수 있겠습니다.
실제로 영리 운영자가 되어 수익을 내는 서비스를 제공할 수는 없겠지만 지인들끼리 사용할 클라우드 스토리지를 구축한다던가, 아니면 자기 자신만을 위한 클라우드 스토리지를 구축할 수 있는 것입니다.
PHP 버전으로 가장 많이 쓰이는 버전은 5.x.x 대 PHP 입니다. PHP 7은 올해 정식 업데이트 되었으니 안정화되었다고 하기엔 조금 무리가 있을 겁니다. 하지만 PHP 7을 설치해야 하는 이유가 있는데, 가벼움입니다. 접속하여 로딩이 마쳐지기까지 7.x초 걸리는 어떤 웹사이트가 PHP 7으로 업데이트한 후에는 4.x초로 3초가량 빨라졌습니다(출처: 클리앙).
그래서 서버 성능이 여러가지 이유로 (특히 재정적인 이유로) 제한적인 경우 PHP 7을 설치해야 비교적 쾌적하게 웹 서버를 운영할 수 있습니다.
우분투 16.04는 PHP를 설치하면 기본적으로 7버전을 설치합니다.
PHP 7 설치를 위해 다음 명령어를 입력합니다. 긴 명령어니 복사 붙여넣기를 이용해야 오타가 없습니다.
Dropbox나 Google Drive 등과 같은 서비스는 웹서버 위에서 동작하는 애플리케이션입니다. 마찬가지로 이 블로그(WordPress) 또한 웹서버(Web Server) 위에서 돌아가는 일종의 애플리케이션입니다. 웹브라우저로 접속하여 할 수 있는 것들은 모두 웹서버 위에서 동작한다고 보면 됩니다.
홈페이지를 운영하고 싶다. 설치형 블로그를 하고 싶다. 등. 웹브라우저에서 동작하는 무언가를 구축하고 싶다? 그렇다면 웹서버는 반드시 필요합니다.
나무위키는 “서버에 접속한 사용자에게 웹 서비스를 제공하기 위하여 사용되는 서버의 한 종류”라고 설명합니다.
2. 웹서버의 종류
아파치 HTTP 서버 – 아파치 소프트웨어 재단 개발
Nginx – 최근 주목받는 웹 서버
node.js – 자바스크립트 플랫폼, 자체 웹 서버 내장
인터넷 정보 서비스(IIS) – 마이크로소프트 개발
3. 가장 대중적인 웹 서버 구성, APM
가장 대중적인 웹서버는 Apache입니다. 풀네임은 Apache HTTP Server라고 합니다. 사실 Apache 서버만 설치하면 웹 서버는 구축됩니다. 하지만 웹 서비스를 제공하는 여러 애플리케이션들은 대부분 PHP 언어로 만들어진 애플리케이션입니다. 또한 많은 경우 MySQL/MariaDB를 사용하여 데이터를 관리합니다.
그러므로 Apache HTTP Server, PHP, MySQL(혹은 MariaDB)을 설치해야 기본적인 웹 서버를 구축했다고 할 수 있습니다. 이 세 가지를 줄여서 APM이라고 합니다.