WebScript.Ru
C:\   главная  ::   о сайте  ::  каталог скриптов  ::  гнездо  ::  форум  ::   авторам  :: Новостройки ::   ХОСТИНГ  ::

|| разделы::
|| поиск по сайту::

|| реклама::
|| новости почтой::
Рассылки Subscribe.Ru ::



Новости сайта WebScript.Ru
Популярные статьи

Hot 5 Stories

|| рекомендуем::




Установка каталога ссылок Links 2


Прислал: NAS [ 07.05.2001 @ 05:55 ]
Раздел:: [ Статьи по Perl ]


Практически все вебмастера держат, на своих сайтах, небольшие разделы посвященные ссылкам на другие, интересные им сайты. Со временем эта страничка разрастается и превращается в трудно контролируемый раздел сайта.
Какой может быть выход из этого положения? Один из выходов - это поставить скрипт "каталога ссылок" на свой сайт. В этой статье мы рассмотрим один из лучших условно-бесплатных скриптов фирмы Gossamer Threads Inc "Links 2".

Настройка

Давая рекомендации по установке я исхожу их того, что у вас уже есть хостинг с поддержкой CGI-скриптов и Perl 5.
Прежде чем начать установку этой программы мы должны скачать необходимые дистрибутивы.
  • Архив Links 2 (Links 2)
  • Архив с модификацией Links 2, который позволяет создавать разделы использую буквы не только латинского алфавита, но и русского (руссификация). Изначально Links 2 позволяет создавать разделы только на английском, поэтому если вы собираетесь англоязычный каталог ссылок, то вы можете пропустить этот шаг.

Разархивируйте архив со скриптом на локальном компьютере. У вас должно получиться две директории cgi-bin и pages. Теперь нам необходимо заменить соответствующие файлы на файлы из архива 54-links2_nonenglish.zip. Это позволит нам создавать категории на русском языке. До того момента как мы перепишем все файлы на сервер, мы пропишем все переменные в файле links.cfg, который находится в директории admin.

Вначале проверьте во всех файлах с расширением .cgi путь к Perl, по умолчанию там стоит #!/usr/local/bin/perl, если есть, необходимость поменяйте на нужный вам путь.
Теперь откройте файл links.cfg и найдите строки
# PATH and URL of Admin CGI directory. No Trailing Slash
$db_script_path = "/alex/links/cgi-bin/admin";
$db_dir_url = "//localhost/links/cgi-bin/admin";
$db_script_path - это путь до директории admin на вашем сервере, исправьте его на нужное вам значение;
$db_dir_url - это адрес (URL) до директории admin на вашем сервере, исправьте его на нужное вам значение;

Последний закрываюший слэш во всех случаях сейчас и дальше ставить не требуется !
# URL of User CGI directory. No Trailing Slash.
$db_cgi_url = "//localhost/links/cgi-bin"
db_cgi_url - это путь до cgi-bin директории, в которой собственно и хранится вся программ каталога, включая директория admin;

# PATH and URL of Pages to be built. No Trailing Slash.
$build_root_path = "/alex/links/pages";
$build_root_url = "//localhost/links/pages";
$build_root_path - путь до директории, в котором собственно и будут хранится html файлы сгенерированные скриптом. Эту директорию необходимо создавать вне cgi-bin, так как файлы в ней будут доступны конечным пользователям;
$build_root_url - это соответственно адрес (URL) этой директории;

Следующие 6 переменных можно не менять.
# PATH and URL of What's New page. No Trailing slash.
$build_new_path = "$build_root_path/New";
$build_new_url = "$build_root_url/New";
# PATH and URL of What's Cool page. No Trailing slash.
$build_cool_path = "$build_root_path/Cool";
$build_cool_url = "$build_root_url/Cool";
# PATH and URL of What's Rating page. No Trailing slash.
$build_ratings_path = "$build_root_path/Ratings";
$build_ratings_url = "$build_root_url/Ratings";
# Database Options
# ------------------------------------------------
# You really need to use flock(). However if your system doesn't support it (Win95),
# then turn this off at your own risk!
$db_use_flock = 1;

Если устанавливаем скрипт на Unix машину, то оставляем 1, если же на Windows меняем на 0.
# Use Pragma: no-cache to stop browsers from caching output? (0 = cache, 1 = nocache)
$db_nocache = 0;

Параметр отвечающий за кэширование данных, 0 - кэшировать, а 1 соответственно нет.
# Use IIS headers? Set this to 1 if your web server needs the full headers (HTTP/1.0 etc.)
$db_iis = 0;

Если вы устанавливаете скрипт на IIS (Interenet information Server), то установите значение переменной $db_iis равное 1.
# Field number of category in category.db
$db_main_category = 1;

