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


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

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

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

10 58

10 ответов:

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

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

Ubuntu 14.04 / 15.04:

sudo apt-get install wkhtmltopdf

другие

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

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

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

sudo aptitude install openssl build-essential xorg libssl-dev

для 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

для 32BITS OS

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

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 $@ 2>/dev/null
#exec $@ 2>&1 # debug mode

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

  • lib/libfontconfig. so. 1
  • Либ/libfontconfig.так.1.3.0
  • lib / libfreetype. so. 6
  • lib / libfreetype. so.6.3.18
  • lib / libX11. so. 6 lib / libX11. so.6.2.0
  • Либ/libXau.так.6 Либ/libXau.так.6.0.0
  • Либ/libxcb.так.1 Либ/libxcb.так.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.так.6 программа lib/libXext.так.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 или оболочки?

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

  1. посещение https://wkhtmltopdf.org/downloads.html и скачать соответствующий стабильный релиз для Linux. Для моего случая я выбрал 32-битный который является wkhtmltox-0.12. 4_linux-generic-i386.смола.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.