이 문서는 Standalone binary 문서를 번역한 것이며 번역은 100% 완료했습니다.

Docker 이미지 외에도, Wikven은 MediaWiki를 내장한 단일 자체 완결형 실행 파일로 배포되므로 Docker 없이도 사이트를 빌드할 수 있습니다. x86_64와 arm64 Linux용으로 제공됩니다.

macOS와 Windows에서는 대신 Docker 이미지를 사용하십시오. Wikven은 비용 문제로 미리 빌드된 macOS 바이너리를 제공하지 않습니다. 다운로드한 바이너리가 Gatekeeper에 차단되지 않고 실행되려면 Apple이 유료 Apple Developer Program 계정(연 US$99)을 통한 서명과 공증(notarization)을 요구하는데, 이 비용은 아직 이 프로젝트에 정당화되지 않습니다 (이슈 #322 참고). 유일한 대안인 사용자에게 격리(quarantine)를 손수 해제하라고 안내하는 방법은 보안 검사를 우회하도록 길들이므로 제공하지 않습니다. 그래도 바이너리를 원하는 macOS 사용자는 FrankenPHP의 정적 빌드로 소스에서 직접 컴파일할 수 있습니다. 로컬에서 빌드한 바이너리는 격리되지 않습니다.

미리 빌드된 Windows 바이너리도 없습니다. 단일 자체 완결형 실행 파일을 만들어 내는 툴체인이 아직 Windows를 지원하지 않기 때문입니다 (이슈 #192 참고).

다운로드

자신의 아키텍처에 맞는 바이너리를 최신 릴리스에서 내려받아 실행 가능하게 만드십시오:

curl -L -o wikven https://github.com/chaotic-ground/wikven/releases/latest/download/wikven-linux-x86_64
chmod +x wikven

arm64에서는 wikven-linux-aarch64를 사용하십시오.

태그된 릴리스 대신 main 브랜치의 최신 커밋을 따라가려면 나이틀리 빌드를 사용하십시오. 이 빌드는 nightly-YYYY-MM-DD로 태그된 날짜별 프리릴리스로 매일 게시됩니다. 릴리스 페이지에서 가장 최근 것을 고르거나, 자동으로 알아낼 수도 있습니다:

tag=$(curl -s https://api.github.com/repos/chaotic-ground/wikven/releases | sed -n 's/.*"tag_name": *"\(nightly-[^"]*\)".*/\1/p' | head -n1)
curl -L -o wikven "https://github.com/chaotic-ground/wikven/releases/download/$tag/wikven-linux-x86_64"

검증

각 릴리스 바이너리는 .sha256 체크섬과 서명된 빌드 출처(provenance) 증명과 함께 게시됩니다. PATH에 설치하는 바이너리를 신뢰하기 전에 확인하려면, 릴리스 이름 그대로 내려받아 체크섬을 검증하십시오:

curl -LO https://github.com/chaotic-ground/wikven/releases/latest/download/wikven-linux-x86_64
curl -LO https://github.com/chaotic-ground/wikven/releases/latest/download/wikven-linux-x86_64.sha256
sha256sum -c wikven-linux-x86_64.sha256

또는 GitHub CLI로 GitHub Actions가 이 저장소에서 빌드했다는 출처를 검증하십시오:

gh attestation verify wikven-linux-x86_64 --repo chaotic-ground/wikven

설치

내려받은 파일은 그대로 실행됩니다. 저장한 디렉터리에서 ./wikven을 실행하면 됩니다. 어디서나 그냥 wikven으로 실행하려면 PATH에 설치하십시오:

sudo install wikven /usr/local/bin/

root 권한이 없다면, 대신 PATH에 있는 개인 디렉터리(예: ~/.local/bin)에 설치하십시오 (-D는 디렉터리가 없으면 만들어 줍니다):

install -D wikven ~/.local/bin/wikven

아래 명령들은 바이너리가 PATH에 있다고 가정합니다. 이 단계를 건너뛰었다면, 내려받은 디렉터리에서 ./wikven으로 실행하십시오.

사이트 빌드하기

위키텍스트와 .wikven.yaml을 src/ 디렉터리에 넣은 다음 빌드하십시오:

mkdir -p src
echo 'Hello, World!' > src/index.wikitext
wikven build

렌더링된 사이트는 dist/에 기록됩니다. wikven serve로 미리 볼 수 있습니다 (배포하기 참고). 번역은 wikven translate가 src/를 그 자리에서 고치며 처리합니다 (번역하기 참고). 작업 디렉터리는 기본값이 현재 디렉터리이며, 다른 곳의 프로젝트를 빌드하려면 WIKVEN_WORKDIR을 설정하십시오:

WIKVEN_WORKDIR=/path/to/project wikven build

출력물은 아래에서 이름을 대는 호스트 도구 하나를 빼면 Docker 이미지의 것과 동일합니다. 바이너리는 MediaWiki, 번들된 확장 기능과 스킨, 그리고 모든 인터페이스 언어를 내장하며, Wikven의 기본값 위에 겹쳐지는 동일한 .wikven.yaml을 읽습니다.

호스트에 요구하는 것

Lua 모듈, arm64에서. 이 바이너리가 빌드된 PHP에는 luasandbox가 없으므로, Scribunto는 외부 lua 프로그램을 실행하는 쪽으로 떨어지고 — 따로 지정된 것이 없으면 자기 소스 트리에 들고 다니는 인터프리터를 씁니다. 그 인터프리터는 64비트 x86용으로 빌드돼 있고, Scribunto에는 대신 내놓을 arm64용이 없습니다 — 번들된 다섯 개가 전부 인텔입니다. 그중에서 운영체제와 정수 크기로 고르므로 arm64에서는 시작할 수 없는 프로그램을 집습니다. Lua 5.1을 설치하고 ScribuntoEngineConf.luastandalone.luaPath에 그 경로를 적어주십시오. x86-64에서는 아무것도 필요 없습니다.

Scribunto를 나열했는데 그것을 실행할 것이 아무것도 없는 사이트는 거부되며, {{#invoke:}}가 그대로 보이는 문서로 구워지는 대신 무엇을 설치하면 되는지 말합니다. 거부는 종료 코드에도 담기므로, 굽고 나서 배포하는 스크립트는 아무것도 없는 것을 올리는 대신 멈춥니다.

선택적 호스트 도구

바이너리는 자체적으로 렌더링하지만, 다음 호스트 프로그램이 있으면 활용합니다:

HTTPS를 통한 가져오기, InstantCommons를 통한 위키미디어 공용 이미지, 그리고 서드파티 확장 기능이나 스킨은 시스템의 CA 인증서에 의존합니다. 이것이 없는 최소 구성 시스템에서는 배포판의 CA 번들(예: ca-certificates 패키지)을 설치하십시오. 로컬 콘텐츠와 이미지만 있는 사이트는 네트워크 접근이 필요 없습니다.

← 설정