Anonim

Bulut depolama, bir şey olması ve bilgisayarınızın kaybolması veya zarar görmesi durumunda dosyalarınızı güvende tutmak için mükemmel bir yoldur. Dosyalarınıza yolda veya işten erişmenize ve aygıtlarınızda her şeyi senkronize etmenize yardımcı olur.

Cloud depolama olsa da, büyük bir dezavantaj ile geliyor. Tüm kişisel dosyalarınızda bazı şirketlere güvenmek zorundasınız. Eğer saldırıya uğrarlarsa ne olur? Gerçekten o kadar güvenilirler mi, yoksa bakmadığınızda eşyalarını mı geçiyorlar? Kesin olarak bilmek gerçekten mümkün değil.

Başka bir seçenek var. Nextcloud ile kendi bulut depolama alanınızı barındırabilirsiniz. Nextcloud, kendi bulut depolama şirketiniz olmanızı sağlayan açık kaynaklı bir bulut depolama çözümüdür. Kullanımı kolay ve temiz bir arayüze ve tüm cihazlarınız için eşlik eden uygulamalara sahiptir, bu nedenle bir kısmı hacklerle uğraşmazsınız.

Bu kılavuz Nextcloud'u bir VPS'de (Sanal Özel Sunucu) barındırmaya odaklanacak, ancak bunu yerel olarak ev ağınızda da çalıştırabilirsiniz. Bağlantı noktası yönlendirmeyi ayarlamadıysanız ya da bir VPN kullanmıyorsanız, dışarıdan erişmeyi beklemeyin. Adımlardan bazıları biraz farklı olabilir ve alan adı satın almanıza veya SSL sertifikaları ayarlamanıza gerek kalmaz.

Bir Ana Bilgisayar Seç

Hızlı Linkler

  • Bir Ana Bilgisayar Seç
  • İhtiyacınız Olanı Yükleyin
  • Güvenlik Duvarınızı Kurun
  • SSH'yi yapılandır
    • SSH Anahtarları
      • pencereler
      • Mac ve Linux
    • Kök ve Şifrelere İzin Verme
  • Veritabanınızı Yapılandırın
  • PHP'yi yapılandır
  • Nextcloud'u Alın
  • SSL Sertifikaları Oluştur
  • Nginx'i yapılandırın
  • Nextcloud'u başlat

Gerçek bir bulut çözümüyle gideceğinizi ve dosyalarınızın Web üzerinden erişilebilir olmasını istediğinizi varsayarsak, Nextcloud'u barındırmak için bir VPS kurmanız gerekir. Orada harika seçenekler var, bu yüzden sizin için en iyi olanı seçin. Aklınızda bir ev sahibi yoksa, Linode, DigitalOcean ve Gandi'ye göz atın.

Bu kılavuz, sunucu işletim sistemi olarak Debian 9 “Stretch” kullanacaktır. Debian süper kararlı ve varsayılan olarak oldukça güvenlidir. Ayrıca çoğu barındırma platformu tarafından da desteklenmektedir. Ubuntu ile daha rahat ederseniz, bunların çoğu doğrudan orada da geçerli olacaktır, çünkü Ubuntu Debian'a dayanmaktadır.

Ayrıca sunucunuz için bir alan adı almanız gerekecek. Bu halka açık bir site olmayacağından, gerçekten istediğiniz herhangi bir şeyi yapabilirsiniz. Bir alan adı satın alma ve bağlama süreci her ana bilgisayar ve alan adı sağlayıcısı için farklıdır, bu nedenle seçtiğiniz hizmetlerin sağladığı belgeleri kontrol ettiğinizden emin olun.

Buradaki her şey Linux komut satırından uzaktan ele alınacak. Yani, Mac veya Linux kullanıyorsanız, VPS'nize erişmek için bir terminal açıp SSH'yi kullanabilirsiniz. Windows kullanıyorsanız, PuTTY gibi bir SSH istemcisi edinin .

İhtiyacınız Olanı Yükleyin

Bu bulmacanın bir çok parçası var. Hepsini şimdi alabilirsin, o yüzden buradan devam etmek için gerekenlere sahipsin. Debian genellikle varsayılan olarak sudo kurulu değildir, bu yüzden önce onu alın ve kurun.

$ su -c 'apt yükleme sudo'

Kök şifrenizi girin, Sudo yüklenecek. Ardından, kullanıcılarınızı sudo grubuna eklemeniz gerekir.

$ su -c 'gpasswd -a kullanıcı adı sudo'

Şimdi, sudo kullanabilirsiniz. Hemen işe yaramazsa, tekrar giriş yapmanız gerekebilir. Bu noktadan sonra, özellikle güvenlik amacıyla kök girişlerini devre dışı bırakacağınız için sudo kullanacaksınız.

