HomeAbout Me

PHP 7.4 설치 및 그누보드 5.4 설치하기

By Woosung
Published in gnuboard
2020-05-31 10:27:36
4 min read

그누보드는 국산 설치형 무료 게시판입니다.

https://www.wsgvet.com

현재 제가 메인 홈페이지로 쓰고 있는 중이기도 합니다.

제 홈페이지는 현재 그누보드 5.3이지만 테마만 괜찮은게 나오면 5.4로 넘어갈 예정입니다.

구글 클라우드 플랫폼의 무료 서버 성능에서는 ghost 플랫폼이나 그누보드를 동시에 운용하기에는 조금 벅찰 수 있습니다.

그래서 ghost를 설치할땐 node.js 설치만 했습니다.

다만 그누보드나 워드프레스 같은 경우 php로 구동되기 때문에 php를 따로 설치해야 합니다.

그래서 node.js와 완전히 독립적으로 이 설치기를 작성합니다.


1. php7.4 설치

위 명령어로 패키지를 설치합니다.

조금만 기다리면 설치가 완료됩니다.

위 명령어로 재부팅시에 자동 시작되게 합니다.

위 명령어로 실행합니다.


위 명령어로 들어가면 엄청나게 많은 글의 내용이 나오는데요.

위 항목을 찾아서 다 바꿔줍니다.

찾는 방법은 컨트롤 + W 누르면 밑에 검색창이 나오는데, 앞부분을 복사해서 붙여넣고 엔터를 치면 찾아집니다.

예를들어 short_open_tag를 바꾸고 싶다면 short_open_tag 를 넣고 엔터를 치면 해당부분으로 갑니다.

참고로 short_open_tag는 처음 검색하면 설명 부분이 나오는데 한번더 검색하면 제대로 나옵니다.

cgi.fix_pathinfo는 아마도 ;cgi.fix_pathinfo = 1 이렇게 되어있을텐데요. 앞에 ; 은 주석으로 처리한다는 뜻이므로 이것도 빼야겠죠.

;cgi.fix_pathinfo = 1cgi.fix_pathinfo = 0  이렇게 바꿔줘야 하는 것입니다.

그 뒤에 수정하면 됩니다. 전부 찾아서 다 바꾼 후

컨트롤 + O, 엔터, 컨트롤 + X를 누르면 저장 후 빠져나와집니다.

위 명령어로 설정을 적용해줍니다.


2. MariaDB에 그누보드 전용 DB 및 유저 생성하기

위 명령어로 DB에 접속합니다.

위 명령어로 gnuboard라는 DB를 만듭니다.

위 명령어로 gnuuser라는 DB사용자를 만듭니다.

yourpassword 부분은 원하는 비번으로 수정하세요!

위 명령어로 gnuuser가 gnuboard라는 DB의 모든 권한을 얻습니다.

위 두 명령어로 저장 후 나갑니다.

3. 그누보드 설치파일 다운받기

위 명령어로 그누보드 파일이 들어갈 폴더를 생성합니다.

위 명령어로 폴더로 이동합니다.

위 명령어로 그누보드 최신버전을 다운 받습니다.

위와 같이 현재 폴더에 압축을 풉니다.

위 명령어로 압축파일을 삭제합니다.


이제 권한을 수정해야 합니다.

그누보드의 폴더 포함 모든 파일 및 폴더의 권한을 755로 줍니다.

data 폴더를 생성합니다.

data 폴더의 권한을 707로 줍니다.

그누보드 폴더 이하의 모든 파일과 폴더의 소유권을 www-data에게 줍니다.


위 명령어로 설정파일로 들어갑니다.

29번째줄에 보면

위 내용이 있습니다. 접속할 주소를 설정하는 곳입니다.

우리는 이미 SSL 인증서를 가지고 있기 때문에 둘다 같은 https 주소를 넣습니다.

저는 gnu.some.ga를 넣겠습니다.

aced.ga와 같이 서브도메인이 없이 넣어 됩니다. 이는 원하는대로 설정하시면 됩니다.

