Установка на сервер в качестве веб-сервиса.

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


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

Для установки необходимо иметь дистрибутив системы и доступ к ftp серверу. Домен, на который будет устанавливаться система, должен быть доступен по веб.


1.1 Выбор дистрибутива системы.

Для выбора нужного дистрибутива, необходимо выяснить операционную систему (ОС) сервера, на который будет устанавливаться система. Дистрибутив должен соответствовать операционной системе сервера. Если имеющийся у Вас дистрибутив не соответствует ОС вашего сервера, обратитесь к DF за нужным дистрибутивом. В настоящее время мы компилируем свои продукты под ОС: Linux, FreeBSD, Solaris (CPU х86) и WindowsNT. ОС сервера можно выяснить у администратора сервера или самостоятельно: используя скрипт тестирования сервера DF Perl Informer.

Для самостоятельного выяснения ОС сервера, необходимо:

  • скачать DF Perl Informer с сайта dfservice.com (http://dfservice.com/perl-informer/ru/)
  • закачать в текстовом режиме (text mode) perlinfo.cgi на сайт куда будет устанавливаться система, в папку cgi-bin и назначить права 755 (rwx r-x r-x).
  • вызвать из веб http://сайт.com/cgi-bin/perlinfo.cgi
  • OC указана с строке Operation System: [ linux / freebsd / solaris / MSWin32 ]

Дистрибутивы одной версии могут отличаться — сборкой под разные операционные системы, а также сборкой с библиотеками и без. Программы собранные без библиотек требуют для работы наличия библиотек (Glibc) на сервере — на большинстве хостингов эти библиотеки установлены и проблем не возникает. Программы собранные с библиотеками (static-версии) не требуют библиотек на сервере, но могут не корректно работать на некоторых серверах (при обращении к функции gethostbyname ошибка Segmentation Fault, в логе: Got SEGV signal #11).

При установке рекомендуем сначала использовать версии программ собранные без библиотек. Если они не будут запускаться (Internal Server Error), возможно проблема заключается в отсутствии необходимых библиотек (Linux — /lib/libc.so.6, /lib/ld-linux.so.2; FreeBSD — /usr/lib/libc.so.4). Убедиться в отсутствии библиотек на сервере можно с помощью скрипта DF Perl Informer, perlinfo.cgi->C++ Library: N/A. Если на сервере установлена ОС FreeBSD v5,6+, то возможно проблема в версии библиотек, в этом случае необходимо установить поддержку libc для 4 версии FreeBSD или сделать символьную ссылку на библиотеку старшей версии (FreeBSD 5: 'ln -s /usr/lib/libc.so.5 /usr/lib/libc.so.4'; FreeBSD 6: 'ln -s /usr/lib/libc.so.6 /usr/lib/libc.so.4'; FreeBSD 5,6: 'ln -s /usr/lib/libc.so /usr/lib/libc.so.4') — для этого надо иметь привилегии администратора сервера (root). Если установить библиотеки не удается используйте static-версию программы.


1.2 Закачка дистрибутива на сервер.

Распаковать файлы, содержащиеся в архиве checker.tar.gz (wchkrpra.cgi, setup_chkrpra.cgi) у себя на диске и закачать их на сервер в директорию(cgi-bin), где будет установлена система. Файлы с расширением cgi необходимо закачивать в бинарном режиме, и после закачки назначить им права 755. Если у вас есть shell, вы можете закачать архив на сервер и там его распаковать с помощью команд: gzip -d ./checker.tar.gz ; tar -xf ./checker.tar


1.3 Регистрация (при установке триал версии пропускаем этот пункт).

Запустите wchkrpra.cgi с параметром registration (http://ваш_сайт.com/cgi-bin/wchkrpra.cgi?registration). Вы должны увидеть форму регистрации системы. Введите свой логин и пароль на сайте www.dfservice.com выданный Вам при покупке системы. После регистрации на сервере должен создаться файл chkrpra.cgi. Если при регистрации или работе системы возникли ошибки, информацию о них можно узнать из файла err_chkrpra.log.


1.4 Настройка веб-сервиса.

Для настройки веб-сервиса необходимо отредактировать файл wchkrpra.cgi и задать нужные значения нижеописанным переменным.

$threads=5;

- число потоков(сколько адресов обрабатывается одновременно).


$maxurl=15;

- максимальное количество веб-адресов обрабатываемых за один вызов скрипта. Значение переменной -1 отменяет это ограничение.


$max_connections=15; # -1 — unlimited (Alexa+PR*GoogleDatacenters)

- максимальное количество исходящих соединений за один вызов скрипта. Значение переменной -1 отменяет это ограничение.


$maxscripts=3; # -1 — unlimited

- максимально количество одновременно работающих на сервере скриптов системы. Значение переменной -1 отменяет это ограничение.


$timeout=10*60;

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



Установка в качестве консольного приложения.

Работа системы в качестве консольного приложения на сервере подразумевает, что пользовательский веб-интерфейс для управления системой отсутствует. Работа с системой осуществляется из командной строки(shell) сервера. Для обмена данными используются файлы или потоки(stdin/stdout). Работа системы в качестве консольного позволяет производить определение PR/Alexa для большого количества веб-адресов, не боясь, что сервер закроет приложение по истечении заданного времени.


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

Для установки необходимо иметь дистрибутив системы, доступ к ftp серверу и доступ к командной строке сервера(shell).


1.1 Выбор дистрибутива системы.

Для выбора нужного дистрибутива, необходимо выяснить операционную систему (ОС) сервера, на который будет устанавливаться система. Дистрибутив должен соответствовать операционной системе сервера. Если имеющийся у Вас дистрибутив не соответствует ОС вашего сервера, обратитесь к DF за нужным дистрибутивом.

ОС сервера можно выяснить у администратора сервера или самостоятельно: используя shell или скрипт тестирования сервера Perl Informer, способом описанным выше


1.2 Закачка дистрибутива на сервер.

Необходимо распаковать архив checker.tar.gz (wchkrpra.cgi, setup_chkrpra.cgi) у себя на диске, закачать файл setup_chkrpra.cgi на сервер в бинарном режиме и назначить права 755. Также вы можете закачать архив на сервер и там его распаковать с помощью команд: gzip -d ./checker.tar.gz ; tar -xf ./checker.tar


1.3 Регистрация (при установке триал версии пропускаем этот пункт).

Запустите из командной строки сервера(shell) скрипт setup_chkrpra.cgi с параметром reg и вашим логином и паролем на сайте www.dfservice.com, выданный Вам при покупке системы(..#./setup_chkrpra.cgi reg ваш_логин ваш_пароль). После регистрации на сервере должен создаться файл chkrpra.cgi. Если при регистрации или работе системы возникли ошибки, информацию о них можно узнать из файла err_chkrpra.log.



Установка на домашний ПК.

Система используется в качестве консольного приложения под управлением Windows NT/2000/XP/2003+, пользовательский интерфейс для управления системой отсутствует. Работа с системой осуществляется из командной строки. Для обмена данными преимущественно используются файлы: система считывает из одного файла веб-адреса, определяет для них PR/Alexa и выдает данные в другой файл.


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

Для установки необходимо иметь дистрибутив системы, скомпилированный под ОС Windows.


1.2 Установка.

Распакуйте архив checker.zip в директории, где вы хотите установить систему.


1.3 Регистрация.

Запустите из командной строки(Пуск->Выполнить) программу setup_chkrpra.cgi с параметром reg и вашим логином и паролем на сайте www.dfservice.com, выданный Вам при покупке системы(setup_chkrpra.cgi reg ваш_логин ваш_пароль). После регистрации на диске должен создаться файл chkrpra.cgi. Если при регистрации или работе системы возникли ошибки, информацию о них можно узнать из файла err_chkrpra.log.

! Если вам не нравиться расширение файлов cgi, вы можете изменить его на exe.



Параметры командной строки.

Здесь, имеются в виду параметры командной строки, передаваемые программе chkrpra.cgi при работе в консольном режиме на сервере или на домашнем ПК.


1. Определение PR/Alexa для одного веб-адреса с выдачей результата на экран:

Командная строка:

./chkrpra.cgi checkurl URL MODE


Где:
URL — адрес веб-сайта;
MODE — что необходимо определять для сайта:
g — Google PageRank;
a — Alexa Traffic Rank;
ga — Google PageRank и Alexa Traffic Rank.


Результат:

URL PR Alexa


Где:
PR — Google PageRank;
Alexa — Alexa Traffic Rank;

Если при выдаче PR или Alexa равны -1 значит, система не смогла определить эти параметры или они не определялись в этом запросе.


Пример:

Запрос: ./chkrpra.cgi checkurl http://mydomain.com ga

Результат: http://dfservice.com 5 439068


2. Определение PR/Alexa для нескольких сайтов:

Командная строка:

./chkrpra.cgi check gpr=on/off atr=on/off pradvchk=on/off/zero prbydomain=on/off indata=file/stream/cmd infile=filename outdata=file/stream outfile=filename sortby=gpr/atr/prfile threads=5 url=http://domain.com ipgoogle=GOOGLE_IP1,GOOGLE_IP2,GOOGLE_IP3 prvalue=max/avg/min/all proxy=PROXY_IP1:PORT,PROXY_IP2:PORT,PROXY_IP3:PORT proxyfile=proxy.txt checkviaproxy=ag/a/g gtimeout=5 atimeout=15


Где:
gpr — определять ли для сайта Google PageRank (on — да, off — нет);
atr — определять ли для сайта Alexa Traffic Rank (on — да, off — нет);
pradvchk — режим улучшенного определения PageRank (on — включен (PR<>-1), off — отключен (PR=-1), zero — отображать нулевое значение (PR=0)). Определение значения PageRank для сайтов у которых Google тулбар не показывает значение PageRank. По умолчанию режим включен.
ipgoogle — задание датацентров Google (ipgoogle=64.233.179.104,216.239.51.104,66.102.7.99,64.233.171.99,google.com), используется для определения PageRank с заданного датацентра или для определения максимального значения PageRank с заданных датацентров (prmax=on). Если этот параметр не задан, то для определения PageRank используются несколько популярных датацентров Google, заданных в скрипте.
prvalue — определение значения PageRank по данным с нескольких датацентров (max — максимальное значение, avg — среднее значение, min — минимальное значение, all — показ всех значений PR). При использовании опции prvalue=all, будут выведены значения PageRank по всем заданным датацентрам. Формат выдачи: PR(GOOGLE_IP1=PR1,GOOGLE_IP2=PR2,GOOGLE_IP3=PR3). Где: PR — среднее значение, GOOGLE_IP1,GOOGLE_IP2,GOOGLE_IP3 — датацентры гугла, PR1,PR2,PR3 — значения PageRank полученные с датацентров.
prbydomain — определение PageRank для домена или для страницы (on — для домена, off — для страницы). По умолчанию PageRank определяется для страницы.
indata — способ получения веб-адресов (file — файл, stream — поток stdin, cmd — веб-адрес задан в командной строке);
infile — имя считываемого файла с веб-адресами, применяется совместно с indata=file (indata=file infile=urls.txt);
Данные с веб-адресами находящиеся в файле или передаваемые системе в поток должны быть следующего формата (простое перечисление адресов, по адресу на строке):
URL1
URL2

URLn
url — адрес веб-сайта, применяется совместно с indata=cmd (indata=cmd url=http://domain.com);
outdata — способ выдачи данных (file — файл, stream — экран, поток stdout);
outfile — имя выдаваемого файла с веб-адресами и соответствующими им PR/Alexa, работает совместно с outdata=file;
Формат выдаваемых данных (если один из параметров PR или Alexa не определяется - он будет отсутствовать):
URL1 [PR] [Alexa]
URL2 [PR] [Alexa]

URLn [PR] [Alexa]
sortby — задание сортировки веб-адресов в файле или вывода веб-адресов в разные файлы в зависимости от их PageRank.
gpr — сортировка веб-адресов по Google PR;
atr — сортировка веб-адресов по Alexa Traffic Rank;
prfile — вывод веб-адресов в несколько файлов в зависимости от их PageRank. Названиях файлов начинаются с значения PR сайтов находящихся в нем (0.txt, 1.txt, ..., 9.txt). Этот параметр необходимо применять совместно с параметром "outdata=file". При применении "sortby=prfile" совместно с параметром "outfile=myfile.txt", на диске будут создаваться вида: 0myfile, 1myfile.txt, ..., 9myfile.txt
threads — число потоков (число адресов обрабатываемых одновременно).
proxy — прокси сервера (PROXY_IP1:PORT,PROXY_IP2:PORT,PROXY_IP3:PORT).
proxyfile — файл с прокси серверами (proxy.txt).
checkviaproxy — задание SEO-характеристик, определение которых будет производиться с использованием прокси серверов (ag — Alexa&PageRank, a — Alexa, g — PageRank).
При назначении прокси серверов (proxy/proxyfile) и отсутствии задания SEO-характеристик определяемых через прокси (checkviaproxy), через прокси будут определяться все SEO-характеристики (Alexa&PageRank).
gtimeout — максимальное время ожидания ответа сервера при определении PageRank (время в секундах). По умолчанию 5 секунд.
atimeout — максимальное время ожидания ответа сервера при определении Alexa (время в секундах). По умолчанию 15 секунд.
При использовании прокси-серверов рекомендуется увеличивать максимальное время ответа сервера.