1. Überblick
Apache Answer ist eine moderne Open-Source-Q&A-Plattform, entwickelt in Go (Backend) und React/TypeScript (Frontend). Sie eignet sich hervorragend für interne oder öffentliche Wissens-Communities – ähnlich wie Stack Overflow, aber selbst gehostet.
Projektseite: https://answer.apache.org GitHub: https://github.com/apache/answer
2. Systemvoraussetzungen
Empfohlene Umgebung:
| Komponente | Empfehlung | | -------------- | -------------------------------------------------- | | Betriebssystem | Debian 12 oder 13 (64-Bit) | | CPU | 2+ Kerne | | RAM | 2 GB oder mehr | | Speicher | ≥ 10 GB frei | | Datenbank | MySQL / MariaDB / PostgreSQL / SQLite | | Ports | 80 (HTTP), 443 (HTTPS), 9080 (Default Answer Port) |
Benötigte Softwarepakete:
``bash sudo apt update sudo apt install -y git curl wget unzip tar mariadb-server nginx certbot python3-certbot-nginx ``
3. Datenbank vorbereiten
MariaDB installieren & starten
``bash sudo systemctl enable --now mariadb sudo mysql_secure_installation ``
Neue Datenbank & Benutzer anlegen
```sql sudo mysql -u root -p
CREATE DATABASE answer_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'answer_user'@'localhost' IDENTIFIED BY 'SicheresPasswort'; GRANT ALL PRIVILEGES ON answer_db.* TO 'answer_user'@'localhost'; FLUSH PRIVILEGES; EXIT; ```
4. Answer herunterladen
cd /opt
sudo git clone https://github.com/apache/answer.git
cd answer
Die aktuelle Version prüfen (z. B. v1.x.x):
git checkout latest
5. Binary Build oder Precompiled Download
Variante A – Binary (empfohlen, schneller):
Lade das vorgebaute Binary herunter:
wget https://github.com/apache/answer/releases/latest/download/answer-linux-amd64.tar.gz
tar -xzf answer-linux-amd64.tar.gz
sudo mv answer /usr/local/bin/
Variante B – Selbst kompilieren:
Wenn du Go installiert hast:
sudo apt install -y golang go
build -o answer ./cmd/answer
sudo mv answer /usr/local/bin/
6. Konfiguration
Erstelle das Konfigurationsverzeichnis:
sudo mkdir -p /etc/answer
cd /etc/answer sudo nano answer.yaml
Beispielkonfiguration (/etc/answer/answer.yaml):
server: http_port: 9080 enable_https: false database: type: mysql user: answer_user password: SicheresPasswort host: 127.0.0.1 port: 3306 name: answer_db site: brand_name: "My Q&A Community" upload_path: "/var/lib/answer/uploads" theme: "default" allow_registration: true log: level: info
7. Benutzer & Berechtigungen
sudo mkdir -p /var/lib/answer/uploads
sudo chown -R www-data:www-data /var/lib/answer
sudo chmod -R 750 /var/lib/answer
8. Systemd-Service einrichten
Damit Answer beim Booten automatisch startet:
sudo nano /etc/systemd/system/answer.service
Inhalt:
[Unit] Description=Apache Answer Service After=network.target mariadb.service [Service] User=www-data ExecStart=/usr/local/bin/answer serve --config /etc/answer/answer.yaml Restart=on-failure WorkingDirectory=/var/lib/answer [Install] WantedBy=multi-user.target
Dann:
sudo systemctl daemon-reload
sudo systemctl enable --now answer
Status prüfen:
sudo systemctl status answer
9. Reverse Proxy mit Nginx
Damit Answer über HTTPS erreichbar ist:
sudo nano /etc/nginx/sites-available/answer.conf
Beispielkonfiguration:
server { listen 80; server_name qa.example.com;
location / { proxy_pass http://127.0.0.1:9080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
access_log /var/log/nginx/answer_access.log; error_log /var/log/nginx/answer_error.log; }
Aktivieren und testen:
sudo ln -s /etc/nginx/sites-available/answer.conf /etc/nginx/sites-enabled/
sudo nginx -t sudo systemctl restart nginx
Let’s Encrypt aktivieren:
sudo certbot --nginx -d qa.example.com
Danach läuft Answer unter https://qa.example.com
10. Ersteinrichtung im Browser
Rufe auf: https://qa.example.com
Dort kannst du:
- Admin-Konto erstellen
- Logo, Beschreibung, Kategorien, Tags einrichten
- Nutzerregistrierung aktivieren/deaktivieren
11. Wartung & Updates
Logs prüfen:
sudo journalctl -u answer -f
Update auf neue Version:
sudo systemctl stop answer sudo wget -O /usr/local/bin/answer https://github.com/apache/answer/releases/latest/download/answer-linux-amd64
sudo chmod +x /usr/local/bin/answer
sudo systemctl start answer
12. Tipps & Best Practices
Sicherheit
- Zugang zum Admin-Bereich mit HTTPS absichern
- Starke Datenbank-Passwörter verwenden
- Regelmäßige Backups (
mysqldump+/var/lib/answer/uploads) fail2banaktivieren gegen Bruteforce
Performance
- Nutze Redis oder Memcached, wenn verfügbar (Cache-Integration möglich)
- Reverse Proxy-Caching aktivieren (Nginx
proxy_cache) - Bilder & Uploads über CDN ausliefern
Backup-Skript (Beispiel):
#!/bin/bash DATE=$(date +%F_%H%M) mysqldump -u answer_user -pSicheresPasswort answer_db > /root/answer_db_$DATE.sql
tar czf /root/answer_uploads_$DATE.tar.gz /var/lib/answer/uploads/
13. Deinstallation (optional)
sudo systemctl stop answer
sudo rm /usr/local/bin/answer
sudo rm -rf /etc/answer /var/lib/answer
sudo rm /etc/systemd/system/answer.service
sudo systemctl daemon-reload
Apache Answer ist schnell installiert, modern aufgebaut und ideal für Wissens-Communities oder Support-Portale. Mit dieser Anleitung hast du eine robuste, sichere und erweiterbare Installation auf Debian eingerichtet – inklusive HTTPS, Systemdienst und Datenbankanbindung.