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.

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.latestkullanmanızı öneririm, ancak her zaman10gibi 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.15gibi 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çin8080veya 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..datakullanmak, onu/opt/stacks/ownclouddizini 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.

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.

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.

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.