Облачный сервер Nextcloud: различия между версиями

Материал из wolfram
Перейти к навигации Перейти к поиску
мНет описания правки
Строка 205: Строка 205:


===Nextcloud===
===Nextcloud===
[[Файл:Облачный сервер Nextcloud - Демонстрация получения ссылки.png|мини|Демонстрация получения ссылки]]
Нам нужно загрузить архив с nextcloud с официального сайта. Там жмем на северную версию и копируем ссылку с кнопки загрузить.
Нам нужно загрузить архив с nextcloud с официального сайта. Там жмем на северную версию и копируем ссылку с кнопки загрузить.


Получили ссылку:
Как это сделать, идем на официальный сайт [https://nextcloud.com/install/ nextcloud], выбираем загрузку для сервера. И на кнопке скачать выполняем копирование ссылки. Это и есть прямой путь к получению архива.
wget полученная_нами_ссылка
Пример:
wget <nowiki>https://download.nextcloud.com/server/releases/nextcloud-18.0.3.zip</nowiki>
Происходит загрузка в каталог, который сейчас открыт


Распаковываем скачанный архив в '''/var/www/html/'''
unzip nextcloud-18.0.1.zip -d /var/www/html/
Даем права:
Делам папку '''/nextcloud''' принадлежащей группе и пользователю www-data:
chown -R www-data:www-data /var/www/html/nextcloud
Так же у меня для хранения самих файлов есть каталог '''/media/nextcloud''', создан был при установке, в него примонтирован раздел на SSD.
Делаю папку '''/media/nextcloud''' принадлежащей группе и пользователю www-data:
chown -R www-data:www-data /media/nextcloud
Даю папкам права на запись в соответствии со значением 755:
chmod 755 /var/www/html/nextcloud
chmod 755 /media/nextcloud
Открываем Nextcloud в браузере:
<nowiki>http://адрес__машины_nextcloud/nextcloud/</nowiki>
Пример:
<nowiki>http://192.168.1.130/nextcloud/</nowiki>
Нас приветствует первая настройка.
Имя пользователя: Придумываем свое имя пользователя. (vova0108)
Пароль: Придумываем совой пароль
Каталог с данными: в моём случае выше упомянуты '''/media/nextcloud'''
Пользователь базы данных:
Пароль базы данных:
Название базы:
Готово.
Ожидаем первичной настройки.
После окончания осталось поправить '''config.php''':
nano /var/www/html/nextcloud/config/config.php
В нем нужно прописать дополнительные доверенные адреса, чтобы он нас с них пускал:<syntaxhighlight lang="php">
$CONFIG = array (
.... 
  array (
    0 => '192.168.1.130',
    1 => '127.0.0.1',
    2 => 'vovaconst.ddns.net',
    3 => '192.168.1.230',
    4 => 'nc.mywolfram.ru',
),
....
'htaccess.RewriteBase' => '/',
'overwrite.cli.url' => 'https://nc.mywolfram.ru',
'overwritehost' => 'nc.mywolfram.ru',
'overwriteprotocol' => 'https',
),
</syntaxhighlight>Я добавляю много адресов, это уже с учётом того что есть прокси nginx и домен.
1.230 - это машина nginx
1.130 - cам nextcloud
Сохраняем.
Чтобы убрать index.php в адресной строке
Обязательно не от '''root'''!
Запустить из каталога '''/var/www/html/nextcloud/'''
cd /var/www/html/nextcloud/
sudo -u www-data php occ maintenance:update:htaccess
Настройка Nextcloud закончена.
<br />
<br />

Версия от 10:22, 2 апреля 2020

Nextcloud - презентация

Своими словами. Аналог Яндекс, Google дисков. То есть web доступ к файлам, и клиент на все платформы для синхронизации. Но есть одно маленькое, но. Размерность, скорость и фишки делаются на свое усмотрение. На собственном железе. Все данные рядом, или точно известно где они.

Настройка Proxmox для Nextcloud

Сервер базируется на гипервизоре Proxmox, поэтому если так же, переходим к настройке гипервизора для nextcloud.

Установка Ubuntu

Установка точно такая же как на реальном железе. Но все буде рассказано.

Переходим в раздел Консоль нашей 100 виртуальной машины. Или если все на отдельном сервере, просто устанавливаем систему с USB накопителя.

Видим запуск ОС и выбор языка. Выбираем Русский.

Клавиатура остается на Английском.  

Готово.


Видим, что машина получила IP адрес от нашего DHCP сервера.

192.168.1.130/24 

Создание разделов

В разделе Filesystem setup выбираем Вручную. Мы же профессионалы.

Видим 2 накопителя:


Cначало swop: /dev/vda/ 20G

Жмем и выбираем: Add Partition

Size: 2

Format: swop

Create


Теперь создадим boot /dev/vda/ 20G

Size: 1

Format: ext4

Mount: /boot

Create


Теперь уже основной каталог: /dev/vda/ 20G

Size: ничего

Format: ext4

Mount: /

Create


Теперь диск хранилище: /dev/vdb/ 834G

Size: ничего

Format: ext4

Mount: other /media/nextcloud

Create

Идем в самый низ и выбираем: Готово. Продолжить: Да.

Начинается установка. При этом она идет в фоне.

В это время заполняем данные пользователя и машины:

Создание пользователя

Your name: имя_пользователя

your server’s name: cloud

Pick a username: имя_пользователя

Choose password: пароль_сервера_cloud

Confirm your password: пароль_сервера_cloud

Готово.

На вопрос установить ли ssh соглашаемся, поставив крестик пробелом.

Готово.

Ничего не выбираем и говорим Готово. Ждем окончания установки.  

По окончании: Reboot.

Enter

Первичная настройка

ОС перезагрузиться, но уже в установленном виде. С ней бы выполнить стандартный набор операций.  

PowerShell

ssh vova@192.168.1.130


Вот мы и в консоли будущего облака. Так как мы не root нужно выполнять все действия через команду sudo, или ввести sudo su и ввести пароль. Это сделает все наши операции от root.

обновляем репозитории.

apt-get update

выполняем обновление пакетов из репозиториев.

apt-get upgrade -y

устанавливаем файловый менеджер mc.

apt-get install mc -y 

устанавливаем архиватор.

apt-get install unzip -y

ОС готова переходим к установке Nextcloud.

Установка Nextcloud

Начинается все с установки Apache web server

Apache

Устанавливаем из репозиториев apache:

apt-get -y install apache2

Запускаем процесс apache:

service apache2 start
#или по новому
systemctl start apache2

Делам так чтобы стартовал при перезапуске:

systemctl enable apache2

Смотрим статус, должно быть Active: active (running):

systemctl status apache2

Конфигурация:

nano /etc/apache2/sites-available/nc.mywolfram.ru.conf

Вставляем в документ это:

<VirtualHost *:80> 
    DocumentRoot "/var/www/html/nextcloud" # Адрес машины с облаком. 
    ServerName 192.168.1.130 
    Alias / "/var/www/html/nextcloud/" # Alias / Путь - то, что указано даст возможность попасть в веб интерфейс просто по домену, без дополнительных подкаталогов. 
    <Directory /var/www/html/nextcloud/> 
        Options +FollowSymlinks 
        AllowOverride All 
        <IfModule mod_dav.c> 
        Dav off 
            </IfModule> 
            SetEnv HOME /var/www/html/nextcloud 
            SetEnv HTTP_HOME /var/www/html/nextcloud 
    </Directory> 
    TransferLog /var/log/apache2/nextcloud_access.log 
    ErrorLog /var/log/apache2/nextcloud_error.log 
</VirtualHost>

Сохранить изменения. Добавляем сайт, включаем реврайт, перезагружаем apache.

a2ensite nc.mywolfram.ru
a2enmod rewrite
a2enmod env
service apache2 reload && service apache2 restart

PHP 7

С PHP все просто.

apt-get install -y php libapache2-mod-php php-common php-mbstring php-xmlrpc  php-soap php-apcu php-smbclient php-ldap php-redis php-gd php-xml php-intl php-json php-imagick php-mysql php-cli php-ldap php-zip php-curl

Да - это установка всех нужных модулей одной командой.

MariaDB

База данных.

Устанавливаем из репозиториев:

apt-get install mariadb-server –y

Запускаем процесс:

systemctl start mariadb

Делам так чтобы стартовал при перезапуске:

systemctl enable mariadb

Смотрим статус, должно быть Active: active (running):

systemctl status mariadb

Далее, настройка:

mysql_secure_installation

Set root password? [Y/n] Y

Вводим пароль пользователя: пароль_для_sql

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y

Перезагружаем процесс:

systemctl restart mariadb

Настраиваем пользователя.

mysql -u root -p

Вводим вышеуказанный пароль.

CREATE DATABASE имя_базы;
CREATE USER 'пользователь_базы'@'localhost' IDENTIFIED BY 'пароль_базы';
GRANT ALL PRIVILEGES ON имя_базы.* TO 'пользователь_базы'@'localhost';
FLUSH PRIVILEGES;
\q

Nextcloud

Демонстрация получения ссылки

Нам нужно загрузить архив с nextcloud с официального сайта. Там жмем на северную версию и копируем ссылку с кнопки загрузить.

Как это сделать, идем на официальный сайт nextcloud, выбираем загрузку для сервера. И на кнопке скачать выполняем копирование ссылки. Это и есть прямой путь к получению архива.

wget полученная_нами_ссылка

Пример:

wget https://download.nextcloud.com/server/releases/nextcloud-18.0.3.zip

Происходит загрузка в каталог, который сейчас открыт

Распаковываем скачанный архив в /var/www/html/

unzip nextcloud-18.0.1.zip -d /var/www/html/

Даем права:

Делам папку /nextcloud принадлежащей группе и пользователю www-data:

chown -R www-data:www-data /var/www/html/nextcloud

Так же у меня для хранения самих файлов есть каталог /media/nextcloud, создан был при установке, в него примонтирован раздел на SSD.

Делаю папку /media/nextcloud принадлежащей группе и пользователю www-data:

chown -R www-data:www-data /media/nextcloud

Даю папкам права на запись в соответствии со значением 755:

chmod 755 /var/www/html/nextcloud
chmod 755 /media/nextcloud

Открываем Nextcloud в браузере:

http://адрес__машины_nextcloud/nextcloud/

Пример:

http://192.168.1.130/nextcloud/

Нас приветствует первая настройка.

Имя пользователя: Придумываем свое имя пользователя. (vova0108)

Пароль: Придумываем совой пароль

Каталог с данными: в моём случае выше упомянуты /media/nextcloud

Пользователь базы данных:

Пароль базы данных:

Название базы:

Готово.


Ожидаем первичной настройки.

После окончания осталось поправить config.php:

nano /var/www/html/nextcloud/config/config.php

В нем нужно прописать дополнительные доверенные адреса, чтобы он нас с них пускал:

$CONFIG = array (
....  
  array (
    0 => '192.168.1.130',
    1 => '127.0.0.1',
    2 => 'vovaconst.ddns.net',
    3 => '192.168.1.230',
    4 => 'nc.mywolfram.ru',
),
....
 'htaccess.RewriteBase' => '/',
 'overwrite.cli.url' => 'https://nc.mywolfram.ru',
 'overwritehost' => 'nc.mywolfram.ru',
 'overwriteprotocol' => 'https',
),

Я добавляю много адресов, это уже с учётом того что есть прокси nginx и домен.

1.230 - это машина nginx

1.130 - cам nextcloud

Сохраняем.

Чтобы убрать index.php в адресной строке

Обязательно не от root!

Запустить из каталога /var/www/html/nextcloud/

cd /var/www/html/nextcloud/
sudo -u www-data php occ maintenance:update:htaccess

Настройка Nextcloud закончена.