Drupal Solr

Установка

Я как обычно запишу это для себя, однако надеюсь многим это будет полезно. Основное отличие этого способа в том, что я буду использовать встроенный сервер Jetty вместо Tomcat.

Предварительно устанавливаем на сервер java:

apt-get install openjdk-7-jre

Скачиваем дистрибутив solr с официального сайта:

wget /opt/ http://apache.belnet.be/lucene/solr/4.10.4/solr-4.10.4.tgz

Распаковываем архив

cd /opt
tar -xzvf solr-4.10.4.tgz

Создаем ссылку

ln -s /opt/solr-4.10.4/example /opt/solr

Скачиваем скрипт для запуска Solr отсюда

wget https://raw.githubusercontent.com/chilic/solr-init-script/master/solr-init.d.sh -O /etc/init.d/solr

Даем права на запуск

chmod +x /etc/init.d/solr

Конфигурация Solr

Для работы с Solr в Drupal понадобится установить модуль, я использовал модуль Search API Solr, интегрированный с Search API.

В этом модуле есть файлы конфигурации для Solr, достаточно их просто скопировать. Если сайт установлен в папку /var/www, то достаточно выполнить следующую команду

cp -ar /var/www/sites/all/modules/search_api_solr/solr-conf/4.x/* /opt/solr/multicore/core0/conf

Запуск Solr

Для запуска Solr достаточно воспользоваться нашим скриптом

/etc/init.d/solr start

или

service solr start

для автоматического старта solr после перезагрузки выполняем команду

update-rc.d solr defaults

Для проверки что solr запущен выполняем

service solr status

Теперь из браузера можно подключиться к Solr на страницу статуса http://localhost:8983/solr

Защита страницы статуса Solr

Защитить Solr можно с помощью правил Ip tables, например указав IP адрес с которого можно подключится. Если адрес 192.168.0.1, то правила будут такими

iptables -A INPUT -p tcp -s 192.168.0.1 --dport 8983 -j ACCEPT
iptables -A INPUT -p tcp --dport 8983 -j DROP

для сохранения этих правил после перезагрузки выполняем команду

iptables-save > /etc/iptables.up.rules

Теперь Solr защищен от подключения из вне.

Заключение

Теперь Solr установлен, запущен и защищен.

Для подключения к Solr из Drupal в настройкам модуля Search API Solr указываем Url http://localhost:8983/solr/core0