Wie wkhtmltopdf auf einem Linux-Installation basiert (Shared Hosting) Web-Server

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

  •  20-09-2019
  •  | 
  •  

Frage

Ich habe in jeder Hinsicht versucht zu bekommen wkhtmltopdf auf unserem Webserver installiert, aber leider ist es nicht installiert zu werden. Ich kann keinen Zugriff Benutzer / sind Ordner wie in einem Tutorial zur Installation angegeben.

Auf dem Server in public_html Ordner gibt es einen Unterordner _vti_bin , ich kopiert die Datei wkhtmltopdf-i386 wkhtmltopdf- 0.9.1 statisch-i386 , aber ich bin nicht in der Lage, ihn auszuführen.

Wie installieren wkhtmltopdf auf (Shared Hosting) Web-Server und bekommt es funktioniert?

War es hilfreich?

Lösung

Ich habe es geschafft zu wkhtmltopdf-amd64 auf meinem Shared-Hosting-Konto ohne Root-Zugriff erfolgreich installieren.

Hier ist, was ich getan habe:

heruntergeladen die entsprechende statische binäre v0.10.0 von hier: http://code.google .com / p / wkhtmltopdf / downloads / Liste

EDIT: Die oben bewegt hat hier

via ssh auf meinem Hostern getippt wie folgt vor:

$ 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 wird in der Lage sein, es zu laufen, unabhängig davon, ob seine im Verzeichnis / usr / bin / Ordner oder nicht. (Oder zumindest konnte ich)

Zum Test:

$ ./wkhtmltopdf-amd64 http://www.example.com example.pdf
  • Hinweis nicht vergessen, dass, wenn Sie in dem Ordner sind, in dem die ausführbaren Datei ist, werden Sie wahrscheinlich mit ./ Vorwort sollten, nur um sicher zu sein.

Arbeitete für mich jedenfalls

Andere Tipps

Wenn Sie sudo Zugang ...

Ubuntu 14.04 / 15.04 / 18.04:

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

Andere

Schauen Sie sich die anderen Antworten.

Wenn sein ubuntu dann mit diesem voran gehen, bereits getestet: -.

Zuerst Installation Abhängigkeiten

sudo aptitude install openssl build-essential xorg libssl-dev

für 64-Bit 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

für 32-Bit-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

Die Chancen stehen gut, dass ohne vollen Zugriff auf diesen Server (aufgrund eines gehosteten Konto sein) Sie Probleme haben werden. Ich würde sogar so weit gehen zu sagen, dass ich denke, es ist ein fruchtlos Fangen ist -. Sie Lock-Server haben unten in gehosteten Umgebungen aus gutem Grunde

Rufen Sie Ihre Hosting-Unternehmen und machen die Anforderung an ihnen, es zu installieren, aber erwarten Sie nicht eine gute Antwort - sie werden in der Regel installieren nicht sehr benutzerdefinierte Elemente für einzelne Benutzer, es sei denn es einen wirklich guten Grund ist (Bug-Fixes für Beispiel).

Schließlich, je nachdem, wie vertraut Sie mit Server-Administration sind und was Sie zahlen für Server-Hosting jetzt betrachten so etwas wie http: //www.slicehost.com . $ 20 pro Monat erhält Ihnen einen minderwertigen Web-Server (256 ram) und Sie können alles, was Sie wollen installieren. Wenn Sie jedoch die Kosten für mehrere Standorte oder haben schwere Last laufen wird steigen, wie Sie größere Server benötigen.

GL!

Debian 8 Jessie
Das funktioniert sudo apt-get install wkhtmltopdf

Legen Sie die wkhtmltopdf ausführbare Datei auf dem Server und chmod + x es.

Erstellen Sie einen ausführbaren Shell-Skript wrap.sh enthalten:

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

Download Benötigt Objekte für diese Architektur und Ort sie ein ein Ordner mit dem Namen „lib“ shared:

  • 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 Symlinks)

