Как установить wkhtmltopdf на веб-сервере на основе Linux (общий хостинг)

Я попытался всеми способами получить wkhtmltopdf, установленный на нашем веб-сервере, но, к сожалению, он не устанавливается. Я не могу получить доступ к папке пользователя / bin, как указано в учебнике по установке.

На сервере в папке public_html есть подпапка _vti_bin , я скопировал файл wkhtmltopdf-i386 из wkhtmltopdf-0.9.1-static-i386 , но я не могу его выполнить.

Как установить wkhtmltopdf на (общий хостинг) веб-сервер и заставить его работать?

    Мне удалось успешно установить wkhtmltopdf-amd64 на мою учетную запись хостинга без доступа root.

    Вот что я сделал:

    Загрузите соответствующий статический двоичный файл v0.10.0 здесь: http://code.google.com/p/wkhtmltopdf/downloads/list

    EDIT: вышеперечисленное переместилось сюда

    через ssh на моем общем хосте введите следующее:

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

    вы будете иметь двоичный файл на своем хосте и сможете запускать его независимо от того, находится ли он в папке / usr / bin / или нет. (или, по крайней мере, я смог)

    Тестировать:

     $ ./wkhtmltopdf-amd64 http://www.example.com example.pdf 
    • Помните, что если вы находитесь в папке, в которой находится исполняемый файл, вы должны, вероятно, предисловие к нему ./ просто чтобы быть уверенным.

    Работал для меня в любом случае

    Ubuntu 14.04 / 15.04:

     sudo apt-get install wkhtmltopdf 

    другие

    Посмотрите на другие ответы.

    Если его ubuntu затем продолжит это, уже проверено .:–

    во-первых, установка зависимостей

     sudo aptitude install openssl build-essential xorg libssl-dev 

    для 64-битной ОС

     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 

    для 32-битной ОС

     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 

    Скорее всего, без полного доступа к этому серверу (из-за того, что вы являетесь зарегистрированной учетной записью) у вас возникнут проблемы. Я бы зашел так далеко, что сказал, что я считаю, что это бесплодные усилия – им приходится блокировать серверы в размещенных средах по уважительной причине.

    Позвоните в вашу хостинговую компанию и сделайте запрос им, чтобы установить ее, но не ожидайте хорошего ответа – они обычно не будут устанавливать очень настраиваемые элементы для одиночных пользователей, если нет веской причины (например, исправления ошибок).

    Наконец, в зависимости от того, насколько вы знакомы с администрированием сервера и что вы платите за серверный хостинг, рассмотрите что-то вроде http://www.slicehost.com . $ 20 в месяц вы получите низкоуровневый веб-сервер (256 баранов), и вы сможете установить все, что захотите. Однако, если вы используете несколько сайтов или имеете большую нагрузку, стоимость будет расти, поскольку вам нужны более крупные серверы.

    GL!

    Debian 8 Jessie
    Это работает sudo apt-get install wkhtmltopdf

    Поместите исполняемый файл wkhtmltopdf на сервер и chmod it + x.

    Создайте исполняемый сценарий оболочки wrap.sh, содержащий:

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

    Загрузите необходимые общие объекты для этой архитектуры и поместите им папку с именем «lib»:

    • Библиотека / libfontconfig.so.1
    • Библиотека / libfontconfig.so.1.3.0
    • Библиотека / libfreetype.so.6
    • Библиотека / 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
    • Библиотека / libxcb-xlib.so.0
    • Библиотека / libxcb-xlib.so.0.0.0
    • Библиотека / libXdmcp.so.6
    • Библиотека / libXdmcp.so.6.0.0
    • lib / libXext.so.6 lib / libXext.so.6.4.0

    (некоторые из них являются символическими ссылками)

    … и вы готовы пойти:

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

    Если вы столкнулись с проблемами шрифта, такими как квадраты для всех символов, четко определите шрифты TrueType:

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

    Список стабильных версий wkhtmltopdf: http://wkhtmltopdf.org/downloads.html

    Установка wkhtmltopdf на 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 

    Несколько вещей изменились с тех пор, как были добавлены верхние ответы. Они работали для меня, но не совсем, поэтому я немного взломал и предложил следующее решение для Ubuntu 16.04 . Для Ubuntu 14.04 см. Комментарий в нижней части ответа. Извините, если это не работает для общего хостинга, но похоже, что это ответ goto для инструкций по установке wkhtmltopdf в целом.

     # 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 

    Проверьте это:

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

    Теперь вы должны иметь файл с именем google.pdf в текущем рабочем каталоге.

    Этот подход загружает двоичный файл с веб-сайта, что означает, что вы можете использовать последнюю версию вместо того, чтобы полагаться на менеджеров пакетов, которые будут обновляться.

    Обратите внимание, что на сегодняшний день мое решение включает временное исправление этой ошибки . Я понимаю, что решение действительно не очень велико, но, надеюсь, его можно будет скоро удалить. Обязательно проверьте статус связанной проблемы GitHub, чтобы убедиться, что исправление по-прежнему необходимо, когда вы читаете этот ответ!

    Для Ubuntu 14.04 вам нужно будет перейти на другую версию libssl. Здесь вы можете найти версии . В любом случае, обязательно рассмотрите последствия понижения libssl перед тем, как это сделать на любом производственном сервере.

    Я надеюсь, что это помогает кому-то!

    Общий хостинг без доступа ssh или shell?

    Вот как я это сделал;

    1. Посетите https://wkhtmltopdf.org/downloads.html и загрузите соответствующую стабильную версию для Linux. Для моего случая я выбрал 32-бит, который является wkhtmltox-0.12.4_linux-generic-i386.tar.xz
    2. Разархивируйте папку на локальном диске.
    3. Загрузите папку в public_html (или в зависимости от вашего местоположения) с помощью FTP-программы, как и любой другой файл (ы)
    4. Измените двоичные пути в файле snappy.php, чтобы указать соответствующие файлы в только что загруженной папке. Бинго! там у вас это есть. Вы должны иметь возможность создавать PDF-файлы.

    После попытки, ниже команда работает для меня

     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 

    С уважением

    Jaiswar Vipin Kumar R.

    Давайте будем гением компьютера.