Comment installer wkhtmltopdf sur linux base (hébergement mutualisé) serveur web
-
20-09-2019 - |
Question
J'ai essayé de toutes les façons d'obtenir wkhtmltopdf installé sur notre serveur, mais malheureusement, il ne reçoit pas installé. Je ne peux pas accéder au dossier utilisateur / bin comme indiqué dans un tutoriel sur l'installation.
Sur le serveur public_html dossier il y a un sous-dossier _vti_bin , je copiais le fichier wkhtmltopdf-i386 wkhtmltopdf- 0.9.1-statique-i386 , mais je ne suis pas capable de l'exécuter.
Comment installer wkhtmltopdf (hébergement mutualisé) serveur web et le faire fonctionner?
La solution
J'ai réussi à installer avec succès wkhtmltopdf-amd64 sur mon compte d'hébergement mutualisé sans accès root.
Voici ce que je l'ai fait:
Downloaded l'v0.10.0 binaire statique correspondant d'ici: http://code.google .com / p / wkhtmltopdf / downloads / liste
EDIT: Le ci-dessus est déplacé
via ssh sur mon hôte partagé dactylographiées les éléments suivants:
$ wget {relavant url to binary from link above}
$ tar -xvf {filename of above wget'd file}
vous aurez alors le binaire sur votre hôte et sera en mesure de l'exécuter, peu importe si son dans le répertoire / usr / bin / dossier ou non. (Ou au moins i pus)
Pour tester:
$ ./wkhtmltopdf-amd64 http://www.example.com example.pdf
- Remarque rappelez-vous que si vous êtes dans le dossier dans lequel l'exécutable est, vous devriez probablement préfacer avec
./
juste pour être sûr.
A travaillé pour moi de toute façon
Autres conseils
Si vous avez accès sudo
...
Ubuntu 14.04 / 15.04 / 18.04:
sudo apt-get install wkhtmltopdf
# or
sudo apt install wkhtmltopdf
Autres
Regardez les autres réponses.
Si ses ubuntu puis aller de l'avant avec cela, déjà testé: -.
Tout d'abord, l'installation de dépendances
sudo aptitude install openssl build-essential xorg libssl-dev
pour OS 64bits
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
pour OS 32bits
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
Il y a des chances que sans accès à ce serveur (en raison d'être un compte hébergé) que vous allez avoir des problèmes. J'irais jusqu'à dire que je pense qu'il est un effort inutile -. Ils doivent verrouiller les serveurs dans les environnements hébergés pour une bonne raison
Appelez votre entreprise et faire la demande de les accueillir pour l'installer, mais ne vous attendez pas une bonne réponse - En général, ils ne seront pas installer des éléments très personnalisés pour les utilisateurs individuels moins qu'il y ait une très bonne raison (correction de bugs pour par exemple).
Enfin, selon la façon dont vous êtes familier avec l'administration du serveur et ce que vous payez pour le serveur d'hébergement compte maintenant quelque chose comme http: //www.slicehost.com . 20 $ par mois, vous obtiendrez un serveur web de qualité inférieure (256 RAM) et vous pouvez installer tout ce que vous voulez. Toutefois, si vous utilisez plusieurs sites ou avez lourde charge le coût sera comme vous avez besoin de serveurs plus grands.
GL!
Debian 8 Jessie
Cela marche
sudo apt-get install wkhtmltopdf
Placez l'exécutable wkhtmltopdf sur le serveur et chmod + x il.
Créer un script shell exécutable contenant wrap.sh:
#!/bin/sh
export HOME="$PWD"
export LD_LIBRARY_PATH="$PWD/lib/"
exec $@ 2>/dev/null
#exec $@ 2>&1 # debug mode
Télécharger des objets partagés nécessaires pour que l'architecture et les placer dans un dossier nommé un « lib »:
- lib / libfontconfig.so.1
- lib / libfontconfig.so.1.3.0
- lib / libfreetype.so.6
- lib / libfreetype.so.6.3.18
- lib / lib libX11.so.6 / libX11.so.6.2.0
- lib / lib libXau.so.6 / libXau.so.6.0.0
- lib / lib libxcb.so.1 / 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 / lib libXext.so.6 / libXext.so.6.4.0
(certains d'entre eux sont des liens symboliques)
... et vous êtes prêt à:
./wrap.sh ./wkhtmltopdf-amd64 --page-size A4 --disable-internal-links --disable-external-links "http://www.example.site/" out.pdf
Si vous rencontrez des problèmes de police comme des places pour tous les caractères, définir des polices TrueType explicitement:
@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 des versions stables wkhtmltopdf: http://wkhtmltopdf.org/downloads.html
Installation wkhtmltopdf sur 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
Quelques choses ont changé depuis les premières réponses ont été ajoutées. Ils travaillaient pour moi, mais pas tout à fait plus, donc j'ai piraté autour un peu et est venu avec la solution suivante pour Ubuntu 16,04 . Pour Ubuntu 14.04, voir le commentaire au bas de la réponse. Toutes mes excuses si cela ne fonctionne pas pour l'hébergement partagé, mais il semble que cela est la réponse goto pour les instructions d'installation de wkhtmltopdf en général.
# 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
Testez-:
wkhtmltopdf http://www.google.com google.pdf
Vous devriez maintenant avoir un fichier nommé google.pdf
dans le répertoire de travail courant.
Cette approche télécharge le fichier binaire du site, ce qui signifie que vous pouvez utiliser la dernière version au lieu de compter sur les gestionnaires de paquets à être mis à jour.
Notez qu'à partir d'aujourd'hui, ma solution comprend une solution temporaire à ce bogue . Je me rends compte que la solution est vraiment pas grand, mais nous espérons qu'il peut être retiré rapidement. Assurez-vous de vérifier l'état de la question liée GitHub pour voir si le correctif est toujours nécessaire lorsque vous lisez cette réponse!
Pour Ubuntu 14.04, vous aurez besoin de revenir à une version différente de libssl. Vous pouvez trouver les versions . Quoi qu'il en soit, assurez-vous d'examiner les implications de déclasser libssl avant de le faire sur un serveur de production.
J'espère que cela aide quelqu'un!
Après avoir essayé, en dessous de travail de commande pour moi
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
Merci et salutations
Jaiswar Vipin Kumar R.
Hébergement mutualisé pas accès ssh ou shell?
Voici comment je l'ai fait;
- Consultez https://wkhtmltopdf.org/downloads.html et télécharger la version stable appropriée pour Linux. Pour mon cas, j'ai choisi 32 bits qui est wkhtmltox-0.12.4_linux-générique i386.tar.xz
- Décompressez dans un dossier sur votre disque local.
- Téléchargez le dossier public_html (ou tout autre emplacement correspond à votre besoin) à l'aide d'un programme FTP comme tout autre fichier (s)
- Modifiez les chemins binaires dans le fichier snappy.php pour pointer les fichiers dans le dossier que vous venez de télécharger. Bingo! Voilà. Vous devriez être en mesure de générer des fichiers PDF.
La version 12.5 de wkhtmltopdf répertorie uniquement les fichiers DEB sur leur page de téléchargement maintenant. Être un utilisateur mac et ne sachant pas beaucoup linux ou quels fichiers DEB si je ne pouvais pas utiliser les solutions affichées.
Cette page m'a aidé à franchir la connaissait torsion du téléchargement d'un fichier DEB: http://www.g-loaded.eu/2008/01/28/how-to-extract-rpm-or-deb-packages/
En fait ce que je faisais était:
- https://wkhtmltopdf.org/downloads.html
- décompressé le fichier DEB.
- Unzipped data.tar.xz
- Chargé le binaire décompressé dans le dossier 'usr' à partir de l'étape 3 (usr / local / bin / wkhtmltopdf)
Je trouve que la fonction « exec » a été désactivée sur mon hôte. Donc, assurez-vous que vous pouvez exécuter spécifiquement « exec » si vous utilisez PHP pour exécuter ce. « Puis-je exécuter le binaire wkhtmltopdf » est pas assez précis. Ma faute.