추적 :
[틀:도움 이동]
도움말
오픈테섭
규정 도움말 문법
연습장 관리자 CSS or JS
오픈나무
설치법 입구 구조
분류 스킨 코드 규범
기타

Test
목차

1. 설명
1.1. 윈도우
1.2. 우분투
1.2.1. 16.04 이상
1.3. 공통
2. 업데이트
2.1. MySQL 버전에서 업데이트
2.1.1. 으악 app.py 먼저 했어요
3. set.json 설명
4. 기타
4.1. 인덱싱(SQLite3)
4.1.1. SQLite3 CMD Tool
4.1.2. 실행
4.1.3. 설명
4.2. 나무위키 DB 인덱싱(SQLite3)
4.2.1. AGREEDIS 테이블
4.2.2. ALIST 테이블
4.2.3. BAN 테이블
4.2.4. BACK 테이블
4.2.5. CAT 테이블
4.2.6. CUSTOM 테이블
4.2.7. DATA 테이블
4.2.8. HEIDI 테이블
4.2.9. HISTORY 테이블
4.2.10. LOGIN 테이블
4.2.11. OTHER 테이블
4.2.12. RB 테이블
4.2.13. RD 테이블
4.2.14. RE_ADMIN 테이블
4.2.15. STOP 테이블
4.2.16. TOPIC 테이블
4.2.17. USER 테이블
4.3. 인덱싱(구 openNAMU MySQL 기반)
4.4. 나무위키 DB 인덱싱(구 openNAMU MySQL 기반)
4.5. 리버스 프록시

1. 설명 [편집]


1.1. 윈도우 [편집]


  • 여기로 가서 파이썬을 받습니다. (3.6.* 권장)
  • 설치 합니다. (PATH 설정 필수, 3.6.* 부터는 설치창 하단에 보면 파이썬 PATH을 알아서 설정 해주는 부분이 있습니다. 체크를 하고 설치 하면 PATH 설정은 가볍게 넘길 수 있습니다.)
  • cmd를 키고
  • pip install bcrypt, pip install bottle, pip install bottle-beaker, pip install tornado 를 칩니다.
  • 오픈나무를 받습니다.

1.2. 우분투 [편집]


1.2.1. 16.04 이상 [편집]


  • 이에 앞서 우분투에 대한 기본 상식이 있어야 불편함 없이 사용 가능 합니다.[1]
  • pip3 install bottle, pip3 install bottle-beaker, pip3 install bcrypt, pip3 install tornado 를 칩니다.[2]
  • 오픈나무를 받습니다.[3]

1.3. 공통 [편집]


  • 해당 폴더에서 python(리눅스는 python3) app.py 를 쳐서 오픈나무를 킵니다.
  • 그 다음 회원 가입으로 가서 소유자 계정을 만듭니다.
  • /edit_set 으로 가서 설정을 바꿉니다.

2. 업데이트 [편집]


새 오픈나무 버전의 파일 받고 오픈나무 폴더에 덮어 씌우고 app.py를 실행한 다음 소유자 계정으로 로그인 한 다음 /update 에 가서 업데이트 전 기존의 버전을 찾아 누르면 됩니다.

2.1. MySQL 버전에서 업데이트 [편집]


오픈나무를 받고 덮어 쓰기를 한 다음 update-mysql.py를 실행하고 완료하면 app.py를 키면 됩니다.

2.1.1. 으악 app.py 먼저 했어요 [편집]


.db로 시작하는 파일을 지우고 다시 설명대로 하시면 됩니다.

3. set.json 설명 [편집]


  • db = 데이터베이스 이름
  • port = 위키 열 포트 (기본 : 3000)

set.json를 삭제하면 다시 새로 만들 수 있습니다.

4. 기타 [편집]


인덱싱, 프록시 등의 문서를 참고 할 수 있습니다.

4.1. 인덱싱(SQLite3) [편집]


openNAMU를 기준으로 하여 엘리위키(임상 테스트(?))에서 2.3.1 버전 기준으로 하여 테스트를 완료한 뒤에 SQLite3에 맞게 끔 인덱싱을 하는 방법을 서술 하고 있습니다.

4.1.1. SQLite3 CMD Tool [편집]


먼저 SQLite3 CMD Tool을 다운 받자. https://www.sqlite.org/2017/sqlite-tools-win32-x86-3200100.zip

4.1.2. 실행 [편집]


