Инструкция по установке Nextcloud на OrangePi

Black_Triangle 996ad7de78 Update 'README.md' 3 éve
README.md 996ad7de78 Update 'README.md' 3 éve
promo.jpg 2b0053ab1e Загрузить файлы '' 4 éve

README.md

Инструкция по установке Nextcloud на OrangePi PC

Nextcloud на OrangePi PC

Потребуется:

Приступим:

Качай armbian от сюда https://www.armbian.com/ под свою модель платы и запихивай в microSD

Врубаем, конектимся по ssh и погнали

Обновляем ОС

apt update
apt upgrade

Перезагружаемся reboot

Создаем клиент VPN

Прыгаем в каталог wireguard cd /etc/wireguard

Создаем клиентский конфиг

nano wg0-client.conf

С содержанием

[Interface]
PrivateKey = oJ2zключГГГГГГГГГГГГГГГГГГГГГГГГГHY=
Address = 10.8.0.4
DNS = 10.8.0.1

[Peer]
PublicKey = CLключГГГГГГГГГГГГГГГГГГГГГГГГXg=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = айпи_сервера:порт_сервера
PersistentKeepalive = 25

ВлююЮЮююЧай! wg-quick up wg0-client Теперь айпишник нашей платы будет 10.8.0.4

Установка Apache и PHP

Бахаем индейца

sudo apt install apache2

Чтобы установить PHP и нужные нам пакеты

sudo apt install php7.3 php7.3-gd php7.3-sqlite3 php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-mysql php7.3-bz2 php7.3-intl php7.3-smbclient php7.3-imap php7.3-gmp

Перезагрузим индейца sudo service apache2 restart

Настройка базы данных MySQL и пользователя для Nextcloud

Установка Марии

sudo apt install mariadb-server

Одеваем Марию

sudo mysql_secure_installation

Всегда говори да!

Создаем базу

sudo mysql -u root -p

Назавем ее nextclouddb

CREATE DATABASE nextclouddb;

И создадим юзера nextclouduser [PASSWORD] меняй на свой

CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY '[PASSWORD]';

Даем пользователю трогать Марию

GRANT ALL PRIVILEGES ON nextclouddb.* TO 'nextclouduser'@'localhost';

Очищаем таблицу привелегий

FLUSH PRIVILEGES;

Загрузка Nextcloud на OrangePi

Прыгаем каталог html cd /var/www/

Бахаем Nextcloud

sudo wget https://download.nextcloud.com/server/releases/latest.tar.bz2

Открываем посылку

sudo tar -xvf latest.tar.bz2

Теперь нам нужно создать каталог данных для работы с Nextcloud

sudo mkdir -p /var/www/nextcloud/data

Передаем управление

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

Даем разрешения

sudo chmod 750 /var/www/nextcloud/data

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

Создадим файл, в котором будут храниться наши изменения конфигурации для Nextcloud

sudo nano /etc/apache2/sites-available/nextcloud.conf

Бахаем туда это:

Alias /nextcloud "/var/www/nextcloud/"

<Directory /var/www/nextcloud/>
  Require all granted
  AllowOverride All
  Options FollowSymLinks MultiViews

  <IfModule mod_dav.c>
    Dav off
  </IfModule>

</Directory>

Говорим индейцу это съесть

sudo a2ensite nextcloud.conf

Перезапускаем индейца

sudo systemctl reload apache2

Nextcloud Начальная настройка

Делаем как в видео и внимательно слушаем https://www.youtube.com/watch?v=aJ3gHHFATyc

Перемещение папки данных Nextcloud

Подключаем жесткий

Помни он должен быть в ext4

Смотрим как он обзываеться

fdisk -l

Создаем папку для монтирования:

sudo mkdir /media

Монтируем

sudo mount Как_он_обзываеться /media

Проверяем

mount

Перемещаем все что есть на жесткий

sudo mv -v /var/www/nextcloud/data /media

Прыгаем в каталог конфигурации для Nextcloud

cd /var/www/nextcloud/config

Делаем копию на всякий

sudo cp -p config.php config.php.bk

Редактируем конфиг

sudo nano config.php

В этом файле нам нужно изменить следующую строку:

'datadirectory' => '/var/www/nextcloud/data',

заменить на

'datadirectory' => '/media/data',

Соблюдаем права

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

Прыгаем в браузер и проверяем

Если пишет ошибку

cd media
touch .ocdata

Потом должно фурычить

Увеличение максимального размера загрузки Nextcloud

Редактируем конфиг

sudo nano /etc/php/7.3/apache2/php.ini

Меняем вот эти строки:

post_max_size = 8M
upload_max_filesize = 2M

На вот эти:

post_max_size = 8000M
upload_max_filesize = 8000M

Значения можешь придумать свои

Перезапускай индейца

sudo service apache2 restart

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

Создадим каталог

sudo mkdir -p /etc/apache2/ssl

Создаем сертеффикат

sudo openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

На все вопросы можно прожать enter

Включим модуль SSL для Apache

sudo a2enmod ssl

Редактируем конфиг

sudo nano /etc/apache2/sites-available/default-ssl.conf

Изменить:

SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

На

SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

Подключаем конфиг и перезагружаем индейца

sudo a2ensite default-ssl.conf
sudo service apache2 restart

Врубаем HTTPS на всю катушку

Редактируем конфиг

sudo nano /etc/apache2/sites-available/000-default.conf

Все удаляем и пишем

<VirtualHost *:80>
   ServerAdmin example@example

   RewriteEngine On
   RewriteCond %{HTTPS} off
   RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

Кормим индейцу и перезапускаем

sudo a2enmod rewrite
sudo service apache2 restart

Вот и все, делов то

Заключение

Спасибо за внимание к проекту друг, для создания этой инструкции и видео пришлось потратить несколько больше сил и времени чем занимают обычные мои ролики, если у тебя есть возможность поддержать канал, то буду рад любой поддержке:

  • Bitcoin: 1AWBMoeV8UEybQi4QrQMmeFX1sXvRLDeCn

  • Ethereum: 0xB151c82A264eF0EA848c120444173658BFA18Cf9

  • DASH: XcNtFGW1ydGLudvTPWoBvPZZxG844EvksR

  • Zcash: t1hCJwasRozdkoaK9HLpngoEVPQhEZpxdFT

  • Monero: 41iNuQsc6GjZofH3XkKwNYVSXVsrjipfVjjNR3nbsL5XjJMFTfykW1T6CkYz1StdXH2t8dhnjUTT9FwEPpbsFVxjHuuYabQ

  • Litecoin: LNpw5QS5fvH1NW5AMp35zzMs1FYKuAUuPP

  • Bitcoin Cash: qrs29h849m9vj02ljd2utf6g7e7hxnntqvkhz8r8u3

  • Ethereum Classic: 0xc20a61Ec5765aC0059D6e85f069B440889EBfcC5