Linux 기반 (공유 호스팅) 웹 서버에 wkhtmltopdf를 설치하는 방법

StackOverflow https://stackoverflow.com/questions/2273534

  •  20-09-2019
  •  | 
  •  

문제

나는 모든 방법으로 얻으려고 노력했다 wkhtmltopdf 웹 서버에 설치되었지만 불행히도 설치되지 않습니다. 설치 튜토리얼에 명시된대로 사용자/빈 폴더에 액세스 할 수 없습니다.

서버에서 public_html 폴더 하위 폴더가 있습니다 _vti_bin, 나는 파일을 복사했다 wkhtmltopdf-i386 ~에서 wkhtmltopdf-0.9.1-static-i386, 그러나 나는 그것을 실행할 수 없습니다.

설치하는 방법 wkhtmltopdf (공유 호스팅) 웹 서버에서 작동하고 작동합니까?

도움이 되었습니까?

해결책

루트 액세스없이 공유 호스팅 계정에 wkhtmltopdf-amd64를 성공적으로 설치했습니다.

내가 한 일은 다음과 같습니다.

여기에서 관련 정적 바이너리 V0.10.0을 다운로드했습니다. http://code.google.com/p/wkhtmltopdf/downloads/list

편집 : 위의 내용이 이동했습니다 여기

공유 호스트의 SSH를 통해 다음을 입력했습니다.

