the tree/설치 방법/Termux(r9 Blame)
| r9 | ||
|---|---|---|
| r1 (새 문서) | 1 | [[분류:the tree]] |
| 2 | [include(틀:상위 문서, 문서=the tree)] | |
| 3 | [목차] | |
| 4 | == 시작하기 전에 == | |
| 5 | Termux를 사용하기에 당연히 Android 여야하며, 이하 조건을 만족해야 정상적인 구동이 가능하다. 또한 포트포워딩이 필수이지만, 불가능할 경우 ngrok 을 사용해야한다. | |
| 6 | ||
| 7 | * Android 9 이상[* 다를수도 있으나 Termux 최소 지원 버전을 만족해야한다.] | |
| r4 | 8 | * 4GB 이상의 메모리 용량[* 더 적어도 상관은 없으나 안정성은 책임지지 않는다.] |
| 9 | * 최소 8GB 이상의 여유 디스크 용량[* Termux proot, 일부 패키지, db 등을 어림잡아 계산.] | |
| r1 (새 문서) | 10 | |
| r7 | 11 | 또한 Android 12 이상일 경우, 특정 프로세스의 자식 프로세스 개수가 최대에 도달할 경우 강제 종료하는 기능이 있어, 해당 기능을 비활성화해야한다. [[https://blex.me/@baealex/how-to-fix-termux-process-completed-signal-9|#]] |
| r1 (새 문서) | 12 | |
| 13 | == 시작 == | |
| 14 | === proot === | |
| 15 | Termux 자체는 완전한 Linux 가 아니기 때문에 proot 를 설치하는것이 권장된다. | |
| 16 | {{{pkg update -y && pkg install wget curl proot tar -y && wget https://raw.githubusercontent.com/AndronixApp/AndronixOrigin/master/Installer/Ubuntu22/ubuntu22-xfce.sh -O ubuntu22-xfce.sh && chmod +x ubuntu22-xfce.sh && bash ubuntu22-xfce.sh | |
| 17 | }}} | |
| r2 | 18 | |
| 19 | 이후 proot 환경에 접속하려면 './start-ubuntu22.sh'를 입력하면 된다. | |
| r1 (새 문서) | 20 | === 패키지 설치 === |
| 21 | 패키지 | |
| r5 | 22 | {{{apt install nano wget curl git python3 |
| r1 (새 문서) | 23 | }}} |
| 24 | Node.js 22 arm64 설치 | |
| 25 | {{{apt-get uninstall nodejs | |
| 26 | wget "https://nodejs.org/dist/v22.11.0/node-v22.11.0-linux-arm64.tar.gz" | |
| 27 | tar -xvf "node-v22.11.0-linux-arm64.tar.gz" | |
| 28 | cp "node-v22.11.0-linux-arm64" "/etc/node22.11.0" -r | |
| 29 | ln -s "/etc/node22.11.0/bin/node" /usr/bin/node | |
| 30 | ln -s "/etc/node22.11.0/bin/npm" /usr/bin/npm | |
| 31 | }}} | |
| 32 | mongodb 설치 | |
| 33 | {{{apt-get install gnupg | |
| 34 | curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \ | |
| 35 | gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \ | |
| 36 | --dearmor | |
| 37 | echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-8.0.list | |
| 38 | apt-get update | |
| 39 | apt-get install -y mongodb-org}}} | |
| r8 | 40 | 'mongod' 를 입력했을 경우, illegal instruction 이 뜬다면 하위 illegal instruction 문단을 확인하길 바란다. |
| r1 (새 문서) | 41 | |
| 42 | nginx 설치[* https 지원을 위해 필요] | |
| 43 | {{{apt-get install nginx | |
| r5 | 44 | }}} |
| 45 | ||
| 46 | === 설치 === | |
| 47 | 아래 과정은 [[the tree/설치 방법]] 또는 [[the tree/위키 구축]] 과 비슷할수도 있으니 참고바란다. | |
| 48 | ||
| 49 | 더트리 clone | |
| r6 | 50 | {{{git clone https://github.com/wjdgustn/thetree --recurse-submodules |
| r5 | 51 | cd thetree}}} |
| r9 | 52 | 이후 nano 등 편집기를 이용해서 .env[* Android 는 1023번 이하 포트를 열지 못하게 하기 때문에 80 443 등의 포트가 아닌 8080, 8443 등으로 바꾸기를 추천한다.], publicConfig.json, stringConfig.json, serverConfig.json, devConfig.json 을 채워넣는다. |
| r5 | 53 | |
| 54 | node.js 모듈 설치 | |
| r6 | 55 | {{{npm i |
| 56 | }}} | |
| r5 | 57 | meilisearch 설치 |
| r6 | 58 | {{{curl -L https://install.meilisearch.com | sh |
| 59 | }}} | |
| r8 | 60 | == 실행 == |
| 61 | Termux 는 여러 창을 킬수 있기 때문에 각 창마다 해당 프로그램을 실행시키면 된다.[* 화면 왼쪽 측면을 스와이프-New Session] | |
| 62 | === mongodb === | |
| 63 | Proot 환경이기 때문에 오류가 날수도 있어서 dbpath 를 지정해주는 것이 좋다. | |
| 64 | ||
| 65 | thetree 폴더에서 | |
| 66 | {{{ | |
| 67 | mkdir DB | |
| 68 | mongod --dbpath DB}}} | |
| 69 | 'mongod --dbpath DB' 는 mongodb를 실행하니 명령어이니 꺼졌을때 다시 입력하기만 하면 된다. | |
| 70 | ==== illegal instruction ==== | |
| 71 | 해당 오류가 발생할 경우, Proot 가 아닌 Termux 에서 아래 명령어를 실행시켜 설치한다. | |
| 72 | {{{wget https://its-pointless.github.io/setup-pointless-repo.sh | |
| 73 | sh setup-pointless-repo.sh | |
| 74 | pkg upgrade && pkg update | |
| 75 | pkg install mongodb | |
| 76 | mkdir -p $PREFIX/data/db | |
| 77 | mkdir $PREFIX/var/log/mongodb | |
| 78 | touch $PREFIX/var/log/mongodb/mongodb.log}}} | |
| 79 | 이후 똑같이 mongod 를 실행하면 된다. | |
| 80 | === meilisearch === | |
| 81 | 호환성에는 문제가 없기 때문에 아래 명령어로 실행할 수 있다. | |
| 82 | {{{./meilisearch --master-key="aSampleMasterKey" | |
| 83 | }}} |