| div.main {margin-left: 20pt; margin-right: 20pt} Установка каталога ссылок Links 2 
 NAS, Webscript.ru
 
 Практически все вебмастера держат, на своих сайтах, небольшие разделы посвященные ссылкам на другие, интересные им сайты. Со временем эта страничка разрастается и превращается в трудно контролируемый раздел сайта.Какой может быть выход из этого положения? Один из выходов - это поставить скрипт "каталога ссылок" на свой сайт. В этой статье мы рассмотрим один из лучших условно-бесплатных скриптов фирмы 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 = "http://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 = "http://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 = "http://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), с которых разрешено будет добавлять ссылки. Если вы укажете адрес своего сайта, то ссылку в ваш каталог смогут добавить, только с вашего сайта, а с систем добавления ссылок (http://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
. 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 и .pl666 (-rw-rw-rw-) на все файлы виректории DATA.
 666 (-rw-rw-rw-) на все файлы в директории TEMPLATES.
 777 (drwxrwxrwx) на директорию HITS.
 777 (drwxrwxrwx) на директорию RATINGS.
 777 (drwxrwxrwx) на директорию PAGES
 Подробнее узнать, как устанавливать права доступа и закачивать в режиме ASCII, можно здесь.
 Для безопасности вам необходимо директорию ADMIN закрыть на пароль. Лучшего всего это сделать с помощью .htaccess. Подробности вы можете уточнить у своего хостинг провайдера.Теперь для проверки на берите в вашем браузере URL http://yourserver.com/cgi-bin/links/admin/admin.cgi
исправив его под себя. Перед вами должна открыться панель администратора по управлению вашим каталогом.
 Для того, чтобы каталог заработал нам необходимо сделать следующее:
Добавить категорию. Незабудьте заполнить поле Nonenglish, это имя раздела на русском языке. Если вы хотите добавить подкатегорию, то вам следует вначале создать категорию, например с именем test, а затем создать категорию с именем test/test2, где test2 это соответственно подкатегория категории test. В поле nonenglish необходимо использовать обратный слэш / (тест/тест2)
Добавить любую ссылку в категорию.
Выполнить генерацию страниц каталога. Пункт меню "Build All"
Проверить сгенерированные страницы по адресу http://yourserver/pages/
Добавить ссылку со страниц каталога, а не с административного интерфейса.
Проверить ссылку. Пункт меню Validate.
Сгенерировать страницы еще раз. Теперь в каталоге должно быть уже 2 ссылки.
 Страницы каталога будут сгенерированы со стандартным дизайном. Для того чтобы его изменить, вам необходимо отредактировать файлы в директории admin/templates. Это обычные html файлы, которые вы сможете отредактировать в любом html-редакторе и перевести все сообщения на русский язык. В этих файлах необходимо оставлять переменные в специальных тегах <% %> .
 Это вообщем-то всё :) Если есть вопросы, то оставляйте в комментариях или на форуме
 
 |