135 lines
6.9 KiB
Markdown
135 lines
6.9 KiB
Markdown
## 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/`
|