Solr и TYPO3 · 3 min read · Dec 27, 2025
Использование Solr с TYPO3 на Debian Squeeze
Использование Solr с TYPO3 на Debian Squeeze
Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter
Расширение поиска по умолчанию TYPO3, называемое “Индексированный поиск”, подходит для небольших веб-сайтов, но если ваш веб-сайт больше (> 500 страниц), он становится очень медленным. К счастью, вы можете заменить его на расширение поиска, которое использует ультра-быстрый сервер поиска Apache Solr. Этот учебник объясняет, как использовать Apache Solr с TYPO3 на Debian Squeeze.
Я не даю никаких гарантий, что это сработает для вас!
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:
Откройте /etc/apt/sources.list…
vi /etc/apt/sources.list… и убедитесь, что у вас включены репозитории contrib и non-free:
| deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free deb-src http://ftp.de.debian.org/debian/ squeeze main contrib non-free deb http://security.debian.org/ squeeze/updates main contrib non-free deb-src http://security.debian.org/ squeeze/updates main contrib non-free deb http://ftp.de.debian.org/debian/ squeeze-updates main contrib non-free deb-src http://ftp.de.debian.org/debian/ squeeze-updates main contrib non-free |
Обновите базу данных пакетов…
apt-get update… и установите Java:
apt-get install sun-java6-bin sun-java6-jdk sun-java6-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Теперь мы устанавливаем 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.