이전글


1. Apache2 설치, 간단한 웹사이트 띄우기

2. 도메인 생성과 연결, SSL 인증서 발급과 활성화

3. PHP + MariaDB 설치 및 세팅


다시 돌아온 웹서비스 구축이다.

전에 우리는 APM 3신기를 모두 설치하고 SSL까지 활성화했다.


이걸로 준비는 다 끝났으니, 많이 쓰이는 CMS 중 하나인 그누보드를 설치해볼거야.


이번에는 root 권한으로 할 일이 많으니 미리 root로 쉘을 바꿔놓자.

$ sudo -i


그리고 혹시나 모르니 웹사이트 안에 있던 실험용 파일들을 다 지워놓자.

# rm -r /var/www/html/*


이제 그누보드를 받을건데, 받는 방법은 간단하다.

# git clone https://github.com/gnuboard/gnuboard5 /var/www/html


그 다음 서버에 접속해보자.

이렇게 뜨면서 진행이 되지 않는다.



지금으로써는 이게 정상이다. 왜냐면 그누보드를 다운로드만 해놨지 퍼미션을 맞추는 등의 전처리는 하지 않았거든.

또한, 그누보드는 스스로 DB를 만들 수 없기 때문에 우리가 직접 DB에 그누보드가 사용할 자리를 만들어 줘야 해.


일단 원할한 작업을 위해 웹 서버의 기본 디렉터리에 가있을거야.

# cd /var/www/html


그 다음, data 폴더를 하나 만들고 퍼미션을 만져줘.

# mkdir data
# chown www-data:www-data data
# chmod 707 data


이제 DB를 생성할 차례다. 전에 만들었던 MariaDB 루트 암호는 기억하고 있지? 잊었다면 꽤나 곤란해질 수 있으니 꼭 기억하길 바래.

# mysql -u root -p


그 다음, 이 명령어를 쳐보자.

MariaDB [(none)]> show databases;

MariaDB의 필수 동작을 위한 DB를 제외하고는 비었다는 걸 알 수 있어.

이제 그누보드가 사용할 DB를 만들어주자.

MariaDB [(none)]> create database gnuboard;

gnuboard라는 이름으로 DB가 하나 생성됐다.


그 다음 그누보드가 사용할 DB 계정을 하나 만들어줄거야.

조그만한 CMS 하나에 루트 계정을 쥐어주지는 못하잖아?

MariaDB [(none)]> create user '[계정 이름]'@'localhost' identified by '[암호]';

그 다음 gnuboard라는 DB를 사용할 수 있도록 권한을 줄거야.

MariaDB [(none)]> grant all on gnuboard.* to '[계정 이름]'@'localhost' with grant option;


이제 [계정 이름]은 gnuboard DB에서 모든 권한을 얻게 돼.

뒷정리를 하고 DB 모니터를 종료하자.

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;


이렇게 그누보드가 작동하기 위한 필수 요조는 다 준비됐다.

다시 서버에 들어가보자.


동의합니다 눌러주고


상단의 User와 Password에는 우리가 MariaDB를 만질 때 생성했던 그누보드용 계정 정보를 입력해주고

DB에는 방금전에 만들었던 gnuboard를 입력해주자.

그 다음 최고관리자 정보입력에는 게시판 운영자 계정을 만들거야.


DB 계정 ID와 최고관리자 ID는 중복될 수 없으니 반드시 서로 다른 ID를 사용해야 해.


그렇게 정보를 다 입력하고 다음을 누르면..

? 이기뭐노?


하나 짚어보자. APM 3신기는 그냥 깔기만 한다고 완전해지는 것이 아니다.

APM은 각 구성원끼리 서로 접근이 가능해야 한다.

저런 창이 뜬다는 것은 PHP가 MariaDB에 접근하지 못하고 있음을 의미한다.


해결 방법은 간단하다.

# apt install php-mysql
# systemctl restart apache2


다시 정보를 입력하고 다음을 누르면..

설치가 정상적으로 끝났다.


이제 아까 만들었던 최고관리자 계정으로 로그인하고, 마음껏 씹고 뜯고 맛보고 조이고 즐기자.


그누보드를 커스텀하는 방법은 검색하면 다 나오니 알아서 찾아보자.


추신으로, 2편에서 예를 들었던 http://klee.n-e.kr 에는 그누보드 설치 예시가 있다.

라즈베리 파이 제로 W에서 돌아가고 있는데, 조금 느리긴 해도 그럭저럭 잘 돌아간다.

이는 실제로 저렇게 소규모 웹 서비스를 구축하는데 그렇게까지 큰 서버 성능이 필요 없음을 의미한다.


웹서비스를 위해 서버를 준비하려면 나처럼 라즈베리 파이를 써도 되고, 아니면 오라클에서 평생 무료로 저사양 VPS를 1인당 2개씩 제공하고 있으니 한번 검색해보자.


다음은 웬만한 중소기업에서 다쓰는 그룹웨어란 것에 대해 알아보고, 그 중 하나인 Group Office를 깔아보도록 하겠다.