Установка Apache Solr на Debian/Ubuntu

Apache Solr – это расширяемая поисковая платформа от Apache с открытым исходным кодом.

Apache Solr написана на Java и используется для полноценного индексирования и поиска. Платформа основана на библиотеке Apache Lucene и предоставляет удобную панель администрирования с широким набором  функционала.

В этой статье представлен краткий how-to по установке этого замечательного приложения для интеграции под Ваши проекты. Все действия производятся через консоль целевого сервера.

1. Устанавливаем java:
$ apt-get install sun-java5-jre

2. Устанавливаем PECL:
$ apt-get install -y php-pear

3. Ставим зависимости для сборки:
$ apt-get install -y php5-dev make gcc g++ apache2-threaded-dev unzip chkconfig

4. Далее устанавливаем зависимости:
$ pecl install uploadprogress
$ pecl install json
$ pecl install apc

5. Открываем php.ini
$ nano -w /etc/php5/apache2/php.ini
и добавляем расширения для php
$ extension_dir = /usr/lib64/php5/extensions
$ extension=uploadprogress.so
$ extension=apc.so
$ extension=solr.so

6. Сохраняем файл и перезагружаем сервис:
$ service apache2 restart

7. Скачивает и устанавливаем apache-solr
$ cd /tmp
$ wget http://mirrors.ukfast.co.uk/sites/ft...solr-1.4.1.zip
$ unzip apache-solr-1.4.1.zip
$ mv apache-solr-1.4.1 apache-solr
$ cp -r apache-solr /путь_к_папке_домена/apache-solr
$ cd /путь_к_папке_домена/apache-solr/example
$ java -jar start.jar

Проверьте в браузере:
http://yourdomain.com:8983/solr/admin/
Собственно, должна отобразиться стартовая страничка apache-solr

8. Осталось поместить его в автозагрузку:
$ nano /etc/init.d/solr
и вставляем туда скрипт:

 

#!/bin/sh -e
# Starts, stops, and restarts solr
SOLR_DIR="/путь_к_папке_домена/apache-solr/example"
JAVA_OPTIONS="-Xmx1024m -DSTOP.PORT=8079 -DSTOP.KEY=stopkey -jar start.jar"
LOG_FILE="/var/log/solr.log"
JAVA="/usr/bin/java"
case $1 in
start)
echo "Starting Solr"
cd $SOLR_DIR
$JAVA $JAVA_OPTIONS 2> $LOG_FILE &
;;
stop)
echo "Stopping Solr"
cd $SOLR_DIR
$JAVA $JAVA_OPTIONS --stop
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}" >&2
exit 1
;;
esac


$ cd /etc/init.d/
$ chmod 755 solr
$ chkconfig -a solr
$ service solr restart

9. Проверяем еще раз в браузере:
http://yourdomain.com:8983/solr/admin/
Всё работает!
Если по каким-либо причинам у Вас не получилось это сделать – не расстраивайтесь, просто напишите нам и закажите услуги системного администрирования :)
Успешных проектов!