Solr и TYPO3 · 3 min read · Dec 27, 2025

Использование Solr с TYPO3 на Debian Wheezy

Использование Solr с TYPO3 на Debian Wheezy

Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter

Расширение поиска по умолчанию TYPO3, называемое “Индексированный поиск”, подходит для небольших веб-сайтов, но если ваш веб-сайт больше (> 500 страниц), он становится очень медленным. К счастью, вы можете заменить его на расширение поиска, которое использует ультра-быстрый сервер поиска Apache Solr. Этот учебник объясняет, как использовать Apache Solr с TYPO3 на Debian Wheezy.

Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

В этом учебнике я использую два сервера:

  • server1.example.com (IP: 192.168.0.100): веб-сервер, на котором установлен пакет TYPO3 4.7 Introduction (в vhost www.example.com).
  • server2.example.com (IP: 192.168.0.101): отдельный сервер, на котором я установлю Apache Solr.

Конечно, возможно установить Solr на той же системе, что и веб-сервер; однако я хотел бы разделить оба сервиса, чтобы они не влияли на производительность друг друга.

2 Установка Solr

server2.example.com:

Сначала установите Java:

apt-get install openjdk-6-jdk openjdk-6-jre unzip
update-alternatives --config java  
update-alternatives --config javac

Проект TYPO3 предоставляет скрипт установки Solr, который мы загружаем следующим образом:

wget http://forge.typo3.org/projects/extension-solr/repository/revisions/master/raw/resources/shell/install-solr.sh  
chmod 755 install-solr.sh

Далее проверьте, какая текущая версия Apache Tomcat 6, посетив http://tomcat.apache.org/download-60.cgi. На момент написания это была 6.0.37. Теперь откройте install-solr.sh…

vi install-solr.sh

… и убедитесь, что переменная TOMCAT_VER содержит правильный номер версии - при необходимости измените его:

| [...] TOMCAT_VER=6.0.37 [...] |

Теперь мы устанавливаем Solr. По умолчанию (если вы не указываете языки в качестве параметров) Solr устанавливается с поддержкой только английского языка; если вам нужна поддержка других языков, просто добавьте их к команде, например, так:

./install-solr.sh german english french

Это устанавливает сервер Tomcat (на котором работает Solr) и Solr. По умолчанию Tomcat слушает только на 127.0.0.1; поскольку мы хотим получить доступ к Solr с удаленного хоста, мы должны настроить Tomcat на прослушивание на всех интерфейсах, поэтому мы заменяем 127.0.0.1 на 0.0.0.0 в /opt/solr-tomcat/tomcat/conf/server.xml:

vi /opt/solr-tomcat/tomcat/conf/server.xml

| [...] [...] |

Перезапустите Tomcat:

/opt/solr-tomcat/tomcat/bin/shutdown.sh  
/opt/solr-tomcat/tomcat/bin/startup.sh

Далее мы можем настроить ядра в Solr. По умолчанию уже настроено английское ядро; если вам нужно больше языков, вы можете добавить их в /opt/solr-tomcat/solr/solr.xml, например, так:

vi /opt/solr-tomcat/solr/solr.xml

| |

Перезапустите Solr после этого:

/opt/solr-tomcat/tomcat/bin/shutdown.sh  
/opt/solr-tomcat/tomcat/bin/startup.sh

Поскольку мы не хотим запускать Tomcat вручную каждый раз при загрузке сервера, мы можем добавить команду запуска Tomcat в /etc/rc.local:

vi /etc/rc.local

| [...] /opt/solr-tomcat/tomcat/bin/startup.sh [...] |

2.1 Добавление аутентификации в Solr

Поскольку Solr слушает на всех интерфейсах, хорошей идеей будет добавить к нему аутентификацию. Я теперь настрою пользователя user1 с паролем secret для английского ядра.

Откройте /opt/solr-tomcat/tomcat/conf/web.xml…

vi /opt/solr-tomcat/tomcat/conf/web.xml

… и добавьте следующий раздел где-то внутри контейнера :

| [...] Solr authenticated application /core_en/* role1 BASIC Admin and Update protection [...] |

Как вы видите, это действительно для английского ядра только ( /core_en/*), и я настроил это для роли role1, поэтому действительные пользователи должны принадлежать к этой роли. Чтобы добавить пользователя user1 с его паролем в эту роль, откройте /opt/solr-tomcat/tomcat/conf/tomcat-users.xml…

vi /opt/solr-tomcat/tomcat/conf/tomcat-users.xml

… и добавьте следующий раздел внутри контейнера :

| [...] [...] |

Перезапустите Tomcat после этого:

/opt/solr-tomcat/tomcat/bin/shutdown.sh  
/opt/solr-tomcat/tomcat/bin/startup.sh

Теперь вы можете открыть браузер и посетить Solr по адресу http://192.168.0.101:8080/solr, где вы должны увидеть все настроенные ядра:

Когда вы посетите английское ядро (для которого мы только что настроили аутентификацию), вас попросят ввести имя пользователя и пароль:

После успешной аутентификации вы должны увидеть следующую страницу, что означает, что Solr работает успешно:

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.