한국형 커뮤니티 사이트는 라이믹스와 그누보드가 가장 유명한데요. 라이믹스는 예전에 핫했던 XE에서 파생된 것이고 그누보드는 당시 2인자였지만 요즘에는 많이 올라온 것 같습니다.
그누보드5란?
2000년대 초반부터 쓰이고 있는 PHP 기반 오픈소스 설치형 인터넷 게시판 프로그램(CMS)입니다. 홍석명이 처음 개발하였으며 “에스아이알소프트”라는 회사를 설립하여 지속해서 업데이트하면서 배포하고 있는 상황입니다. 독자적인 라이선스를 사용하고, 게시판 밑에 저작권 표기하라고 했던 제로보드와는 달리 GNU 개념의 프로그램이고, LGPL 라이센스를 사용한다. 이름부터가 자유 소프트웨어를 뜻하는 ‘그누(GNU)’일 정도입니다. 권장 설치 PHP 버전은 PHP 7.2 이상이고 여러 웹빌더가 있는데, 이 이윰빌더, 나리야 빌더 등이 유명합니다.
그누보드5 설치하기
저의 서버에는 워드프레스가 설치되어 있어서, 해당 항목은 제외하고 그누보드5를 설치하는 방법을 알아보겠습니다.
현재 리눅스에 php와 nginx, mariadb가 설치되어 있는 환경입니다. 그누보드5 설치는 크게 3단계로 나뉠 수 있습니다.
- 그누보드5 설치
- DB 연동
- Nginx 연동
- (필요시)나리야빌더 설치
먼저 그누보드5를 설치해보겠습니다. 그누보드 공식홈페이지에서 현재 시점의 가장 최신버전 5.5.8.3.4 버전을 설치해보겠습니다.
https://github.com/gnuboard/gnuboard5/
wget https://github.com/gnuboard/gnuboard5/archive/refs/tags/v5.5.8.3.4.tar.gz
wget으로 해당 tar.gz파일을 가져옵니다. 이후 압축을 풀고 var/www/html/gnuboard폴더에 옮겨 놓았습니다.
sudo tar -zxvf v5.5.8.3.4.tar.gz
sudo mv gnuboard5-5.5.8.3.4 gnuboard
sudo mv gnuboard /var/www/html/gnuboard
그리고 localhost로 접속하면 아래와 같은 메시지가 나오는데요. 이 때는 DB를 설정해주어야 합니다.
그누보드5 DB 설정하기
저는 간단하게 gnu라는 db를 만들고 gnuu계정을 만들어서 모든 권한을 넘겨주었습니다.
create database gnu;
create user 'gnuu'@'localhost' identified by '비밀번호';
grant all privileges on gnu.* to gnuu@'localhost';
FLUSH PRIVILEGES;
그리고 그누보드의 데이터를 저장할 수 있도록 data폴더를 아까 옮긴 /var/www/html/gnuboard 아래에 만들어 줍니다. nginx가 사용할 수 있게 파일권한도 넘겨줍니다.
sudo mkdir data
sudo chmod 707 data
chown -R www-data:www-data /var/www/html/gnuboard/data
이후 그누보드5 설치하기 메뉴가 나오면 아래처럼 계정을 gnuu, db는 gnu로 아까 만든 계정대로 만들어줍니다. 그리고 회원 아이디와 메일주소를 넣어주는데요.
admin은 해킹의 위험이 있으니 변경해서 설치해줍니다.
여기까지 오면 이제 그누보드 설치는 모두 완료되었는데요.
Nginx 설정은 아래를 참고하시어 설정하시면 됩니다.
/etc/nginx/sites-enabled/default에서 설정을 수정하시면 되구요
server {
listen 80;
listen [::]:80;
server_name www.example.com example.com; # example.com를 자신이 원하는 도메인으로 수정하세요.
root /var/www/html/gnuboard;
index index.php ;
include snippets/gnuboard-rewrite.conf;
location ~ \.(gif|jpg|png)$ {
add_header Vary "Accept-Encoding";
add_header Cache-Control "public, no-transform, max-age=31536000";
}
location ~* \.(css|js)$ {
add_header Cache-Control "public, max-age=604800";
log_not_found off;
access_log off;
}
location ~*.(mp4|ogg|ogv|svg|svgz|eot|otf|woff|woff2|ttf|rss|atom|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf|cur)$ {
add_header Cache-Control "max-age=31536000";
access_log off;
}
charset utf-8;
server_tokens off;
client_max_body_size 100M;
location / {
try_files $uri $uri/ =404;
}
location ~ /\.ht {
deny all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
이후 추가로 필요하다면 나리야 빌더를 추가하면 되는데요. 아래와 같이 나리야 빌더의 압축을 풀고 해당 내용을 gnuboard 루트에 풀어주어야 합니다.
cp -Rf /var/www/html/gnuboard/NB-1.2.17/* /var/www/html/gnuboard
단 위에처럼 nb-1.2.17폴더가 보이지 않고 그 아래 폴더가 복사되도록 해야합니다. mv로 옮기면 폴더라서 덮어쓰기가 안되서 cp로 이동하셔야 합니다.
최종적으로 설치가 완료되면 아래와 같은 페이지를 확인할 수 있습니다.
그럼 잘 사용하세요.