Anonim

Съхранението в облак е отличен начин да защитите вашите файлове в случай, че нещо се случи и компютърът ви е загубен или повреден. Той може да ви помогне да получите достъп до вашите файлове по пътя или от работа и ви помага да поддържате всичко синхронизирано на вашите устройства.

Съхранението в облака обаче има един основен недостатък. Трябва да се доверите на някоя компания с всички ваши лични досиета. Какво се случва, ако те бъдат хакнати? Наистина ли са толкова надеждни или преживяват вашите неща, когато не търсите? Всъщност не е възможно да се знае със сигурност.

Има и друг вариант. Можете да хоствате собственото си облачно хранилище с Nextcloud. Nextcloud е решение за облачно съхранение с отворен код, което ви позволява да бъдете собствена компания за съхранение в облак. Той има лесен за използване и чист интерфейс и придружаващи приложения за всичките си устройства, така че не се занимавате с някои хакнати заедно боклуци.

Това ръководство ще се фокусира върху хостинг на Nextcloud на VPS (Virtual Private Server), но можете също да го стартирате локално в домашната си мрежа. Просто не очаквайте достъп до него отвън, освен ако не настроите пренасочване на порт или не използвате VPN. Някои от стъпките биха били малко по-различни и няма да е необходимо да купувате име на домейн или да настройвате SSL сертификати.

Изберете домакин

бързи връзки

  • Изберете домакин
  • Инсталирайте това, което ви трябва
  • Настройте вашата защитна стена
  • Конфигурирайте SSH
    • SSH ключове
      • Windows
      • Mac и Linux
    • Забранете корените и паролите
  • Конфигурирайте вашата база данни
  • Конфигурирайте PHP
  • Вземете Nextcloud
  • Създайте SSL сертификати
  • Конфигурирайте Nginx
  • Започнете Nextcloud

Ако приемем, че вървите с истинско облачно решение и искате вашите файлове да са достъпни в мрежата, трябва да настроите VPS, за да хоствате Nextcloud. Има няколко страхотни опции там, така че изберете това, което изглежда най-добре за вас. Вижте Linode, DigitalOcean и Gandi, ако нямате предвид хост.

Това ръководство ще използва Debian 9 „Stretch“ като сървърна операционна система. Debian е супер стабилен и доста сигурен по подразбиране. Освен това е добре поддържана от повечето хостинг платформи. Ако сте по-удобни с Ubuntu, по-голямата част от това ще се прилага директно и там, тъй като Ubuntu е базиран на Debian.

Вие също ще трябва да получите име на домейн за вашия сървър. Тъй като това няма да бъде публичен сайт, наистина можете да го направите каквото си пожелаете. Процесът на закупуване и свързване на име на домейн е различен за всеки хост и доставчик на имена на домейни, така че не забравяйте да проверите документацията, предоставена от услугите, които сте избрали.

Всичко тук ще се управлява дистанционно от командния ред на Linux. Така че, ако сте на Mac или Linux, можете просто да отворите терминал и да използвате SSH за достъп до вашия VPS. АКО сте в Windows, вземете SSH клиент като PuTTY .

Инсталирайте това, което ви трябва

Към този пъзел има много парчета. Можете също така да ги вземете всички сега, така че да имате това, което трябва да продължите оттук. Debian обикновено няма инсталиран по подразбиране sudo, така че първо го вземете и го настройте.

$ su -c 'apt install sudo'

Въведете вашата root парола и Sudo ще бъде инсталиран. След това трябва да добавите своя потребител към групата на судо.

$ su -c 'gpasswd - потребителско име sudo'

Сега можете да използвате судо. Може да се наложи да влезете отново, ако не работи веднага. От този момент нататък ще използвате вместо това sudo, особено след като ще забраните root влизания за целите на сигурността.

Сега вземете всичко от хранилищата на Debian.

$ sudo apt инсталирате ufw mariadb-сървър 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

Настройте вашата защитна стена

Вашият сървър е в Интернет. Няма как да се заобиколи това и това означава, че ще трябва да се справите с нападателите. Настройката на обикновена защитна стена ще ви помогне да предотвратите много потенциални заплахи.

Вместо да използвате iptables директно, можете да използвате UFW (Некомплицирана защитна стена), за да защитите вашата система. Той има по-прост синтаксис и е много по-лесно да се работи.

Започнете с деактивиране на всичко в защитната стена. Това ще настрои политиката по подразбиране, за да откаже връзки към всички услуги и портове, като гарантира, че атакуващите не могат да се свържат на някой забравен порт.

$ sudo ufw по подразбиране отказва входящи

$ sudo ufw по подразбиране отказва изходящ $ sudo ufw по подразбиране отказва напред

След това можете да кажете на ufw услугите, които искате да разрешат. В този случай се нуждаете само от SSH и уеб достъп. Също така ще искате да активирате NTP и DNS, за да може вашият сървър да получава актуализации и да настрои часовника си.