왠만해선 openNAMU 엔진과 DB가 생성 되어있는 폴더에 압축을 풀고 나오는 sqlite3.exe를 실행 시키자.

4.1.3. 설명 [편집]


커맨드를 차근차근 입력해보자.

먼저 생성된 DB를 open 해주어야 한다. 만약 DB가 있는 폴더에 압축을 풀었다면 바로 .open DB이름.db 를 하면 된다.(예로 들자면 카브위키 DB는 cavdata.db 이므로 .open cavdata.db 를 치고 엔터를 누른다면 cavdata.db를 열게 되는 것이다.)

이제 openNAMU에서 생성한 테이블을 알아내자, .table 을 입력하면 해당 DB에 생성된 테이블을 확인 할 수 있다. 참고로 openNAMU에서 자동 생성되는 테이블은 agreedis, alist, back, ban, cat, custom, data, hidhi, history, login, other, rb, rd, re_admin, stop, topic, user 가 있다.

참고로 이제부터가 엄청나게 중요하다.

SELECT sql FROM sqlite_master WHERE name='테이블 이름'; - 해당 DB 테이블의 칼럼을 알아낼때 사용하는 커맨드.
위에서 테이블을 알아 내었다고 해도 해당 테이블만을 가지고는 인덱싱을 할 수는 없다. 해당 코드에 테이블 이름만 바꿔주어 칼럼을 알아내야 인덱스를 만들 수 있다. 예시로 SELECT sql FROM sqlite_master WHERE name='data';를 하게 된다면 data 테이블의 칼럼을 보여준다는 것이다. 참고로 data 테이블의 칼럼으로는 alc, title, data 등이 있다.

CREATE INDEX 인덱스 이름 ON 테이블('칼럼'); - 칼럼을 알아냈으니 해당 테이블의 칼럼을 지정해주고 인덱스를 만들자.
이제 칼럼을 알아냈다면 인덱스를 생성해 주면 된다. 예시로 CREATE INDEX index_data_data ON data('data');를 하게 된다면 테이블 data에 data 칼럼을 index_data_data 라는 이름으로 인덱스를 생성 해준다는 뜻이다. 참고로 이 과정을 하게 된다면 해당 테이블을 통째로 인덱스를 생성하기 때문에 용량이 두배가 된다. 용량만 감당한다면 속도는 기대 해도 좋다.

SELECT * FROM 테이블 WHERE 칼럼 = 20000.0; - 이건 나도 뭐하는 건지 모르겠다.
사실 인덱스만 생성했다고 속도가 향상 되는 것은 아니다. 이렇게 해줘야 인덱스가 최적화 된다는데 이것의 기능을 잘 모르겠다. 아는 사람이 있다면 추가 바람. 예시로는 SELECT * FROM data WHERE data = 20000.0; 참고로 테이블의 양에 따라 오래 걸릴 수도 있다.

SELECT * FROM 테이블 WHERE 칼럼 BETWEEN 40000 AND 80000; - 마찬가지다. 그냥 이렇게 적어라고 해서 적었다.
위에와 같이 정확한 뜻을 모른다. 이에 대한 기능을 아는 사람이 있다면 추가 바람. 예시로는 SELECT * FROM data WHERE data BETWEEN 40000 AND 80000; 참고로 테이블의 양에 따라 오래 걸릴 수도 있다.

