Raspberry Pi'de Plausible Analytics Çalıştırma

Bu yazı, PiMyLifeUp - Running Plausible Analytics on the Raspberry Pi kaynağından Türkçe'ye çevrilerek hazırlanmıştır.

Bu eğitimde, Raspberry Pi'de Plausible Analytics platformunu nasıl çalıştıracağınızı göstereceğiz.

Raspberry Pi Plausible Analytics

Plausible, ziyaretçilerinizin verilerini özel tutmanızı ve kontrolünüzde bulundurmanızı sağlayan bir web sitesi analiz platformudur.

Hem hafif hem de açık kaynaklı olan Google Analytics'e sağlam bir alternatiftir. Yüksek trafikli bir web sitesi çalıştırmıyorsanız, hatta bir Raspberry Pi üzerinden bile çalıştırabilirsiniz.

Aşağıdaki bölümlerde, Plausible Analytics'i nasıl kuracağınızı ve Raspberry Pi'nizde çalışacak şekilde nasıl yapılandıracağınızı göstereceğiz.

Raspberry Pi'de Plausible Analytics, bir Docker konteyneri aracılığıyla kurulması sayesinde nispeten basit bir süreçtir. Ancak, ARM tabanlı sistemimizde çalışması için bazı ayarlamalar yapmamız gerekecek.

Raspberry Pi'nize Plausible Analytics Kurulumu

Aşağıdaki bölümlerde, Raspberry Pi'nizde Plausible Analytics'i çalışır hale getireceksiniz.

Devam etmeden önce, analiz verisi toplamak istediğiniz bir web sitenize ihtiyacınız olacak. Bu yazılımı düzgün kullanmak için bir alan adına da ihtiyacınız olacak.

Gerekli Paketleri Kurma

1. İlk adımımız paket listesini güncellemek ve güncel olmayan tüm paketleri yükseltmektir.

Terminalde aşağıdaki iki komutu kullanarak Raspberry Pi işletim sisteminizi güncelleyebilirsiniz.

sudo apt update
sudo apt upgrade -y

2. Ardından, Git, NGINX ve Certbot kurmak isteyeceksiniz.

Plausible analytics kendi kendine barındırma deposunu Pi'mize klonlamak için git kullanacağız. Ayrıca, Raspberry Pi'mize NGINX de kuruyoruz. Bu web sunucusu, HTTPS'yi desteklemediğinden Plausible için ters proxy görevi görür.

sudo apt install git nginx certbot python3-certbot-nginx

3. Güncelleme tamamlandıktan sonra, Docker kurmaya geçmeniz gerekecek.

Devam etmeden önce, Raspberry Pi'ye Docker kurma rehberimizi takip edin. Bu rehber, Docker'ı cihazınızda doğru şekilde çalışır hale getirecektir.

Raspberry Pi'ye Plausible Analytics'i Klonlama

4. Şimdi "/opt" dizinine geçmek için cd komutunu kullanabiliriz.

Bu dizin, Plausible gibi isteğe bağlı yazılımları saklamak için mükemmel bir yerdir.

cd /opt

5. Bu dizin içinde, Plausible Analytics kendi kendine barındırma temelini Raspberry Pi'mize klonlamak istiyoruz.

Sonunda "plausible" belirterek, ona depoyu "plausible" adlı bir dizine klonlamasını söylüyoruz.

sudo git clone https://github.com/plausible/hosting plausible

6. Şimdi aşağıdaki komutu kullanarak "plausible" dizinine geçmemiz gerekiyor.

cd plausible

Plausible'ın İlk Yapılandırması

7. Bir sonraki adımımız, Plausible için gizli anahtar tabanı olarak kullanılabilecek rastgele bir hash oluşturmaktır.

Aşağıdaki komutu kullanarak kullanılabilir bir hash oluşturabilirsiniz. Sonraki adımlarda kullanacağımızdan bunu not edin.

openssl rand 64 | base64 -w 0 ; echo

Bu komut tarafından oluşturulan değere bir örnek aşağıdadır. Bunu kendi anahtarınız için kullanmayın.

qS7IxUUaOzq/x8TUk7UwZ3oxYBnYmJ1jmGAnXdcdjlBaV644fDEB6rMBQGLcEJdgznXUpCYITNuIBx7en970fw==

8. Şimdi aşağıdaki komutu kullanarak Raspberry Pi'nizde Plausible ortam dosyasını düzenleyebiliriz.

sudo nano plausible-conf.env

9. Bu dosyanın içinde, aşağıdaki satırları bulacaksınız. "replace-me" olarak etiketlenmiş iki değeri değiştirmeniz gerekecek.

  • BASE_URL: Bu değeri, Plausible analytics URL'nize erişmeyi planladığınız yolla değiştirin. Bu "http" veya "https" ile başlayabilir ve yalnızca Plausible analytics arayüzü içinde URL oluşturmak için kullanılır. Bunun için geçerli bir ayar örneği "https://analytics.pimylifeup.com" veya "http://192.168.0.134" olurdu.

  • SECRET_KEY_BASE: Bu değeri, bu rehberin 7. adımında oluşturduğunuzla değiştirmelisiniz.

    BASE_URL=replace-me
    SECRET_KEY_BASE=replace-me