Эту переменную оставляем без изменений.
# Referers -- which hosts are allowed to add to your database.
@db_referers = ();

Здесь мы можем добавить адреса (URL), с которых разрешено будет добавлять ссылки. Если вы укажете адрес своего сайта, то ссылку в ваш каталог смогут добавить, только с вашего сайта, а с систем добавления ссылок (//1ps.ru) добавление не возможно.
# Email Options
# -----------------------------------------------
# NOTE: Be sure to edit the text of the message. It can be found
# in the templates directory: email-add.txt, email-del.txt and
# email-mod.txt respectively.
# Set only ONE of either $db_mail_path which should go to a
# mail program like sendmail, or $db_smtp_server which will use
# a SMTP server. Do not set both at once!
# PATH of sendmail. # SMTP Server
$db_mail_path = '';
$db_smtp_server = ''

Переменная $db_mail_path должна содержать путь к программе sendmail, обычно это /usr/sbin/sendmail, но в любом случае уточните у администратора.
Если же вы собираетесь использовать SMTP, то в переменной $db_smtp_server укажите его адрес.
# Email address of the administrator. BE SURE TO SET!
$db_admin_email = '';

Здесь укажите свой email адрес. На этот адрес будут приходить письма с информацией о новых добавленных ссылках.
# Notify visitors automatically when their links are validated?
$db_email_add = 0;

Если вы хотите оповещать пользователя о том, что его ссылка проверена и добавлена в каталог, по почте, то установите значение $db_email_add равное 1.
# Notify visitors automatically when their links are modified?
$db_email_modify = 0;

То же самое в случае изменения информации о ссылке.
# Log all outgoing messages? Put the full path to a logfile and make sure it
# exists and is writeable (chmod 666 -rw-rw-rw-). This logfile can get pretty
# big!
$db_mailer_log = '';

В $db_mailer_log введите имя файла, в котором будет хранится информация о всех разосланных письмах. Параметр не обязателен.
# Build Options
# -----------------------------------------------
# Setting for popular cutoff, can either be a percent (i.e. top 3%), or
# a fixed value (i.e. top 10). Enter 0.03 or 10 respectively.
$db_popular_cutoff = 0.03; # Top 3%

Параметр $db_popular_cutoff отвечает за генерацию страницы популярных ссылок. Может принимать процентное значение или целое число. Если вы установите, например, 10 то будет сгенерированна страница с десетью самыми посещаемыми ссылками.
# Number of days a link is considered New.
$db_new_cutoff = 14; # 14 days old

Количество дней, в течении которых ссылка имеет признак "новой".
# Return search results bolded (1 = yes, 0 = no).
$search_bold = 1;

Выделять искомые слова в результатах поиска (1) или нет (0).
# The name of an index file.
$build_index = "index.html";

Имя индексного файла. У вас может быть, например index.shtml.
# The extension to use for non index files:
$build_extension = ".html";

Расширение, которое будет добавляться к генерируемым файлам.
# Should your add.cgi automatically select what category the user
# is adding his link into?
$db_single_category = 1;

Если оставить оставить значение 1, то при добавлении ссылки, пользователю будет предложено добавить именно в тот раздел, в котором он находился. Иначе ему будет предложен выбор из всех категорий.
# Directory Permissions. Do NOT put quotes around it. Set to 0777
# for world writeable. If you put this at 0755, you might need a
# script to remove any directories created as they will be owned
# by the web server or user nobody. Better solution might be to
# run the nph-build routine from the command shell.
$build_dir_per = 0777;

Права доступа на директории, которые будет создавать скрипт. Скрипт должен иметь возможность записывать в эти директории данные.
# The script can now break up category pages that have more then x
# number of links in it. It will also create next and previous links
# to help navigate. Set this to 1 if you want to break up pages or 0 if
# you want to have only one page per category.
# Setting this to one, will also break up the What's New pages into
# per day sections (not affected by number of links per page).
$build_span_pages = 1;

Переменная отвечающая за построение раздела новых ссылок. Если 1, то строятся страницы со списком ссылок за каждый день, если 0, то строится одна единственная страница со списком всех новых ссылок.
# Number of links per page.
$build_links_per_page = 10;

Количество ссылок на странице.
# Detailed View: The script can build a single html page per link. This is
# great if you have a review in your database. To enable, you must set
# the directory where all the pages will be stored, the url to that directory
# and set the enable option.
$build_detailed = 0;
$build_detail_path = "$build_root_path/Detailed";
$build_detail_url = "$build_root_url/Detailed";

Строить ли детальную страницу к каждой ссылке(1) или нет (0) и пути к этим страницам.
# Use Templates: instead of editing site_html.pl, you can edit regular html pages
# encoded with special <%links_tags%> . It's not as flexible as site_html.pl, but it
# may be easier.
$build_use_templates = 1;

Строить ли страницы с использованием шаблонов или нет. Мы будем строить свой каталог используя шаблоны, которые представляют собой обычные html файлы с вкраплением специальных переменных.
# Site Title, the default title to use. You should really spend some time customizing
# the directory though!
$build_site_title = 'Gossamer Threads Links';

Заголовок вашего сайта.

Установка

Теперь необходимо скопировать все файлы из директории cgi-bin вашего компьютера на веб-сервер в вашу директорию cgi-bin с сохранением структуры директорий. Копировать все файлы следует исключительно в ASCII режиме !!! После этого скопируйте папку pages в корень вашего сервера, не в cgi-bin, в ней пока будет один файл links.css, в котором находится таблица стилей вашего каталога. Этот файл вы можете потом отредактировать.

Теперь вам необходимо установить права доступа на файлы каталога. 755 (-rwxr-xr-x) на все файлы с расширением .cgi и .pl
666 (-rw-rw-rw-) на все файлы виректории DATA.
666 (-rw-rw-rw-) на все файлы в директории TEMPLATES.
777 (drwxrwxrwx) на директорию HITS.
777 (drwxrwxrwx) на директорию RATINGS.
777 (drwxrwxrwx) на директорию PAGES
Подробнее узнать, как устанавливать права доступа и закачивать в режиме ASCII, можно здесь.

Для безопасности вам необходимо директорию ADMIN закрыть на пароль. Лучшего всего это сделать с помощью .htaccess. Подробности вы можете уточнить у своего хостинг провайдера.
Теперь для проверки на берите в вашем браузере URL //yourserver.com/cgi-bin/links/admin/admin.cgi исправив его под себя. Перед вами должна открыться панель администратора по управлению вашим каталогом.

Для того, чтобы каталог заработал нам необходимо сделать следующее:

  1. Добавить категорию. Незабудьте заполнить поле Nonenglish, это имя раздела на русском языке. Если вы хотите добавить подкатегорию, то вам следует вначале создать категорию, например с именем test, а затем создать категорию с именем test/test2, где test2 это соответственно подкатегория категории test. В поле nonenglish необходимо использовать обратный слэш / (тест/тест2)
  2. Добавить любую ссылку в категорию.
  3. Выполнить генерацию страниц каталога. Пункт меню "Build All"
  4. Проверить сгенерированные страницы по адресу //yourserver/pages/
  5. Добавить ссылку со страниц каталога, а не с административного интерфейса.
  6. Проверить ссылку. Пункт меню Validate.
  7. Сгенерировать страницы еще раз. Теперь в каталоге должно быть уже 2 ссылки.
Страницы каталога будут сгенерированы со стандартным дизайном. Для того чтобы его изменить, вам необходимо отредактировать файлы в директории admin/templates. Это обычные html файлы, которые вы сможете отредактировать в любом html-редакторе и перевести все сообщения на русский язык. В этих файлах необходимо оставлять переменные в специальных тегах <% %> .

Это вообщем-то всё :) Если есть вопросы, то оставляйте в комментариях или на форуме

