Comment installer wkhtmltopdf sur linux base (hébergement mutualisé) serveur web

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

  •  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?

Était-ce utile?

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;

  1. 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
  2. Décompressez dans un dossier sur votre disque local.
  3. 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)
  4. 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:

  1. https://wkhtmltopdf.org/downloads.html
  2. décompressé le fichier DEB.
  3. Unzipped data.tar.xz
  4. 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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top