Raspberry Pi ownCloud: Kişisel Bulut Depolamanız

Bu yazı, PiMyLifeUp - Raspberry Pi ownCloud: Your Personal Cloud Storage kaynağından Türkçe'ye çevrilerek hazırlanmıştır.

Bu projede, Raspberry Pi'de bir ownCloud sunucusu kuracağız. Bu sunucu, kendi kişisel bulut depolamanız olarak görev yapabilir.

Raspberry Pi ownCloud

Gizliliğinizi korumak giderek zorlaştıkça, dosyalarınızı özel, self-hosted bir bulut depolamaya taşımayı düşünüyor olabilirsiniz. Durum buysa, bu eğitim tam size göre.

ownCloud web arayüzü, Dropbox, Google Drive ve daha fazlası gibi mevcut birçok bulut depolama sağlayıcısına çok benzer. Bu benzerlik, self-hosted yazılıma geçişi çok daha kolay hale getirecektir.

Veriniz ev ağınızda saklanacağından, ağınız dışından dosya yükleyip indirirseniz daha fazla bant genişliği kullanacağınızı hatırlamak önemlidir.

Bu eğitim, ownCloud'u kurup erişilebilir hale getirmek için bilmeniz gereken her şeyde size yol gösterecek.

Meraklıysanız ve ownCloud yazılımı hakkında daha fazla bilgi edinmek isterseniz, ownCloud web sitesine göz atmayı unutmayın.

Raspberry Pi ownCloud Sunucusunu Kurma

Öncelikle, üzerinde bir işletim sistemi kurulu bir Raspberry Pi'ye sahip olmanız gerekecek. Raspberry Pi OS'yi henüz kurmadıysanız, Raspberry Pi OS kurma rehberimize göz atın. En iyi performans ve güvenilirlik için en son sürümü kullanmanızı öneririz.

ownCloud'u Raspberry Pi'nize kurmanın oldukça fazla yolu var. Bu eğitimde, ownCloud'u kurmak için Docker kullanacağız.

Bu eğitimin önceki sürümünde, Nginx kullandık, ancak bu yöntem artık kullanımdan kaldırılmıştır ve şimdi Docker kullanmanızı öneriyoruz, özellikle ownCloud hala PHP7.4'e dayandığından.

Docker Kurma

Yapmamız gereken ilk şey, Raspberry Pi'mize Docker kurmaktır. ownCloud yazılımını çalıştırmak için bu yazılıma ihtiyacımız olacak.

1. Öncelikle, terminalde veya SSH üzerinden, Raspberry Pi'yi ve paketlerini güncellememiz gerekecek. Aşağıdaki iki komutu girerek bunu yapın.

sudo apt update
sudo apt upgrade -y

2. Sonraki birkaç adıma geçmeden önce Raspberry Pi'nizde Docker'ın olduğundan emin olmanız gerekecek. Zaten kurulu ise, 3. adıma gidin.

Docker'ı kurmanız gerekiyorsa, Raspberry Pi'de Docker kurma eğitimimizi takip edin. Yazılımı doğru şekilde kurmak için tüm adımlarda size yol gösterecektir.

https://pimylifeup.com/raspberry-pi-docker/

Gerekli Dizinleri Oluşturma

3. Şimdi compose dosyasını ve ortam değişkenlerini saklayacağımız dizinleri oluşturmamız gerekiyor.

mkdir komutunu çalıştırarak bunu yapabilirsiniz. "-p" seçeneği, eksik olan tüm dizinleri oluşturacaktır.

sudo mkdir -p /opt/stacks/owncloud

4. Şimdi cd komutunu kullanarak yeni oluşturulan dizine geçin.

cd /opt/stacks/owncloud

Docker Compose Dosyasını Ayarlama

5. Devam etmeden önce, Raspberry Pi'nin IP adresini almamız gerekecek. Ortam dosyasında ve ownCloud web arayüzüne erişmek için IP adresini kullanmanız gerekecek.

Gelecekte değişmesini önlemek için Raspberry Pi IP'nizi statik olarak ayarlamanızı öneririm.

Raspberry Pi'nin IP adresini almak için, "-I" seçeneğiyle hostname komutunu girin.

hostname -I

