Programing

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

crosscheck 2020. 12. 1. 07:41
반응형

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


웹 서버에 wkhtmltopdf를 설치 하기 위해 모든 방법을 시도 했지만 안타깝게도 설치되지 않습니다. 설치 튜토리얼에 명시된대로 user / bin 폴더에 액세스 할 수 없습니다.

public_html 폴더 의 서버 에는 _vti_bin 하위 폴더가 있으며 , wkhtmltopdf-0.9.1-static-i386 에서 wkhtmltopdf- i386 파일을 복사 했지만 실행할 수 없습니다.

(공유 호스팅) 웹 서버에 wkhtmltopdf 를 설치 하고 작동시키는 방법은 무엇입니까?


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

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

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

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

내 공유 호스트에서 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액세스 권한 이있는 경우 ...

Ubuntu 14.04 / 15.04 / 18.04 :

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

기타

다른 답을보세요.


우분투라면 이미 테스트를 거쳤습니다. :-

첫째, 의존성 설치

sudo aptitude install openssl build-essential xorg libssl-dev

64 비트 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

32 비트 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 + x.

다음을 포함하는 실행 가능한 쉘 스크립트 wrap.sh를 작성하십시오.

#!/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

(그 중 일부는 심볼릭 링크입니다)

… 이제 준비가 완료되었습니다.

./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

A few things have changed since the top answers were added. They used to work out for me, but not quite anymore, so I have been hacking around for a bit and came up with the following solution for Ubuntu 16.04. For Ubuntu 14.04, see the comment at the bottom of the answer. Apologies if this doesn't work for shared hosting, but it seems like this is the goto answer for wkhtmltopdf installation instructions in general.

# 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

Test it out:

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

You should now have a file named google.pdf in the current working directory.

This approach downloads the binary from the website, meaning that you can use the latest version instead of relying on package managers to be updated.

Note that as of today, my solution includes a temporary fix to this bug. I realize that the solution is really not great, but hopefully it can be removed soon. Be sure to check the status of the linked GitHub issue to see if the fix is still necessary when you read this answer!

For Ubuntu 14.04, you will need to downgrade to a different version of libssl. You can find the versions here. Anyways, be sure to consider the implications of downgrading libssl before doing so on any production server.

I hope this helps someone!


After trying, below command work for me

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

Thanks & Regards

Jaiswar Vipin Kumar R.


Shared hosting no ssh or shell access?

Here is how i did it;

  1. Visit https://wkhtmltopdf.org/downloads.html and download the appropriate stable release for Linux. For my case I chose 32-bit which is wkhtmltox-0.12.4_linux-generic-i386.tar.xz
  2. Unzip to a folder on your local drive.
  3. Upload the folder to public_html (or whichever location fits your need) using an FTP program just like any other file(s)
  4. Change the binary paths in snappy.php file to point the appropriate files in the folder you just uploaded. Bingo! there you have it. You should be able to generate PDF files.

Version 12.5 of wkhtmltopdf only lists DEB files on their download page now. Being a mac user and not knowing much linux or what DEB files were I couldn't use the solutions posted.

This page helped me get past the knew twist of downloading a DEB file: http://www.g-loaded.eu/2008/01/28/how-to-extract-rpm-or-deb-packages/

Basically what I did was:

  1. Downloaded from https://wkhtmltopdf.org/downloads.html
  2. Unzipped the DEB file.
  3. Unzipped data.tar.xz
  4. Uploaded the binary in the unzipped 'usr' folder from step 3 (usr/local/bin/wkhtmltopdf)

Then I found out that the 'exec' function was disabled on my host. So make sure you can specifically run 'exec' if you're using PHP to run this. "Can I run the wkhtmltopdf binary" isn't specific enough. My fault.

참고URL : https://stackoverflow.com/questions/2273534/how-to-install-wkhtmltopdf-on-a-linux-based-shared-hosting-web-server

반응형