Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

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

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

РЕДАКТИРОВАТЬ: Выше переехал сюда

через 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
  • Обратите внимание, что если вы находитесь в папке, в которой находится исполняемый файл, вы, вероятно, должны предварять его с помощью ./ чтобы быть уверенным.

Все равно работало на меня

Ответ 2

Ubuntu 14.04/15.04/18.04:

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

другие

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

Ответ 3

Если его 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

Ответ 4

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

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

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

GL!

Ответ 5

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

Ответ 6

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

Создайте исполняемую оболочку script 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);
}

Ответ 7

Список стабильных версий 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

Ответ 8

Несколько изменений изменились с тех пор, как были добавлены верхние ответы. Они работали для меня, но не совсем так, поэтому я немного взломал и предложил следующее решение для 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, прежде чем делать это на любом производственном сервере.

Надеюсь, это поможет кому-то!

Ответ 9

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

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

С уважением

Джайсвар Випин Кумар Р.

Ответ 10

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

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

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

Ответ 11

В версии 12.5 wkhtmltopdf перечислены только файлы DEB на их странице загрузки. Будучи пользователем Mac и не зная много linux или файлов DEB, я не мог использовать опубликованные решения.

Эта страница помогла мне преодолеть известный поворот загрузки файла DEB: http://www.g-loaded.eu/2008/01/28/how-to-extract-rpm-or-deb-packages/

В основном то, что я сделал, было:

  1. Скачано с https://wkhtmltopdf.org/downloads.html
  2. Разархивировал файл DEB.
  3. Распакованный файл data.tar.xz
  4. Загрузил двоичный файл в распакованную папку 'usr' с шага 3 (usr/local/bin/wkhtmltopdf)

Затем я узнал, что функция "exec" была отключена на моем хосте. Поэтому убедитесь, что вы можете запустить exec, если вы используете PHP для этого. "Могу ли я запустить двоичный файл wkhtmltopdf" недостаточно конкретен. Моя вина.