6. ownCloud kurulumumuz için bir compose dosyası yazma zamanı. Bu dosya, Docker'ın belirtilen seçeneklerle tüm ilgili servisleri kurmak için çalıştıracağı bir talimatlar dizisidir. ownCloud'un yanında, bir MySQL ve bir Redis sunucusu da kuracağız.

Aşağıdaki komutu çalıştırarak bu dosyayı oluşturup düzenleyin. nano metin editörünü kullanacağız.

sudo nano compose.yaml

7. Bu dosyaya, aşağıdaki metni kopyalayıp yapıştırın. Neyse ki, herhangi bir ek yapılandırma bir ortam dosyasında saklanacağından bu dosyada herhangi bir değişiklik yapmamıza gerek yok.

services:
  owncloud:
    image: owncloud/server:${OWNCLOUD_VERSION}
    container_name: owncloud_server
    restart: always
    ports:
      - ${HTTP_PORT}:8080
    depends_on:
      - mariadb
      - redis
    environment:
      - OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
      - OWNCLOUD_TRUSTED_DOMAINS=${OWNCLOUD_TRUSTED_DOMAINS}
      - OWNCLOUD_DB_TYPE=mysql
      - OWNCLOUD_DB_NAME=owncloud
      - OWNCLOUD_DB_USERNAME=owncloud
      - OWNCLOUD_DB_PASSWORD=owncloud
      - OWNCLOUD_DB_HOST=mariadb
      - OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME}
      - OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
      - OWNCLOUD_MYSQL_UTF8MB4=true
      - OWNCLOUD_REDIS_ENABLED=true
      - OWNCLOUD_REDIS_HOST=redis
    healthcheck:
      test: ["CMD", "/usr/bin/healthcheck"]
      interval: 30s
      timeout: 10s
      retries: 5
    volumes:
      - ${OWNCLOUD_FILES_LOCATION}:/mnt/data

  mariadb:
    image: mariadb:10.11 # minimum required ownCloud version is 10.9
    container_name: owncloud_mariadb
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=owncloud
      - MYSQL_USER=owncloud
      - MYSQL_PASSWORD=owncloud
      - MYSQL_DATABASE=owncloud
      - MARIADB_AUTO_UPGRADE=1
    command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"]
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"]
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - ./mysql:/var/lib/mysql

  redis:
    image: redis:6
    container_name: owncloud_redis
    restart: always
    command: ["--databases", "1"]
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - ./redis:/data

Bitirdiğinizde, CTRL + X, Y, ardından ENTER tuşuna basarak kaydedip çıkın.

8. Ortam dosyasını yazma zamanı. Bu dosya, ownCloud yazılımı için ayarlamak istediğimiz tüm yapılandırmaları içerecektir. Örneğin, kullanıcı adları, parolalar, portlar ve daha fazlası. Docker bunu otomatik olarak okur ve compose dosyasındaki yer tutucuları ortam dosyasındaki ilgili veriyle eşleştirip değiştirecektir.

Ortam dosyasını oluşturmak için, aşağıdaki komutu girin.

sudo nano .env

9. Bu dosyaya, aşağıdaki satırları girmeniz ve her yer tutucuyu kullanmak istediğiniz değerle değiştirmeniz gerekecek. Bu seçeneklerin her birini aşağıda açıklayacağız.

OWNCLOUD_VERSION=<SÜRÜM>
OWNCLOUD_DOMAIN=<ALANADIVEYAIP>:<HTTPPORTU>
OWNCLOUD_TRUSTED_DOMAINS=<ALANADIVEYAIP>
ADMIN_USERNAME=<ADMINKULLANICIADI>
ADMIN_PASSWORD=<ADMINPAROLASI>
HTTP_PORT=<HTTPPORTU>
OWNCLOUD_FILES_LOCATION=<BAĞLAMAYOLU>
  • <SÜRÜM> Bu yer tutucu, Raspberry Pi'nizde çalıştırmak istediğiniz ownCloud sürümünü temsil eder. latest kullanmanızı öneririm, ancak her zaman 10 gibi daha eski bir sürüm belirtebilirsiniz.
  • <ALANADIVEYAIP> ownCloud örneğine erişim için izin verilen adresi belirtmek için bu seçeneği kullanın. Örneğin, onu yerel olarak kullanmak istiyorsam, 192.168.0.15 gibi yerel IP'yi kullanacağım.