Şimdi Debian'ın depolarından her şeyi al.

$ sudo uygun ufw mariadb-sunucu nginx certbot php php-mysql php-fpm php-cli php-json php-kıvrım php-imp php-gp php-xml php-zip php-intl php-mcrypt php-görüntü php-mbstring

Güvenlik Duvarınızı Kurun

Sunucunuz İnternette. Bunu yapmanın bir yolu yok ve bu, saldırganlarla ilgilenmeniz gerektiği anlamına geliyor. Basit bir güvenlik duvarı oluşturmak, birçok potansiyel tehdidin önlenmesine yardımcı olur.

Doğrudan iptables kullanmak yerine, sisteminizi güvence altına almak için UFW (Karmaşık Güvenlik Duvarı) kullanabilirsiniz. Daha basit bir sözdizimi vardır ve çalışmak çok daha kolaydır.

Güvenlik duvarındaki her şeyi devre dışı bırakarak başlayın. Bu, saldırganların unutulan bir limana bağlanamayacağından emin olarak, tüm servislere ve bağlantı noktalarına bağlantıları reddetmek için varsayılan politikayı belirleyecektir.

$ sudo ufw varsayılanı gelenleri reddeder

$ sudo ufw varsayılan çıkışını reddetti $ sudo ufw varsayılan çıkışını reddetme

Daha sonra, izin vermesini istediğiniz hizmetleri ufw'ye söyleyebilirsiniz. Bu durumda, yalnızca SSH ve web erişimine ihtiyacınız var. Ayrıca, sunucunuzun güncellemeleri alıp saatini ayarlayabilmesi için NTP ve DNS'yi etkinleştirmek isteyeceksiniz.

$ sudo ufw izin verme ssh $ sudo ufw izin verme ssh $ sudo ufw izin verme http $ sudo ufw izin verme http $ sudo ufw izin verme https $ sudo ufw izin verme https $ sudo ufw izin verme ntp $ sudo ufw izin verme ntp $ sudo izin verme UFW, 53 $ sudo izin verin UFW, 53 $ sudo izin verin UFW, 67 $ izin verin

Güvenlik duvarınızı şimdi başlatabilirsiniz. Size SSH'yi bozma konusunda bir uyarı verecektir, ancak zaten SSH'ye izin verdiniz, bu yüzden iyi olacaksınız.

$ sudo ufw etkin

SSH'yi yapılandır

SSH, Linux sunucularında en sık saldırıya uğramış servislerden biridir. Sunucudaki her şeyin ağ geçidi ve genellikle yalnızca bir şifre ile korunuyor. Bu nedenle, sunucunuzun SSH üzerinden saldırganların kolayca erişemeyeceğinden emin olmanız önemlidir.

SSH Anahtarları

Öncelikle, bir SSH anahtarı olan bir şifreye daha güvenli bir alternatif belirlemeniz gerekir. İşlem Windows'ta Mac ve Linux'takinden farklı, bu nedenle masaüstünüze uygun talimatları izleyin.

pencereler

Windows yolunda olduğu gibi, bu basit görevi tamamlamak için başka bir programa ihtiyacınız var. PuTTYgen, PuTTY için bir RSA anahtar üreticisidir. PuTTY indirme sayfasından ulaşılabilir. İndirin ve çalıştırın.

Açılan pencerede, anahtarınızı adlandırın ve bunun için bir şifre oluşturun. Sunucunuza giriş yapmak için kullanacağınız şifredir. Altta, SSH-2 RSA'yı seçin ve en az 2048 bitlik bir anahtar boyutu ayarlayın. 4096 daha iyi, ancak 2048 biraz daha hızlı olacak. Ardından, anahtarlarınızı oluşturun ve hem genel hem de özel anahtarları kaydedin. Son olarak, pencerenin üstünde görüntülenen ortak anahtarı kopyalayın.

Sunucunuza bağlanmak için PuTTY kullanın. ~ / .Ssh / yetkili_keys adresinde bir dosya açın ve anahtarınızı içeri yapıştırın.

PuTTY'ye geri dönün, yan menüden SSH'yi bulun. Ardından, “Auth” u açın. Pivate anahtarının bulunduğu alanda, yeni kaydettiğiniz özel anahtarın konumuna göz atın. PuTTY'deki her şey sunucunuz için ayarlandığında, oturumu kaydedin. Devam etmeden önce anahtarınızla bağlandığınızdan emin olmak için test edin.

Mac ve Linux

Mac ve Linux kullanıcıları burada daha kolay bir yol var. Zaten bir tane yoksa, bir SSH anahtarı oluşturarak başlayın. Anahtar için bir şifre oluşturma seçeneğiniz vardır. İsteğe bağlı, bu yüzden aramanız.

$ ssh-keygen -b 4096 -t rsa

