Elasticsearch 5
Elasticsearch er en super hurtig søgemaskine. Især hvis du har en masse dokumenter du gerne vil indeksere for fuldtekst søgninger eller skal lave noget lokationssøgning, eksempelvis finde nærmeste restaurent eller benzinstation.
Installer:
1 |
# pkg install elasticsearch5 |
Føj til /etc/rc.conf
for automatisk opstart efter genstart af maskinen
1 |
elasticsearch_enable="YES" |
Sæt ip adressen i /usr/local/etc/elasticsearch/elasticsearch.yml
1 |
network.host: 127.0.0.1 |
Elasticsearch kører default på port 9200, og det kan du også ændre om nødvendigt i samme fil.
Start Elasticsearch
1 |
# service elasticsearch start |
Kibana 5
Installer:
1 |
# pkg install kibana50 |
Føj til /etc/rc.conf
for automatisk opstart efter genstart af maskinen
1 |
kibana_enable="YES" |
Nu skal Kibana vide hvor Elasticsearch bor. Konfig filen hedder /usr/local/etc/kibana.yml
1 2 3 4 5 6 7 8 9 10 |
server.port: 5601 server.host: "127.0.0.1" elasticsearch.url: "http://127.0.0.1:9200" logging.quiet: true # Valgfri, brug hvis du planlægger at beskytte Kibana med bruger autentification. Kibana skal have en bruger # til vedligeholdelse af index ved opstart elasticsearch.username: "kibana" elasticsearch.password: "v3rys3cretPass" |
Start kibana
1 |
# service kibana start |
Note: Kibana er kræsen hvad angår nodejs version, og installerer derfor sin egen version. Jeg havde i forvejen nodejs med npm installeret, men efter Kibana installation var npm forsvundet. En simpel pkg install npm
, kunne jeg se ville installere nodejs version 7, og Kibana bruger nodejs version 4. Derfor måtte jeg istedet finde en npm version der passer til den nodejs version Kibana kommer med. Det viste sig at være npm2: pkg install npm2
.
Apache 2.4
Tilføj den bruger/kode du angav i Kibana konfigurationen i din .htpasswd fil:
1 2 3 4 |
# htpasswd /sti/til/.htpasswd kibana New password: Re-type new password: Adding password for user kibana |
Nu skal vi føje en virtuel host til Apache, for at kunne tilgå Kibana i browseren.
Her skal vi bl.a. bruger proxy modulet, så lad os lige sikre at modulet er aktivt:
1 2 |
# apachectl -M | grep proxy_module proxy_module (shared) |
Hvis kommandoen ikke returnerer noget, skal modulet aktiveres. Det gør du ved at fjerne kommentar tegnet foran modulet i Apache’s konfigurationsfil:
/usr/local/etc/apache24/httpd.conf
Linien du kigger efter, ser således ud i Apache24:
1 |
LoadModule proxy_module libexec/apache24/mod_proxy.so |
Efter en genstart af Apache, bør du nu se modulet aktivt med kommandoen apachectl -M
Åben din Apache vhost konfigurationsfil. Da jeg har konfigureret med SSL, er det min ssl.conf jeg finder frem her:
/usr/local/etc/apache24/extra/httpd-ssl.conf
Alternativt kan du indsætte den i httpd-vhosts.conf og udelade SSL delen samt bruge port 80 i stedet for 443
/usr/local/etc/apache24/extra/httpd-vhosts.conf
Husk at redigere det hele så det passer til dit setup:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<VirtualHost *:443> Servername kibana.server.dk ErrorLog "|/usr/local/sbin/rotatelogs -l /var/log/kibana.server.dk/error.%Y.%m.%d 86400" CustomLog "|/usr/local/sbin/rotatelogs -l /var/log/kibana.server.dk/access.%Y.%m.%d 86400" combined <Proxy *> AuthType Basic AuthName "Kibana - autentification" AuthUserFile "/sti/til/.htpasswd" Require valid-user </Proxy> ProxyRequests Off ProxyPass / http://127.0.0.1:5601/ ProxyPassReverse / http://127.0.0.1:5601/ SSLEngine on SSLCACertificateFile /sti/til/ssl/intermediate.crt SSLCertificateFile /sti/til/ssl/server.crt SSLCertificateKeyFile /sti/til/ssl/server.key </VirtualHost> |
Nu er det spændende… tjek din konfig og genstart Apache:
1 2 3 4 5 6 7 8 9 10 |
# apachectl -t Syntax OK # apachectl restart Performing sanity check on apache24 configuration: Syntax OK Stopping apache24. Waiting for PIDS: 877. Performing sanity check on apache24 configuration: Syntax OK Starting apache24. |
Med eksemplet her, ville adressen til Kibana blive https://kibana.server.dk