Apache Answer
Apache Answer adalah perangkat lunak platform tanya jawab (Q&A) sumber terbuka yang dikembangkan oleh Apache Software Foundation. Platform ini dirancang untuk membantu tim dalam berbagai skala membangun komunitas, pusat bantuan, atau platform manajemen pengetahuan.
Fitur Utama Apache Answer:
- Pengalaman Tanya Jawab yang Terpadu: Memungkinkan pengguna untuk mengajukan dan menjawab pertanyaan dengan mudah, dilengkapi dengan pratinjau real-time menggunakan Markdown yang kompatibel dengan CommonMark.
- Manajemen Komunitas yang Mudah: Menyediakan peran admin, moderator, dan pengguna untuk pengelolaan akses yang optimal, sistem penandaan intuitif untuk pengorganisasian konten, serta kolaborasi pengeditan terbuka dengan riwayat revisi yang transparan.
- Pengembangan Komunitas yang Sehat: Mendukung sistem voting, reputasi, notifikasi, dan profil pengguna untuk mendorong partisipasi aktif dan interaksi yang bermakna dalam komunitas.
- Kustomisasi dan Plugin: Memungkinkan penyesuaian tema dan tata letak, serta integrasi plugin untuk menambahkan fitur sesuai kebutuhan, seperti login pihak ketiga, cache, dan pencarian.
- Privasi dan Keamanan: Menawarkan kontrol akses login dan konten untuk memastikan lingkungan komunitas yang aman dan terproteksi.
Apache Answer mendukung berbagai bahasa, tata letak responsif untuk akses dari berbagai perangkat, dan mode gelap untuk pengalaman pengguna yang dipersonalisasi. Dengan arsitektur yang memisahkan front-end dan back-end, platform ini memberikan fleksibilitas dalam pengembangan dan penyesuaian lebih lanjut.
1. Persyaratan Sistem
System requirements untuk menjalankan Apache Answer 1.4:
- Docker dengan docker composer
- Database MySQL/MariaDB atau PostgreSQL
- Nginx untuk reverse proxy
- Certbot untuk SSL Let’s Encrypt
Sebelum memulai deploy, siapkan:
- VPS atau server dengan OS Ubuntu 24.04 LTS
- Akses SSH ke server
- Domain yang sudah diarahkan ke server
2. Persiapan Server
Update sistem
sudo apt update
sudo apt upgrade -y
Install Docker
sudo sh -c "$(curl -fsSL https://get.docker.com/)"
Install MariaDB
sudo apt install mariadb-server -y
Login ke MariaDB
sudo mysql
Buat database
CREATE DATABASE apache_answer;
CREATE USER 'apache_answer'@'localhost' IDENTIFIED BY 'rahasia';
GRANT ALL PRIVILEGES ON apache_answer.* TO 'apache_answer'@'localhost';
FLUSH PRIVILEGES;
exit
Install Nginx
sudo apt install nginx -y
Install certbot untuk Nginx
sudo apt install certbot python3-certbot-nginx -y
3. Install Apache Answer
Buat direktori
mkdir apache-answer
cd apache-answer
Buat file docker-compose.yaml
nano docker-compose.yml
Masukkan konfigurasinya
services:
answer:
image: apache/answer
ports:
- "9080:80"
depends_on:
- mariadb
environment:
- DB_HOST=mariadb
- DB_USER=apache_answer
- DB_PASSWORD=rahasia
- DB_NAME=apache_answer
volumes:
- ./answer-data:/data
networks:
- answer
restart: on-failure
mariadb:
image: mariadb
ports:
- ":3306"
environment:
- MYSQL_ROOT_PASSWORD=rahasia
- MYSQL_DATABASE=apache_answer
- MYSQL_USER=apache_answer
- MYSQL_PASSWORD=rahasia
volumes:
- ./mariadb-data:/var/lib/mysql
networks:
- answer
restart: on-failure
networks:
answer:
Jalankan docker compose
sudo docker compose up -d
Akses http://IP-SERVER:9080
untuk instalasi
- Memilih bahasa, pilih
English
, laluNext
- Memilih database engine,
MariaDB/MySQL
, masukkan username, password, database, dan hostmariadb:3306
, laluNext
- Membuat
config.yml
,Next
- Masukkan
Site Information
danAdmin Account
, laluNext
Your site is ready
, instalasi selesai, klikDone
4. Konfigurasi Nginx
Buat konfigurasi Nginx untuk reverse proxy Docker container
sudo nano /etc/nginx/sites-available/forum.contoh.com.conf
Masukkan konfigurasinya
server {
listen 80;
server_name forum.contoh.com;
location / {
proxy_pass http://localhost: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;
}
}
Aktifkan konfigurasinya
sudo ln -s /etc/nginx/sites-available/forum.contoh.com.conf /etc/nginx/sites-enabled/
Restart Nginx
sudo systemctl restart nginx
Request sertifikat SSL
sudo certbot --non-interactive \
-m [email protected] \
--agree-tos \
--no-eff-email \
--nginx -d forum.contoh.com \
--redirect
Akses https://forum.contoh.com
, Apache Answer siap digunakan.