148 lines
4.2 KiB
Puppet
148 lines
4.2 KiB
Puppet
# Install AbuseSA Search.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# $plugin:
|
|
# Analysis plugin file.
|
|
#
|
|
# $solrurl:
|
|
# URL to sorl.
|
|
#
|
|
# $logourl:
|
|
# Path to logo image.
|
|
#
|
|
# $cssfile:
|
|
# Path to css file.
|
|
#
|
|
# $webhosts:
|
|
# List of search virtual hosts.
|
|
#
|
|
class abusesa::search(
|
|
$plugin="solr-4.10.2-analysis-codenomicon.jar",
|
|
$solrurl="https://${::homename}/solr/generic/",
|
|
$logourl="img/Codenomicon_logo_small.png",
|
|
$cssfile="css/code.css",
|
|
$webhosts=undef,
|
|
) {
|
|
|
|
if ! $abusesa_search_package {
|
|
if $::abusesa_search_package_latest {
|
|
$abusesa_search_package = $::abusesa_search_package_latest
|
|
} else {
|
|
fail("Must define \$abusesa_search_package or \$abusesa_search_package_latest")
|
|
}
|
|
}
|
|
|
|
file { "/usr/local/src/abusesa-search.tar.gz":
|
|
ensure => present,
|
|
mode => "0644",
|
|
owner => "root",
|
|
group => "root",
|
|
source => "puppet:///files/packages/${abusesa_search_package}",
|
|
}
|
|
|
|
util::extract::tar { "/usr/local/src/abusesa-search":
|
|
ensure => latest,
|
|
strip => 1,
|
|
source => "/usr/local/src/abusesa-search.tar.gz",
|
|
require => File["/usr/local/src/abusesa-search.tar.gz"],
|
|
before => Python::Setup::Install["/usr/local/src/abusesa-search"],
|
|
}
|
|
|
|
python::setup::install { "/usr/local/src/abusesa-search": }
|
|
|
|
package { "python-BeautifulSoup":
|
|
ensure => installed,
|
|
name => $::operatingsystem ? {
|
|
"debian" => "python-beautifulsoup",
|
|
"ubuntu" => "python-beautifulsoup",
|
|
default => "python-BeautifulSoup",
|
|
}
|
|
}
|
|
|
|
file { "/srv/solr/cores/generic":
|
|
ensure => directory,
|
|
mode => "0660",
|
|
owner => "solr",
|
|
group => "solr",
|
|
source => "/usr/local/src/abusesa-search/config/solr/cores/generic",
|
|
recurse => true,
|
|
purge => true,
|
|
force => true,
|
|
require => [
|
|
File["/srv/solr/cores"],
|
|
Util::Extract::Tar["/usr/local/src/abusesa-search"],
|
|
],
|
|
notify => Service["solr"],
|
|
}
|
|
file { "/srv/solr/cores/lib/solr-analysis-codenomicon.jar":
|
|
ensure => present,
|
|
mode => "0660",
|
|
owner => "solr",
|
|
group => "solr",
|
|
source => "/usr/local/src/abusesa-search/bin/${plugin}",
|
|
require => [
|
|
File["/srv/solr/cores/lib"],
|
|
Util::Extract::Tar["/usr/local/src/abusesa-search"],
|
|
],
|
|
notify => Service["solr"],
|
|
}
|
|
file { "/srv/solr/cores/lib/commons-net-3.1.jar":
|
|
ensure => present,
|
|
mode => "0660",
|
|
owner => "solr",
|
|
group => "solr",
|
|
source => "/usr/local/src/abusesa-search/search/analysis-codenomicon/lib/commons-net-3.1.jar",
|
|
require => [
|
|
File["/srv/solr/cores/lib"],
|
|
Util::Extract::Tar["/usr/local/src/abusesa-search"],
|
|
],
|
|
notify => Service["solr"],
|
|
}
|
|
file { "/srv/solr/cores/lib/java-ipv6-0.8.jar":
|
|
ensure => present,
|
|
mode => "0660",
|
|
owner => "solr",
|
|
group => "solr",
|
|
source => "/usr/local/src/abusesa-search/search/analysis-codenomicon/lib/java-ipv6-0.8.jar",
|
|
require => [
|
|
File["/srv/solr/cores/lib"],
|
|
Util::Extract::Tar["/usr/local/src/abusesa-search"],
|
|
],
|
|
notify => Service["solr"],
|
|
}
|
|
|
|
$htdocs = $::operatingsystem ? {
|
|
"ubuntu" => "/usr/local/share/abusesa-search/htdocs",
|
|
default => "/usr/share/abusesa-search/htdocs",
|
|
}
|
|
|
|
file { "${htdocs}/js/Config.js":
|
|
ensure => present,
|
|
mode => "0644",
|
|
owner => "root",
|
|
group => "root",
|
|
content => template("abusesa/Config.js.erb"),
|
|
require => Python::Setup::Install["/usr/local/src/abusesa-search"],
|
|
}
|
|
|
|
if $webhosts {
|
|
abusesa::search::configwebhost { $webhosts:
|
|
htdocs => $htdocs,
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Enable AbuseSA Search for virtual host.
|
|
#
|
|
define abusesa::search::configwebhost($htdocs) {
|
|
|
|
file { "/srv/www/https/${name}/search":
|
|
ensure => link,
|
|
target => $htdocs,
|
|
require => File["/srv/www/https/${name}"],
|
|
}
|
|
|
|
}
|