Matomo Web Analitik Aracının Ubuntu 20.04 Üzerine Kurulumu
Giriş
Web sitenizin performansını anlamak, kullanıcı davranışlarını analiz etmek ve dijital pazarlama stratejilerinizi optimize etmek için analitik araçlar vazgeçilmezdir. Bu alanda en bilinen araçlardan biri Google Analytics olsa da, veri gizliliği endişeleri ve veri sahipliği kontrolü arayışı, birçok kuruluş ve geliştiriciyi açık kaynaklı alternatiflere yöneltmektedir. Matomo (eski adıyla Piwik), bu alternatifler arasında öne çıkan, güçlü ve esnek bir web analitik platformudur. Kendi sunucunuzda barındırabileceğiniz Matomo, size verileriniz üzerinde tam kontrol sağlar, böylece üçüncü taraf veri toplama politikalarına bağlı kalmazsınız.
Matomo’nun temel avantajları arasında veri gizliliğine odaklanması, kendi sunucunuzda barındırma seçeneği sunması (self-hosted), kapsamlı raporlama yetenekleri, kullanıcı dostu arayüzü ve genişletilebilir eklenti mimarisi yer alır. Bu makalede, Matomo web analitik aracını Ubuntu 20.04 (Focal Fossa) işletim sistemi üzerine nasıl kuracağınızı adım adım, detaylı bir şekilde anlatacağız. Kurulum sürecinde Apache web sunucusu, MariaDB veritabanı ve PHP kullanılacaktır.
Önkoşullar
Matomo’yu başarıyla kurmak için sisteminizin belirli gereksinimleri karşılaması ve gerekli yazılımların hazır olması gerekir.
Donanım Gereksinimleri
Matomo’nun performanslı çalışabilmesi için minimum donanım gereksinimleri şunlardır:
* İşlemci (CPU): En az 1 çekirdekli, tercihen 2 çekirdekli veya daha fazlası.
* Bellek (RAM): Küçük siteler için 256MB yeterli olabilir ancak orta veya büyük siteler için en az 1GB, tercihen 2GB veya daha fazlası önerilir. Veri miktarı arttıkça RAM ihtiyacı da artacaktır.
* Disk Alanı: Matomo çekirdek dosyaları yaklaşık 100MB yer kaplar. Ancak, toplanacak veri miktarı, ziyaretçi sayısı ve saklama süresine bağlı olarak disk alanı ihtiyacı önemli ölçüde artacaktır. En az 10GB, tercihen 20GB veya daha fazlası önerilir. SSD diskler performans açısından avantaj sağlayacaktır.
Yazılım Gereksinimleri
Matomo, bir LAMP (Linux, Apache, MySQL/MariaDB, PHP) veya LEMP (Linux, Nginx, MySQL/MariaDB, PHP) yığını üzerinde çalışır. Bu makalede LAMP yığınına odaklanacağız.
* İşletim Sistemi: Ubuntu 20.04 LTS (Focal Fossa).
* Web Sunucusu: Apache 2.4 veya üzeri.
* Veritabanı: MySQL 5.5 veya üzeri ya da MariaDB 5.5 veya üzeri. Bu makalede MariaDB kullanılacaktır.
* PHP: PHP 7.2.5 veya üzeri. Matomo’nun tüm özelliklerini kullanabilmek için PHP’nin belirli eklentilere sahip olması gerekmektedir. Bu eklentiler kurulum sırasında belirtilecektir.
Sistem Güncelleme ve Temel Bağımlılıkların Kurulumu
Kuruluma başlamadan önce sisteminizin güncel olduğundan emin olmak ve gerekli temel paketleri yüklemek önemlidir.
Sistem Güncellemesi
Öncelikle sunucunuzdaki paket listesini güncelleyin ve yüklü paketleri en son sürümlerine yükseltin:
sudo apt update
sudo apt upgrade -y
Bu komutlar, sisteminizi güvende tutar ve olası bağımlılık sorunlarını minimize eder.
Apache Web Sunucusunun Kurulumu
Matomo’ya web üzerinden erişim sağlamak için bir web sunucusuna ihtiyacımız var. Bu makalede Apache 2 kullanılacaktır.
sudo apt install apache2 -y
Kurulum tamamlandıktan sonra Apache servisinin çalıştığını ve sistem açılışında otomatik başlamak üzere ayarlandığını kontrol edebilirsiniz:
sudo systemctl status apache2
Çıktıda active (running) ifadesini görmelisiniz. Eğer sunucunuzda bir güvenlik duvarı (UFW) etkinse, Apache’ye izin vermeniz gerekir:
sudo ufw allow 'Apache Full'
sudo ufw enable # Eğer etkin değilse
sudo ufw status
MariaDB Veritabanı Sunucusunun Kurulumu
Matomo verilerini depolamak için bir veritabanı sunucusuna ihtiyacımız var. MariaDB, MySQL ile uyumlu ve açık kaynaklı popüler bir seçenektir.
sudo apt install mariadb-server -y
MariaDB kurulumundan sonra servisinin çalıştığını doğrulayın:
sudo systemctl status mariadb
Yine active (running) çıktısını görmelisiniz.
PHP ve Gerekli Eklentilerin Kurulumu
Matomo, PHP ile yazılmış bir uygulamadır. Dolayısıyla sunucunuzda PHP’nin ve Matomo’nun ihtiyaç duyduğu belirli eklentilerin yüklü olması gerekir.
sudo apt install php libapache2-mod-php php-mysql php-cli php-gd php-curl php-xml php-mbstring php-intl php-zip php-json php-gmp php-bcmath -y
Bu komutlar, PHP’nin kendisini, Apache için PHP modülünü ve Matomo’nun temel gereksinimlerini karşılayan eklentileri yükleyecektir:
* php-mysql: MariaDB/MySQL veritabanı bağlantısı için.
* php-cli: Komut satırı PHP betiklerini çalıştırmak için (Matomo cron job’ları için gereklidir).
* php-gd: Görüntü işleme ve grafik oluşturma için.
* php-curl: URL’lerden veri almak için.
* php-xml: XML verilerini işlemek için.
* php-mbstring: Çok baytlı karakter dizileri için.
* php-intl: Uluslararasılaştırma desteği için.
* php-zip: Zip dosyalarını işlemek için.
* php-json: JSON verilerini işlemek için.
* php-gmp: Büyük tam sayı matematik işlemleri için (Matomo 4.x için önerilir).
* php-bcmath: Arbitrary Precision Mathematics desteği için (Matomo 4.x için önerilir).
PHP Yapılandırma Ayarlarının Düzenlenmesi
Matomo’nun sorunsuz çalışması için PHP’nin bazı varsayılan ayarlarını düzenlememiz gerekebilir. Özellikle memory_limit, upload_max_filesize ve max_execution_time gibi değerler Matomo’nun büyük veri setlerini işlemesi veya eklenti yüklemeleri sırasında önemlidir.
PHP yapılandırma dosyası genellikle /etc/php/7.4/apache2/php.ini yolunda bulunur (PHP sürümüne göre 7.4 değişebilir).
sudo nano /etc/php/7.4/apache2/php.ini
Aşağıdaki değerleri bulup, Matomo’nun önerdiği veya daha yüksek değerlerle güncelleyin:
* memory_limit = 256M (Tercihen 512M veya daha fazlası)
* upload_max_filesize = 64M
* post_max_size = 64M
* max_execution_time = 300 (Matomo arşivleme işlemleri için daha uzun bir süre gerekebilir)
* max_input_vars = 10000 (Matomo’nun bazı formları için önerilir)
Değişiklikleri kaydettikten sonra Apache servisini yeniden başlatın ki yeni PHP ayarları etkin olsun:
sudo systemctl restart apache2
Veritabanı Kurulumu ve Yapılandırması
Matomo için özel bir veritabanı ve bu veritabanına erişebilecek bir kullanıcı oluşturmamız gerekiyor.
MariaDB Güvenlik Betiğinin Çalıştırılması
MariaDB kurulumundan sonra güvenlik betiğini çalıştırmak, root şifresi belirlemek, anonim kullanıcıları kaldırmak, root uzaktan girişini engellemek ve test veritabanını silmek gibi önemli güvenlik adımları atmanızı sağlar.
sudo mysql_secure_installation
Bu betik size birkaç soru soracaktır:
1. Enter current password for root (enter for none): İlk kurulumda root şifresi olmadığı için direkt Enter tuşuna basın.
2. Set root password? [Y/n] Y tuşuna basarak güçlü bir root şifresi belirleyin.
3. Remove anonymous users? [Y/n] Y tuşuna basın.
4. Disallow root login remotely? [Y/n] Y tuşuna basın (güvenlik için).
5. Remove test database and access to it? [Y/n] Y tuşuna basın.
6. Reload privilege tables now? [Y/n] Y tuşuna basın.
Matomo Veritabanı ve Kullanıcısının Oluşturulması
Şimdi Matomo için bir veritabanı ve bu veritabanına özel bir kullanıcı oluşturalım.
MariaDB kabuğuna root kullanıcısı olarak giriş yapın:
sudo mysql -u root -p
Parolanızı girdikten sonra aşağıdaki SQL komutlarını çalıştırın (kullanıcı adı ve şifreyi kendi tercihlerinize göre değiştirin):
CREATE DATABASE matomo_db;
CREATE USER 'matomo_user'@'localhost' IDENTIFIED BY 'GucluSifreniz!';
GRANT ALL PRIVILEGES ON matomo_db.* TO 'matomo_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
* matomo_db: Matomo için oluşturulacak veritabanının adı.
* matomo_user: Matomo’nun veritabanına bağlanmak için kullanacağı kullanıcı adı.
* GucluSifreniz!: matomo_user için belirleyeceğiniz güçlü şifre.
Web Sunucusu Yapılandırması
Matomo dosyalarını barındıracak bir dizin oluşturup, Apache’yi bu dizini servis edecek şekilde yapılandırmamız gerekiyor.
Apache İçin Sanal Host Oluşturma
Matomo’yu genellikle kendi alan adınız altında çalıştırmak istersiniz (örneğin, analytics.example.com). Bunun için Apache’de bir sanal host (Virtual Host) yapılandırması oluşturmalıyız.
Öncelikle Matomo dosyalarını yerleştireceğimiz bir dizin oluşturalım:
sudo mkdir -p /var/www/matomo
Şimdi Matomo için bir sanal host yapılandırma dosyası oluşturalım:
sudo nano /etc/apache2/sites-available/matomo.conf
Dosyanın içine aşağıdaki içeriği yapıştırın. analytics.example.com yerine kendi alan adınızı yazmayı unutmayın. Eğer bir alan adınız yoksa, sunucunuzun IP adresini kullanabilir ve ServerName satırını yorum satırı yapabilirsiniz.
ServerAdmin webmaster@localhost
ServerName analytics.example.com # Kendi alan adınızı buraya yazın
DocumentRoot /var/www/matomo
Options FollowSymLinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/matomo_error.log
CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined
Sanal host dosyasını kaydedin ve kapatın. Şimdi bu sanal host’u etkinleştirelim ve Apache’yi yeniden başlatalım:
sudo a2ensite matomo.conf
sudo a2dissite 000-default.conf # Varsayılan sanal host'u devre dışı bırakmak isteyebilirsiniz
sudo systemctl reload apache2
a2dissite 000-default.conf komutu, Apache’nin varsayılan “It works!” sayfasını devre dışı bırakarak Matomo’nun alan adınız veya IP adresiniz üzerinden erişilebilir olmasını sağlar.
Gerekli Apache Modüllerinin Etkinleştirilmesi
Matomo’nun URL yeniden yazma (pretty URLs) gibi özelliklerini kullanabilmesi için Apache’nin rewrite modülünün etkinleştirilmesi gerekir.
sudo a2enmod rewrite
sudo systemctl restart apache2
Matomo İndirme ve Kurulumu
Şimdi Matomo yazılımını indirelim, web sunucusu dizinimize yerleştirelim ve doğru dosya izinlerini ayarlayalım.
Matomo Paketinin İndirilmesi
Matomo’nun en son kararlı sürümünü resmi web sitesinden indireceğiz. İndirme işlemi için wget komutunu kullanabiliriz.
Öncelikle geçici bir dizine gidelim:
cd /tmp
Şimdi Matomo’nun en son sürümünü indirin:
wget https://builds.matomo.org/matomo.zip
Matomo Dosyalarının Çıkartılması ve Taşıma
İndirilen zip dosyasını açalım ve içeriğini Matomo için oluşturduğumuz web sunucusu dizinine taşıyalım.
sudo unzip matomo.zip -d /var/www/
Bu komut, /var/www/matomo dizinine Matomo dosyalarını açacaktır.
Dosya İzinlerinin Ayarlanması
Matomo’nun düzgün çalışabilmesi, eklentileri yükleyebilmesi ve raporları oluşturabilmesi için web sunucusu kullanıcısının (Ubuntu’da genellikle www-data) Matomo dizini üzerinde yazma izinlerine sahip olması gerekir.
sudo chown -R www-data:www-data /var/www/matomo
sudo chmod -R 755 /var/www/matomo
Bu komutlar, Matomo dizininin sahipliğini www-data kullanıcısına ve grubuna verir ve dizinler için 755, dosyalar için 644 (veya 755 izinleri) ayarlar. Matomo’nun kurulumu sırasında veya sonrasında bazı dizinler için daha spesifik yazma izinleri isteyebilir (örneğin tmp/ dizini). Gerekirse Matomo’nun web arayüzü bu konuda sizi uyaracaktır.
Web Arayüzü Üzerinden Matomo Kurulumunun Tamamlanması
Tüm arka plan hazırlıkları tamamlandıktan sonra, Matomo’nun kurulumunu bir web tarayıcısı üzerinden tamamlayabiliriz.
Tarayıcı Üzerinden Kurulum Adımları
Bir web tarayıcısı açın ve Matomo’ya erişmek için belirlediğiniz alan adını veya sunucunuzun IP adresini yazın (örneğin, http://analytics.example.com veya http://sunucu_ip_adresiniz).
Matomo kurulum sihirbazı sizi adım adım yönlendirecektir:
1. Hoş Geldiniz!: Matomo kurulum ekranı ile karşılaşacaksınız. “İleri” butonuna tıklayın.
2. Sistem Kontrolü: Matomo, sunucunuzun tüm gereksinimleri karşılayıp karşılamadığını kontrol edecektir. Her şey doğru yapılandırıldıysa, tüm öğelerin yeşil tik ile işaretlendiğini görmelisiniz. Eğer herhangi bir uyarı veya hata varsa, ilgili PHP eklentisinin yüklenmediğini veya PHP yapılandırmasının yetersiz olduğunu gösterir. Gerekli düzeltmeleri yapıp sayfayı yenileyin. “İleri” butonuna tıklayın.
3. Veritabanı Kurulumu: Bu adımda, daha önce oluşturduğumuz veritabanı bilgilerini girmeniz gerekecek:
* Veritabanı Sunucusu: localhost
* Kullanıcı Adı: matomo_user (kendi belirlediğiniz kullanıcı adı)
* Şifre: GucluSifreniz! (kendi belirlediğiniz şifre)
* Veritabanı Adı: matomo_db (kendi belirlediğiniz veritabanı adı)
* Tablo Öneki: Varsayılan olarak matomo_ kalabilir. Eğer aynı veritabanında başka Matomo kurulumları yapacaksanız farklı bir önek kullanabilirsiniz.
* “İleri” butonuna tıklayın. Matomo veritabanı tablolarını oluşturacaktır.
4. Süper Kullanıcı Oluşturma: Matomo’ya giriş yapacak ilk yönetici (Süper Kullanıcı) hesabını oluşturun. Bu hesap, Matomo’daki tüm verilere ve ayarlara tam erişime sahip olacaktır.
* Kullanıcı Adı: Yönetici için bir kullanıcı adı belirleyin.
* Şifre: Güçlü bir şifre belirleyin ve tekrar girin.
* E-posta: Yönetici e-posta adresini girin.
* “İleri” butonuna tıklayın.
5. İlk Web Sitesi Kurulumu: Analiz etmek istediğiniz ilk web sitesini ekleyin.
* Web Sitesi Adı: Web sitenizin adı (örneğin, “My Blog” veya “Company Website”).
* Web Sitesi URL’si: Web sitenizin tam URL’si (örneğin, https://www.example.com).
* Saat Dilimi: Web sitenizin bulunduğu saat dilimini seçin.
* “İleri” butonuna tıklayın.
6. JavaScript Takip Kodu: Matomo, web sitenize eklemeniz gereken bir JavaScript takip kodu sağlayacaktır. Bu kodu kopyalayın ve web sitenizin her sayfasında etiketinden hemen önce yapıştırın. Bu kod, ziyaretçi verilerini Matomo sunucunuza gönderecektir.
7. Tebrikler!: Kurulum tamamlandı. Matomo’ya giriş yapmak için “Matomo’ya devam et” butonuna tıklayın.
Cron Job Kurulumu
Matomo, geçmiş verileri arşivlemek ve raporları önbelleğe almak için düzenli olarak çalışan bir arka plan görevine (cron job) ihtiyaç duyar. Bu, Matomo arayüzünün hızlı kalmasını ve büyük veri setlerinde bile performans göstermesini sağlar.
Matomo Arşivleme İçin Cron Görevi Oluşturma
www-data kullanıcısı için bir cron job oluşturacağız. Bu, Matomo’nun doğru izinlerle çalışmasını sağlar.
sudo crontab -u www-data -e
Açılan dosyaya aşağıdaki satırı ekleyin. Bu komut, her saat başı Matomo’nun arşivleme betiğini çalıştıracaktır.
0 /usr/bin/php /var/www/matomo/console core:archive --url=http://analytics.example.com/ > /dev/null
0 *: Her saat başında çalışacak şekilde ayarlar.
* /usr/bin/php: PHP CLI yorumlayıcısının yolu.
* /var/www/matomo/console: Matomo’nun komut satırı aracı.
* core:archive: Arşivleme komutu.
* --url=http://analytics.example.com/: Matomo kurulumunuzun URL’si. HTTPS kullanıyorsanız https:// olarak değiştirin. Bu URL, Matomo’nun arşivleme sırasında kendi API’sine bağlanması için gereklidir.
* > /dev/null: Komutun çıktısını susturur. Hataları bir dosyaya yönlendirmek isterseniz >> /var/log/matomo-archive.log 2>&1 gibi bir ifade kullanabilirsiniz.
Dosyayı kaydedin ve kapatın. Cron job artık etkinleştirilmiştir.
Güvenlik İpuçları
Matomo kurulumunuzun güvenliğini sağlamak, verilerinizin korunması ve yasal uyumluluk açısından kritik öneme sahiptir.
HTTPS Kullanımı
Matomo’ya erişim ve web sitenizden Matomo’ya veri gönderimi sırasında tüm iletişimin şifrelenmesi için HTTPS kullanmak zorunludur. Let’s Encrypt gibi ücretsiz bir SSL/TLS sertifikası sağlayıcısı ile kolayca HTTPS’i etkinleştirebilirsiniz.
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d analytics.example.com
Bu komutlar, Certbot’u yükler ve Apache için otomatik olarak bir SSL sertifikası yapılandırır. Sertifika kurulumu sırasında Certbot size bazı sorular soracaktır (e-posta adresi, hizmet şartlarını kabul etme, HTTP trafiğini HTTPS’e yönlendirme gibi).
Güçlü Şifreler ve Kullanıcı Yönetimi
* Süper Kullanıcı Şifresi: Matomo Süper Kullanıcı hesabınız için çok güçlü, benzersiz bir şifre kullanın.
* Veritabanı Şifresi: MariaDB root kullanıcısı ve Matomo veritabanı kullanıcısı için güçlü şifreler kullanın.
* Diğer Kullanıcılar: Matomo’da başka kullanıcılar oluşturursanız, onlara yalnızca ihtiyaç duydukları izinleri verin ve güçlü şifreler kullanmalarını sağlayın.
Dosya ve Dizin İzinleri
Matomo dizini için ayarladığınız chown ve chmod izinleri genel olarak yeterlidir. Ancak, Matomo’nun web arayüzü bazen belirli dosyalar veya dizinler için daha kısıtlayıcı izinler önerebilir. Güvenlik için, Matomo’nun config/config.ini.php gibi hassas dosyalarının sadece web sunucusu kullanıcısı tarafından okunabilir olduğundan emin olun.
sudo chmod 640 /var/www/matomo/config/config.ini.php
Bu, dosyanın yalnızca sahibi (www-data) ve www-data grubundaki kullanıcılar tarafından okunabilmesini sağlar.
Güvenlik Duvarı (UFW) Yapılandırması
Yalnızca gerekli portlara (HTTP için 80, HTTPS için 443, SSH için 22) izin vererek sunucunuzu dışarıdan gelebilecek saldırılara karşı koruyun.
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full' # Bu, hem 80 hem de 443 portlarına izin verir
sudo ufw enable
sudo ufw status
Sonuç
Bu detaylı rehberde, Matomo web analitik aracını Ubuntu 20.04 sunucunuza Apache, MariaDB ve PHP kullanarak nasıl kuracağınızı adım adım öğrendiniz. Kendi kendine barındırılan bir Matomo kurulumu, size web sitenizin verileri üzerinde tam kontrol ve gizlilik sağlar, böylece üçüncü taraf veri toplama politikalarına bağımlı kalmazsınız.
Kurulum sürecinde sistem güncellemelerinden temel bağımlılıkların yüklenmesine, veritabanı ve web sunucusu yapılandırmasından Matomo dosyalarının hazırlanmasına ve son olarak web arayüzü üzerinden kurulumun tamamlanmasına kadar her adımı ele aldık. Ayrıca, Matomo’nun düzenli çalışması için cron job ayarlamayı ve kurulumunuzun güvenliğini sağlamak için önemli ipuçlarını paylaştık.
Artık Matomo’nun güçlü analitik özelliklerini kullanarak web sitenizin performansını izlemeye, ziyaretçi davranışlarını anlamaya ve dijital stratejilerinizi optimize etmeye hazırsınız. Verileriniz sizin kontrolünüzde, gizliliğiniz güvende! Matomo’nun sunduğu eklentileri keşfederek veya özelleştirilmiş raporlar oluşturarak analitik deneyiminizi daha da zenginleştirebilirsiniz.