Anonim

Storan awan adalah cara terbaik untuk memastikan fail anda selamat sekiranya sesuatu berlaku dan komputer anda hilang atau rosak. Ia boleh membantu anda mengakses fail anda di jalan raya atau dari tempat kerja, dan membantu anda menyimpan segalanya yang disegerakkan merentas peranti anda.

Storan awan mempunyai satu kelemahan utama, walaupun. Anda perlu mempercayai beberapa syarikat dengan semua fail peribadi anda. Apa yang berlaku jika mereka digodam? Adakah mereka benar-benar semua yang boleh dipercayai, atau mereka akan melalui perkara-perkara anda ketika anda tidak melihat? Ia tidak benar-benar boleh diketahui dengan pasti.

Terdapat satu lagi pilihan. Anda boleh mengehoskan penyimpanan awan anda sendiri dengan Nextcloud. Nextcloud adalah penyelesaian penyimpanan awan sumber terbuka yang membolehkan anda menjadi syarikat penyimpanan awan anda sendiri. Ia mempunyai antara muka yang mudah digunakan dan bersih dan aplikasi yang disertakan untuk semua peranti anda, jadi anda tidak berurusan dengan beberapa yang digodam bersama sampah.

Panduan ini akan memberi tumpuan kepada menganjurkan Nextcloud pada VPS (Virtual Private Server), tetapi anda juga boleh menjalankannya secara tempatan di rangkaian rumah anda. Hanya jangan mengharapkan untuk mengaksesnya dari luar melainkan jika anda menyediakan port forwarding atau menjalankan VPN. Beberapa langkah akan menjadi sedikit berbeza, dan anda tidak perlu membeli nama domain atau menyediakan sijil SSL.

Pilih A Host

Pautan Pantas

  • Pilih A Host
  • Pasang Apa yang Anda Perlu
  • Sediakan Firewall Anda
  • Konfigurasi SSH
    • Kunci SSH
      • Windows
      • Mac dan Linux
    • Buang Akar dan Kata Laluan
  • Konfigurasi Pangkalan Data Anda
  • Mengkonfigurasi PHP
  • Dapatkan Nextcloud
  • Buat Sijil SSL
  • Konfigurasikan Nginx
  • Mula Nextcloud

Dengan mengandaikan bahawa anda akan menggunakan penyelesaian awan yang benar dan mahu fail anda diakses melalui Web, anda perlu menyediakan VPS untuk menjadi tuan rumah Nextcloud. Terdapat beberapa pilihan hebat di sana, jadi pilih apa yang paling sesuai untuk anda. Semak Linode, DigitalOcean, dan Gandi, jika anda tidak mempunyai tuan rumah dalam fikiran.

Panduan ini akan menggunakan Debian 9 "Stretch" sebagai sistem operasi pelayan. Debian sangat stabil dan cukup selamat secara lalai. Ia juga disokong oleh kebanyakan platform hosting. Sekiranya anda lebih selesa dengan Ubuntu, kebanyakannya akan dikenakan juga di sana juga, kerana Ubuntu didasarkan pada Debian.

Anda juga perlu mendapatkan nama domain untuk pelayan anda. Oleh kerana ini tidak akan menjadi tapak awam, anda boleh membuat apa sahaja yang anda suka. Proses untuk membeli dan menghubungkan nama domain adalah berbeza untuk setiap penyedia nama host dan domain, jadi pastikan untuk memeriksa dokumentasi yang disediakan oleh perkhidmatan yang anda pilih.

Semua di sini akan dikendalikan dari jauh dari baris arahan Linux. Jadi, jika anda menggunakan Mac atau Linux, anda hanya boleh membuka terminal dan menggunakan SSH untuk mengakses VPS anda. JIKA anda berada di Windows, ambil klien SSH seperti PuTTY .

Pasang Apa yang Anda Perlu

Terdapat banyak kepingan teka-teki ini. Anda juga boleh merebut semuanya sekarang, jadi anda mempunyai apa yang anda perlu meneruskan dari sini. Debian biasanya tidak mempunyai sudo dipasang secara lalai, jadi ambil yang pertama, dan tetapkannya.

$ su -c 'apt install sudo'

Masukkan kata laluan root anda dan Sudo akan dipasang. Kemudian, anda perlu menambah pengguna anda ke kumpulan sudo.

$ su -c 'gpasswd -a username sudo'

Kini, anda boleh menggunakan sudo. Anda mungkin perlu log masuk semula, jika ia tidak berfungsi dengan serta-merta. Dari sudut ini ke hadapan, anda akan menggunakan sudo sebaliknya, terutamanya kerana anda akan menyahdayakan log root untuk tujuan keselamatan.