© NAS


 :::::  Green Kakadu пишет 07.05.2001 @ 06:29 
;) типа круто! Надеюсь, теперь проблем и вопросов будет существенно меньше. Хочется добавить лишь вот что: не поленитесь и походите/побродите по сайту разработчика (http://www.gossamer-threads.com/ ), найдете там много чего интересного: Огромаднейший форум, множество модификаций для Links2 ( http://www.gossamer-threads.com/scripts/resources/Links/Modifications/Version_2_x/ ) , и шаблоны страниц - дизайнчик на любой вкус (для тех, кому лень самому что-то делать).
Про моды. Помимо nonenllish (а начать лучше всего с него), я бы порекомендовал еще AltaVista Span Pages (будет менюшка типа <<1 2 3 4>>), и Enhanced Template Support! (позволяет использовать свои теги, и, что весьма удобно, вставку в страницы содержимого какого-либо файла, т.е. типа инклуда SSI - например в моем каталоге (http://gnezdo.webscript.ru) так вставляется верх и низ страницы и баннеры 468), и Reviews, комментарии к ссылкам. О модах лучше позаботиться заранее, так же как и о дополнительных полях базы данных - потом мороки меньше будет. И не ленитесь заглянуть в код скрипта. При настройке внешнего вида особенный интерес представляют файлы nph-build.cgi и site_html_templates.pl - автор скрипта все весьма подробно комментирует в самом коде, так что разобраться где, что и как делается не очень то и сложно.
 :::::  Nekromanser пишет 17.05.2001 @ 01:47 
А есть такое чудо на PHP
 :::::  NAS пишет 18.05.2001 @ 16:49 
Вот похожее чудо
http://www.dirtdobber.net/search/
 :::::   пишет 19.05.2001 @ 14:33 
Скачал себе скрипты каталога, все исправил на свое, закачал в
соответствием с Вашим руководством! При первом запуске admin.cgi
появляется:

Error including libraries: Unrecognized file test: -m at links.cfg line 29.
Make sure they exist, permissions are set properly, and paths are set correctly.

Помогите! Могу выслать Вам этот файл!
 :::::   пишет 19.05.2001 @ 14:35 
Е-майл то забыл!

Мой e-mail f1help@aport.ru Помогите кто-нибудь!
 :::::   пишет 19.05.2001 @ 15:50 
$build_root_path = "/alex/links/pages";

А ты вот такую директорию создал ?
Права на запись дал ?
 :::::  Дмитрий пишет 25.05.2001 @ 18:25 
А как изменить критерий сортировки? В links.def, вроде, есть параметр
# Field number to sort links by:
$db_sort_links = 1;

меняю его на 11 (вроде должна быть сортировка по рейтингу), а ссылки как выводились по алфавиту названий, так и выводятся. Что не так?

 :::::  Alex пишет 07.08.2001 @ 06:24 
А вот расширеная версия этого скрипта -
http://www.mycgiscripts.com

с автоинсталятором и поддержкой топ-листа. Правда она платная.

 :::::  Azazello пишет 28.08.2001 @ 14:14 
Привет всем!

Один вопросик есть. Поставил я все чудненько. Но одна вещь чет не работает. И чет не получается ее наладить. Речь идет о списке предыдущих категорий (типа: \"Top : Я : Он : Она : Они\"). \"Top\" пишет, последний параметр пишет, а середины нету (типа: \"Top : : : : Они\").

Файл: \"nph-build.cgi\". Функция: \"build_linked_title_mb\". Сам $path работает. А вот $desc чет не выдает ничего.

Прошу помочь если кто знает че не так.
 :::::  Azazello пишет 28.08.2001 @ 14:16 
А мыло и не запомнил... извиняемсь и подаю еще тут: alex@soskin.kiev.ua
 :::::  Константин пишет 13.12.2001 @ 19:25 
При построении страниц nph-build.cgi (links v2.0) не справляется со своими обязанностями! Просто у меня дошло до того, что в одной категории более 1000 ссылок, и вот когда он доходит до постройки этой категории - скрипт вырубается (останавливается, другими словами finish). Пару раз было, что в результате даже обрезалась БД (и почему-то всегда до 500кб, хотя файл уже ха 5 мегов перевалил). Чё делать в этом случае?
 :::::  Сергей пишет 04.02.2002 @ 00:42 
Каталог работал без проблем три месяца,но как только liks.db стал больше 500 кб ссылки больше не добавлются.Если кто знает в чем дело,помогите.
 :::::  alexxmfk пишет 09.03.2002 @ 11:18 
Я понимаю, что статья старая, но всё же мне нужен очень срочно Admin Password MOD для защиты файла admin.cgi !!! На сайте производителя скрипта ссылка на этот мод не пашет. А он мне очень очень нужен. Если у кого остался, то скиньте пожалста на alexx@mfk.net.ru, буду очень признателен. А было бы вообще супер, если бы ещё и AltaVista Span Pages кто-нить подкинул, на сайте скрипта уже половина ссылок не работает.
 :::::  Денис пишет 14.03.2002 @ 20:13 
Народ помогите, поиск работае только в нижнем русском регистре.
Что мне надо и где добавить?
 :::::  Денис пишет 14.03.2002 @ 20:17 
И еще вопрос!Не работает быстрая и детальная проверка ссылок!Пишет что
CGI приложение превысило максимально разрешенное время исполнения и было остановлено. ???????

 :::::  Саня пишет 02.03.2003 @ 03:08 
Если превысило разрешённое время исполнения - значит такие ограничения у хостера. К примеру, на многих бесплатных хостингах ограничение для работы скриптов - 5-8 секунд.
 :::::  radix пишет 19.12.2003 @ 06:09 
Подскажите плиз, где можно увидеть демо этого каталога?
 :::::  NAS пишет 19.07.2016 @ 15:10 
Имя:
Email:
URL

Введите сумму двух чисел девять и шесть (девять+шесть=?)
Запомнить мою информацию

* Html запрещен* Ваш E-mail опубликован не будет.

Copyright © 2000-2001 WebScript.Ru nas@webscript.ru
Design © 2001 by Parallax Design Studio (aka Spectator.ru)
Все торговые марки и авторские права на эту страницу принадлежат их соответствующим владельцам.
Сгенерировано за: 0.0542369