Cómo instalar en un wkhtmltopdf basada (alojamiento compartido) servidor web Linux

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

  •  20-09-2019
  •  | 
  •  

Pregunta

He intentado por todos los medios conseguir wkhtmltopdf instalado en nuestro servidor web, pero por desgracia no se está instalado. No puedo acceder a la carpeta de usuario / bin como se afirma en un tutorial de instalación.

En el servidor en public_html carpeta hay una carpeta sub _vti_bin , he copiado el archivo wkhtmltopdf-i386 wkhtmltopdf- 0.9.1-estático-i386 , pero no soy capaz de ejecutarlo.

Como instalar wkhtmltopdf en (alojamiento compartido) servidor web y conseguir que funcione?

¿Fue útil?

Solución

He conseguido instalar satisfactoriamente wkhtmltopdf amd64 en mi cuenta de alojamiento compartido sin acceso root.

Esto es lo que hice:

Se ha cargado la v0.10.0 binaria estática relevante desde aquí: http://code.google .com / p / wkhtmltopdf / descargas / lista de

EDIT: Lo anterior se ha movido a aquí

a través de ssh en mi servidor compartido mecanografiadas lo siguiente:

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

A continuación, tendrá el binario en el host y será capaz de ejecutarlo independientemente de si es en el directorio / usr / bin / carpeta o no. (O al menos yo era capaz de)

Para probar:

$ ./wkhtmltopdf-amd64 http://www.example.com example.pdf
  • Nota recuerde que si usted está en la carpeta en la que el ejecutable es, probablemente debería incondicional con ./ sólo para estar seguro.

Trabajó para mí de todos modos

Otros consejos

Si tiene acceso sudo ...

Ubuntu 14.04 / 15.04 / 18.04:

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

Otros

vistazo a las otras respuestas.

Si sus ubuntu y luego seguir adelante con esto, ya probado: -.

primero, dependencias instalación

sudo aptitude install openssl build-essential xorg libssl-dev

de 64 bits del sistema operativo

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

de 32 bits del sistema operativo

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

Lo más probable es que no tienen pleno acceso a este servidor (debido a ser una cuenta alojada) que va a tener problemas. Me gustaría ir tan lejos como para decir que creo que se trata de un esfuerzo infructuoso -. Que tienen que bloquear servidores en entornos alojados por una buena razón

Llame a su empresa de alojamiento y hacer la petición a ellos para instalarlo, pero no esperes una buena respuesta - por lo general no se instalarán artículos muy personalizados para usuarios individuales a menos que haya una buena razón (correcciones de errores para ejemplo).

Por último, dependiendo de cómo usted está familiarizado con la administración del servidor y lo que está pagando por servidor que aloja ahora consideran algo así como http: //www.slicehost.com . $ 20 al mes le conseguirá un servidor web bajo grado (256 ram) y se puede instalar cualquier cosa que desee. Sin embargo, si está ejecutando múltiples sitios o tiene carga pesada el costo va a subir como sea necesario servidores más grandes.

GL!

Debian 8 Jessie
Esto funciona sudo apt-get install wkhtmltopdf

Coloque el ejecutable wkhtmltopdf en el servidor y chmod + x.

Crea una wrap.sh shell script ejecutable que contiene:

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

Descargar necesaria objetos compartidos para que la arquitectura y colocarlas una una carpeta llamada "lib":

  • 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

(algunos de ellos son enlaces simbólicos)

... y ya está listo para ir:

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

Si experimenta problemas de fuentes como casillas para todos los personajes, definir las fuentes TrueType de forma explícita:

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

Lista de versiones estables wkhtmltopdf: http://wkhtmltopdf.org/downloads.html

Instalación wkhtmltopdf en Debian 8.2 (Jessie) 64:

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

Algunas cosas han cambiado desde que se añadieron los mejores respuestas. Utilizaron a trabajar para mí, pero no es más, así que han sido torno a la piratería por un poco y se le ocurrió la siguiente solución para Ubuntu 16.04 . Para Ubuntu 14.04, véase el comentario al final de la respuesta. Disculpas si esto no funciona para alojamiento compartido, pero parece que esta es la respuesta Goto las instrucciones de instalación wkhtmltopdf en general.

# 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

Pruébelo:

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

Ahora debe tener un archivo llamado google.pdf en el directorio de trabajo actual.

Este enfoque descarga el binario de la página web, lo que significa que se puede utilizar la versión más reciente en lugar de depender de los gestores de paquetes que ser actualizado.

Tenga en cuenta que a partir de hoy, mi solución incluye un arreglo temporal a este error . Soy consciente de que la solución es realmente no es muy bueno, pero es de esperar que se puede quitar pronto. Asegúrese de comprobar el estado de la cuestión vinculada GitHub para ver si la solución sigue siendo necesaria cuando lea esta respuesta!

Para Ubuntu 14.04, tendrá que hacer un downgrade a una versión diferente de libssl. Puede encontrar las versiones aquí . De todas formas, asegúrese de considerar las implicaciones de degradar libssl antes de hacerlo en cualquier servidor de producción.

Espero que esto ayude a alguien!

Después de probar, por debajo de trabajo de comando para mí

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

Gracias y Saludos

Jaiswar Vipin Kumar R.

El alojamiento compartido ninguna ssh o cáscara de acceso?

Aquí es cómo lo hice;

  1. https://wkhtmltopdf.org/downloads.html y descargar la versión estable apropiado para Linux. Por mi caso he elegido 32 bits que es wkhtmltox-0.12.4_linux-genérico-i386.tar.xz
  2. Descomprimir en una carpeta de la unidad local.
  3. Sube la carpeta a public_html (o según qué lugar se adapte a su necesidad) usando un programa FTP al igual que cualquier otro archivo (s)
  4. Cambiar las rutas binarias en el archivo snappy.php señalar los archivos correspondientes en la carpeta que acaba de cargar. ¡Bingo! ahí tienes. Usted debe ser capaz de generar archivos PDF.

versión 12.5 de wkhtmltopdf sólo las listas de archivos DEB en su página de descargar ahora. Siendo un usuario de Mac y Linux no saber mucho o qué archivos DEB eran que no podía usar las soluciones publicadas.

Esta página me ayudó a conseguir más allá del giro de la descarga de un archivo DEB sabían: http://www.g-loaded.eu/2008/01/28/how-to-extract-rpm-or-deb-packages/

Básicamente lo que hice fue:

  1. https://wkhtmltopdf.org/downloads.html
  2. descomprimido el archivo DEB.
  3. data.tar.xz desabrochado
  4. Subida el binario en la carpeta descomprimida 'usr' de la etapa 3 (usr / / bin / wkhtmltopdf local)

Luego descubrí que la función 'exec' fue desactivada en mi anfitrión. Así que asegúrese de que puede funcionar específicamente 'exec' si está usando PHP para ejecutar este. "¿Puedo ejecutar el binario wkhtmltopdf" no es lo suficientemente específica. Mi culpa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top