위와 같은 형식으로 넣고 저장하면 됩니다.


40번째 줄에

위와 같이 utf8utf8mb4로 바꿔줍니다. 이모지를 제목과 본문, 댓글에 표시할 수 있습니다.


그누보드 파일 설정은 이제 끝입니다.


4. Nginx 설정파일 만들기

(1) 그누보드 5.4 주소 rewirte 설정파일 만들어주기

위 명령어로 설정파일 만들기에 들어갑니다.

위 내용을 그대로 복사 후 붙여넣기 해줍니다.

컨트롤 + O, 엔터, 컨트롤 + X 엔터를 누르면 저장 후 빠져나옵니다.


(2) SSL 관련 설정파일 만들기

위 명령어로 설정파일 만들기에 들어갑니다.

위 내용을 그대로 복사 후 붙여넣기 해줍니다.

제일 위에 인증서 경로를 자신의 환경에 맞게 수정해주세요!

제가 알려드린 acme.sh로 인증서를 생성했다면 수정하지 않아도 됩니다.

컨트롤 + O, 엔터, 컨트롤 + X 엔터를 누르면 저장 후 빠져나옵니다.


(3) dhparams.pem 생성하기

위 명령어로 dhparams.pem 파일을 생성합니다.

대략 10~20초면 생성이 됩니다.


SSL 인증서를 미리 만들었다면 그대로 진행하면 됩니다.

SSL 인증서가 없다면

  1. .cf, .ga, .gq, .ml .tk 무료 도메인을 가지고 있는 경우 이 단계에서 인증서를 생성할 수 있습니다.
LuaDNS API를 이용한 무료도메인 와일드카드 SSL 인증서 발급 받기

위 링크를 통해서 클라우드플레어가 아닌 LuaDNS를 통해 무료도메인도 와일드카드 인증서를 발급받을 수 있습니다.

webroot 방식보다 DNS 방식으로 발급 받는 것이 훨씬 편하므로 강력 추천드립니다.


webroot 방식으로 설치하려면 바로 밑에 무료 도메인 전용 인증서 생성하기를 참고하세요!

  1. .com, .net, .co.kr 등 유료 도메인을 가지고 있는 경우
DNS 인증을 통한 acme.sh Letsencrypt SSL 인증서 발급받기

위 링크에서 클라우드플레어를 통하여 매우 쉽게 와일드카드 인증서 및 자동갱신을 설정할 수 있습니다.

인증서를 생성했다면 밑의 무료 도메인 전용 인증서 생성하기는 건너뛰고 (4) 서버 설정파일 만들기로 넘어가면 됩니다!


무료 도메인 전용 인증서 생성하기

이제 Letsencrypt의 webroot 방식으로 인증서를 생성할 수 있습니다.

위 명령어로 Nginx설정파일을 만들고 들어갑니다.

위 내용에서 some.ga 부분을 자신의 도메인으로 바꿔주세요.

그리고 컨트롤 + O, 엔터, 컨트롤 + X 엔터를 누르면 저장 후 빠져나옵니다.


위 명령어로 설정파일을 활성화되게 해줍니다.

위 명령어로 기존 활성화된 default 서버 링크만 삭제해줍니다.

위 명령어로 설정에 이상이 없는지 확인합니다.

위와 같이 oksuccessful이 나오면 성공입니다.

위 명령어로 nginx를 재시작 해줍니다.


이제 acme.sh를 통한 webroot 인증서 발급을 위한 준비는 끝났습니다.

acme.sh 설치하기

위 명령어로 root 계정으로 들어갑니다.

root 계정이 아니면 권한 문제가 생길 수 있습니다. 공식 매뉴얼에는 sudo 명령어를 추천하지 않습니다.

위 명령어로 설치할 수 있습니다. 만약에 안된다면

위 명령어로도 설치할 수 있습니다.

설치할 때 빨간색 글자가 나올 수도 있는데, 무시해도 됩니다.

SSH 터미널(Putty 등)을 끄고, 다시 접속합니다.

