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 unzipupdate-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… и добавьте следующий раздел где-то внутри контейнера
| [...] |
Как вы видите, это действительно для английского ядра только (
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 работает успешно:

Get new posts in your inbox
No spam. Unsubscribe anytime.