$ sudo ufw разреши в ssh $ sudo ufw разреши ssh $ sudo ufw разреши в http $ sudo ufw разреши http $ sudo ufw разреши в https $ sudo ufw разреши https $ sudo ufw разреши в ntp $ sudo ufw разреши ntp $ sudo ufw разреши в 53 $ sudo ufw разреши 53 $ sudo ufw разреши в 67 $ sudo ufw разреши 67

Можете да стартирате защитната си стена сега. Ще ви предупреди за прекъсване на SSH, но вече сте разрешили SSH, така че ще сте добре.

$ sudo ufw enable

Конфигурирайте SSH

SSH е една от най-често атакуваните услуги на Linux сървърите. Това е шлюзът към всичко останало на сървъра и обикновено е защитен само с парола. Ето защо е важно да се уверите, че вашият сървър не е лесно достъпен за нападателите през SSH.

SSH ключове

Първо, трябва да настроите много по-сигурна алтернатива на парола, SSH ключ. Процесът е различен в Windows, отколкото в Mac и Linux, така че следвайте инструкциите, които пасват на вашия работен плот.

Windows

Както е начинът на Windows, за да изпълните тази проста задача, ви трябва още една програма. PuTTYgen е генератор на RSA ключове за PuTTY. Достъпно е от страницата за изтегляне на PuTTY . Изтеглете го и го стартирайте.

В прозореца, който се отваря, дайте име на вашия ключ и създайте парола за него. Това е паролата, която ще използвате, за да влезете в своя сървър. В долната част изберете SSH-2 RSA и задайте размер на ключ от поне 2048 бита. 4096 е по-добър, но 2048 ще бъде малко по-бърз. След това генерирайте ключовете си и запазете както публичните, така и частните ключове. Накрая копирайте публичния ключ, който се показва в горната част на прозореца.

Използвайте PuTTY, за да се свържете със вашия сървър. Отворете файл на ~ / .ssh / разрешени_коди и поставете ключа си.

Назад в PuTTY, намерете SSH в страничното меню. След това отворете „Auth.“ В полето за ключа за ключ, прегледайте местоположението на частния ключ, който току-що сте запазили. Когато всичко в PuTTY е настроено за вашия сървър, запазете сесията. Тествайте го, за да сте сигурни, че се свързвате с вашия ключ, преди да продължите.

Mac и Linux

Потребителите на Mac и Linux имат много по-лесен път тук. Започнете с генериране на SSH ключ, ако вече нямате такъв. Имате възможност да създадете парола за ключа. Тя не е задължителна, така че това е вашето обаждане.

$ ssh-keygen -b 4096 -t rsa

Сега просто изпратете вашия ключ на вашия сървър. Заменете потребителското си име и IP на сървъра.

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

Това е!

Забранете корените и паролите

След като настроите вашия ключ, можете да деактивирате паролите за SSH. Не се притеснявайте, ако настроите ключ с парола. Това е нещо различно и това изобщо няма да повлияе на това. Отворете SSH конфигурационния файл на / etc / ssh / sshd_config.

$ sudo nano / etc / ssh / sshd_config

Намерете реда, който гласи:

#PermitRootLogin забрана-парола

Променете го на:

PermitRootLogin no

На следващо място, намерете двата реда:

#PasswordAuthentication да #PermitEmptyPasswords не

Променете ги на:

PasswordAuthentication no PermitEmptyPasswords no

И накрая, намерете:

UsePAM да

Направи го:

UsePAM no

Запазете файла си и го затворете. След това рестартирайте SSH. Това може да ви изстреля, така че се свържете отново, ако това стане така.

$ sudo systemctl рестартира sshd

Конфигурирайте вашата база данни

Следващото нещо, което ще трябва да направите, е да конфигурирате вашата база данни. Тук наистина не участва много, така че не се притеснявайте много. Просто трябва да настроите потребителска и празна база данни за Nextcloud за достъп.

Всъщност има удобен скрипт за настройване и обезопасяване на MariaDB за вас. Пусни го първо.

$ sudo mysql_secure_installation

Основната парола по подразбиране е празна, така че при запитване тя „Въведете“. След това ще ви помолим да зададете корен парола. Направи го. Отговорете „Да“ на всеки следващ въпрос.

Можете да влезете в своята база данни с паролата за root, която току-що сте задали.

$ sudo mysql -u root -p

Подканата ще се промени към MariaDB. Това е конзолата за управление на вашия сървър на база данни. Започнете със създаването на нова база данни. Тук се отчита капитализацията.

СЪЗДАВАНЕ НА ДАТАБАЗА следващклас;

След това направете потребител за тази база данни.

СЪЗДАВАНЕ НА ПОТРЕБИТЕЛ `nextcloud` @` localhost` ИДЕНТИФИЦИРАН ОТ "PasswordForUser";

След това предоставете на потребителя разрешение да използва базата данни.

ПРЕДОСТАВЯЙТЕ ВСИЧКИ nextcloud. * TO `nextcloud` @` localhost`;

