В том случае, если на вашем хостинге Perl-скрипты выполняются только из папки cgi-bin, необходимо закачать в эту папку все файлы с расширением .cgi а также файл config.pl, используя FTP доступ, или же через панель управления сайтом. Все остальные файлы нужно закачивать в папку, в которой у вас на сайте лежат обычные html или php файлы (или созданную в ней папку, например: /users/vasya_pupkin/public_html/catalog , URL адрес которой будет выглядеть примерно так: http://you-personalsitename.ru/catalog/ ).
Если Perl скрипты могут выполняться из любой папки, то закачивать всё нужно в одну папку (например /users/vasya_pupkin/public_html/catalog ), как файлы и находятся в дистрибутиве, и даже не нужно будет выполнять следующий шаг установки (редактирование файла config.pl), нужно только убедиться, что путь к программе sendmail на сервере действительно /usr/sbin/sendmail
Открыть в любом текстовом редакторе файл config.pl, и изменить значения некоторых переменных, вместо старых значений подставив правильные пути и URL-адреса. Только не нужно удалять символы кавычек и точку с запятой в конце строк, иначе всё перестанет работать.
Пример изменённых переменных в файле config.pl (выделено голубым цветом):
# $mailprog - Путь к программе sendmail на сервере
$mailprog = '/usr/sbin/sendmail' ;
# $lock - Блокировка файлов от записи одновременно двумя копиями запущенного скрипта ($lock=0 для Windows 98)
$lock = 1 ;
# defdir - путь к каталогу на сервере, в котором находятся папки "data", "counter", "images" и остальные файлы в виде «$defdir="путь";» (БЕЗ СЛЭША НА КОНЦЕ!) "." - значит каталог в котором находятся скрипты. Слэши везде должны быть такие: / в т.ч. и под Windows
$defdir = '/users/vasya_pupkin/public_html/catalog' ;
# html_url - URL папки каталога, в которой находятся папки "data", "counter", "images"(СО СЛЭШЕМ НА КОНЦЕ!)
$html_url = 'http://you-personalsitename.ru/catalog/' ;
После загрузки файлов на сервер всем файлам с расширением .cgi необходимо установить атрибуты(CHMOD) 0711 ( Владелец (Owner) - чтение, запись, выполнение ; Группа (Group) - выполнение ; Все пользователи (Public) - выполнение ) или 0755 ( Владелец (Owner) - чтение, запись, выполнение ; Группа (Group) - чтение, выполнение ; Все пользователи (Public) - чтение, выполнение ). Также необходимо проверить, чтобы у папки, в которой находятся скрипты с расширением .cgi, были установлены атрибуты, разрешающие выполнение скриптов (обычно 0755).
Здесь можно прочитать как подключиться по FTP и правильно установить атрибуты.
В целях безопасности обязательно необходимо на файлы "settings.dat" и "data/ssn.dat" установить атрибуты 0600 (Владелец (Owner) - чтение, запись).
Если вы сделали всё правильно, как описано выше, из командной строки браузера запускайте скрипт admin.cgi, и продолжайте настройку каталога уже оттуда.
Логин: admin
Пароль: admin
В первую очередь нужно зайти в меню "Настройки >> Изменить пароль" и изменить логин и пароль для доступа к админке. Затем зайти в меню "Настройки >> Разные настройки", указать E-mail администратора,
заголовки страниц, название сайта, URL главной страницы вашего сайта и сохранить изменения. Не забудьте также изменить текст сообщения, которое выводится после добавления сайта и текст почтового сообщения - они оставлены такими как есть для того, чтобы служить примером. Создайте в каталоге разделы, и разместите на него ссылку на какой-либо из страниц вашего сайта. Главной страницей каталога является файл index.cgi.
Частые вопросы, возникающие при установке скрипта:
Вопрос: Закачал файлы, в config.pl прописал всё правильно, но сервер выдаёт ошибку 500, Internal Server Error. Ответ: Возможные причины:
Эта ошибка может возникать из-за символов перехода на новую строку Windows. В том случае, если вы изменяли какие-либо скрипты, кроме файла config.pl, и сохраняли их в Windows с символами перехода на новую строку Windows, тогда закачивайте файлы на сервер с помощью специального FTP-клиента, который автоматически преобразовывает символы перехода строки Windows в символы перехода строки Unix, например CuteFTP, или какого-нибудь другого. При этом следует проверить, что в настройках программы указан режим закачки (Transfer type) Auto или Default или ASCII. Скачать CuteFTP можно здесь, на сайте разработчика. А здесь можно прочитать, как пользоваться программой CuteFTP и как правильно установить атрибуты (chmod) на файлы.
Если же вы всё-таки будете закачивать изменённые файлы с символами перехода на новую строку Windows на сервер с помощью файл-менеджера, перед тем как это делать воспользуйтесь программой преобразования символов перехода строки Windows в символы перехода строки Unix-подобных операционных систем и обратно "Windows - Unix Text Converter". Для того, чтобы преобразовать все файлы, содержащие только текстовые символы, запустите программу Windows - Unix Text Converter, проверьте, что стоит галочка напротив "Не изменять бинарные файлы", выберите пункт меню "Конвертировать папку Windows В Unix", появится диалог выбора каталога, выберите папку, файлы в которой нужно преобразовать, после подтверждения все символы перехода на новую строку Windows в файлах в указанной папке и всех её подпапках будут преобразованы в символы перехода на новую строку Unix. Скачать программу можно здесь.
В том случае, если вы закачивали файлы на сервер и устанавливали атрибуты с помощью файл-менеджера из панели управления сайтом, выполненного на основе php скриптов, и при этом php на сервере установлен в виде SAPI модуля Apache, а не как CGI модуль, не пользуйтесь для загрузки файлов и установки атрибутов таким файл-менеджером, т.к. в этом случае фактически владельцем файлов становитесь не вы, сервер Apache и скрипты не смогут работать. Воспользуйтесь для загрузки файлов и установки атрибутов любым FTP-клиентом, не забудьте только сначала предварительно удалить всё то, что загрузили файл-менеджером. Подключиться по FTP, загрузить файлы и установить атрибуты можно даже с помощью браузера. Для того чтобы подключиться к серверу по протоколу FTP с помощью браузера Internet Explorer, в командной строке браузера нужно ввести примерно следующую строчку: ftp://user_name:user_password@you-ftphost.ru
В данном случае: user_name - ваше имя пользователя для подключения по FTP user_password - ваш пароль для подключения по FTP you-ftphost.ru - имя FTP хоста
Проверьте, правильно ли вы установили атрибуты на файлы с расширением .cgi Установите атрибуты 0711 или 0755. В крайнем случае можно также попробовать установить атрибуты 0710 или 0700.
Проверьте, правильно ли указан в первой строке в файлах с расширением .cgi путь к perl. Путь к sendmail и к perl обычно можно посмотреть в панели управления сайтом.
Вопрос:
На хостинге, которым я пользуюсь, CGI скрипты могут выполняться из любой папки, и я установил всё в http://you-personalsitename.ru/catalog/ , но он не открывается по адресу http://you-personalsitename.ru/catalog/ , а открывается только по адресу http://you-personalsitename.ru/catalog/index.cgi
Ответ:
Создайте в этой папке файл .htaccess и добавьте в него следующую строчку:
DirectoryIndex index.cgi
Вопрос:
На хостинге, которым я пользуюсь, CGI скрипты могут выполняться из любой папки, и я установил всё в http://you-personalsitename.ru/catalog/ , всё прекрасно работает, но скрипт выводит ссылки на разделы типа: http://you-personalsitename.ru/catalog/index.cgi?category=cat1&ch=cat1 , а я хочу, чтобы ссылки выглядели без index.cgi как в вашем каталоге: http://you-personalsitename.ru/catalog/?category=cat1&ch=cat1
Ответ:
В файле config.pl укажите URL файла index.cgi соответствующим образом, например, если у вас указано так:
$index_url = 'index.cgi' ;
или у вас указано так:
$index_url = 'http://you-personalsitename.ru/catalog/index.cgi' ;
а вы укажите так:
$index_url = 'http://you-personalsitename.ru/catalog/' ;
Вопрос: "На хостинге, которым я пользуюсь, CGI скрипты могут выполняться только из папки cgi-bin, но я хочу чтобы каталог открывался на главной странице сайта или в какой-либо другой папке."
Ответ: Создайте в папке, в которой хотите чтобы открывался каталог файл index.shtml и впишите туда одну единственную строчку: <!--#include virtual="/cgi-bin/index.cgi?$QUERY_STRING"--> где /cgi-bin/index.cgi - путь к файлу index.cgi относительно корня сайта. В этом случае предполагается, что ваш сервер поддерживает SSI (server side includes), а если он поддерживает CGI, то вероятно поддерживает и SSI. Только URL адреса в файле config.pl нужно будет указывать обязательно абсолютные, а не относительные, а в качестве URL файла index.cgi указать URL папки, в которую вы положили файл index.shtml. Выглядеть в файле config.pl это будет примерно так:
# defdir - путь к каталогу на сервере, в котором находятся папки "data", "counter", "images" и остальные файлы в виде «$defdir="путь";» (БЕЗ СЛЭША НА КОНЦЕ!) "." - значит каталог в котором находятся скрипты. Слэши везде должны быть такие: / в т.ч. и под Windows
$defdir = '/users/vasya_pupkin/public_html/catalog' ;
# html_url - URL папки каталога, в которой находятся папки "data", "counter", "images"(СО СЛЭШЕМ НА КОНЦЕ!)
$html_url = 'http://you-personalsitename.ru/catalog/' ;
P.S. Если после этого сайт открывается только по адресу http://you-personalsitename.ru/index.shtml но не хочет открываться по адресу http://you-personalsitename.ru/ тогда создайте в этой папке файл .htaccess и добавьте в него следующую строчку:
DirectoryIndex index.shtml
Вопрос:
При запуске admin.cgi и index.cgi скрипт выдает ошибку: «Не удаётся найти папку "data",
проверьте, правильно ли указаны все пути в файле "config.pl"», а я не знаю полный путь к своей домашней директории, тот который нужно указывать в строчке:
$defdir = '/users/vasya_pupkin/public_html/catalog' ;
Пскажите что мне делать?
Ответ:
Путь к вашей html директории, которая является корнем сайта и в неё помещают
обычные html файлы (чаще всего эта папка имеет имя public_html или www или
WWW) обычно можно посмотреть в панели управления сайтом, либо спросить в тех
поддержке хостинга.
Абсолютный путь указывать вовсе не обязательно, можно указать относительный
путь. Например, если физически на диске папка cgi-bin находится внутри так
называемой папки public_html и структура директорий примерно такая:
.. (2 точки) - в файловых системах означает переход на 1 уровень вверх.
. (1 точка) - в файловых системах означает текущий каталог.
Не забывайте, что файл config.pl должен лежать в той же папке, в
которую вы положили все скрипты с расширением .cgi
Не забывайте также, что в UNIX системах имена файлов и папок регистрозависимы, т.е. vasya_pupkin и Vasya_Pupkin - это две совершенно разные папки.
На некоторых хостингах физическая папка cgi-bin на жёстком диске может иметь другое имя, например, cgi или scripts и.т.п., несмотря на то, что при доступе по HTTP протоколу имеет имя cgi-bin и выглядит так: http://you-personalsitename.ru/cgi-bin/ В любом случае, её имя, также как и полный путь к своей html директории, вы можете спросить в тех поддержке своего хостинга (как правило, на большинстве хостингов вся необходимая информация, касающаяся путей к папкам сообщается пользователю сразу после регистрации хостинг-аккаунта, либо доступна в панели управления сайтом или на сайте хостинг-провайдера).
Вопрос:
Где прописывать коды своих ссылок?
Ответ:
Коды своих ссылок нужно прописывать в файле inversely-link.html. Откройте файл inversely-link.html в любом текстовом редакторе отредактируйте его, подставив свои описания и URL-адреса. Что именно нужно изменять, подсказывается в комментариях в файле inversely-link.html. Комментариями является текст, заключённый между тегами <!-- и -->
например: <!-- ЭТО КОММЕНТАРИЙ -->
Комментарии не видны пользователю при просмотре документа в браузере.
Вопрос:
Как подключить код для продажи ссылок Sape в любое место страницы?
Ответ:
Скачайте с сайта sape.ru готовый скрипт (для хостинга с поддержкой PERL или PHP).
Начиная с версии Boundless Source 2.5 и выше, можно легко вставить любой документ в HTML шаблон, прочитав файл прямо с диска, либо получив его по HTTP протоколу, или же вставить результат работы Вашего скрипта в любую часть страницы, используя встроенные в Boundless Source директивы.
Примеры использование директив:
Чтение файла с диска
<!--#read_file="file.html"-->
<!--#read_file="/users/pupkin/public_html/file.txt"-->
Вставка текста в страницу путём его получения по HTTP
<!--#get_http="http://www.your-site.info/script.php"-->
<!--#get_http="http://www.your-site.info/file.html"-->
Подключение Perl-скрипта
<!--#require_file="test.pl"-->
<!--#require_file="/users/pupkin/cgi/test.pl"-->
<!--#require_file="../test.pl"-->
Для подключения кода Sape используйте варианты "Вставка текста в страницу путём его получения по HTTP" или "Подключение Perl-скрипта".