Как установить wkhtmltopdf на основе linux (общий хостинг) веб-сервер
Я пытался всеми способами получить wkhtmltopdf установлен на нашем веб-сервере, но, к сожалению, он не устанавливается. Я не могу получить доступ к папке пользователя / bin, как указано в учебнике по установке.
на сервере public_html папка есть подпапка _vti_bin сопоставляется, Я скопировал файл wkhtmltopdf-i386 С wkhtmltopdf-0.9.1-static-i386, но я не могу его выполнить.
Как установить wkhtmltopdf на веб-сервере (общий хостинг) и заставить его работать?
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, то идти вперед с этим, уже протестированы.: -
во-первых, установка зависимостей
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!
поместите исполняемый файл 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 или оболочки?
вот как я это сделал;
- посещение https://wkhtmltopdf.org/downloads.html и скачать соответствующий стабильный релиз для Linux. Для моего случая я выбрал 32-битный который является wkhtmltox-0.12. 4_linux-generic-i386.смола.xz
- распакуйте в папку на локальный диск.
- загрузите папку в public_html (или в зависимости от того, какое место соответствует вашим потребностям) с помощью FTP-программы, как и любой другой файл(ы)
- изменить двоичные пути в 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.