Това е! Можете да излезете от сървъра на базата данни сега.

р

Конфигурирайте PHP

Nextcloud е написан на PHP. Вече сте инсталирали последната версия на PHP, налична на Debian Stretch, заедно с разширенията на PHP, които Nextcloud трябва да функционира правилно. Все още трябва да направите няколко ощипвания на вашата PHP конфигурация, за да може тя да работи по-лесно с Nginx.

Тя наистина се нуждае от някои основни настройки на сигурността. Те не са нищо основно, но ще помогнат за подобряване на сигурността на вашия сървър.

Отворете /etc/php/7.0/fpm/php.ini със судо и любимия си текстов редактор.

Файлът е масивен, така че използвайте функцията за търсене на редактора, за да се движите наоколо. Ако сте използвали Nano, това е Ctrl + W. Вариантът за юмрук, който трябва да намерите, е disabled_functions. В края добавете добавяне на phpinfo, система, поща, exec.

След това намерете sql.safe_mode и го включете. На следващо място, изключете разрешението_url_fopen. В края на файла добавете следния ред, запазете го и го затворете.

register_globals = Изключено

Вземете Nextcloud

Nextcloud все още не е наличен като пакет за Debian и това е наред. Наистина не ти трябва това. Много прилича на други предварително изградени PHP уеб приложения, като WordPress, и се предлага в компресиран архив, който можете да извлечете там, където искате Nextcloud инсталиран.

Към момента най-новата стабилна версия е Nextcloud, проверете двукратно каква е най-новата версия за вас, когато четете това. Ръководството ще се позовава на 12, но използвайте каквото и да е най-новото стабилно.

Променете в директория, в която искате да изтеглите архива си Nextcloud. След това преминете в / var / www, за да го извлечете.

$ cd ~ / Downloads $ 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

Ако четете това в бъдеще, можете да намерите връзката за изтегляне на страницата за инсталиране на сървъра на Nextcloud.

И накрая, променете собствеността на вашата Nextcloud инсталация на www-data.

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

Създайте SSL сертификати

Създаването на вашите SSL сертификати е много лесно благодарение на Certbot. Certbot автоматично ще генерира вашите SSL сертификати и ще ги постави в уеб корен на който и сайт да създавате. Необходимо е да стартирате само една команда.

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

Тъй като за първи път управлявате Certbot, той ще поиска имейл адрес. Той ще използва този адрес, за да ви предупреди, когато вашите сертификати са на път да изтекат. Можете лесно да ги подновите и с една команда.

$ sudo certbot поднови

Конфигурирайте Nginx

Nginx е лек, но същевременно мощен уеб сървър. Той ще служи на интерфейса, който използвате за достъп до Nextcloud. Има няколко конфигурационни файла, свързани с Nginx. Първата е основната конфигурация, разположена на /etc/nginx/nginx.conf. Това е основният конфигурационен файл, но има солидни стойности по подразбиране. Можете да играете с него, ако знаете какво правите, но можете да го оставите на мира и също да сте добре.

Следващата конфигурация е много по-дълга и по-сложна. За щастие, не е нужно да пишете всичко. Nextcloud разработчиците вече го направиха. Просто трябва да го модифицирате. Конфигурационният файл се намира на сайта на Nextcloud . Вземете този за уебкората на Nginx. Създайте нов файл в / etc / nginx / sites-available / nextcloud и го поставете.

След като разполагате с файла, трябва да направите няколко прости промени. Първо намерете блока нагоре и го променете така, че да изглежда така:

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

След това намерете навсякъде, където пише cloud.example.com, и го променете на името на вашия домейн.

Последното нещо, което трябва да направите, е да насочите Nginx към вашите SSL certs. Промяна на линиите:

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

Да се:

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

Това е! След това трябва да го свържете, за да може Nginx да го намери.

$ cd / и т.н. / nginx / активирани сайтове $ sudo ln -s / и т.н. / nginx / налични сайтове / nextcoud nextcloud

Премахнете съществуващото по подразбиране, което е там.

$ sudo rm по подразбиране

Рестартирайте PHP и Nginx и ще имате достъп до Nextcloud!

$ sudo systemctl рестартира php7.0-fpm $ sudo systemctl рестартира nginx

Започнете Nextcloud

Отворете вашия уеб браузър и отидете до името на вашия домейн. Ще бъдете посрещнати с екрана за настройване на Nextcloud. Създайте си администраторски акаунт и въведете информацията за акаунта на базата данни, който сте създали.

Nextcloud ще отнеме няколко минути, за да се конфигурира и инсталира. Когато приключи, ще бъдете пуснат в новото си табло Nextcloud. Оттам можете да създадете нови потребители, които да позволят на хората, на които имате доверие, в новото ви хранилище в облак. Можете също да започнете да качвате файлове веднага.

Това е! Сега имате собствен частен облак!

Създайте свой личен облак с nextcloud