web-dev-qa-db-ja.com

Linuxベースの(共有ホスティング)Webサーバーにwkhtmltopdfをインストールする方法

wkhtmltopdfをWebサーバーにインストールしようとしましたが、残念ながらインストールされていません。インストールのチュートリアルで述べられているように、user/binフォルダーにアクセスできません。

サーバー上のpublic_htmlフォルダーにはサブフォルダーがあります_ vti_bin、私はwkhtmltopdf-i386wkhtmltopdf-0.9からコピーしました。 1-static-i386、しかし、私はそれを実行することができません。

(共有ホスティング)Webサーバーにwkhtmltopdfをインストールして動作させる方法は?

61
Yogi Yang 007

ルートアクセスなしで共有ホスティングアカウントにwkhtmltopdf-AMD64を正常にインストールできました。

ここに私がやったことがあります:

関連する静的バイナリv0.10.0をここからダウンロードしました: http://code.google.com/p/wkhtmltopdf/downloads/list

編集:上記は here に移動しました

私の共有ホスト上の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
  • 実行可能ファイルがあるフォルダにいる場合は、念のため./を先頭に付ける必要があることに注意してください。

とにかく私のために働いた

51
Christopher

Sudoアクセスがある場合...

Ubuntu 14.04/15.04/18.04:

Sudo apt-get install wkhtmltopdf
# or
Sudo apt install wkhtmltopdf

その他

他の答えを見てください。

29
jmunsch

そのubuntuがこれを先に進めば、すでにテスト済みです。:-

まず、依存関係のインストール

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
26
Mohit Jain

(ホストされたアカウントであるために)このサーバーへのフルアクセスがないと、問題が発生する可能性があります。私はそれが実りのない努力だと思うまで言うまで行きます-彼らは正当な理由のためにホストされた環境でサーバーをロックダウンしなければなりません。

ホスティング会社に電話してインストールを要求しますが、適切な応答を期待しないでください。通常、本当に正当な理由がない限り、単一ユーザー向けのカスタムアイテムはインストールしません(バグ修正など)。

最後に、サーバー管理にどれだけ精通しているか、サーバーホスティングに支払う金額に応じて、 http://www.slicehost.com のようなものを検討してください。 1か月20ドルで低品質のWebサーバー(256 RAM)を入手でき、必要なものは何でもインストールできます。ただし、複数のサイトを実行している場合や負荷が大きい場合は、より大きなサーバーが必要になるため、コストが高くなります。

GL!

3
Shane

Debian 8 Jessie
これはうまくいきますSudo apt-get install wkhtmltopdf

2
Africangeek

安定版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
1
Akairis

Wkhtmltopdf実行可能ファイルをサーバーに配置し、+ xをchmodします。

次を含む実行可能なシェルスクリプト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);
}
1
jockie

試した後、以下のコマンドが私のために働く

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

ありがとうございます。それでは、お元気で

ジャイスワール・ヴィピン・クマール・R.

上位の回答が追加されてから、いくつかの点が変更されました。彼らは私のために働いていましたが、もうまったくそうではなかったので、私は少しの間ハックして、Ubuntu 16.04の次の解決策を思いつきました。 Ubuntu 14.04については、回答の下部にあるコメントを参照してください。共有ホスティングでこれが機能しない場合はおologiesびしますが、これは一般的な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という名前のファイルが作成されます。

この方法では、Webサイトからバイナリをダウンロードします。つまり、更新するパッケージマネージャーに依存する代わりに、最新バージョンを使用できます。

今日現在、私のソリューションには一時的な修正が含まれていることに注意してください このバグに対して 。解決策は本当に素晴らしいものではないことを理解していますが、すぐに削除できることを願っています。 リンクされたGitHubの問題のステータスを確認して、この回答を読むときに修正がまだ必要かどうかを確認してください!

Ubuntu 14.04の場合、libsslの異なるバージョンにダウングレードする必要があります。 ここでバージョンを見つけてください 。とにかく、本番サーバーで行う前にlibsslをダウングレードすることの意味を考慮してください。

これが誰かの助けになることを願っています!

1
Andy0708

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ファイルを生成できるはずです。
0
Kennedy Mwenda