Kini, ambil segalanya dari repositori Debian.

$ sudo apt install ufw mariadb-server nginx certbot php php-mysql php-fpm php-cli php-json php-curl php-imap php-gd php-xml php-zip php-intl php-mcrypt php-imagick php-mbstring

Sediakan Firewall Anda

Pelayan anda di Internet. Tidak ada jalan lain, dan ini bermakna anda perlu menangani penyerang. Menyediakan firewall yang mudah akan membantu mencegah banyak ancaman yang berpotensi.

Daripada menggunakan iptables secara langsung, anda boleh menggunakan UFW (Uncomplicated Firewall) untuk mengamankan sistem anda. Ia mempunyai sintaks yang lebih mudah, dan ia lebih mudah untuk digunakan.

Mulakan dengan melumpuhkan semuanya di firewall. Ini akan menetapkan dasar lalai untuk menafikan sambungan ke semua perkhidmatan dan pelabuhan, memastikan penyerang tidak dapat menyambung pada beberapa pelabuhan yang terlupa.

$ sudo ufw lalai menafikan masuk

$ sudo ufw lalai menolak keluar $ sudo ufw lalai menolak ke hadapan

Seterusnya, anda boleh memberitahu ufw perkhidmatan yang anda mahu ia dibenarkan. Dalam kes ini, anda hanya perlu SSH dan akses web. Anda juga akan mahu mendayakan NTP dan DNS supaya pelayan anda boleh mengambil kemas kini dan menetapkan jamnya.

$ sudo ufw membolehkan dalam ssh $ sudo ufw membenarkan ssh $ sudo ufw membenarkan dalam http $ sudo ufw membolehkan keluar http $ sudo ufw membenarkan dalam https $ sudo ufw membolehkan https $ sudo ufw membenarkan dalam ntp $ sudo ufw membolehkan ntp $ sudo ufw membolehkan dalam 53 $ sudo ufw membenarkan 53 $ sudo ufw membenarkan dalam 67 $ sudo ufw membolehkan 67

Anda boleh memulakan firewall anda sekarang. Ia akan memberi anda amaran tentang mengganggu SSH, tetapi anda sudah membenarkan SSH, jadi anda akan baik-baik saja.

$ sudo ufw membolehkan

Konfigurasi SSH

SSH adalah salah satu perkhidmatan paling sering diserang pada pelayan Linux. Ia adalah pintu masuk ke semua yang lain di pelayan, dan ia biasanya hanya dilindungi oleh kata laluan. Itulah sebabnya penting untuk memastikan bahawa pelayan anda tidak mudah diakses oleh penyerang SSH.

Kunci SSH

Pertama, anda perlu menyediakan alternatif yang lebih selamat untuk kata laluan, kunci SSH. Proses ini berbeza pada Windows daripada pada Mac dan Linux, jadi ikut arahan yang sesuai dengan desktop anda.

Windows

Sama seperti cara Windows, anda memerlukan satu lagi program untuk menyelesaikan tugas mudah ini. PuTTYgen adalah penjana utama RSA untuk PuTTY. Ia boleh didapati dari halaman muat turun PuTTY . Muat turunnya, dan jalankannya.

Dalam tetingkap yang terbuka, namakan kekunci anda dan buat kata laluan untuknya. Kata laluan yang anda gunakan untuk log masuk ke pelayan anda. Di bahagian bawah, pilih SSH-2 RSA dan tetapkan saiz utama sekurang-kurangnya 2048 bit. 4096 lebih baik, tetapi 2048 akan sedikit lebih cepat. Kemudian, buat kunci anda, dan simpan kunci awam dan peribadi. Akhirnya, salin kekunci awam yang memaparkan di bahagian atas tetingkap.

Gunakan PuTTY untuk menyambung ke pelayan anda. Buka fail di ~ / .ssh / authorized_keys dan tampal kekunci anda.

Kembali ke PuTTY, cari SSH di menu sebelah. Kemudian, buka "Auth." Di medan untuk kekunci pivate, semak imbas ke lokasi kekunci persendirian yang baru anda simpan. Apabila segala-galanya dalam PuTTY disediakan untuk pelayan anda, simpan sesi itu. Uji ia untuk memastikan anda menyambung dengan kekunci anda sebelum bergerak.

Mac dan Linux