SELECT * FROM 테이블 ORDER BY 칼럼;''' - 적용 시켜 주자.
쿼리를 추가 했다면 이제 적용만 시켜주면 된다. 예시로는 SELECT * FROM data ORDER BY data; 이렇게 해주면 인덱스가 재정렬이 된다. 참고로 테이블의 양에 따라 오래 걸릴 수도 있다.

이렇게 수작업을 해준다면 깔끔하게 인덱싱 시킬 수 있다. 참고로 대용량 DB 를 인덱싱 해야 할 경우에는 엄청나게 귀찮아 지므로 테이블 용량이 큰 친구들만 인덱싱 시켜 주는 걸 추천 한다.

4.2. 나무위키 DB 인덱싱(SQLite3) [편집]


나무위키 DB 20170327(json)을 기준으로 하여 2DU의 namuJSON 을 python으로 변환 시켜주는 스크립트를 이용 했을때 아래의 쿼리를 이용한다면 깔끔하게 인덱싱 시킬 수 있다. 참고로 엘리위키에서 CC BY-NC-SA 2.0 KR 라이센스로 나무위키 DB 덤프할때 사용한 방법이란다. 믿거나 말거나.

엘리위키의 DB는 cavdata.db 이다, 설명은 위에서 다 했기 때문에 알아서 이해 한다고 생각하고 해당 조건으로 SQLite3로 변환 시켰을때 해주면 되는 쿼리를 리스트로 알려주겠다. 이렇게만 해준다면 인덱싱의 뜻은 이해 하지 못했어도 나무위키 DB는 그대로 사용할 수 있다. 참고로 모든 테이블을 인덱싱 할 필요가 없기에 양이 많거나 용량이 큰 친구들만 인덱싱 시켜주면 된다.

4.2.1. AGREEDIS 테이블 [편집]


CREATE INDEX index_agreedis_title ON agreedis('title');
SELECT * FROM agreedis WHERE title = 20000.0;
SELECT * FROM agreedis WHERE title BETWEEN 40000 AND 80000;
SELECT * FROM agreedis ORDER BY title;

CREATE INDEX index_agreedis_sub ON agreedis('sub');
SELECT * FROM agreedis WHERE sub = 20000.0;
SELECT * FROM agreedis WHERE sub BETWEEN 40000 AND 80000;
SELECT * FROM agreedis ORDER BY sub;

4.2.2. ALIST 테이블 [편집]


CREATE INDEX index_alist_name ON alist('name');
SELECT * FROM alist WHERE name = 20000.0;
SELECT * FROM alist WHERE name BETWEEN 40000 AND 80000;
SELECT * FROM alist ORDER BY name;

CREATE INDEX index_alist_acl ON alist('acl');
SELECT * FROM alist WHERE acl = 20000.0;
SELECT * FROM alist WHERE acl BETWEEN 40000 AND 80000;
SELECT * FROM alist ORDER BY acl;

4.2.3. BAN 테이블 [편집]


CREATE INDEX index_ban_block ON ban('block');
SELECT * FROM ban WHERE block = 20000.0;
SELECT * FROM ban WHERE block BETWEEN 40000 AND 80000;
SELECT * FROM ban ORDER BY block;

CREATE INDEX index_ban_end ON ban('end');
SELECT * FROM ban WHERE end = 20000.0;
SELECT * FROM ban WHERE end BETWEEN 40000 AND 80000;
SELECT * FROM ban ORDER BY end;

CREATE INDEX index_ban_why ON ban('why');
SELECT * FROM ban WHERE why = 20000.0;
SELECT * FROM ban WHERE why BETWEEN 40000 AND 80000;
SELECT * FROM ban ORDER BY why;

CREATE INDEX index_ban_band ON ban('band');
SELECT * FROM ban WHERE band = 20000.0;
SELECT * FROM ban WHERE band BETWEEN 40000 AND 80000;
SELECT * FROM ban ORDER BY band;

사용자(유저)를 벤 하거나 취소 할때 빨리 하고 싶다면 추가하자.

4.2.4. BACK 테이블 [편집]


CREATE INDEX index_back_title ON back('title');
SELECT * FROM back WHERE title = 20000.0;
SELECT * FROM back WHERE title BETWEEN 40000 AND 80000;
SELECT * FROM back ORDER BY title;

CREATE INDEX index_back_link ON back('link');
SELECT * FROM back WHERE link = 20000.0;
SELECT * FROM back WHERE link BETWEEN 40000 AND 80000;
SELECT * FROM back ORDER BY link;

CREATE INDEX index_back_type ON back('type');
SELECT * FROM back WHERE type = 20000.0;
SELECT * FROM back WHERE type BETWEEN 40000 AND 80000;
SELECT * FROM back ORDER BY type;

문서 빡구 치는걸 빨리 하고 싶거든 추가 하자.

4.2.5. CAT 테이블 [편집]


CREATE INDEX index_cat_title ON cat('title');
SELECT * FROM cat WHERE title = 20000.0;
SELECT * FROM cat WHERE title BETWEEN 40000 AND 80000;
SELECT * FROM cat ORDER BY title;

CREATE INDEX index_cat_cat ON cat('cat');
SELECT * FROM cat WHERE cat = 20000.0;
SELECT * FROM cat WHERE cat BETWEEN 40000 AND 80000;
SELECT * FROM cat ORDER BY cat;

4.2.6. CUSTOM 테이블 [편집]


CREATE INDEX index_custom_user ON custom('user');
SELECT * FROM custom WHERE user = 20000.0;
SELECT * FROM custom WHERE user BETWEEN 40000 AND 80000;
SELECT * FROM custom ORDER BY user;

CREATE INDEX index_custom_css ON custom('css');
SELECT * FROM custom WHERE css = 20000.0;
SELECT * FROM custom WHERE css BETWEEN 40000 AND 80000;
SELECT * FROM custom ORDER BY css;

4.2.7. DATA 테이블 [편집]


CREATE INDEX index_data_data ON data('data');
SELECT * FROM data WHERE data = 20000.0;
SELECT * FROM data WHERE data BETWEEN 40000 AND 80000;
SELECT * FROM data ORDER BY data;

CREATE INDEX index_data_title ON data('title');
SELECT * FROM data WHERE title = 20000.0;
SELECT * FROM data WHERE title BETWEEN 40000 AND 80000;
SELECT * FROM data ORDER BY title;

CREATE INDEX index_data_acl ON data('acl');
SELECT * FROM data WHERE acl = 20000.0;
SELECT * FROM data WHERE acl BETWEEN 40000 AND 80000;
SELECT * FROM data ORDER BY acl;

이렇게 해준다면 /w/를 통한 문서 이동시에는 3초 내외로 이동 할 것이고 문서 검색시에는 10초내로 이루어 진다. 참고로 인덱싱을 하지 않은 상태로는 엘리위키 서버 기준으로 프론트페이지 까지만 가는데 50초 가까이로 걸렸으며 문서 검색시에는 엔진이 멈춰 버렸다.

4.2.8. HEIDI 테이블 [편집]


CREATE INDEX index_hidhi_title ON hidhi('title');
SELECT * FROM hidhi WHERE title = 20000.0;
SELECT * FROM hidhi WHERE title BETWEEN 40000 AND 80000;
SELECT * FROM hidhi ORDER BY title;

CREATE INDEX index_hidhi_re ON hidhi('re');
SELECT * FROM hidhi WHERE re = 20000.0;
SELECT * FROM hidhi WHERE re BETWEEN 40000 AND 80000;
SELECT * FROM hidhi ORDER BY re;

4.2.9. HISTORY 테이블 [편집]


CREATE INDEX index_history_id ON history('id');
SELECT * FROM history WHERE id = 20000.0;
SELECT * FROM history WHERE id BETWEEN 40000 AND 80000;
SELECT * FROM history ORDER BY id;

CREATE INDEX index_history_title ON history('title');
SELECT * FROM history WHERE title = 20000.0;
SELECT * FROM history WHERE title BETWEEN 40000 AND 80000;
SELECT * FROM history ORDER BY title;

CREATE INDEX index_history_data ON history('data');
SELECT * FROM history WHERE data = 20000.0;
SELECT * FROM history WHERE data BETWEEN 40000 AND 80000;
SELECT * FROM history ORDER BY data;

CREATE INDEX index_history_date ON history('date');
SELECT * FROM history WHERE date = 20000.0;
SELECT * FROM history WHERE date BETWEEN 40000 AND 80000;
SELECT * FROM history ORDER BY date;

CREATE INDEX index_history_ip ON history('ip');
SELECT * FROM history WHERE ip = 20000.0;
SELECT * FROM history WHERE ip BETWEEN 40000 AND 80000;
SELECT * FROM history ORDER BY ip;

CREATE INDEX index_history_send ON history('send');
SELECT * FROM history WHERE send = 20000.0;
SELECT * FROM history WHERE send BETWEEN 40000 AND 80000;
SELECT * FROM history ORDER BY send;

CREATE INDEX index_history_leng ON history('leng');
SELECT * FROM history WHERE leng = 20000.0;
SELECT * FROM history WHERE leng BETWEEN 40000 AND 80000;
SELECT * FROM history ORDER BY leng;

나무위키 DB JSON에서 파이썬으로 변환 시킬 때 2DU님이 역사부분도 포함 시키는지는 모르겠지만 일단 인덱싱 해주자.

4.2.10. LOGIN 테이블 [편집]


CREATE INDEX index_login_user ON login('user');
SELECT * FROM login WHERE user = 20000.0;
SELECT * FROM login WHERE user BETWEEN 40000 AND 80000;
SELECT * FROM login ORDER BY user;

CREATE INDEX index_login_ip ON login('ip');
SELECT * FROM login WHERE ip = 20000.0;
SELECT * FROM login WHERE ip BETWEEN 40000 AND 80000;
SELECT * FROM login ORDER BY ip;

CREATE INDEX index_login_today ON login('today');
SELECT * FROM login WHERE today = 20000.0;
SELECT * FROM login WHERE today BETWEEN 40000 AND 80000;
SELECT * FROM login ORDER BY today;

로그인 로그 빨리 볼려면 추가 하자.

4.2.11. OTHER 테이블 [편집]


CREATE INDEX index_other_name ON other('name');
SELECT * FROM other WHERE name = 20000.0;
SELECT * FROM other WHERE name BETWEEN 40000 AND 80000;
SELECT * FROM other ORDER BY name;

CREATE INDEX index_other_data ON other('data');
SELECT * FROM other WHERE data = 20000.0;
SELECT * FROM other WHERE data BETWEEN 40000 AND 80000;
SELECT * FROM other ORDER BY data;

이걸 작성하는 나는 아직도 이게 뭘 하는 테이블인지 모른다.

4.2.12. RB 테이블 [편집]


CREATE INDEX index_rb_block ON rb('block');
SELECT * FROM rb WHERE block = 20000.0;
SELECT * FROM rb WHERE block BETWEEN 40000 AND 80000;
SELECT * FROM rb ORDER BY block;

CREATE INDEX index_rb_end ON rb('end');
SELECT * FROM rb WHERE end = 20000.0;
SELECT * FROM rb WHERE end BETWEEN 40000 AND 80000;
SELECT * FROM rb ORDER BY end;

CREATE INDEX index_rb_today ON rb('today');
SELECT * FROM rb WHERE today = 20000.0;
SELECT * FROM rb WHERE today BETWEEN 40000 AND 80000;
SELECT * FROM rb ORDER BY today;

CREATE INDEX index_rb_blocker ON rb('blocker');
SELECT * FROM rb WHERE blocker = 20000.0;
SELECT * FROM rb WHERE blocker BETWEEN 40000 AND 80000;
SELECT * FROM rb ORDER BY blocker;

CREATE INDEX index_rb_why ON rb('why');
SELECT * FROM rb WHERE why = 20000.0;
SELECT * FROM rb WHERE why BETWEEN 40000 AND 80000;
SELECT * FROM rb ORDER BY why;

4.2.13. RD 테이블 [편집]


CREATE INDEX index_rd_title ON rd('title');
SELECT * FROM rd WHERE title = 20000.0;
SELECT * FROM rd WHERE title BETWEEN 40000 AND 80000;
SELECT * FROM rd ORDER BY title;

CREATE INDEX index_rd_sub ON rd('sub');
SELECT * FROM rd WHERE sub = 20000.0;
SELECT * FROM rd WHERE sub BETWEEN 40000 AND 80000;
SELECT * FROM rd ORDER BY sub;

CREATE INDEX index_rd_date ON rd('date');
SELECT * FROM rd WHERE date = 20000.0;
SELECT * FROM rd WHERE date BETWEEN 40000 AND 80000;
SELECT * FROM rd ORDER BY date;

4.2.14. RE_ADMIN 테이블 [편집]


CREATE INDEX index_re_admin_who ON re_admin('who');
SELECT * FROM re_admin WHERE who = 20000.0;
SELECT * FROM re_admin WHERE who BETWEEN 40000 AND 80000;
SELECT * FROM re_admin ORDER BY who;

CREATE INDEX index_re_admin_what ON re_admin('what');
SELECT * FROM re_admin WHERE what = 20000.0;
SELECT * FROM re_admin WHERE what BETWEEN 40000 AND 80000;
SELECT * FROM re_admin ORDER BY what;

CREATE INDEX index_re_admin_time ON re_admin('time');
SELECT * FROM re_admin WHERE time = 20000.0;
SELECT * FROM re_admin WHERE time BETWEEN 40000 AND 80000;
SELECT * FROM re_admin ORDER BY time;

4.2.15. STOP 테이블 [편집]


CREATE INDEX index_stop_title ON stop('title');
SELECT * FROM stop WHERE title = 20000.0;
SELECT * FROM stop WHERE title BETWEEN 40000 AND 80000;
SELECT * FROM stop ORDER BY title;

CREATE INDEX index_stop_sub ON stop('sub');
SELECT * FROM stop WHERE sub = 20000.0;
SELECT * FROM stop WHERE sub BETWEEN 40000 AND 80000;
SELECT * FROM stop ORDER BY sub;

CREATE INDEX index_stop_close ON stop('close');
SELECT * FROM stop WHERE close = 20000.0;
SELECT * FROM stop WHERE close BETWEEN 40000 AND 80000;
SELECT * FROM stop ORDER BY close;

4.2.16. TOPIC 테이블 [편집]


CREATE INDEX index_topic_id ON topic('id');
SELECT * FROM topic WHERE id = 20000.0;
SELECT * FROM topic WHERE id BETWEEN 40000 AND 80000;
SELECT * FROM topic ORDER BY id;

CREATE INDEX index_topic_title ON topic('title');
SELECT * FROM topic WHERE title = 20000.0;
SELECT * FROM topic WHERE title BETWEEN 40000 AND 80000;
SELECT * FROM topic ORDER BY title;

CREATE INDEX index_topic_sub ON topic('sub');
SELECT * FROM topic WHERE sub = 20000.0;
SELECT * FROM topic WHERE sub BETWEEN 40000 AND 80000;
SELECT * FROM topic ORDER BY sub;

CREATE INDEX index_topic_data ON topic('data');
SELECT * FROM topic WHERE data = 20000.0;
SELECT * FROM topic WHERE data BETWEEN 40000 AND 80000;
SELECT * FROM topic ORDER BY data;

CREATE INDEX index_topic_date ON topic('date');
SELECT * FROM topic WHERE date = 20000.0;
SELECT * FROM topic WHERE date BETWEEN 40000 AND 80000;
SELECT * FROM topic ORDER BY date;

CREATE INDEX index_topic_ip ON topic('ip');
SELECT * FROM topic WHERE ip = 20000.0;
SELECT * FROM topic WHERE ip BETWEEN 40000 AND 80000;
SELECT * FROM topic ORDER BY ip;

CREATE INDEX index_topic_block ON topic('block');
SELECT * FROM topic WHERE block = 20000.0;
SELECT * FROM topic WHERE block BETWEEN 40000 AND 80000;
SELECT * FROM topic ORDER BY block;

CREATE INDEX index_topic_top ON topic('top');
SELECT * FROM topic WHERE top = 20000.0;
SELECT * FROM topic WHERE top BETWEEN 40000 AND 80000;
SELECT * FROM topic ORDER BY top;

나무위키 DB JSON에서 파이썬으로 변환 시킬 때 2DU님이 역사부분도 포함 시키는지는 모르겠지만 일단 인덱싱 해주자.

4.2.17. USER 테이블 [편집]


CREATE INDEX index_user_id ON user('id');
SELECT * FROM user WHERE id = 20000.0;
SELECT * FROM user WHERE id BETWEEN 40000 AND 80000;
SELECT * FROM user ORDER BY id;

CREATE INDEX index_user_pw ON user('pw');
SELECT * FROM user WHERE pw = 20000.0;
SELECT * FROM user WHERE pw BETWEEN 40000 AND 80000;
SELECT * FROM user ORDER BY pw;

CREATE INDEX index_user_acl ON user('acl');
SELECT * FROM user WHERE acl = 20000.0;
SELECT * FROM user WHERE acl BETWEEN 40000 AND 80000;
SELECT * FROM user ORDER BY acl;

나무위키 DB JSON에서 파이썬으로 변환 시킬 때 사실상 사용자(유저) 부분 까지는 안 따라오지만 만약에 기존 DB의 유저수가 많다면 추가 하자.

4.3. 인덱싱(구 openNAMU MySQL 기반) [편집]


혹시나 구버전의 openNAMU 즉 MySQL 기반의 DB를 사용하는 사람이 있다면 해당 부분을 추가 바란다.

4.4. 나무위키 DB 인덱싱(구 openNAMU MySQL 기반) [편집]


혹시나 구버전의 openNAMU 즉 MySQL 기반의 DB를 사용하는 사람이 있다면 해당 부분을 추가 바란다.

4.5. 리버스 프록시 [편집]


아파치 엔진엑스

[1] 16.04 LTS를 추천한다. 우분투 버전이 높다고 한들 최적화가 안되어 있다면 의미가 없다. 이때 LTS는 대부분의 문제가 해결되고 기업용으로 사용 가능할 정도로 버그 등의 오류 발생 가능성이 적어진 최적화가 진행된 버전이다.
[2] 만약 pip를 안 깔았다면 sudo apt-get install python3-pip, pip3 를 업데이트 한다면 pip로도 사용할수 있다.
[3] 깃 설치 후 (sudo apt-get install git) git clone https://github.com/2DU/openNAMU.git 해도 됨