SSH에 다시 접속하면 별다른 작업을 하지 않아도 root 계정으로 acme.sh 명령어를 바로 쓸 수 있습니다.


인증서 발급 받기

우선 위와 같이 root로 로그인 후 SSL 인증서가 저장될 폴더를 생성합니다.

위와 같이 webroot 방식으로 발급받으면 멀티도메인 거의 무제한(100개까지)으로 발급 받을 수 있습니다.

발급 받고 싶은 도메인 주소도 -d example.com 형식으로 추가해주면 됩니다.

example.com만 자신의 도메인으로 수정해주세요!

위와 같이 잘 발급되고, 원하는 위치에 인증서가 이동된 것을 확인할 수 있습니다.

참고로 ECDSA 인증서를 발급 받고 싶으시면

위 명령어에서 --keylength ec-256 (prime256v1, ECDSA P-256) 또는 --keylength ec-384 (secp384r1, ECDSA P-384)를 넣어주면 됩니다.

위와 같이 실행하면 ECDSA P-256 인증서가 생성됩니다.

다른 상세한 사항은 DNS 인증을 통한 acme.sh Letsencrypt SSL 인증서 발급받기를 참조하세요!

acme.sh를 통해서 인증서를 생성하면 60일 뒤에 자동으로 갱신해줍니다. 그러니 자동갱신에 대한 걱정은 안하셔도 됩니다 ^^


(4) 서버 설정파일 만들기

위 명령어로 설정파일로 들어갑니다.

기존 내용이 있다면 컨트롤 + K 를 눌러서 다 지우고 밑의 내용을 넣습니다.

(4) -1 홈페이지 주소가 aced.ga 처럼 서브도메인이 없는 경우

http://aced.ga, http://www.aced.ga, https://www.aced.ga 를 전부 https://aced.ga로 돌립니다.


(4) -2 홈페이지 주소가 gnu.some.ga 처럼 서브도메인이 있는 경우

http://gnu.some.ga만 https://gnu.some.ga로 돌려주면 됩니다.

위 내용을 확인 후 꼭 수정하세요!

컨트롤 + O, 엔터, 컨트롤 + X 엔터를 누르면 저장 후 빠져나옵니다.

위 명령어로 설정파일을 활성화되게 해줍니다.

무료 도메인에서 이 작업을 했다면 다시 할 필요가 없습니다. 한번 더 해도 문제없습니다 ^^;;

위 명령어로 기존 활성화된 default 서버 링크만 삭제해줍니다.

위 명령어로 설정에 이상이 없는지 확인합니다.

위 내용이 나온다면 성공한 것입니다.

위 명령어로 nginx를 재시작해줍니다.

이제 서버쪽 설정은 모두 끝났습니다!


5. 그누보드 접속 및 초기 설정하기

이제 주소창에 설정한 주소 를 넣어보세요.

02 gnu 1st

위와 같이 뜬다면 성공입니다.

그누보드5 설치하기를 누릅니다.

동의합니다 -> 다음

03 DB setting

위와 같이 셋팅하면 됩니다.

MySQL 정보는 아까 같이 만들었던 그 계정을 넣으면 됩니다.

밑에 최고관리자는 100% 원하시는대로 만들면 됩니다

참고로 회원 ID에 admin으로 되어있는데 바꿔주시는게 보안에 좋습니다.

다 적은 후 다음을 누르면

04 finish

위와 같이 나오면 드디어 끝입니다.

새로운 그누보드5로 이동을 누르면!

05 gnu index

위와 같이 초기화면이 나오면서 완성되었습니다!

감사합니다!


Tags

Google CloudphpGnuboardSSL
Previous Article
ghost 블로그 casper 테마에서 날짜표시형식 변경하는 방법

Woosung

반가워요!

Topics

Gatsby

Ubuntu

ghost

gnuboard

Google Cloud

Related Posts

그누보드 아미나 나리야 빌더에 Prism JS 적용하기
2020-07-21 02:12:00
1 min
© 2020, All Rights Reserved.
Vector created by pikisuperstar

Topics

GatsbyUbuntughostgnuboardGoogle Cloud

Social Media