10. Bu dosya için geçerli bir yapılandırma örneği aşağıda gösterdiğimize biraz benzer olurdu.

Örneğimizde, temel URL'nin bir parçası olarak Raspberry Pi'mizin yerel IP adresini kullanıyoruz.

BASE_URL=http://192.168.0.134
SACRET_KEY_BASE=qS7IxUUaOzq/x8TUk7UwZ3oxYBnYmJ1jmGAnXdcdjlBaV644fDEB6rMBQGLcEJdgznXUpCYITNuIBx7en970fw==

11. Yapılandırmadan memnun olduğunuzda, CTRL + X, ardından Y, sonra ENTER tuşuna basarak kaydedip çıkın.

Docker Compose Dosyasını Değiştirme

12. Raspberry Pi'nizde Plausible Analytics'e erişmek için bir ters proxy kullanmayı planladığımızdan, "docker-compose.yml" dosyasını değiştirmemiz gerekiyor.

Bu dosyayı aşağıdaki komutu kullanarak değiştirmeye başlayabilirsiniz.

sudo nano docker-compose.yml

13. Bu dosyanın içinde aşağıdaki satırı bulmak isteyeceksiniz. "plausible:" başlığının altında olmalıdır.

  - 8000:8000

14. Yukarıdaki değeri bulduktan sonra, aşağıdakiyle değiştirin.

Bunu yapmak, Plausible'a yalnızca Pi'nin localhost'u üzerinden erişilebilmesini sağlayacaktır.

Bu değişiklik, birinin Raspberry Pi'mizde doğrudan Plausible'a erişip ters proxy'yi atlamasını engeller.

  - 127.0.0.1:8000:8000

15. Ardından, Clickhouse'un daha eski bir sürümünü kullanmak için Docker compose dosyasını değiştirmemiz gerekiyor. Yeni sürümler artık Raspberry Pi'de çalışmıyor gibi görünüyor.

Bu klasörün içinde aşağıdaki satırı bulun.

    image: clickhouse/clickhouse-server:23.3.7.5-alpine

16. Şimdi bu satırı aşağıdaki satırla değiştirin.

    image: clickhouse/clickhouse-server:22.6-alpine

17. Ayrıca, Raspberry Pi'de Plausible analytics için bir smtp sunucusu sağlamak amacıyla kullanılan Docker konteynerini de değiştirmemiz gerekiyor.

Mevcut sürüm, ARM sistemleri için bir derlemeye sahip değil.

image: bytemark/smtp

18. Yukarıdaki satırı aşağıdakiyle değiştirmek isteyeceksiniz. Bu alternatif konteyner güvenli bir yedek olarak çalışmalı ve ARM64 desteğine sahip.

    image: ixdotai/smtp

19. Yukarıdaki değişikliği yaptıktan sonra, CTRL + X, ardından Y, sonra ENTER tuşuna basarak kaydedip çıkın.

Raspberry Pi'de Plausible Analytics İçin Bir Ters Proxy Kurma

20. Bir sonraki adımımız, Raspberry Pi'mizde NGINX'i Plausible analytics için bir ters proxy görevi görecek şekilde yapılandırmaktır.

Endişelenmeyin. Bu süreç nispeten basittir ve aynı zamanda Plausible'a https desteği eklemenin de yoludur.

Aşağıdaki komutu kullanarak Plausible için bir sanal ana bilgisayar (virtual host) yazmaya başlayın.

sudo nano /etc/nginx/sites-available/plausible.conf

21. Bu dosyanın içine aşağıdaki satırları eklemek isteyeceksiniz. Bu, 80 (HTTP) portunda dinleyen basit bir ana bilgisayar oluşturur. Kısa süre içinde SSL desteği ekleyeceğiz.

NGINX belirtilen alan adı için bir istek aldığında, bunu Raspberry Pi'mizdeki Plausible Analytics'e iletecektir.

Aşağıdaki satırları yazarken, "<DOMAINNAME>" kısmını Plausible ile kullanmayı düşündüğünüz alan adıyla değiştirin.

Bunu yerel ağınızda test ediyorsanız, alt çizgi (_) ile değiştirin. Başka herhangi bir sitenin etkin olmadığından emin olun, çünkü bu, Plausible Analytics'i varsayılan NGINX ana bilgisayarı olarak kullanılabilir hale getirir.

