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

Материал из wolfram
Перейти к навигации Перейти к поиску
мНет описания правки
мНет описания правки
Строка 118: Строка 118:
  '''apt-get install unzip -y'''
  '''apt-get install unzip -y'''
ОС готова переходим к установке '''Nextcloud'''.
ОС готова переходим к установке '''Nextcloud'''.
=== Установка Nextcloud ===
Начинается все с установки Apache web server
==== Apache ====
Устанавливаем из репозиториев apache:<syntaxhighlight lang="bash">
apt-get -y install apache2
</syntaxhighlight>Запускаем процесс apache:<syntaxhighlight lang="bash">
service apache2 start
#или по новому
systemctl start apache2
</syntaxhighlight>Делам так чтобы стартовал при перезапуске:<syntaxhighlight lang="bash">
systemctl enable apache2
</syntaxhighlight>Смотрим статус, должно быть '''Active: active (running)''':<syntaxhighlight lang="bash">
systemctl status apache2
</syntaxhighlight>Конфигурация:<syntaxhighlight lang="bash">
nano /etc/apache2/sites-available/nc.mywolfram.ru.conf
</syntaxhighlight>Вставляем в документ это:<syntaxhighlight lang="apacheconf">
<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> 
</syntaxhighlight>Сохранить изменения.
Добавляем сайт, включаем реврайт, перезагружаем apache.<syntaxhighlight lang="bash">
a2ensite nc.mywolfram.ru
a2enmod rewrite
a2enmod env
service apache2 reload && service apache2 restart
</syntaxhighlight>
==== PHP 7 ====
С PHP все просто.<syntaxhighlight lang="bash">
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
</syntaxhighlight>Да - это установка всех нужных модулей одной командой.
==== 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 '<nowiki/>'''пользователь_базы'''<nowiki/>'@'localhost' IDENTIFIED BY ''''пароль_базы'''<nowiki/>';
GRANT ALL PRIVILEGES ON '''имя_базы'''.* TO ''''пользователь_базы'''<nowiki/>'@'localhost';
FLUSH PRIVILEGES;
\q
=== Nextcloud ===
<br />

Версия от 19:53, 31 марта 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