Not: Yazının ingilizce halini buraya tıklayarak okuyabilirsiniz.
Giriş
Bir web sitesi kurduğunuzda, sitenize kimlerin hangi tarayıcıyla geldiğini, trafiğinizin hangi kaynaklardan ve en çok hangi içeriklerinize geldiğini görmek istersiniz. Bu tür verileri elde etmek için kullanabileceğiniz birçok araç var. Fakat bazı araçlar bize bazen hiç ihtiyacımız olmayan tonlarca veriyi de sunuyor ve bu gereksiz karmaşıklık yaratıyor.
Sonuçta, herkes her detayı bilmek istemez; bazen işleri basit tutmak istersiniz. Ben tam olarak bu noktadayım ve gereksiz veriler ile uğraşmak istemiyorum. İşte Plausible Analytics, tam da burada devreye giriyor! Sitenizde neler olup bittiğini sade bir şekilde gösterirken, aynı zamanda tüm ölçümler tamamen anonim olarak gerçekleştiriliyor. Çerez kullanılmıyor, kişisel veri toplanmıyor ve açık kaynak (open source)
Şunu da söylemem lazım: Cookie tabanlı bir istatistik olmadığı için günümüzdeki ad block eklentilerine karşı diğer Analytics araçlarına göre daha şanslı diyebiliriz.
Örneğin, Google Analytics, ad block eklentileri tarafından engellenebiliyor. (Konu dışı: Eğer birden çok istatistik aracı kullanıyorsanız ve farklı sonuçlar alıyorsanız aradaki farkın ne olduğunu kestiremiyorsanız bu noktaya bakmak isteyebilirsiniz.)
Eğer farklı araçları kıyaslamak isterseniz, Plausible Analytics’in kendi sitesindeki detaylı karşılaştırmalara bir göz atmak isteyebilirsiniz.
Plausible’ın İki Versiyonu: Cloud ve CE
Plausible Analytics, iki farklı şekilde kullanılabiliyor:
- Cloud (Bulut): Ayda 9$'dan başlayan bir fiyat ödeyerek sadece tek bir script kodu sitenize ekleyerek zahmetsiz bir şekilde entegre edebilir ve analiz işini çözebilirsiniz.
- CE (Community Edition): Self-hosted bir çözüm istiyorsanız, yaklaşık 15-30 dakikalık bir uğraşla kendi sunucunuzda barındırabilirsiniz. Bunun için aylık 3-4$’lık bir sunucu yeterli olacaktır.
Bu tamamen sizin tercihinize kalmış. "Ben uğraşmam, öderim" diyorsanız Cloud tam size göre. Ama "Ufak bir çabayla kendi çözümümü kurarım cebimde kalan bir kaç $ ile de kahve içerim" diyorsanız CE sürümü size göz kırpıyor. 😉
Evet şimdi temel konumuza geçiyoruz. Buradan sonra ben sizin için kodu yazdım. Sizin birazcık CTRL + C
ve CTRL + V
yapmanız gerekecek.
Plausible CE Kurulum Rehberi
Şimdi size Plausible CE sürümünü nasıl kuracağınızı adım adım anlatacağım. Ben, Ubuntu 24.04 yüklü bir sunucu üzerinde kurulum yaptım. Ancak merak etmeyin, Ubuntu 22.04’te de sorunsuz çalışıyor.
Gereksinimler
- Docker ve Docker Compose kurulu olmalı.
- CPU'nuz SSE 4.2 veya NEON desteklemeli. (ARM olmasın.)
- Sorun yaşamamak için en az 2 GB RAM olmalı.
Önce sunucumuzun bilgilerini girip bağlanıyoruz.
ssh root@YOUR_SERVER_IP
Daha sonra sunucu paketlerini güncelliyoruz ve yükseltiyoruz:
sudo apt update && sudo apt upgrade -y
Eğer çekirdekte bir güncelleme yaptıysak sunucuyu yeniden başlatıyoruz.
sudo reboot
Docker Kurulumu
Şimdi docker için gerekli bağımlılıkları yükleyeceğiz.
sudo apt install -y ca-certificates curl gnupg
Docker'ın GPG anahtarını ve deposunu ekleyin:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
artık Docker'ı yükleyebiliriz.
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Bu işlemden sonra Docker kurulumuz tamamlandı. Aşağıdaki kodu çalıştırdığınızda fotoğraftaki gibi bir yanıt almalısınız. (Versiyon numaraları değişebilir.)
docker --version
Docker Compose Kurulumu
Eğer Docker Compose yüklü değilse yükleyebilirsiniz:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo docker ps
Plausible Analytics Kurulumu
Sırada Plausible kurulumu var. Önce Plausible'ın official reposunu sunucumuza klonlayacağız. (Plausible'ın daha güncel versiyonları gelmiş olabilir. Böyle bir durumda komutu güncel hale getirip çalıştırabilirsiniz.)
Ben kendi klasör düzenime göre kurulumu yapacağım. Fakat siz kendi klasör yapınıza göre kurulum yapmak isterseniz komutları düzenlemeyi unutmayın.
git clone -b v2.1.4 --single-branch https://github.com/plausible/community-edition /home/plausible-analytics
cd /home/plausible-analytics
Plausible için bir .env
dosyası oluşturacağız. Burada bazı temel kurulum bilgilerini ekleyeceğiz.
touch .env
echo "BASE_URL=https://plausible.goksel.dev" >> .env
echo "SECRET_KEY_BASE=$(openssl rand -base64 48)" >> .env
echo "HTTP_PORT=8000" >> .env
nginx ile 80 portunu yöneteceğiz. Bu yüzden biz dockerda portumuzu 8000 olarak degistiriyoruz.
cat > compose.override.yml << END
services:
plausible:
ports:
- 8000:8000
environment:
DISABLE_HTTPS_REDIRECT: true
END
Kurulumdaki standart portları değiştiriyorsanız nginx konfigürasyonu aşamasında portları kendinize uygun şekilde değistirdiginizden emin olun.
Burada şuan için yapmamız gereken ayarlamalar bu kadar. Şimdi sunucumuza nginx kuralım.
nginx Kurulumu
Ben Plausible'ı nginx üzerinden reverse proxy yayınlayacağım ve Let's Encrypt ile SSL sertifikası kurulumu yapıcam. (Siz dilerseniz CaddyServer, ApacheServer gibi seçenekleri de kullanabilirsiniz fakat makale nginx üzerinden gidecek)
Nginx’i yükleyelim:
sudo apt install -y nginx
Şimdi varsayılan nginx konfigürasyonunu temizleyelim.
sudo rm -rf /etc/nginx/sites-available/default
sudo rm -rf /etc/nginx/sites-enabled/default
Kendi domaininiz için bir konfigürasyon dosyası oluşturalım.
sudo nano /etc/nginx/sites-available/plausible.goksel.dev.conf
Aşağıdaki yapılandırmayı bu oluşturduğumuz konfigürasyon dosyası içine yapıştırıp kaydedelim. (server_name ve proxy_pass port alanlarını kendinize göre değiştirmeyi unutmayın ❗)
server {
server_name plausible.goksel.dev;
location / {
proxy_pass http://127.0.0.1:8000; # Docker Plausible Port
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;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
listen 80;
}
sudo ln -s /etc/nginx/sites-available/plausible.goksel.dev.conf /etc/nginx/sites-enabled/
Bir yerde hata yaptık mı diye kontrol ediyoruz ve hata yoksa nginxi reload ediyoruz. (Eğer hata alırsanız mesajda hatanın satırı görünüyor.)
sudo nginx -t
sudo systemctl reload nginx
Let's Encrypt ile SSL Sertifikası
Şimdi SSL alacağız. Bunun için sunucuya önce certbot kurmamız gerekiyor.
sudo apt install certbot python3-certbot-nginx
Artık SSL sertifikamızı oluşturabiliriz.
sudo certbot --nginx -d plausible.yourdomain.com
Sertifikamızı oluşturduk, nginx yapılandırmamızı tamamladık. Plausible için konfigürasyonlarımızı yaptık. Artık hazırız!
Plausible'ın kurulu olduğu dizene geçiyoruz ve Plausible'ı Docker üzerinden çalıştırıyoruz.
cd /home/plauisible
sudo docker compose up -d
Bu işlem bittikten sonra docker ps komutunu kullanıyoruz. Eğer aşağıdakine benzer bir şeyler görüyorsanız tebrikler Plausible Analytics Docker'da sorunsuz şekilde çalışıyor.
sudo docker ps
Artık sitemize gidip giriş yapabiliriz. 🎉
Plausible Analytics Panel Kurulum Adımları
Burada kurulumun son aşamasına geldik. Plausible Analytics panelinde bilgilerinizi kendinize göre doldurmanız gerekiyor. Eğer şifre sıfırlama gibi ek özellikler kullanmak isterseniz, SMTP ayarlarını yapmanız gerekiyor. Bu yazıda detayına girmedim ama Plausible’ın dökümantasyonunda tüm adımlar açıklanıyor. Sadece .env
dosyanıza birkaç satır ekleyerek aktif hale getirebilirsiniz.
Olası Bir Hata: SSL ve WebSocket Sorunu
Siteyi görüyorsunuz fakat bir şeyler yolunda gitmiyorsa mesela "Create my account" butonuna tıkladığınız halde hiçbir şey olmuyorsa, tarayıcınızın console'una bir göz atın.
Eğer console üzerinde WebSocket ile ilgili bir hata görürseniz, muhtemelen SSL yapılandırmasında ufak bir eksiklik var.
Ama hemen endişelenmeyin, çözümü çok kolay: Nginx konfigürasyonuna geri dönün ve eksik olan şu satırları location bloğuna ekleyin:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
Ardından da nginx'i reload edin.
sudo systemctl reload nginx
Bu adımdan sonra her şey yoluna girmeli!
Analytics Bilgilerini İzlemek
Şimdi sıra, hangi sitenizin analytics bilgilerini izleyeceğinizi seçmekte. Panelde sitenizin adresini ve raporlama saati için uygun bir timezone seçiyorsunuz. Bu adımı tamamladıktan sonra, ileride başka sitelerinizi de kolayca ekleyebilirsiniz.
Bu ekranı görüyorsanız sitenize farklı bir sekmeden giriş yapın ve 🥳
Gerçek Kurabiye Zamanı 🍪
Hepsi bu kadar! Artık bir bardak kahve ve bir kaç tane kurabiye alıp arkanıza yaslanabilir ve sitenizin analytics verilerini keyifle izleyebilirsiniz.☕ 🍪
Iki haftada bir e-posta yoluyla içerikleri sizlere gönderiyorum.