Linux 기반 (공유 호스팅) 웹 서버에 wkhtmltopdf를 설치하는 방법
-
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 또는 쉘 액세스가 없습니까?
내가 한 방법은 다음과 같습니다.
- 방문 https://wkhtmltopdf.org/downloads.html Linux의 적절한 안정 릴리스를 다운로드하십시오. 내 경우에는 wkhtmltox-0.12.4_linux-generic-i386.tar.xz 인 32 비트를 선택했습니다
- 로컬 드라이브의 폴더로 압축을 풀어주십시오.
- 다른 파일과 마찬가지로 FTP 프로그램을 사용하여 폴더를 public_html (또는 필요에 맞는 위치)에 업로드하십시오.
- 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/
기본적으로 내가 한 일은 다음과 같습니다.
- 다운로드 https://wkhtmltopdf.org/downloads.html
- DEB 파일을 압축했습니다.
- 압축 된 데이터 .tar.xz
- 3 단계 (USR/local/bin/wkhtmltopdf)에서 압축 된 'USR'폴더에 이진을 업로드했습니다.
그런 다음 호스트에서 'exec'기능이 비활성화되어 있음을 알았습니다. 따라서 PHP를 사용하여이를 실행하는 경우 'exec'를 구체적으로 실행할 수 있는지 확인하십시오. "wkhtmltopdf 바이너리를 실행할 수 있습니까?"는 충분히 구체적이지 않습니다. 내 잘못.