Şimdi, anahtarınızı sunucunuza gönderin. Kullanıcı adınızı ve sunucunun IP adresini değiştirin.

$ ssh-copy-id -i ~ / .ssh / id_rsa.pub

Bu kadar!

Kök ve Şifrelere İzin Verme

Anahtarınızı ayarladıktan sonra, SSH için şifreleri devre dışı bırakabilirsiniz. Şifreli bir anahtar ayarladıysanız endişelenmeyin. Bu farklı bir şey ve bu onu hiç etkilemeyecek. SSH yapılandırma dosyasını / etc / ssh / sshd_config konumunda açın.

$ sudo nano / etc / ssh / sshd_config

Okuyan satırı bulun:

#PermitRootLogin yasak parola

Şuna değiştir:

PermitRootLogin no

Sonra, iki satırı bulun:

#PasswordAuthentication evet #PermitEmptyPasswords hayır

Onları değiştir:

Parola Kimlik Doğrulama yok PermitEmptyPasswords no

Sonunda bul:

UsePAM evet

Bunu yapmak:

UsePAM no

Dosyanızı kaydedin ve kapatın. Ardından, SSH'yi yeniden başlatın. Bu sizi atabilir, öyleyse tekrar bağlayın.

$ sudo systemctl sshd'yi yeniden başlatır

Veritabanınızı Yapılandırın

Yapmanız gereken bir sonraki şey veritabanınızı yapılandırmak. Burada gerçekten fazla bir şey yok, bu yüzden fazla endişelenmeyin. Nextcloud'un erişmesi için bir kullanıcı ve boş bir veritabanı oluşturmanız yeterlidir.

MariaDB'yi kurmak ve güvenliğini sağlamak için aslında uygun bir senaryo var. İlk önce onu çalıştır.

$ sudo Instagram Hesabındaki Resim ve Videoları mysql_secure_installation

Varsayılan root şifresi boştur, bu yüzden istendiğinde “Enter” dır. Daha sonra sizden bir root şifresi ayarlamanızı isteyecektir. Yap bunu. Takip eden her soruya “Evet” cevabını verin.

Veri tabanınıza yeni kurduğunuz root şifresi ile giriş yapabilirsiniz.

$ sudo mysql -u kök -p

Bilgi istemi MariaDB'ye geçecek. Bu, veritabanı sunucunuzu yönetmek için kullanılan konsoldur. Yeni bir veritabanı oluşturarak başlayın. Büyük harf kullanımı burada sayılır.

Nextcloud'da VERİTABANI OLUŞTURMA;

Ardından, bu veritabanı için bir kullanıcı yapın.