Pengguna Mac dan Linux mempunyai jalan yang lebih mudah di sini. Mula dengan menjana kunci SSH, jika anda tidak mempunyainya. Anda mempunyai pilihan untuk membuat kata laluan untuk kunci. Ia adalah pilihan, jadi panggilan anda.

$ ssh-keygen -b 4096 -t rsa

Sekarang, hantar sahaja kunci anda ke pelayan anda. Gantikan nama pengguna anda dan IP pelayan.

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

Itu sahaja!

Buang Akar dan Kata Laluan

Selepas anda menetapkan kunci anda, anda boleh melumpuhkan kata laluan untuk SSH. Jangan risau jika anda menyediakan kunci dengan kata laluan. Itulah sesuatu yang berbeza, dan ini tidak akan memberi impak yang sama sekali. Buka fail konfigurasi SSH di / etc / ssh / sshd_config.

$ sudo nano / etc / ssh / sshd_config

Cari baris yang berbunyi:

#PermitRootLogin melarang kata laluan

Tukar ke:

PermitRootLogin no

Seterusnya, cari dua baris:

#PasswordAuthentication yes #PermitEmptyPasswords no

Ubahnya ke:

PasswordAuthentication tidak PermitEmptyPasswords no

Akhirnya, cari:

UsePAM yes

Jadikannya:

UsePAM no

Simpan fail anda, dan tutupnya. Kemudian, mulakan semula SSH. Ini mungkin akan meniup anda, jadi sambung semula jika ia berlaku.

$ sudo systemctl restart sshd

Konfigurasi Pangkalan Data Anda

Perkara seterusnya yang perlu anda lakukan ialah mengkonfigurasi pangkalan data anda. Tidak banyak terlibat di sini, jadi jangan terlalu risau. Anda hanya perlu menyediakan pangkalan data pengguna dan kosong untuk Nextcloud untuk diakses.

Terdapat skrip mudah untuk menubuhkan dan mengamankan MariaDB untuk anda. Jalankan dahulu.

$ sudo mysql_secure_installation

Kata laluan root lalai kosong, jadi "Enter" apabila ditanya. Ia kemudian akan meminta anda untuk menetapkan kata laluan root. Berbuat demikian. Jawab "Ya" kepada setiap soalan yang berikut.

Anda boleh log masuk ke pangkalan data anda dengan kata laluan root yang anda buat.

$ sudo mysql -u root -p

Promosi akan berubah kepada MariaDB. Ini adalah konsol untuk menguruskan pelayan pangkalan data anda. Mulakan dengan membuat pangkalan data baru. Perkiraan modal di sini.

CREATE DATABASE nextcloud;

Seterusnya, buat pengguna untuk pangkalan data tersebut.

CREATE USER `nextcloud` @` localhost` IDENTIFIED BY "PasswordForUser";

Kemudian, berikan kebenaran pengguna untuk menggunakan pangkalan data.

KEDUDUKAN ALL ON nextcloud. * KE `nextcloud` @` localhost`;

Itu sahaja! Anda boleh keluar pelayan pangkalan data sekarang.

q

Mengkonfigurasi PHP

Nextcloud ditulis dalam PHP. Anda telah memasang PHP versi terkini yang tersedia di Debian Stretch bersama dengan sambungan PHP yang Nextcloud perlu berfungsi dengan betul. Anda masih perlu membuat beberapa tweak untuk konfigurasi PHP anda untuk menjadikannya lebih mudah dengan Nginx.

Ia hanya memerlukan beberapa tweak keselamatan asas. Ini bukan perkara utama, tetapi ia akan membantu meningkatkan keselamatan pelayan anda.

Buka /etc/php/7.0/fpm/php.ini dengan sudo dan editor teks kegemaran anda.

Fail ini besar-besaran, jadi gunakan fungsi carian editor anda untuk menavigasi. Jika anda menggunakan Nano, itu Ctrl + W. Pilihan penumbuk yang perlu anda temukan ialah disable_functions. Tambah menambah phpinfo, system, mail, exec, pada akhirnya.

Kemudian, cari sql.safe_mode dan hidupkannya. Seterusnya, setkan allow_url_fopen off. Pada akhir fail, tambah baris berikut, simpan, dan tutupnya.

register_globals = Dimatikan

Dapatkan Nextcloud

Nextcloud tidak tersedia sebagai pakej untuk Debian lagi, dan itu baik-baik saja. Anda benar-benar tidak memerlukannya. Ia banyak seperti aplikasi web PHP yang telah dibina terlebih dahulu, seperti WordPress, dan ia datang dalam arkib termampat yang anda boleh mengekstrak di mana anda mahu Nextcloud dipasang.

