elasticsearch_mastodon/README.md
2024-05-18 16:39:44 +02:00

141 lines
4.4 KiB
Markdown

# 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
1. **Aktualizace systému**
```bash
sudo apt update
```
2. Instalace OpenJDK 11
```bash
sudo apt install openjdk-11-jre
```
3. Přidání Elasticsearch repozitáře
```bash
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
```
4. Instalace Elasticsearch
```bash
sudo apt install elasticsearch
```
¨
5. Zapnutí a spuštění služby Elasticsearch
```bash
sudo service elasticsearch start
sudo systemctl enable elasticsearch
```
## Nastavení bezpečnosti
1. Konfigurace firewallu
Povolte přístup pouze z IP adresy serveru s Mastodon instancí:
```bash
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
1. **Editace konfiguračního souboru Elasticsearch**
- Otevřete konfigurační soubor `elasticsearch.yml`, který se obvykle nachází v `/etc/elasticsearch/`:
```bash
sudo nano /etc/elasticsearch/elasticsearch.yml
```
- Vyhledejte následující řádek a odstraňte z něj komentář:
```yaml
#xpack.security.enabled: true
```
- Změňte ho na:
```yaml
xpack.security.enabled: true
```
2. **Restartování Elasticsearch**
- Po uložení změn v konfiguračním souboru restartujte Elasticsearch, aby se změny projevily:
```bash
sudo systemctl restart elasticsearch
```
## Nastavení uživatele v Elasticsearch
1. **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`:
```bash
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"
}
```
## Konfigurace Mastodonu pro přístup k Elasticsearch
1. **Editace `.env.production` souboru v Mastodonu**
- Přejděte do kořenového adresáře Mastodonu a otevřete `.env.production` pro editaci:
```bash
nano .env.production
```
- Přidejte nebo upravte následující řádky, aby odrážely informace o Elasticsearch serveru:
```bash
#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=
```
2. **Restartování Mastodonu**
- Restartujte Mastodon, aby se změny projevily:
```bash
systemctl restart mastodon-*.service
```
## Ověření funkčnosti
- Po restartu služeb zkontrolujte, že Mastodon správně komunikuje s Elasticsearch.
1. 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:
```bash
RAILS_ENV=production bin/tootctl search status
```
2. 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:
```bash
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.