Установка squidGuard и Berkeley DB 4.6 из исходников на CentOS 7
Недавно потребовалось установить squidGuerd на CentOS 7. В стандартом репозитории его нет, зато есть в epel:
# yum install epel-release
К сожалению, он оказался нерабочим. После запуска пишет ошибку:
Ошибка сегментирования (core dumped)
И в логах:
kernel: squidGuard[28670]: segfault at ffffffffd37751a0 ip 00007f34d288cce0 sp 00007ffde52b6ff8 error 5 in libc-2.17.so[7f34d274a000+1b6000]
Решили ставить из исходников. На сайте проекта сказано, что squidGuard гарантировано будет работать с версией Berkeley DB 4.6.
Annotation: Berkeley DB version 4.7 gives error messages during compilation. Up to version 4.6 the compilation runs fine.
Поскольку в репозитории CentOS версия уже 4.8 (на момент написания статьи), то Berkeley DB тоже пришлось ставить из исходников.
1.Установим необходимые пакеты
# yum install bison gcc flex squid
2.Установим Berkeley DB 4.6
# cd /tmp && wget http://download.oracle.com/berkeley-db/db-4.6.21.NC.zip
# unzip db-4.6.21.NC.zip
# cd db-4.6.21.NC
# cd build_unix && ../dist/configure --prefix=/usr/local/db4 --enable-compat185
# make && make install
Копируем файлы из /usr/local/db4 в /usr/lib, /usr/lib64, /usr/include:
# cp /usr/local/db4/lib/* /usr/lib
# cp /usr/local/db4/lib/* /usr/lib64
# cp /usr/local/db4/include/* /usr/include
3.Устанавливаем squidGuard
# cd /tmp && wget http://www.squidguard.org/Downloads/squidGuard-1.4.tar.gz
# tar xvzf squidGuard-1.4.tar.gz
# cd squidGuard-1.4
# ./configure
# make && make install
4.Скачиваем базы squidGuard
# cd /usr/local/squidGuard/db
# wget http://squidguard.mesd.k12.or.us/blacklists.tgz
# tar -xvf blacklists.tgz
Правим путь к базам в /usr/local/squidGuard/squidGuard.conf и запускаем:
# squidGuard -C all
Если все хорошо в логах видим записи вроде:
[30674] create new dbfile /usr/local/squidGuard/db/blacklists/porn/domains.db
[30674] init urllist /usr/local/squidGuard/db/blacklists/porn/urls
[30674] create new dbfile /usr/local/squidGuard/db/blacklists/porn/urls.db
[30674] squidGuard 1.4 started (1483954977.294)
[30674] db update done
[30674] squidGuard stopped (1483954980.446)