$ wget {relavant url to binary from link above}
$ tar -xvf {filename of above wget'd file}

그런 다음 호스트에 바이너리가 있으면/usr/bin/폴더에 있든 없든 관계없이 실행할 수 있습니다. (또는 적어도 나는 할 수 있었다)

테스트하려면 :

$ ./wkhtmltopdf-amd64 http://www.example.com example.pdf
  • 실행 파일이있는 폴더에 있다면 아마 ./ 확인차.

어쨌든 나를 위해 일했습니다

다른 팁

당신이 가지고 있다면 sudo 입장...

우분투 14.04 / 15.04 / 18.04 :

sudo apt-get install wkhtmltopdf
# or
sudo apt install wkhtmltopdf

기타

다른 대답을보십시오.

Ubuntu가 이미 테스트를 거쳤다면 :-

먼저 종속성을 설치합니다

sudo aptitude install openssl build-essential xorg libssl-dev

64BITS OS의 경우

wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-amd64.tar.bz2 
tar xvjf wkhtmltopdf-0.9.9-static-amd64.tar.bz2
mv wkhtmltopdf-amd64 /usr/local/bin/wkhtmltopdf
chmod +x /usr/local/bin/wkhtmltopdf

32bits os

wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-i386.tar.bz2 
tar xvjf wkhtmltopdf-0.9.9-static-i386.tar.bz2
 mv wkhtmltopdf-i386 /usr/local/bin/wkhtmltopdf
chmod +x /usr/local/bin/wkhtmltopdf

호스팅 계정이기 때문에이 서버에 대한 전체 액세스 권한이 없으면 문제가있을 수 있습니다. 나는 그것이 결실이없는 노력이라고 생각할 때까지 갈 것입니다. 그들은 적절한 이유로 호스팅 된 환경에서 서버를 잠쳐 두어야합니다.

호스팅 회사에 전화하여 설치하도록 요청하십시오. 그러나 좋은 응답을 기대하지 마십시오. 일반적으로 좋은 이유가 없다면 단일 사용자에게 매우 사용자 정의 항목을 설치하지 않습니다 (예 : 버그 수정).

마지막으로, 서버 관리에 익숙한 지에 따라 서버 호스팅에 대한 지불 비용에 따라 이제 다음과 같은 것을 고려하십시오. http://www.slicehost.com. 한 달에 $ 20로 저급 웹 서버 (256 RAM)가 제공되며 원하는 것을 설치할 수 있습니다. 그러나 여러 사이트를 실행 중이거나로드가 많이있는 경우 더 큰 서버가 필요하므로 비용이 증가합니다.

gl!

데비안 8 제시
이것은 작동합니다sudo apt-get install wkhtmltopdf

서버에 wkhtmltopdf 실행 파일을 배치하고 chmod it +x를 배치하십시오.

실행 파일 쉘 스크립트 랩을 작성합니다.

#!/bin/sh
export HOME="$PWD"
export LD_LIBRARY_PATH="$PWD/lib/"
exec $@ 2>/dev/null
#exec $@ 2>&1 # debug mode

해당 아키텍처에 필요한 공유 객체를 다운로드하고 "lib"라는 폴더를 배치합니다.

  • lib/libfontconfig.so.1
  • lib/libfontconfig.so.1.3.0
  • lib/libfreetype.so.6
  • lib/libfreetype.so.6.3.18
  • lib/libx11.so.6 lib/libx11.so.6.2.0
  • lib/libxau.so.6 lib/libxau.so.6.0.0
  • lib/libxcb.so.1 lib/libxcb.so.1.0.0
  • lib/libxcb-xlib.so.0
  • lib/libxcb-xlib.so.0.0.0
  • lib/libxdmcp.so.6
  • lib/libxdmcp.so.6.0.0
  • lib/libxext.so.6 lib/libxext.so.6.4.0

(그들 중 일부는 Symlinks입니다)

… 그리고 당신은 갈 준비가되었습니다 :

./wrap.sh ./wkhtmltopdf-amd64 --page-size A4 --disable-internal-links --disable-external-links "http://www.example.site/" out.pdf

모든 캐릭터의 사각형과 같은 글꼴 문제가 발생하면 Truetype 글꼴을 명시 적으로 정의하십시오.

@font-face {
  font-family:Trebuchet MS;
  font-style:normal;
  font-weight:normal;
  src:url("http://www.yourserver.tld/fonts/Trebuchet_MS.ttf");
  format(TrueType);
}

안정적인 버전 목록 wkhtmltopdf : http://wkhtmltopdf.org/downloads.html

Debian 8.2 (Jessie) x64에 wkhtmltopdf 설치 :

sudo apt-get install xfonts-75dpi
sudo apt-get install xfonts-base
sudo wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-jessie-amd64.deb
sudo dpkg -i wkhtmltox-0.12.2.1_linux-jessie-amd64.deb

상단 답변이 추가 된 이후 몇 가지가 변경되었습니다. 그들은 나를 위해 운동했지만 더 이상은 아니 었습니다. 그래서 나는 조금 해킹을 해왔고 우분투 16.04. Ubuntu 14.04의 경우 답변 맨 아래의 의견을 참조하십시오. 이것이 공유 호스팅에 효과가 없다면 사과하지만, 이것은 일반적으로 wkhtmltopdf 설치 지침에 대한 Goto 답변 인 것 같습니다.

# Install dependencies
apt-get install libfontconfig \
    zlib1g \
    libfreetype6 \
    libxrender1 \
    libxext6 \
    libx11-6

# TEMPORARY FIX! SEE: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3001
apt-get install libssl1.0.0=1.0.2g-1ubuntu4.8
apt-get install libssl-dev=1.0.2g-1ubuntu4.8

# Download, extract and move binary in place
curl -L -o wkhtmltopdf.tar.xz https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar -xf wkhtmltopdf.tar.xz
mv wkhtmltox/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf
chmod +x /usr/local/bin/wkhtmltopdf

테스트 :

wkhtmltopdf http://www.google.com google.pdf

이제 파일이 이름을 지정해야합니다 google.pdf 현재 작업 디렉토리에서.

이 방법은 웹 사이트에서 바이너리를 다운로드합니다. 즉, 패키지 관리자에 의존하는 대신 최신 버전을 사용할 수 있습니다.

오늘날 내 솔루션에는 임시 수정 사항이 포함되어 있습니다. 이 버그에. 솔루션이 실제로 크지는 않지만 곧 제거 될 수 있기를 바랍니다. 이 답변을 읽을 때 링크 된 Github 문제의 상태를 확인하십시오.

Ubuntu 14.04의 경우 다른 버전의 LiBSSL로 다운 그레이드해야합니다. 당신은 할 수 있습니다 여기에서 버전을 찾으십시오. 어쨌든 프로덕션 서버에서 LIBSSL을 다운 그레이드하는 의미를 고려해야합니다.

나는 이것이 누군가를 돕기를 바랍니다!

시도한 후 아래 명령이 저를 위해 작동합니다

cd ~
yum install -y xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 openssl git-core fontconfig
wget https://downloads.wkhtmltopdf.org/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
mv wkhtmltox/bin/wkhtmlto* /usr/bin

감사합니다

Jaiswar Vipin Kumar R.

공유 호스팅 SSH 또는 쉘 액세스가 없습니까?

내가 한 방법은 다음과 같습니다.

  1. 방문 https://wkhtmltopdf.org/downloads.html Linux의 적절한 안정 릴리스를 다운로드하십시오. 내 경우에는 wkhtmltox-0.12.4_linux-generic-i386.tar.xz 인 32 비트를 선택했습니다
  2. 로컬 드라이브의 폴더로 압축을 풀어주십시오.
  3. 다른 파일과 마찬가지로 FTP 프로그램을 사용하여 폴더를 public_html (또는 필요에 맞는 위치)에 업로드하십시오.
  4. Snappy.php 파일의 이진 경로를 변경하여 방금 업로드 한 폴더의 적절한 파일을 가리 킵니다. 빙고! 당신은 그것을 가지고 있습니다. PDF 파일을 생성 할 수 있어야합니다.

wkhtmltopdf의 버전 12.5는 지금 다운로드 페이지에 deb 파일 만 나열합니다. MAC 사용자이고 Linux를 많이 알지 못하거나 어떤 Deb 파일을 알지 못했습니다. 게시 된 솔루션을 사용할 수 없었습니다.

이 페이지는 Deb 파일 다운로드의 알고있는 트위스트를 지나치게 도움이되었습니다. http://www.g-loaded.eu/2008/01/28/how-to-xtract-rpm-or-deb-packages/

기본적으로 내가 한 일은 다음과 같습니다.

  1. 다운로드 https://wkhtmltopdf.org/downloads.html
  2. DEB 파일을 압축했습니다.
  3. 압축 된 데이터 .tar.xz
  4. 3 단계 (USR/local/bin/wkhtmltopdf)에서 압축 된 'USR'폴더에 이진을 업로드했습니다.

그런 다음 호스트에서 'exec'기능이 비활성화되어 있음을 알았습니다. 따라서 PHP를 사용하여이를 실행하는 경우 'exec'를 구체적으로 실행할 수 있는지 확인하십시오. "wkhtmltopdf 바이너리를 실행할 수 있습니까?"는 충분히 구체적이지 않습니다. 내 잘못.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top