Yazılıma uzaktan erişmek istersem, harici bir IP adresi veya alan adı kullanabilirim. Her birini virgülle ayırarak birden fazla alan adı ve IP ekleyebilirsiniz. Örneğin, 192.168.0.15,test.pimylifeup.com. Lütfen, birden fazla IP ve alan adının yalnızca OWNCLOUD_TRUSTED_DOMAINS değişkeni için geçerli olduğunu unutmayın.

  • <HTTPPORTU> Bu, ownCloud'un dinleyeceği varsayılan porttur. Diğer yazılımlarla çakışmayı önlemek için 8080 veya benzeri bir port kullanmanızı öneririm.
  • <ADMINKULLANICIADI> Bu yer tutucuyu admin hesabınız için kullanmak istediğiniz kullanıcı adıyla değiştirin. İlk kurulumdan sonra bunu değiştiremezsiniz.
  • <ADMINPAROLASI> Kullanıcı adı gibi, admin parolası da yalnızca ilk kurulum için kullanılır. Sonrasında, parolayı web arayüzünde değiştirmeniz gerekecek.
  • <BAĞLAMAYOLU> Bu, ownCloud'un verisini saklama yoludur. .data kullanmak, onu /opt/stacks/owncloud dizini içinde saklayacaktır. Bu dizini size en uygun olan herhangi bir yere değiştirebilirsiniz.

Bunu /mnt/usb1/owncloud gibi bir şey kullanarak bağlı bir sürücüye ayarlayabilirsiniz. Bağlı bir sürücü iyi bir seçenektir çünkü çok fazla depolama alanına erişim kazanmanızı sağlar.

OWNCLOUD_VERSION=latest
OWNCLOUD_DOMAIN=192.168.0.15:8080
OWNCLOUD_TRUSTED_DOMAINS=192.168.0.15
ADMIN_USERNAME=pimylifeup
ADMIN_PASSWORD=pimylifeup
HTTP_PORT=8080
OWNCLOUD_FILES_LOCATION=./data

Bitirdiğinizde, CTRL + X, Y, ardından ENTER tuşuna basarak dosyayı kaydedip çıkın.

Docker ile ownCloud Sunucusunu Başlatma

10. ownCloud sunucunuzu başlatmak için, yapmanız gereken tek şey aşağıdaki komutu çalıştırmaktır.

Başlatıldıktan sonra, Docker gerekli tüm yazılımı indirecek ve belirtilen seçeneklerle her servisi başlatacaktır. -d seçeneğini kullanmak, Docker'ı arka planda çalıştıracaktır.

docker compose up -d

Raspberry Pi'de ownCloud'un İlk Başlatılması

Raspberry Pi'de çalışan ownCloud'un temellerinden kısaca geçeceğim. Daha fazla bilgi isterseniz, web sitelerindeki kılavuzlara bakmanızı şiddetle öneririm. Bunları ownCloud kılavuz sitesinde burada bulabilirsiniz.

11. Favori web tarayıcınızda, Raspberry Pi'nizin IP adresine gitmeniz gerekiyor.

IP adresinizi bilmiyorsanız, Raspberry Pi'de hostname komutunu çalıştırabilirsiniz.

hostname -I

Aşağıda, tarayıcıya girmeniz gereken adresin bir örneği var. Yukarıdaki komutu kullanarak aldığınız IP adresiyle güncellemeyi unutmayın.

http://192.168.0.15:8080

12. Artık aşağıdakine benzer bir giriş sayfasıyla karşılaşmalısınız. Sadece ortam dosyasında ayarladığımız kullanıcı adını ve parolayı girin.

ownCloud Giriş Sayfası

13. Şimdi masaüstü, Android ve iOS için uygulamaları nasıl kurabileceğinize dair bir açılır pencere ile bir sayfa göreceksiniz.

ownCloud İlk Giriş

14. Son olarak, bir dosyayı web arayüzüne sürükleyip bırakarak ownCloud kurulumunuza dosya yükleyebildiğinizi test edin. Herhangi bir sorun olmadan yüklenmeli.

ownCloud Dosya Yükleme

15. Artık ownCloud, Raspberry Pi'nizde kurulu ve çalışıyor. Sonraki birkaç bölüm, uzaktan erişim, yazılımı güncelleme ve onu güvenli bir yere yedeklemenin temellerini kapsıyor.

Uzaktan Erişim Ayarlama

