Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
wiki:articles:nc15 [20/03/2023 16:20] – [VNC] graf | wiki:articles:nc15 [24/04/2024 19:53] (текущий) – [Улучшения] graf | ||
---|---|---|---|
Строка 377: | Строка 377: | ||
; Объем памяти для интернированных строк в Мбайт | ; Объем памяти для интернированных строк в Мбайт | ||
- | opcache.interned_strings_buffer = 16 | + | opcache.interned_strings_buffer = 128 |
; Максимальное количество ключей (скриптов) в хэш-таблице OPcache. | ; Максимальное количество ключей (скриптов) в хэш-таблице OPcache. | ||
Строка 488: | Строка 488: | ||
Устанавливаем необходимые пакеты для получения бесплатных сертификатов от центра сертификации // | Устанавливаем необходимые пакеты для получения бесплатных сертификатов от центра сертификации // | ||
< | < | ||
- | # sbopkg -Bki " | + | # pip install pyparsing requests importlib_metadata cryptography josepy |
- | pyrfc3339 pytz python-parsedatetime | + | # sbopkg -Bi " |
+ | pyrfc3339 pytz python-parsedatetime augeas pyOpenSSL | ||
+ | python3-configargparse | ||
</ | </ | ||
Строка 507: | Строка 509: | ||
... | ... | ||
... | ... | ||
+ | </ | ||
+ | |||
+ | Чтобы сертификаты автоматически обновлялись, | ||
+ | < | ||
+ | certbot renew --pre-hook "/ | ||
+ | </ | ||
+ | |||
+ | Добавим в //cron// задачу по запуску этого скрипта 25 числа каждые 2 месяца в 1:30 ночи: | ||
+ | < | ||
+ | # Обновление сертификатов | ||
+ | 30 01 25 */2 * / | ||
+ | </ | ||
+ | |||
+ | В /// | ||
+ | < | ||
+ | Listen 443 | ||
+ | |||
+ | SSLCipherSuite HIGH: | ||
+ | SSLProxyCipherSuite HIGH: | ||
+ | |||
+ | SSLHonorCipherOrder on | ||
+ | SSLProtocol all -SSLv3 | ||
+ | SSLProxyProtocol all -SSLv3 | ||
+ | |||
+ | SSLPassPhraseDialog | ||
+ | |||
+ | SSLSessionCache | ||
+ | SSLSessionCacheTimeout | ||
+ | |||
+ | BrowserMatch "MSIE [2-5]" \ | ||
+ | nokeepalive ssl-unclean-shutdown \ | ||
+ | downgrade-1.0 force-response-1.0 | ||
</ | </ | ||
Строка 652: | Строка 686: | ||
Далее пойдёт описание интеграции //CODE// в наш // | Далее пойдёт описание интеграции //CODE// в наш // | ||
+ | Если у вас запрещено использование **IPv6**, то необходимо его разрешить.\\ | ||
Для работы //CODE// будем использовать его образ в Docker-контейнере.\\ | Для работы //CODE// будем использовать его образ в Docker-контейнере.\\ | ||
Поэтому, | Поэтому, | ||
Строка 1049: | Строка 1084: | ||
</ | </ | ||
- | Далее, в DNS, я создал специальный | + | Теперь, необходимо прописать поддомен в DNS, например - //vnc//.\\ |
- | Теперь добавим блок // | + | Это делается |
+ | (Кусок конфигурации зоны в bind для домена // | ||
+ | < | ||
+ | $TTL 86400 | ||
+ | @ | ||
+ | ... | ||
+ | ... | ||
+ | ) | ||
+ | ... | ||
+ | ... | ||
+ | @ | ||
+ | www | ||
+ | office | ||
+ | vnc | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Добавим блок // | ||
< | < | ||
< | < | ||
- | ServerName vnc.mydom.ru | + | ServerName vnc.my-cloud.ru |
SSLEngine on | SSLEngine on | ||
- | SSLCertificateFile | + | SSLCertificateFile |
- | SSLCertificateKeyFile | + | SSLCertificateKeyFile |
- | SSLCertificateChainFile | + | SSLCertificateChainFile |
SSLProxyEngine on | SSLProxyEngine on | ||
Строка 1087: | Строка 1139: | ||
</ | </ | ||
+ | Перезапускаем //apache// | ||
+ | < | ||
+ | # / | ||
+ | </ | ||
+ | |||
+ | Теперь, | ||
+ | // | ||
+ | мы получим приглашение //noVNC// на соединение, | ||
+ | Подключимся к нему в нашем Nextcloud.\\ | ||
+ | Заходим Администратором в Nextcloud и устанавливаем приложение //" | ||
+ | **//" | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | Переходим к настройке: | ||
+ | **//" | ||
+ | Вводим название и URL. При клике на " | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | Введём соответствующие данные и получим значок в заголовке: | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | значок, | ||
+ | Если кликнем по значку получим приглашение //noVNC//, в котором, | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | Кликнув на " | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | Клик на " | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | |||
+ | ===== Загрузка больших файлов ===== | ||
+ | |||
+ | Очень часто, при загрузке больших файлов через веб-интерфейс, | ||
+ | А в логах Nextcloud видим, что-то подобное: | ||
+ | **Expected filesize of 10485760 bytes but read (from Nextcloud client) and wrote (to Nextcloud storage) 8306688 bytes. Could either be a network problem on the sending side or a problem writing to the storage on the server side**.\\ | ||
+ | А при использовании проксирования в логах видим ошибку - **proxy_fcgi: | ||
+ | Исправляем: | ||
+ | * Проверяем, | ||
+ | < | ||
+ | ; Размер POST-данных, | ||
+ | post_max_size = 16G | ||
+ | |||
+ | ; Максимально допустимый размер загружаемых файлов (0 - без ограничений) | ||
+ | upload_max_filesize = 0 | ||
+ | </ | ||
+ | |||
+ | * в файле /// | ||
+ | |||
+ | < | ||
+ | # Комментируем эту строку | ||
+ | # LoadModule reqtimeout_module lib64/ | ||
+ | |||
+ | # Добавляем Timeout в секундах | ||
+ | Timeout 7200 | ||
+ | </ | ||
+ | |||
+ | * Увеличиваем размер чанка (фрагмента) загрузки до 50 МБ (по умолчанию 10 МБ): | ||
+ | < | ||
+ | # sudo -u apache php / | ||
+ | </ | ||
+ | |||
+ | * В блоке // | ||
+ | < | ||
+ | | ||
+ | </ | ||
===== Улучшения ===== | ===== Улучшения ===== | ||
Всё, нижеописанное, | Всё, нижеописанное, | ||
Строка 1177: | Строка 1302: | ||
# / | # / | ||
</ | </ | ||
+ | |||
+ | * **skeleton** | ||
+ | Если при регистрации надо, чтобы у пользователя уже был определённый набор файлов, | ||
+ | /// | ||
+ | Соответственно, | ||
+ | Можно переопределить адрес такой директории указав её в /// | ||
+ | < | ||
Строка 1213: | Строка 1345: | ||
</ | </ | ||
+ | * **ОСС** | ||
+ | |||
+ | //ОСС// - инструмент для административных задач из терминала.\\ | ||
+ | Запускается под пользователем //apache//, т.е.\\ | ||
+ | //# sudo -u apache php / | ||
+ | |||
+ | Некоторый список ключей: | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
====== Ссылки ====== | ====== Ссылки ====== | ||
При написании статьи использовались: | При написании статьи использовались: |