server {
    listen       80;
    listen       [::]:80;
    server_name  <DOMAINNAME>;

    access_log  /var/log/nginx/plausible.access.log;
    error_log   /var/log/nginx/plausible.error.log;

    location / {
      proxy_pass http://localhost:8000;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

22. Yukarıdaki satırları dosyaya ekledikten sonra, CTRL + X, ardından Y, sonra ENTER tuşuna basarak kaydedip çıkın.

23. NGINX yapılandırma dosyasıyla, onu mevcut klasöründen "sites-enabled" dizinine bağlayan sembolik bir bağlantı (symbolic link) oluşturmamız gerekiyor.

Aşağıdaki komutu kullanarak bu sembolik bağlantıyı oluşturun.

sudo ln -s /etc/nginx/sites-available/plausible.conf /etc/nginx/sites-enabled/

24. Yapılandırma dosyası artık oluşturulduğuna göre, NGINX'e yapılandırmasını yeniden yüklemesini söylememiz gerekiyor.

sudo systemctl reload nginx

Plausible Analytics'e HTTPS Ekleme

25. Plausible Analytics'i bir üretim ortamında kullanmayı düşünmüyorsanız veya bir alan adınız yoksa, 23. adıma geçin.

Aksi takdirde, NGINX ters proxy'nize HTTPS desteği eklemek için aşağıdaki adımlarla devam edin.

26. Certbot, NGINX'e çok basit bir şekilde bir SSL sertifikası eklememizi sağlar.

Yapmanız gereken tek şey, terminalde aşağıdaki komutu çalıştırmaktır. "<DOMAINNAME>" kısmını kullandığınız alan adıyla değiştirdiğinizden emin olun.

sudo certbot --nginx -d <DOMAINNAME>

Certbot, HTTPS desteği eklemek için yapılandırma dosyanızı otomatik olarak yeniden yapılandıracaktır.

Raspberry Pi'de Plausible Analytics'i Açma

27. Sonunda Plausible Analytics'e geçmeye hazırız.

Plausible'ı açmak için, sadece aşağıdaki komutu kullanmamız gerekiyor. Bu komut, Docker'a sağlanan "docker-compose" dosyasını kullanarak konteyneri başlatmasını söyler.

"-d" komutunu kullanarak, Docker'a konteynerleri ayrılmış (detached) bir durumda başlatmasını söylüyoruz. Yeniden başlatmalarda bile, konteyneri kapatana kadar çalışmaya devam edecekler.

sudo docker compose up -d

Plausible Analytics Web Arayüzüne Erişim

28. Artık Plausible Analytics web sitesi arayüzüne erişebilirsiniz.

Web arayüzüne ulaşmak için, ters proxy'yi kurarken belirttiğiniz alan adını ziyaret etmek isteyeceksiniz. Bunu bir IP adresi kullanarak test ediyorsanız, bunun yerine onu kullanmak isteyeceksiniz.

29. Raspberry Pi'nizin Plausible Analytics kurulumunu ilk kez açtığınızda, bir kullanıcı kaydetmeniz istenecektir.

Hesabınız için bilgileri doldurarak başlayın (1.).

Bilgilerinizi doldurduktan sonra, "Create my account" düğmesine tıklayın (2.).

Raspberry Pi'de Plausible Analytics Hesabınıza Kaydolma

30. Ardından, analiz verisi toplamayı düşündüğünüz web sitesinin alan adını (1.) belirtmeniz istenecektir.

Ayrıca raporlama saat dilimini de seçebilirsiniz (2.). Bu saat dilimi, aldığı verileri hizalamanıza yardımcı olur.

Her iki değeri de doldurduktan sonra, "Add snippet" düğmesine tıklayın (3.).

İlk Web Sitenizi Plausible'a Ekleme

31. Şimdi size bir JavaScript kod parçacığı (snippet) verilecek. Takibe başlaması için bu kod parçacığını web sitenize kopyalamanız gerekecek.

Plausible JavaScript kod parçacığı

32. Raspberry Pi'nizin Plausible Analytics kurulumu, kod parçacığı ilk sayfa görüntülemesini yakalayana kadar bekleyecektir.

Raspberry Pi, Plausible'ın ilk sayfa görüntülemesini bekliyor

33. Aşağıda, bazı veriler yakaladıktan sonra Plausible Analytics'in nasıl göründüğüne dair bir örnek bulunmaktadır.

Plausible'ın Pi'de nasıl çalıştığını anlamak ve bazı veriler toplamak için bunu birkaç gün boyunca örnek bir web sitesinde çalıştırdık.

Raspberry Pi Plausible Analytics Gösterge Paneli

Sonuç

Umarız bu noktada, artık Raspberry Pi'nizde Plausible Analytics çalışıyor olacaktır.

Bu yazılım, Google Analytics gibi hizmetlere mükemmel bir açık kaynaklı alternatiftir. Hepsinden iyisi, kendi kendine barındırıldığından, verilerinizin kontrolü tamamen sizde kalır.

Bu yazılımı çalıştırmakta herhangi bir sorunla karşılaşırsanız, lütfen aşağıya yorum bırakın.