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

He intentado de todas las maneras para instalar wkhtmltopdf en nuestro servidor web, pero desafortunadamente no se está instalando. No puedo acceder a la carpeta de usuario / bin como se indica en un tutorial sobre la instalación.

En el servidor de la carpeta public_html hay una subcarpeta _vti_bin , copié el archivo wkhtmltopdf-i386 de wkhtmltopdf-0.9.1-static-i386 , pero no puedo ejecutarlo.

¿Cómo instalar wkhtmltopdf en el servidor web (alojamiento compartido) y ponerlo en funcionamiento?

    Pude instalar con éxito wkhtmltopdf-amd64 en mi cuenta de alojamiento compartido sin acceso de root.

    Esto es lo que hice:

    Descargado el binario estático correspondiente v0.10.0 desde aquí: http://code.google.com/p/wkhtmltopdf/downloads/list

    EDITAR: Lo anterior se ha movido a aquí

    a través de ssh en mi host compartido escribí lo siguiente:

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

    luego tendrá el binario en su host y podrá ejecutarlo independientemente de si está en la carpeta / usr / bin / o no. (o al menos pude)

    Probar:

     $ ./wkhtmltopdf-amd64 http://www.example.com example.pdf 
    • Nota: recuerde que si se encuentra en la carpeta en la que se encuentra el ejecutable, probablemente debería tener el ./ solo para estar seguro.

    Trabajó para mí de todos modos

    Ubuntu 14.04 / 15.04:

     sudo apt-get install wkhtmltopdf 

    Otros

    Mira las otras respuestas.

    Si es ubuntu entonces continúe con esto, ya probado .:–

    primero, instalando dependencias

     sudo aptitude install openssl build-essential xorg libssl-dev 

    para 64bits 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 

    para el sistema operativo de 32 bits

     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 sin acceso completo a este servidor (debido a que es una cuenta alojada) tendrá problemas. Me atrevería a decir que creo que es una tarea infructuosa: tienen que bloquear servidores en entornos alojados por una buena razón.

    Llame a su empresa de alojamiento y pídales que la instalen, pero no espere una buena respuesta; por lo general, no instalarán artículos muy personalizados para usuarios individuales a menos que haya una buena razón (por ejemplo, corrección de errores).

    Por último, dependiendo de lo familiarizado que esté con la administración del servidor y lo que está pagando por el alojamiento del servidor ahora, considere algo como http://www.slicehost.com . $ 20 al mes le proporcionarán un servidor web de baja calidad (256 RAM) y puede instalar todo lo que desee. Sin embargo, si está ejecutando múltiples sitios o tiene una gran carga, el costo boostá ya que necesita servidores más grandes.

    GL!

    Debian 8 Jessie
    Esto funciona sudo apt-get install wkhtmltopdf

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

    Cree un script de shell ejecutable wrap.sh que contenga:

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

    Descargue los objetos compartidos necesarios para esa architecture y colóquelos en 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 estás 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 fuente como cuadrados para todos los caracteres, defina las fonts TrueType explícitamente:

     @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 de wkhtmltopdf en 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 

    Algunas cosas han cambiado desde que se agregaron las respuestas principales. Solían trabajar conmigo, pero ya no, por lo que he estado pirateando un poco y se me ocurrió la siguiente solución para Ubuntu 16.04 . Para Ubuntu 14.04, vea el comentario en la parte inferior de la respuesta. Disculpe si esto no funciona para el alojamiento compartido, pero parece que esta es la respuesta más completa para las instrucciones de instalación de 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ébalo:

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

    Ahora debería tener un archivo llamado google.pdf en el directorio de trabajo actual.

    Este enfoque descarga el binario del sitio web, lo que significa que puede usar la última versión en lugar de confiar en que los administradores de paquetes se actualicen.

    Tenga en cuenta que a partir de hoy, mi solución incluye una solución temporal a este error . Me doy cuenta de que la solución realmente no es genial, pero espero que pueda ser eliminada pronto. ¡Asegúrate de verificar el estado del problema vinculado de GitHub para ver si la solución aún es necesaria cuando lees esta respuesta!

    Para Ubuntu 14.04, deberá pasar a una versión diferente de libssl. Puedes encontrar las versiones aquí . De todos modos, asegúrese de considerar las implicaciones de la degradación de libssl antes de hacerlo en cualquier servidor de producción.

    ¡Espero que esto ayude a alguien!

    Alojamiento compartido sin acceso ssh o shell?

    Así es como lo hice;

    1. Visite https://wkhtmltopdf.org/downloads.html y descargue la versión estable apropiada para Linux. Para mi caso elegí 32 bits que es wkhtmltox-0.12.4_linux-generic-i386.tar.xz
    2. Descomprime a una carpeta en tu disco local.
    3. Suba la carpeta a public_html (o la ubicación que se ajuste a su necesidad) utilizando un progtwig FTP como cualquier otro archivo (s)
    4. Cambie las rutas binarias en el archivo snappy.php para señalar los archivos apropiados en la carpeta que acaba de cargar. ¡Bingo! ahí tienes. Debería poder generar archivos PDF.

    Después de intentar, debajo del comando, trabaja 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.