it-swarm.com.de

Installation von wkhtmltopdf auf einem Linux-basierten (Shared Hosting) Webserver

Ich habe auf alle Fälle versucht, wkhtmltopdf auf unserem Webserver zu installieren, aber leider wird es nicht installiert. Ich kann nicht auf den Ordner user/bin zugreifen, wie in einem Lernprogramm bei der Installation angegeben.

Auf dem Server im Ordner public_html gibt es einen Unterordner _vti_bin , ich habe die Datei wkhtmltopdf-i386 aus wkhtmltopdf-0.9.1-static-i386 kopiert, aber ich bin kann es nicht ausführen.

Wie installiere ich wkhtmltopdf auf (Shared Hosting) Webserver und lass es funktionieren?

58
Yogi Yang 007

Es ist mir gelungen, wkhtmltopdf-AMD64 erfolgreich auf meinem Shared-Hosting-Konto ohne Root-Zugriff zu installieren.

Folgendes habe ich gemacht:

Laden Sie die entsprechende statische Binärdatei v0.10.0 von hier herunter: http://code.google.com/p/wkhtmltopdf/downloads/list

EDIT: Das Obige ist nach hier verschoben.

via ssh auf meinem freigegebenen Host hat Folgendes eingegeben:

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

sie haben dann die Binärdatei auf Ihrem Host und können sie ausführen, unabhängig davon, ob sie im Ordner/usr/bin/liegt oder nicht. (oder zumindest konnte ich)

Zu testen:

$ ./wkhtmltopdf-AMD64 http://www.example.com example.pdf
  • Beachten Sie, dass Sie sich in dem Ordner, in dem sich die ausführbare Datei befindet, wahrscheinlich mit ./ einprägen, nur um sicherzugehen.

Hat trotzdem für mich gearbeitet

49
Christopher

Ubuntu 14.04/15.04:

Sudo apt-get install wkhtmltopdf

Andere

Schau dir die anderen Antworten an.

29
jmunsch

Wenn sein Ubuntu dann gehen Sie mit diesem vor, bereits getestet.:--

zuerst das Installieren von Abhängigkeiten

Sudo aptitude install openssl build-essential xorg libssl-dev

für 64-Bit-Betriebssystem

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

für 32-Bit-Betriebssystem

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

Es besteht die Möglichkeit, dass Sie ohne vollständigen Zugriff auf diesen Server (aufgrund eines gehosteten Kontos) Probleme haben. Ich würde so weit gehen zu sagen, dass ich denke, dass es ein erfolgloses Unterfangen ist - sie müssen Server aus guten Gründen in gehosteten Umgebungen sperren.

Rufen Sie Ihre Hosting-Firma an, und fordern Sie sie zur Installation auf. Erwarten Sie jedoch keine gute Antwort. Normalerweise werden keine sehr benutzerdefinierten Elemente für einzelne Benutzer installiert, es sei denn, es gibt einen wirklich guten Grund (beispielsweise Fehlerbehebungen).

Je nachdem, wie gut Sie sich mit der Serververwaltung auskennen und was Sie für das Hosting von Servern bezahlen, sollten Sie Folgendes in Betracht ziehen: http://www.slicehost.com . Mit $ 20 pro Monat erhalten Sie einen minderwertigen Webserver (256 RAM) und Sie können alles installieren, was Sie möchten. Wenn Sie jedoch mehrere Standorte betreiben oder stark ausgelastet sind, steigen die Kosten, da Sie größere Server benötigen.

GL!

3
Shane

Debian 8 Jessie
Das funktioniert Sudo apt-get install wkhtmltopdf

2
Africangeek

Liste der stabilen Versionen wkhtmltopdf: http://wkhtmltopdf.org/downloads.html

Installation von wkhtmltopdf unter Debian 8.2 (Jessie) x64:

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

Legen Sie die ausführbare Datei wkhtmltopdf auf den Server und chmod it + x.

Erstellen Sie ein ausführbares Shell-Skript wrap.sh, das Folgendes enthält:

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

Laden Sie die erforderlichen gemeinsam genutzten Objekte für diese Architektur herunter und legen Sie sie im Ordner "lib" ab:

  • 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

(einige von ihnen sind symbolische Links)

… Und schon kann es losgehen:

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

Wenn Probleme mit Schriftarten wie Quadraten für alle Zeichen auftreten, definieren Sie TrueType-Schriftarten explizit:

@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

Nach dem Versuch arbeiten die folgenden Befehle für mich

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

Danke & Grüße

Jaiswar Vipin Kumar R.

Seit den Top-Antworten haben sich einige Dinge geändert. Sie haben für mich geklappt, aber nicht mehr so ​​recht, also habe ich mich ein bisschen gehackt und mir die folgende Lösung für Ubuntu 16.04 ausgedacht. Für Ubuntu 14.04 siehe den Kommentar am Ende der Antwort. Entschuldigung, wenn dies für Shared Hosting nicht funktioniert, aber es scheint, als wäre dies die Antwort auf die Installationsanweisungen für wkhtmltopdf im Allgemeinen.

# 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

Testen Sie es aus:

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

Sie sollten jetzt eine Datei mit dem Namen google.pdf im aktuellen Arbeitsverzeichnis haben.

Dieser Ansatz lädt die Binärdatei von der Website herunter. Dies bedeutet, dass Sie die neueste Version verwenden können, anstatt sich auf die Aktualisierung der Paketmanager zu verlassen.

Beachten Sie, dass meine Lösung ab heute eine temporäre Korrektur zu diesem Fehler enthält. Mir ist klar, dass die Lösung wirklich nicht großartig ist, aber hoffentlich kann sie bald entfernt werden. Vergewissern Sie sich, dass Sie den Status des verknüpften GitHub-Problems überprüft haben, um zu sehen, ob die Korrektur noch erforderlich ist, wenn Sie diese Antwort lesen.

Für Ubuntu 14.04 müssen Sie ein Upgrade auf eine andere Version von libssl durchführen. Sie können finden Sie die Versionen hier . Beachten Sie auf jeden Fall die Auswirkungen des Downgrades von libssl, bevor Sie dies auf einem Produktionsserver tun.

Ich hoffe das hilft jemandem!

1
Andy0708

Shared Hosting kein SSH- oder Shell-Zugriff?

So habe ich es gemacht;

  1. Besuchen Sie https://wkhtmltopdf.org/downloads.html und laden Sie die entsprechende stabile Version für Linux herunter. Für meinen Fall wählte ich 32-Bit Dies ist wkhtmltox-0.12.4_linux-generic-i386.tar.xz
  2. Entpacken Sie in einen Ordner auf Ihrem lokalen Laufwerk.
  3. Laden Sie den Ordner mit einem FTP-Programm wie jede andere Datei zu public_html (oder wo auch immer Sie möchten).
  4. Ändern Sie die binären Pfade in der Datei snappy.php, um die entsprechenden Dateien in dem Ordner anzuzeigen, den Sie gerade hochgeladen haben . Bingo! hier hast du es. Sie sollten PDF -Dateien generieren können.
0
Kennedy Mwenda