"PasswordForUser" TARAFINDAN KİMLİĞİ KULLANICI `nextcloud` @ localhost`;

Ardından, bu kullanıcıya veritabanını kullanma izni verin.

Nextcloud'yu HER ŞEY BEKLEYEN.

Bu kadar! Şimdi veritabanı sunucusundan çıkabilirsiniz.

q

PHP'yi yapılandır

Nextcloud PHP ile yazılmıştır. Debian Stretch'te mevcut olan en son PHP sürümünü ve Nextcloud'un düzgün çalışması için ihtiyaç duyduğu PHP uzantısını kurdunuz. Nginx ile daha kolay çalışmasını sağlamak için PHP yapılandırmanıza birkaç tweaks yapmanız gerekiyor.

Gerçekten sadece bazı temel güvenlik ayarlarına ihtiyaç duyuyor. Bunlar önemli bir şey değil, ancak sunucunuzun güvenliğini artırmanıza yardımcı olacak.

/Etc/php/7.0/fpm/php.ini dosyasını sudo ve en sevdiğiniz metin editörüyle açın.

Dosya çok büyük olduğundan gezinmek için editörünüzün arama işlevini kullanın. Nano kullanıyorsanız, Ctrl + W. Bulmanız gereken ilk seçenek disable_functions'dir. Sonunda phpinfo, system, mail, exec ekle ekleyin.

Ardından, sql.safe_mode dosyasını bulun ve açın. Daha sonra allow_url_fopen işlevini kapatın. Dosyanın sonuna, aşağıdaki satırı ekleyin, kaydedin ve kapatın.

register_globals = Kapalı

Nextcloud'u Alın

Nextcloud henüz Debian için bir paket olarak mevcut değil ve sorun değil. Olmasına gerçekten ihtiyacın yok. WordPress gibi önceden oluşturulmuş diğer PHP web uygulamalarına çok benziyor ve Nextcloud'un kurulmasını istediğiniz yeri alabileceğiniz sıkıştırılmış bir arşivde geliyor.

Şu an itibariyle, en son kararlı sürüm Nextcloud'dur, bunu okurken sizin için en son sürümün ne olduğunu iki kez kontrol edin. Kılavuz 12'ye atıfta bulunacaktır, ancak en son kararlı olanı kullanın.

Nextcloud arşivinizi indirmek istediğiniz dizine geçin. Ardından, çıkarmak için / var / www olarak değiştirin.

$ cd ~ / İndirmeler $ wget https://download.nextcloud.com/server/releases/nextcloud-12.0.3.tar.bz2 $ cd / var / www $ sudo tar xjpf ~ / İndirilenler / nextcloud-12.0.3. tar.bz2

Gelecekte bunu okuyorsanız, indirme bağlantısını Nextcloud'un sunucu yükleme sayfasında bulabilirsiniz .

Son olarak, Nextcloud kurulumunuzun sahipliğini www-data olarak değiştirin.

$ sudo chown -R www-veri: www-veri / var / www / nextcloud

SSL Sertifikaları Oluştur

Certbot sayesinde SSL sertifikalarınızı oluşturmak çok kolaydır. Certbot sizin için SSL sertifikalarınızı otomatik olarak oluşturacak ve onları hangi siteyi yarattığınızın web kök dizinine yerleştirecektir. Sadece tek bir komut çalıştırmanız yeterli.

$ sudo certbot certonly - web sitesi - w / var / www / nextcloud - ve seninalan_adiniz.com.tr -d www.alan_adiniz.com.tr

Certbot'u ilk kez çalıştırdığın için bir e-posta adresi isteyecek. Bu adresi, paralarınızın süresi dolmak üzereyken sizi uyarmak için kullanacak. Onları tek bir komutla kolayca yenileyebilirsiniz.

$ sudo certbot yenilemek

Nginx'i yapılandırın

Nginx hafif ama güçlü bir web sunucusudur. Nextcloud'a erişmek için kullandığınız arabirimi sunacak. Nginx ile ilişkili birkaç yapılandırma dosyası var. Birincisi /etc/nginx/nginx.conf adresinde bulunan ana yapılandırmadır. Bu ana yapılandırma dosyasıdır, ancak katı varsayılanlara sahiptir. Ne yaptığını biliyorsan onunla oynayabilirsin, ama onu rahat bırakabilir ve iyi de olabilirsin.

Bir sonraki yapılandırma çok daha uzun ve daha karmaşık. Neyse ki hepsini yazmanıza gerek yok. Nextcloud devleri zaten yaptı. Sadece onu değiştirmeniz gerekiyor. Yapılandırma dosyası Nextcloud'un sitesinde bulunur . Nginx'in webrootu için olanı al. / Etc / nginx / sites kullanılabilir / nextcloud'da yeni bir dosya oluşturun ve içine yapıştırın.

Dosyayı aldıktan sonra, birkaç basit değişiklik yapmanız gerekir. İlk olarak, yukarı akış bloğunu bulun ve şöyle görünecek şekilde değiştirin:

yukarı akış php-handler {sunucu unix: /run/php/php7.0-fpm.sock; }

Ardından, cloud.example.com yazan bir yeri bulun ve etki alanı adınızla değiştirin.

Yapmanız gereken son şey Nginx'i SSL sertifikalarınıza yönlendirmektir. Satırları değiştir:

ssl_certificate /etc/ssl/nginx/cloud.example.com.crt; ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key;

Kime:

ssl_certificate /etc/letsencrypt/live/etkialaniniz.com.tr/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/etkialaniniz.com.tr/privkey.pem;

Bu kadar! Daha sonra, Nginx'in bulabilmesi için linklemeniz gerekir.

$ cd / etc / nginx / sitelere uygun $ sudo ln - s / etc / nginx / sitelere uygun / nextcoud nextcloud

Oradaki mevcut varsayılanı kaldırın.

$ sudo rm varsayılan

PHP ve Nginx'i yeniden başlattığınızda Nextcloud!

$ sudo systemctl yeniden başlat php7.0-fpm $ sudo systemctl yeniden başlat nginx

Nextcloud'u başlat

Web tarayıcınızı açın ve etki alanı adınıza gidin. Nextcloud kurulum ekranı ile karşılaşacaksınız. Kendinize bir yönetici hesabı oluşturun ve oluşturduğunuz veritabanı hesabının bilgilerini girin.

Nextcloud'un kendisini yapılandırması ve yüklemesi birkaç dakika sürecek. Tamamlandığında, yeni Nextcloud panonuza bırakılacaksınız. Oradan, güvendiğiniz kişilerin yeni bulut depolama alanınıza girmesine izin vermek için yeni kullanıcılar oluşturabilirsiniz. Ayrıca hemen dosya yüklemeye başlayabilirsiniz.

Bu kadar! Artık kendi özel bulutun var!

Nextcloud ile kendi özel bulutunuzu oluşturun