www-data에서는 lualatex가 실행되지 않습니다.

www-data에서는 lualatex가 실행되지 않습니다.

lualatex우리는 웹서버에서 자동으로 생성된 문서를 생성하는 데 사용하고 있습니다 .

Nginx가 웹 서버로 실행되는 Ubuntu 18.04 기반 서버가 있습니다. Nginx는 으로 실행되지 않고 root다른 사용자로 실행됩니다 www-data. 일부 웹사이트에는 LaTeX 파일을 생성하는 스크립트가 있습니다. 이 LaTeX 파일 은 root. lualatex filename.tex따라서 필요한 모든 클래스, 스타일 등을 사용할 수 있다고 감히 말할 수 있습니다.

user 로 동일한 명령을 사용하여 동일한 파일을 실행하면 www-dataLaTeX 입력 파일을 로드하고 LaTeX2e를 호출한 후 거의 즉시 중지됩니다.

아이러니하게도 lualatex의 반환 값을 보냅니다 0. 즉, 오류가 없습니다. 12줄 길이의 로그 파일만 생성됩니다. 로그 파일에도 오류나 추가 힌트가 포함되어 있지 않은데 왜 lualatex성공하지 못했습니까? 이것은 해당 로그 파일입니다.

This is LuaTeX, Version 1.07.0 (TeX Live 2019/dev/Debian)  (format=lualatex 2019.3.12)  12 MAR 2019 16:53
 restricted system commands enabled.
**04-201901.tex
(./04-201901.tex
LaTeX2e <2018-12-01>
Lua module: luaotfload-main 2019-02-14 2.96 luaotfload entry point
Lua module: luaotfload-init 2019-02-14 2.96 luaotfload submodule / initializatio
n
Lua module: lualibs 2019-02-14 2.64 ConTeXt Lua standard libraries.
Lua module: lualibs-extended 2019-02-14 2.64 ConTeXt Lua libraries -- extended c
ollection.
Lua module: luaotfload-log 2019-02-14 2.96 luaotfload submodule / logging

lualatex이 웹서버에서 (사용자 권한이 제한된) 실행 하기 위해 무엇을 해야할지 힌트를 주는 사람이 있나요 www-data?

답변1

daleif가 제안한 대로 luaotfload는 의 사용자 디렉터리에 쓰기 가능한 texmf-var 디렉터리가 없기 때문에 캐시에 적합한 디렉터리를 찾지 못합니다 ẁww-data. 하지만 당신이 도울 수 있습니다 lualatex: 달리는 대신

lualatex <your options> filename.tex

당신이 사용할 수있는

TEXMFCACHE=:/tmp/ lualatex <your options> filename.tex

/tmp사용자가 www-data쓸 수 있는 디렉터리는 어디에 든 있을 수 있습니다.

채팅에서 Ulrike Fischer가 제안한 것처럼 이는 더 큰 문제에 대한 지표일 수 있습니다. 실제로 TEXMFVAR. 따라서 더 나은 해결 방법은 쓰기 권한이 있는 일부 디렉터리(사용할 예정 /some/dir/for/www-data) 를 만든 다음 실행하기 전에 www-data환경 변수를 TEXMFVAR로 설정하는 것입니다 . 이를 수행하는 방법은 셸이 없을 수도 있기 때문에 특정 호출에 따라 다릅니다 ./some/dir/for/www-data:lualatexlualatexwww-data

관련 정보