Setakat ini, pelepasan stabil terkini ialah Nextcloud, semak semula apa versi terkini untuk anda semasa anda membaca ini. Panduan ini akan merujuk kepada 12, tetapi menggunakan apa sahaja yang paling stabil.

Tukar ke direktori yang ingin anda muat turun arkib Nextcloud anda. Kemudian, tukar ke / var / www untuk mengeluarkannya.

$ cd ~ / Muat turun $ wget https://download.nextcloud.com/server/releases/nextcloud-12.0.3.tar.bz2 $ cd / var / www $ sudo tar xjpf ~ / Downloads / nextcloud-12.0.3. tar.bz2

Jika anda membaca ini pada masa akan datang, anda boleh mencari pautan muat turun pada halaman memasang pelayan Nextcloud.

Akhir sekali, tukar pemilikan pemasangan Nextcloud anda ke www-data.

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

Buat Sijil SSL

Mewujudkan sijil SSL anda sangat mudah terima kasih kepada Certbot. Certbot secara automatik akan menjana pensijilan SSL anda untuk anda dan meletakkannya di akar web laman web mana saja yang anda buat untuknya. Anda hanya perlu menjalankan arahan tunggal.

$ sudo certbot certonly --webroot -w / var / www / nextcloud -d your-domain.com -d www.your-domain.com

Memandangkan ini kali pertama anda menjalankan Certbot, ia akan meminta alamat e-mel. Ia akan menggunakan alamat itu untuk memberi amaran kepada anda apabila pensyarah anda akan tamat tempoh. Anda juga boleh memperbaharuinya dengan satu arahan sahaja.

$ sudo certbot diperbaharui

Konfigurasikan Nginx

Nginx adalah pelayan web yang ringan, namun berkuasa. Ia akan menyampaikan antara muka yang anda gunakan untuk mengakses Nextcloud. Terdapat beberapa fail konfigurasi yang berkaitan dengan Nginx. Yang pertama adalah konfigurasi utama yang terdapat di /etc/nginx/nginx.conf. Itulah fail konfigurasi utama, tetapi ia mempunyai mungkir pepejal. Anda boleh bermain dengannya jika anda tahu apa yang anda lakukan, tetapi anda boleh membiarkannya sendiri dan juga baik.

Konfigurasi seterusnya adalah lebih lama dan lebih kompleks. Syukurlah, anda tidak perlu menulis semuanya. The Nextcloud devs sudah dilakukan. Anda hanya perlu mengubahnya. Fail konfigurasi terletak di laman Nextcloud . Dapatkan satu untuk webroot Nginx. Buat fail baru di / etc / nginx / sites-available / nextcloud, dan tampalkannya.

Sebaik sahaja anda mempunyai fail, anda perlu membuat beberapa perubahan mudah. Pertama, cari blok huluan dan ubahnya untuk kelihatan seperti ini:

php-handler hulu {server unix: /run/php/php7.0-fpm.sock; }

Kemudian, cari di mana sahaja ia berkata cloud.example.com dan ubahnya ke nama domain anda.

Perkara terakhir yang perlu anda lakukan ialah menerangkan Nginx kepada pensijilan SSL anda. Tukar garisan:

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

Kepada:

ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;

Itu sahaja! Seterusnya, anda perlu memautnya supaya Nginx dapat menemuinya.

$ cd / etc / nginx / enabled laman $ sudo ln -s / etc / nginx / sites-available / nextcoud nextcloud

Keluarkan lalai sedia ada yang ada di sana.

$ sudo rm default

Restart PHP dan Nginx, dan anda akan dapat mengakses Nextcloud!

$ sudo systemctl restart php7.0-fpm $ sudo systemctl restart nginx

Mula Nextcloud

Buka penyemak imbas web anda dan navigasi ke nama domain anda. Anda akan disambut dengan skrin persediaan Nextcloud. Buat diri anda sebagai akaun admin dan masukkan maklumat untuk akaun pangkalan data yang anda buat.

Nextcloud akan mengambil beberapa minit untuk mengkonfigurasi dirinya dan memasangnya. Apabila ia selesai, anda akan digugurkan ke papan pemuka Nextcloud anda yang baharu. Dari sana, anda boleh mencipta pengguna baru untuk membolehkan orang yang anda percayai ke storan awan baru anda. Anda juga boleh mula memuat naik fail dengan serta-merta.

Itu sahaja! Anda kini mempunyai awan peribadi anda sendiri!

Buat awan peribadi anda sendiri dengan nextcloud