- Veröffentlicht am
- • How2-Host
Apache Answer auf Debian installieren – vollständige Anleitung Schritt für Schritt
- Autor
-
-
- Benutzer
- tmueller
- Beiträge dieses Autors
- Beiträge dieses Autors
-
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:
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
sudo systemctl enable --now mariadb
sudo mysql_secure_installation
Neue Datenbank & Benutzer anlegen
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.