Base sync backup: 2025-01-16 00:06:10
@@ -0,0 +1,134 @@
|
||||
## 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/`
|
||||
47
2. Проекты/Nextcloud/2. Ошибки NC/Исправление ошибок.md
Normal file
@@ -0,0 +1,47 @@
|
||||
>[!Bug] **The PHP memory limit is below the recommended value of 512 MB**
|
||||
>1) Открываем файл php `sudo nano /etc/php/8.3/apache2/php.ini`
|
||||
>2) Нажимаем ctrl+w и пишем `memory`, затем нажимаем `enter`
|
||||
> ![[Pasted image 20240917124700.png]]
|
||||
> Указываем в поле `memory_limit =` 528M
|
||||
>3) Сохраняем ctrl+x->y->enter
|
||||
>4) перезапускаем apache `sudo systemctl restart apache2`
|
||||
|
||||
>[!Bug] **Настройка окна обслуживания сервера**
|
||||
>1) **Включение режима обслуживания:**
|
||||
>`sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --on`
|
||||
>>[!Warning] Во время тех обслуживания сайт не будет доступен!!!
|
||||
>2) **Обновите базу данных и выполните необходимые исправления**
|
||||
>`sudo -u www-data php /var/www/html/nextcloud/occ upgrade`
|
||||
> `sudo -u www-data php /var/www/html/nextcloud/occ maintenance:repair`
|
||||
>3) Выход из режима обслуживания
|
||||
>`sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --off`
|
||||
|
||||
>[!Bug] **Добавление недостающих индексов**
|
||||
>Команда:
|
||||
>`sudo -u www-data php /var/www/html/nextcloud/occ db:add-missing-indices`
|
||||
|
||||
>[!Bug] **Настройка PHP OPcache**
|
||||
>1) Открытие файла PHP
|
||||
>`sudo nano /etc/php/8.3/apache2/php.ini`
|
||||
>2) Поиск строки opcache.enable=1
|
||||
>ctrl+w -> opcache.enable=1 -> enter
|
||||
>Затем, после строки opcache.enable=1 нужно внести код:
|
||||
>`opcache.interned_strings_buffer=8 opcache.memory_consumption=128`
|
||||
>`opcache.max_accelerated_files=10000 opcache.revalidate_freq=1` `opcache.save_comments=1`
|
||||
>Должно выглядеть вот так ![[Pasted image 20240917132005.png]]
|
||||
>3) Затем просто перезапускаем apache
|
||||
> `sudo systemctl restart apache2`
|
||||
|
||||
>[!Bug] **Strict-Transport-Security**
|
||||
>1) нужно открыть файл sudo nano `nextcloud-le-ssl.conf`
|
||||
>`sudo nano /etc/apache2/sites-available/nextcloud-le-ssl.conf`
|
||||
>2) Добавить после ssl следующей строкой код:
|
||||
>`Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"`
|
||||
>Должно быть так ![[Pasted image 20240917133023.png]]
|
||||
>3) Проверка что модуль включён
|
||||
>`sudo a2enmod headers`
|
||||
>4) Перезапускаем Apache:
|
||||
>`sudo systemctl restart apache2`
|
||||
|
||||
|
||||
|
||||
11
2. Проекты/Nextcloud/3. LAMP_STACK/LAMP стек.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2 align=center> Совершаем установку пошагово (1,2,3) </h2>
|
||||
|
||||
>[!example]
|
||||
> [[LAMP apache2]]
|
||||
> [[LAMP mariadb]]
|
||||
> [[LAMP PHP8.3]]
|
||||
|
||||
|
||||
|
||||
>[!warning] Теперь возвращаемся в [[1. Установка и настройка Nextcloud]]
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
<h2 align=center> Установка PHP8.3 вместе с его расширениями </h2>
|
||||
|
||||
Чтобы установить PHP8.3, выполните команду ниже:
|
||||
`sudo apt install php8.3 libapache2-mod-php php8.3-common php8.3-cli php8.3-mbstring php8.3-bcmath php8.3-fpm php8.3-mysql php8.3-zip php8.3-gd php8.3-curl php8.3-xml -y`
|
||||
|
||||
После установки вы можете проверить версию PHP с помощью команды ниже:
|
||||
`php -v`
|
||||
>[!tip] Будет получен примерно такой результат
|
||||
![[Pasted image 20240916132724.png]]
|
||||
|
||||
>[!warning] Установил? Вернись в [[1. Установка и настройка Nextcloud]]
|
||||
|
||||
|
||||
>[!quote] Переходы:
|
||||
>[[LAMP apache2]]
|
||||
>[[LAMP mariadb]]
|
||||
@@ -0,0 +1,15 @@
|
||||
Чтобы установить Apache, выполните следующую команду:
|
||||
`sudo apt install apache2 -y`
|
||||
После установки запустите и включите службу:
|
||||
`sudo systemctl start apache2 && sudo systemctl enable apache2`
|
||||
проверьте статус услуги:
|
||||
`sudo systemctl status apache2`
|
||||
>[!tip] Будет выведено схожее:
|
||||
>![[Pasted image 20240916131002.png]]
|
||||
|
||||
>[!info] Переходы в подтемы:
|
||||
>**Next_install** [[LAMP mariadb]]
|
||||
>**Last_install** [[LAMP PHP8.3]]
|
||||
|
||||
>[!warning] [[1. Установка и настройка Nextcloud]]
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
Далее мы установим сервер базы данных MariaDB. Выполните команду ниже:
|
||||
`sudo apt install mariadb-server -y`
|
||||
После установки сервера MariaDB нам нужно запустить и включить службу:
|
||||
`sudo systemctl start mariadb && sudo systemctl enable mariadb`
|
||||
Чтобы проверить статус службы, выполните следующую команду:
|
||||
`sudo systemctl status mariadb`
|
||||
>[!tip] Будет вывод подобный этому
|
||||
>![[Pasted image 20240916131747.png]]
|
||||
|
||||
>[!info] Переходы:
|
||||
>**Last_install** [[LAMP PHP8.3]]
|
||||
|
||||
>[!warning] [[1. Установка и настройка Nextcloud]]
|
||||
|
||||
17
2. Проекты/Nextcloud/4. Cache/Virtual_host.md
Normal file
@@ -0,0 +1,17 @@
|
||||
<VirtualHost *:80>
|
||||
DocumentRoot "/var/www/html/nextcloud"
|
||||
ServerName YOUR_DOMEN
|
||||
|
||||
ErrorLog ${APACHE_LOG_DIR}/nextcloud.error
|
||||
CustomLog ${APACHE_LOG_DIR}/nextcloud.access combined
|
||||
|
||||
<Directory /var/www/html/nextcloud/>
|
||||
Require all granted
|
||||
Options FollowSymlinks MultiViews
|
||||
AllowOverride All
|
||||
</Directory> <!-- Добавлено закрытие тега </Directory> -->
|
||||
|
||||
</VirtualHost>
|
||||
|
||||
>[!int] Возврат в [[1. Установка и настройка Nextcloud]]
|
||||
|
||||
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 42 KiB |
@@ -0,0 +1,68 @@
|
||||
<<<<<<< HEAD
|
||||
#
|
||||
<FilesMatch "^\.ht">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
|
||||
|
||||
#
|
||||
# The following directives define some format nicknames for use with
|
||||
# a CustomLog directive.
|
||||
#
|
||||
# These deviate from the Common Log Format definitions in that they use %O
|
||||
# (the actual bytes sent including headers) instead of %b (the size of the
|
||||
# requested file), because the latter makes it impossible to detect partial
|
||||
# requests.
|
||||
#
|
||||
# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
|
||||
# Use mod_remoteip instead.
|
||||
#
|
||||
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %O" common
|
||||
LogFormat "%{Referer}i -> %U" referer
|
||||
LogFormat "%{User-agent}i" agent
|
||||
|
||||
# Include of directories ignores editors' and dpkg's backup files,
|
||||
# see README.Debian for details.
|
||||
|
||||
# Include generic snippets of statements
|
||||
IncludeOptional conf-enabled/*.conf
|
||||
|
||||
# Include the virtual host configurations:
|
||||
IncludeOptional sites-enabled/*.conf
|
||||
=======
|
||||
#
|
||||
<FilesMatch "^\.ht">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
|
||||
|
||||
#
|
||||
# The following directives define some format nicknames for use with
|
||||
# a CustomLog directive.
|
||||
#
|
||||
# These deviate from the Common Log Format definitions in that they use %O
|
||||
# (the actual bytes sent including headers) instead of %b (the size of the
|
||||
# requested file), because the latter makes it impossible to detect partial
|
||||
# requests.
|
||||
#
|
||||
# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
|
||||
# Use mod_remoteip instead.
|
||||
#
|
||||
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %O" common
|
||||
LogFormat "%{Referer}i -> %U" referer
|
||||
LogFormat "%{User-agent}i" agent
|
||||
|
||||
# Include of directories ignores editors' and dpkg's backup files,
|
||||
# see README.Debian for details.
|
||||
|
||||
# Include generic snippets of statements
|
||||
IncludeOptional conf-enabled/*.conf
|
||||
|
||||
# Include the virtual host configurations:
|
||||
IncludeOptional sites-enabled/*.conf
|
||||
>>>>>>> 77abb6a0bf9452daf6706798b3a3b4cdd4d5f8a2
|
||||
ServerName stich.fun
|
||||