Files
OBS/2. Проекты/Nextcloud/1. Установка NC/1. Установка и настройка Nextcloud.md
2025-03-07 20:32:38 +04:00

135 lines
6.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Step 1. Обновление системы
необходимо обновить системные пакеты до последних доступных версий. Для этого выполните следующие команды:
`sudo apt update -y && sudo apt upgrade -y`
<h2 align=center> Установка стека Lamp </h2>
## Step 2. Установка [[LAMP стек]] (Перейти в ссылку)
>[!warning] Установку выполняем строго по очередности!!!!
## Step 3. Создание пользователя Nextcloud
Далее мы создадим базу данных **Nextcloud** и пользователя **Nextcloud** и назначим привилегии этому пользователю и базе данных. База данных и пользователь будут иметь одно и то же имя **nextcloud**.
1) Войти в mariadb командой:
`sudo mariadb`
2) Отредактировать данные о будущем пользователе и исполняем код
>[!warrning] Первоначальный код
`MariaDB [(none)]> CREATE DATABASE nextcloud;`
`MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO` 'nextcloud`'@'localhost' IDENTIFIED BY` 'YourStrongPasswordHere';
`MariaDB [(none)]> FLUSH PRIVILEGES;`
`MariaDB [(none)]> EXIT;`
>[!warrning] Пример как должно быть
`CREATE DATABASE nextcloud;`
`GRANT ALL PRIVILEGES ON nextcloud.* TO` 'Stitch505'`@'localhost'` `IDENTIFIED BY` 'Tested123123';
`FLUSH PRIVILEGES;`
`EXIT;`
>[!warrning] Где `Stitch505` это твой логин, а `Tested123123` это пароль
## Step 3. Установка NextCloud
Стек LAMP готов, база данных создана. Теперь нам нужно загрузить последнюю версию Nextcloud и поместить ее в корень документа Apache.
<<<<<<< HEAD
`sudo wget https://download.nextcloud.com/server/releases/nextcloud-30.0.4.zip`
После загрузки извлеките его в корень документа Apache.
`sudo unzip nextcloud-30.0.4.zip -d /var/www/html/`
=======
`sudo wget https://download.nextcloud.com/server/releases/nextcloud-29.0.0.zip`
После загрузки извлеките его в корень документа Apache.
`sudo unzip nextcloud-29.0.0.zip -d /var/www/html/`
>>>>>>> 77abb6a0bf9452daf6706798b3a3b4cdd4d5f8a2
>[!warning] Если пишет что нет программы unzip, то нужно его установить командой:
sudo apt-get update
sudo apt-get install unzip
Установите правильное владение файлом и папкой:
`chown -R www-data:www-data /var/www/html/nextcloud`
## Step 5. Создайте файл виртуального хоста Apache
Нужно создать файл виртуального хоста Apache для сервера файлов Nextcloud, чтобы мы могли получить к нему доступ через доменное имя:
`touch /etc/apache2/sites-available/nextcloud.conf`
1) Откройте созданный файл командой:
<<<<<<< HEAD
2) sudo nano `/etc/apache2/sites-available/nextcloud.conf`
=======
2) sudo nano `etc/apache2/sites-available/nextcloud.conf`
>>>>>>> 77abb6a0bf9452daf6706798b3a3b4cdd4d5f8a2
3) в редакторе и вставьте код из [[Virtual_host]]
4) нажмите для сохранения и выхода `ctrl + x -> y -> enter`
Теперь запустим вебсайт (NextCloud)
<<<<<<< HEAD
`sudo a2ensite nextcloud.conf`
=======
`a2ensite nextcloud.conf`
>>>>>>> 77abb6a0bf9452daf6706798b3a3b4cdd4d5f8a2
Затем включите необходимые модули Apache с помощью следующей команды
`a2enmod rewrite headers env dir mime setenvif ssl`
Проверьте синтаксис Apache:
`apachectl -t`
>[!warning] При ошибке `Could not reliably determine the server's fully qualified domain name` нужно:
>1) Открыть глобальный конфигурационный файл Apache (путь `sudo nano /etc/apache2/apache2.conf`)
>2) В конец файла добавьте строку `ServerName ____`
, указывающую имя сервера. Если у вас нет полноценного доменного имени, (~~можно использовать IP-адрес~~):
>3) Пример того, как должно быть [[Открой файл в папке и посмотри содержимое!]]
>4) После внесения изменений нужно использовать команды
>5) `sudo apachectl -t`
>6) `sudo systemctl restart apache2`
Если всё корректно, то выполняем команду перезапуска apache сервера
`sudo systemctl restart apache2`
## Step 6. Установка сертификатов на домен
**Для установки выполните команду**
`sudo apt update`
`sudo apt install certbot python3-certbot-apache`
После установки используем certbote под apache2
`sudo certbot --apache`
Если требуется указываем номер требуемого домена, если же хотим подтянуть ssl сертификаты ко всем доменам из списка, жмём enter
![[Pasted image 20240916160825.png]]
## Step 6. Указание данных пользователя и данных пользователя
![[Pasted image 20240917121754.png]]
>[!Success] Чтобы свериться с данными в базе mariadb нужно:
>1) Войти в Mariadb
>`sudo mariadb`
>2) Посмотреть Какие у нас есть базы
> `SHOW DATABASES;`
>3) Теперь нужно посмотреть всех пользователей в базе данных
>`SELECT User, Host FROM mysql.user;`
>4) Осталось проверить права и все данные о пользователе
>`SHOW GRANTS FOR 'username'@'localhost';`
>>[!warning] Измени USER на нужное имя!
>[!Example] Пример
>
![[Pasted image 20240917122810.png]]
>
>>[!Warning] **На изображении видно**:
>
>- **Имя базы данных**: Ваша база данных называется `nextcloud`.
>- **Пользователь базы данных**: Пользователь с именем `Stitch505` имеет >полный доступ к базе данных `nextcloud`.
>- **Хост**: Пользователь подключается с хоста `localhost`.
> Так что ваша база данных называется `nextcloud`, а пользователь базы данных — `Stitch505`, с хостом `localhost`.
>[!warning]
>ссылка на оригинальный сайт `https://www.rosehosting.com/blog/how-to-install-nextcloud-on-ubuntu-24-04/`