... und Sie sind bereit zu gehen:

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

Wenn Sie Probleme mit Schriften wie Quadrate für alle erleben die Zeichen definieren Truetype-Schriften ausdrücklich:

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

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

Installation wkhtmltopdf auf 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

Ein paar Dinge haben sich geändert, da die Top-Antworten gegeben. Sie verwendeten für mich zu arbeiten, aber nicht ganz mehr, also habe ich ein bisschen hacken um und kam mit der folgenden Lösung für Ubuntu 16.04 . Für Ubuntu 14.04 siehe Kommentar unten der Antwort. Entschuldigt, wenn dies nicht funktioniert für Shared-Hosting, aber es scheint, wie dies die goto Antwort für wkhtmltopdf Installationsanweisungen im Allgemeinen ist.

# 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

Sie sollten nun eine Datei google.pdf im aktuellen Arbeitsverzeichnis genannt.

Dieser Ansatz Downloads die binäre von der Website bedeutet, dass Sie die neueste Version, anstatt sich auf Paket-Manager aktualisiert werden können.

Beachten Sie, dass ab heute, enthält meine Lösung, die eine temporäre Lösung zu diesem Fehler . Mir ist klar, dass die Lösung wirklich nicht groß, aber hoffentlich kann sie bald entfernt werden. Achten Sie darauf, den Status des verknüpften GitHub Problems zu überprüfen, um zu sehen, ob das Update noch notwendig ist, wenn Sie diese Antwort lesen!

Für Ubuntu 14.04, sind Sie in der Herabstufung auf eine andere Version von libssl benötigen. Sie können die Versionen finden Sie hier. Wie auch immer, sollten Sie die Auswirkungen berücksichtigen libssl Herabstufung vor so auf jedem Produktionsserver zu tun.

Ich hoffe, das hilft jemand!

Nach dem Versuch, für mich unter Befehl Arbeit

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.

Shared keine ssh oder Shell-Zugriff Hosting?

Hier ist, wie ich es tat;

  1. Besuchen Sie https://wkhtmltopdf.org/downloads.html und laden Sie die entsprechende stabile Version für Linux. Für meinen Fall habe ich 32-Bit welches ist wkhtmltox-0.12.4_linux-generic-i386.tar.xz
  2. Entpacken in einen Ordner auf dem lokalen Laufwerk.
  3. Laden Sie den Ordner public_html (oder Unabhängig davon, welche Lage paßt Ihren Bedarf) mit einem FTP-Programm wie jede andere Datei (en)
  4. Ändern die binären Pfade in snappy.php Datei die entsprechenden Dateien in dem Ordner zeigen Sie gerade hochgeladen. Bingo! hier hast du es. Sie sollten PDF können, Dateien erzeugen.

Version 12.5 von wkhtmltopdf listet nur DEB-Dateien auf ihrer Download-Seite jetzt. Als Mac-Benutzer und nicht viel Linux zu wissen, oder was DEB-Dateien waren ich nicht die Lösungen geschrieben nutzen könnte.

Diese Seite hat mir geholfen bekommen Vergangenheit die Wendung kannte eine DEB-Datei herunterzuladen: http://www.g-loaded.eu/2008/01/28/how-to-extract-rpm-or-deb-packages/

Im Grunde, was ich tat, war:

  1. Downloads von https://wkhtmltopdf.org/downloads.html
  2. Entpackten die DEB-Datei.
  3. Entpackten data.tar.xz
  4. Geladene die binäre in der entpackten 'usr' Ordner aus Schritt 3 (usr / local / bin / wkhtmltopdf)

Dann fand ich heraus, dass die ‚exec‘ -Funktion auf meinem Host deaktiviert wurde. So stellen Sie sicher, können Sie gezielt ‚exec‘ ausgeführt, wenn Sie PHP verwenden diese auszuführen. „Kann ich das wkhtmltopdf binäre laufen“ ist nicht spezifisch genug. Meine Schuld.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top