Wie wkhtmltopdf auf einem Linux-Installation basiert (Shared Hosting) Web-Server
-
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?
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;
- 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
- Entpacken in einen Ordner auf dem lokalen Laufwerk.
- 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)
- Ä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:
- Downloads von https://wkhtmltopdf.org/downloads.html
- Entpackten die DEB-Datei.
- Entpackten data.tar.xz
- 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.