Sunucuya uzaktan erişmek istiyorsanız, Cloudflare Tunnels veya Tailscale gibi bir hizmet kullanmanızı şiddetle öneririm. Bu hizmetler, çoğu kişi için anlaşılması ve kurulması nispeten kolaydır. Alternatif olarak, Traefik veya Nginx proxy manager gibi bir ters proxy kurmak da işe yarayacaktır.

ownCloud'u internete açığa çıkarma yönteminizi seçtikten sonra, sadece yazılımın IP adresini ve portunu belirtmeniz gerekecek. Yukarıdaki yazılımların çoğu, alan adınız için sertifika oluşturacaktır.

ownCloud Docker'ı Güncelleme

Docker kullanmak, ownCloud yazılımınızı güncellemeyi son derece kolaylaştırır ve sadece birkaç basit adım içerir.

1. Güncellemeden önce, güncelleme ile ilgili bir şeyler ters giderse diye herhangi bir veriyi yedeklemenizi öneririz. Daha fazla bilgi için yedekleme bölümümüzü takip edin.

2. Önce ownCloud compose dosyanızın bulunduğu yere geçmeniz gerekecek. Bu eğitimi takip ettiyseniz, aşağıdaki komutu kullanın.

cd /opt/stacks/owncloud

3. Compose dosyasında belirtilen yazılımın en son sürümlerini çekmesini Docker'a basitçe söyleyebilirsiniz.

docker compose pull

4. En son yazılım indirildikten sonra, compose up komutunu vermeniz gerekiyor. Bu komut, docker'da çalışan yazılımın daha önce indirdiğimiz en son sürümlere güncellendiğinden emin olur.

docker compose up -d

ownCloud Docker'ı Yedekleme

Veri sürücüsü arızası, doğal afetler, bozulma veya kazara silme her an ve en beklemediğiniz zamanda olabileceğinden, verinizi yedeklemek son derece önemlidir. Neyse ki, veriyi yedeklemek nispeten basittir.

Veriyi kopyalayıp başka bir konumda saklamak için Raspberry Pi'de rclone veya benzer bir şey kullanabilirsiniz. Ayrıca aşağıdaki adımları bir bash script'i kullanarak ve cron ayarlayarak otomatikleştirebilirsiniz.

1. Önce compose dosyasının bulunduğu yere geçmeniz gerekecek.

cd /opt/stacks/owncloud

2. Önce, aşağıdaki komutu çalıştırarak docker konteynerini durdurun.

docker compose stop

3. Sonraki birkaç satır, rclone'un kurulu olmasını gerektirir, ancak bunlar sadece içeriği kaynak konumdan hedefe senkronize edecektir. Örneğin, /opt/stacks/owncloud/data, /backups/owncloud/dataya senkronize olacaktır.

Ayrıca rclone'u yerel yerine uzak bir konuma senkronize edecek şekilde ayarlayabilirsiniz. Bu yöntem, önemli veriyi yedeklemek için şiddetle önerilir.

sudo rclone sync /opt/stacks/owncloud/data /backups/owncloud/data --progress
sudo rclone sync /opt/stacks/owncloud/mysql /backups/owncloud/mysql --progress

4. Yukarıdaki iki komut tamamlandıktan sonra, aşağıdaki komutu çalıştırarak docker konteynerini başlatın.

docker compose up -d

Daha önce belirttiğim gibi, yukarıdaki komutları bir bash script'ine ekleyebilir ve ardından yedekleme sırasını otomatikleştirebilirsiniz. Yedeklemeyi sunucunun en az kullanılma olasılığının olduğu zaman gerçekleşecek şekilde zamanlamanızı şiddetle öneririm.

Sonuç

Umarım bu eğitim, kendi Raspberry Pi ownCloud'unuzu kurmanıza yardımcı olmuştur. Artık kendi kişisel bulutunuz içinde dosya yükleyip saklayabilmelisiniz.

Diğer self-hosted projelerle ilgileniyorsanız, Raspberry Pi'de Immich'e de göz atmanızı öneririm. Fotoğrafları saklamak ve görüntülemek için harika bir yazılımdır.

Herhangi bir sorununuz varsa, geri bildirim bırakmak isterseniz veya bir şey kaçırdıysam, aşağıya bir yorum bırakmaktan çekinmeyin.