Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| wiki:articles:nc15 [19/03/2023 19:05] – [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-контейнере.\\ | ||
| Поэтому, | Поэтому, | ||
| Строка 1018: | Строка 1053: | ||
| Там интуитивно понятно что и куда прописывать. | Там интуитивно понятно что и куда прописывать. | ||
| - | ===== VNC ===== | + | ===== VNC как внешняя ссылка |
| Подключимся к удaлённому рабочему столу прямо из web-интерфейса Nextcloud.\\ | Подключимся к удaлённому рабочему столу прямо из web-интерфейса Nextcloud.\\ | ||
| Строка 1049: | Строка 1084: | ||
| </ | </ | ||
| + | Теперь, | ||
| + | Это делается у хостеров, | ||
| + | (Кусок конфигурации зоны в bind для домена // | ||
| + | < | ||
| + | $TTL 86400 | ||
| + | @ | ||
| + | ... | ||
| + | ... | ||
| + | ) | ||
| + | ... | ||
| + | ... | ||
| + | @ | ||
| + | www | ||
| + | office | ||
| + | vnc | ||
| + | ... | ||
| + | </ | ||
| + | Добавим блок // | ||
| + | < | ||
| + | < | ||
| + | |||
| + | ServerName vnc.my-cloud.ru | ||
| + | |||
| + | SSLEngine on | ||
| + | SSLCertificateFile | ||
| + | SSLCertificateKeyFile | ||
| + | SSLCertificateChainFile | ||
| + | |||
| + | SSLProxyEngine on | ||
| + | RequestHeader set X-Forwarded-Proto " | ||
| + | |||
| + | ProxyPreserveHost | ||
| + | ProxyRequests Off | ||
| + | ProxyVia on | ||
| + | ProxyAddHeaders On | ||
| + | | ||
| + | <Proxy *> | ||
| + | | ||
| + | </ | ||
| + | |||
| + | RewriteEngine On | ||
| + | RewriteCond %{HTTP: | ||
| + | RewriteCond %{HTTP: | ||
| + | RewriteRule /(.*) ws:// | ||
| + | |||
| + | ProxyPass / http:// | ||
| + | ProxyPassReverse / http:// | ||
| + | |||
| + | ErrorLog "/ | ||
| + | CustomLog "/ | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Перезапускаем //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 / | ||
| + | </ | ||
| + | |||
| + | * В блоке // | ||
| + | < | ||
| + | | ||
| + | </ | ||
| ===== Улучшения ===== | ===== Улучшения ===== | ||
| Всё, нижеописанное, | Всё, нижеописанное, | ||
| Строка 1140: | Строка 1302: | ||
| # / | # / | ||
| </ | </ | ||
| + | |||
| + | * **skeleton** | ||
| + | Если при регистрации надо, чтобы у пользователя уже был определённый набор файлов, | ||
| + | /// | ||
| + | Соответственно, | ||
| + | Можно переопределить адрес такой директории указав её в /// | ||
| + | < | ||
| Строка 1176: | Строка 1345: | ||
| </ | </ | ||
| + | * **ОСС** | ||
| + | |||
| + | //ОСС// - инструмент для административных задач из терминала.\\ | ||
| + | Запускается под пользователем //apache//, т.е.\\ | ||
| + | //# sudo -u apache php / | ||
| + | |||
| + | Некоторый список ключей: | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| ====== Ссылки ====== | ====== Ссылки ====== | ||
| При написании статьи использовались: | При написании статьи использовались: | ||