Как установить wkhtmltopdf на базирующемся Linux (совместно использованный хостинг) веб-сервер

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

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

Как установить wkhtmltopdf на (совместно использованный хостинг) веб-сервер и получить его работа?

61
задан HEDMON 30 May 2016 в 14:30
поделиться

3 ответа

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

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

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

EDIT: The above has moved to here

via ssh on my shared host typed the following:

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

you'll then have the binary on your host and will be able to run it regardless whether its in the /usr/bin/ folder or not. (или, по крайней мере, я смог)

Для проверки:

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

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

51
ответ дан 24 November 2019 в 17:16
поделиться

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

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

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

GL!

3
ответ дан 24 November 2019 в 17:16
поделиться

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

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

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

Загрузите необходимые общие объекты для этой архитектуры и поместите их в папку с именем «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

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

… и вы готовы к работе:

./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);
}
1
ответ дан 24 November 2019 в 17:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: