env.production | ||
LICENSE | ||
README.md |
Instalace Elasticsearch pro Mastodo# Instalace Elasticsearch pro Mastodon
Tento repozitář obsahuje instrukce a konfigurace pro instalaci a nastavení Elasticsearch serveru, který je určen pro použití s Mastodon instancí na serveru Ubuntu 22.04.
Požadavky
- Ubuntu 22.04
- OpenJDK 11
Instalace Elasticsearch
-
Aktualizace systému
sudo apt update
-
Instalace OpenJDK 11
sudo apt install openjdk-11-jre
-
Přidání Elasticsearch repozitáře
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt- key add - sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list' sudo apt update
-
Instalace Elasticsearch
sudo apt install elasticsearch
¨
-
Zapnutí a spuštění služby Elasticsearch
sudo service elasticsearch start sudo systemctl enable elasticsearch
Nastavení bezpečnosti
-
Konfigurace firewallu Povolte přístup pouze z IP adresy serveru s Mastodon instancí:
sudo ufw allow from <IP_adresa_Mastodon_serveru> to any port 9200
Nastavení uživatele pro Elasticsearch a konfigurace zabezpečení
Tento návod popisuje kroky pro nastavení zabezpečeného uživatele v Elasticsearch a konfiguraci přístupu Mastodonu k Elasticsearch.
Povolení zabezpečení v Elasticsearch
-
Editace konfiguračního souboru Elasticsearch
- Otevřete konfigurační soubor
elasticsearch.yml
, který se obvykle nachází v/etc/elasticsearch/
:sudo nano /etc/elasticsearch/elasticsearch.yml
- Vyhledejte následující řádek a odstraňte z něj komentář:
#xpack.security.enabled: true
- Změňte ho na:
xpack.security.enabled: true
- Otevřete konfigurační soubor
-
Restartování Elasticsearch
- Po uložení změn v konfiguračním souboru restartujte Elasticsearch, aby se změny projevily:
sudo systemctl restart elasticsearch
- Po uložení změn v konfiguračním souboru restartujte Elasticsearch, aby se změny projevily:
Nastavení uživatele v Elasticsearch
- Vytvoření nového uživatele
- Spusťte následující příkaz pro vytvoření nového uživatele s názvem
mastodon_user
:curl -u "admin:admin_password" -X POST "http://localhost:9200/_security/user/mastodon_user" -H 'Content-Type: application/json' -d' { "password" : "mastodon_password", "roles" : ["superuser"], "full_name" : "Mastodon User", "email" : "user@example.com" }
- Spusťte následující příkaz pro vytvoření nového uživatele s názvem
Konfigurace Mastodonu pro přístup k Elasticsearch
- Editace
.env.production
souboru v Mastodonu- Přejděte do kořenového adresáře Mastodonu a otevřete
.env.production
pro editaci:nano .env.production
- Přejděte do kořenového adresáře Mastodonu a otevřete
-
Přidejte nebo upravte následující řádky, aby odrážely informace o Elasticsearch serveru:
#Configuring full-text search ES_ENABLED=true ES_HOST=ip_adresa_serveru_elesticsearch ES_PORT=9200 ES_PRESET=single_node_cluster # single_node_cluster, small_cluster or large_cluster #ES_USER= #ES_PASS= ```
- Restartování Mastodonu
-
Restartujte Mastodon, aby se změny projevily:
systemctl restart mastodon-*.service
-
Ověření funkčnosti
- Po restartu služeb zkontrolujte, že Mastodon správně komunikuje s Elasticsearch.
-
Zkontrolovat stav Elasticsearch v Mastodonu
-Mastodon poskytuje Rake úlohu, která umožňuje ověřit, zda je Elasticsearch dostupný a správně funguje s vaší Mastodon instancí. Můžete spustit následující příkaz z kořenového adresáře vaší Mastodon instance:
RAILS_ENV=production bin/tootctl search status
-
Znovu indexovat obsah pro Elasticsearch
-Pokud jste právě povolili Elasticsearch nebo změnili některé konfigurace a potřebujete, aby všechny stávající příspěvky byly znovu indexovány, můžete spustit následující příkaz:
RAILS_ENV=production bin/tootctl search deploy
Tento příkaz provede znovu indexaci všech veřejných příspěvků a dalších relevantních dat v Elasticsearch, což je užitečné po jakýchkoli změnách v konfiguraci nebo pro začlenění minulých dat do nově nastaveného Elasticsearch.