- Установка Nextcloud
- Инструкция по установке Nextcloud на Centos 7, Ubuntu 18.04 server, +apache, mariadb, fail2ban, postfix, ssl let’s encrypt, регистрация домена, Яндекс коннект, NGINX
- Ошибки после обновления Nextcloud.
- Ошибки после обновления. Centos 7
- Ошибки после обновления Nextcloud. Ubuntu 19.04 server Nginx
- Linux. Настраиваем Nextcloud
- Задача
- Решение
- HTTP Strict-Transport-Security
- HTTP Referrer-Policy
- PHP-FPM
- OPcache
- Результат
Установка Nextcloud
Инструкция по установке Nextcloud на Centos 7, Ubuntu 18.04 server, +apache, mariadb, fail2ban, postfix, ssl let’s encrypt, регистрация домена, Яндекс коннект, NGINX
Ошибки после обновления Nextcloud.
Ошибки после обновления. Centos 7
Исправим последнюю ошибку:
Заголовок HTTP «Referrer-Policy» не содержит значения «no-referrer», «no-referrer-when-downgrade», «strict-origin» или «strict-origin-when-cross-origin», что может привести к утечке информации об адресе источника перехода по ссылке
В 15 NC Значение «no-referrer» уже указано в .htaccess
Закомментируем строку:
]$ sudo nano /etc/httpd/sites-available/nextcloud.conf
#Header always set Referrer-Policy no-referrer
Header always set Strict-Transport-Security «max-age=31536000; includeSubDomains; preload»
#Header always set Referrer-Policy no-referrer
Header set Feature-Policy «geolocation ‘none’; midi ‘none’; microphone ‘none’; camera ‘none’; magnetometer ‘none’; gyroscope ‘none’; sp$
Some columns in the database are missing a conversion to big int. Due to the fact that changing column types on big tables could take some time they were not changed automatically. By running ‘occ db:convert-filecache-bigint’ those pending changes could be applied manually. This operation needs to be made while the instance is offline. For further details read the documentation page about this.
• filecache.mtime
• filecache.storage_mtime
или бывает так же:
Некоторые индексы базы данных не были преобразованы в тип big int. Так как преобразование таких индексов может занять продолжительное время, оно должно быть запущенно вручную. Чтобы выполнить преобразование, необходимо включить режим обслуживания и запустить в терминале команду «occ db:convert-filecache-bigint».
- mounts.storage_id
- mounts.root_id
- mounts.mount_id
Переведем NC в режим обслуживания:
]$ cd /var/www/html/nextcloud/
[user@server nextcloud]$
[user@server nextcloud]$ sudo -u apache php occ maintenance:mode —on
[sudo] пароль для user:
The current PHP memory limit is below the recommended value of 512MB.
Maintenance mode enabled
[user@server nextcloud]$
[user@server nextcloud]$ sudo -u apache php occ db:convert-filecache-bigint
The current PHP memory limit is below the recommended value of 512MB.
Nextcloud is in maintenance mode — no apps have been loaded
Following columns will be updated:
This can take up to hours, depending on the number of files in your instance!
Continue with the conversion (y/n)? [n] Y
Выключаем режим обслуживания:
]$ cd /var/www/html/nextcloud/
[user@server nextcloud]$ sudo -u apache php occ db:add-missing-indices
The current PHP memory limit is below the recommended value of 512MB.
Check indices of the share table.
Adding additional owner index to the share table, this can take some time.
Share table updated successfully.
Adding additional initiator index to the share table, this can take some time.
Share table updated successfully.
[user@server nextcloud]$
[user@server nextcloud]$ sudo systemctl restart httpd
[user@server nextcloud]$
Проверяем сообщение о количестве памяти «The current PHP memory limit is below the recommended value of 512MB.»
+
Предупреждения о текущей конфигурации:
В базе данных отсутствуют некоторые необязательные столбцы. Из-за того, что добавление столбцов в больших таблицах может занять некоторое время, они не добавляются автоматически, если они могут быть необязательными. Запустив «occ db:add-missing-columns», эти недостающие столбцы можно добавить вручную, пока экземпляр продолжает работать. После добавления столбцов некоторые функции могут улучшить отзывчивость или удобство использования.
Отсутствует необязательный столбец «reference_id» в таблице «oc_comments».
]$ sudo -u apache php /var/www/html/nextcloud/occ db:add-missing-columns
Check columns of the comments table.
Adding additional reference_id column to the comments table, this can take some time.
Comments table updated successfully.
[user@server
Ошибки после обновления Nextcloud. Ubuntu 19.04 server Nginx
- The old server-side-encryption format is enabled. We recommend disabling this. For more details see the documentation.
- Заголовок HTTP «X-Frame-Options» не настроен на значение «SAMEORIGIN». Это потенциальная проблема безопасности для устранения которой рекомендуется задать этот параметр.
- Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация доступна в документации.
- В базе данных отсутствуют некоторые индексы. Так как создание таких индексов может занять достаточно продолжительное время, оно должно быть запущено вручную. Для создания индексов необходимо запустить команду «occ db:add-missing-indices» во время работы сервера Nextcloud. При созданных индексах, как правило, запросы к базе данных выполняются значительно быстрее.
- В таблице «oc_calendarobjects_props» отсутствует индекс «calendarobject_calid_index».
- В таблице «oc_schedulingobjects» отсутствует индекс «schedulobj_principuri_index».
- В таблице «oc_properties» отсутствует индекс «properties_path_index».
- В базе данных отсутствуют некоторые необязательные столбцы. Из-за того, что добавление столбцов в больших таблицах может занять некоторое время, они не добавляются автоматически, если они могут быть необязательными. Запустив «occ db:add-missing-columns», эти недостающие столбцы можно добавить вручную, пока экземпляр продолжает работать. После добавления столбцов некоторые функции могут улучшить отзывчивость или удобство использования.
- Отсутствует необязательный столбец «reference_id» в таблице «oc_comments».
- В системе не установлены рекомендуемые модули PHP. Для улучшения производительности и совместимости рекомендуется установить эти модули.
- bcmath
- gmp
- Некоторые индексы базы данных не были преобразованы в тип big int. Так как преобразование таких индексов может занять продолжительное время, оно должно быть запущенно вручную. Чтобы выполнить преобразование, необходимо включить режим обслуживания и запустить в терминале команду «occ db:convert-filecache-bigint». Дополнительные сведения приведены на соответствующей странице документации.
- mounts.storage_id
- mounts.root_id
- mounts.mount_id
1. The old server-side-encryption format is enabled. We recommend disabling this. For more details see the documentation.
Если ранее включали шифрование, но затем отключили, вы все еще можете видеть это предупреждение, удалим или закомментируем строки в config/config.php:
# nano /var/www/html/nextcloud/config/config.php
***
// ‘encryption.legacy_format_support’ => true,
// ‘encryption.key_storage_migrated’ => false,
// ‘updater.secret’ => ‘12345678XXXXXXXXXXXXXXXXXXXXXX’,
);
root@test:
2. Заголовок HTTP «X-Frame-Options» не настроен на значение «SAMEORIGIN». Это потенциальная проблема безопасности для устранения которой рекомендуется задать этот параметр.
Необходимо добавить строку: add_header X-Frame-Options SAMEORIGIN; в конфигурацию виртуального хоста Nginx:
# nano /etc/nginx/sites-available/nextcloud.conf
***
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection «1; mode=block»;
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy no-referrer;
add_header X-Frame-Options SAMEORIGIN;
***
root@test:
3. Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация доступна в документации.
# nano /var/www/html/nextcloud/config/config.php
***
‘memcache.local’ => ‘\OC\Memcache\APCu’,
***
);
root@test:
4. В базе данных отсутствуют некоторые индексы. Так как создание таких индексов может занять достаточно продолжительное время, оно должно быть запущено вручную. Для создания индексов необходимо запустить команду «occ db:add-missing-indices» во время работы сервера Nextcloud. При созданных индексах, как правило, запросы к базе данных выполняются значительно быстрее.
- В таблице «oc_calendarobjects_props» отсутствует индекс «calendarobject_calid_index».
- В таблице «oc_schedulingobjects» отсутствует индекс «schedulobj_principuri_index».
- В таблице «oc_properties» отсутствует индекс «properties_path_index».
5. В базе данных отсутствуют некоторые необязательные столбцы. Из-за того, что добавление столбцов в больших таблицах может занять некоторое время, они не добавляются автоматически, если они могут быть необязательными. Запустив «occ db:add-missing-columns», эти недостающие столбцы можно добавить вручную, пока экземпляр продолжает работать. После добавления столбцов некоторые функции могут улучшить отзывчивость или удобство использования.
- Отсутствует необязательный столбец «reference_id» в таблице «oc_comments».
6. В системе не установлены рекомендуемые модули PHP. Для улучшения производительности и совместимости рекомендуется установить эти модули.
bcmath
gmp
# apt install php-bcmath php-gmp -y
Фоновые задания Nextcloud 21-22 версии. Последнее задание было выполнено nn минут, часов или дней назад. Похоже, что-то не в порядке.
Вероятнее всего вы используете кэширование APCu, например в файле конфигурации /var/www/html/nextcloud/config/config.php:
‘memcache.local’ => ‘\\OC\\Memcache\\APCu’,
Для centos7 (php7.4) потребуется отредактировать файл по пути «/etc/php.d/40-apcu.ini»
Находим строку «;apc.enable_cli=0», раскомментируем и изменим значение на 1:
apc.enable_cli=1
Через несколько минут проверьте результат:
«Фоновые задания. Последнее задание выполнено несколько секунд назад.»
Источник
Linux. Настраиваем Nextcloud
Ранее устанавливал Nextcloud, но если зайти в Настройки — Обзор, то можно увидеть предупреждения безопасности и производительности. Настраиваем Nextcloud.
Задача
На развернутой Ubuntu Server 18.04.1 выполнена установка Nextcloud, необходимо выполнить настройку, устранив предупреждения безопасности и производительности.
Решение
У каждого набор предупреждений может быть разным, буду разбирать имеющиеся на моем сервере. Как и в статье по установке Nextcloud, в тексте по возможности буду оставлять ссылки на соответствующие разделы документации. Полный текст сообщений приводить не буду, ибо они разнятся между версиями, вместо этого буду указывать ключевые слова.
Так же в документации есть раздел оптимизации работы Nextcloud, заодно воспользуемся некоторыми из этих советов.
Для экономии текста, в статье не буду каждый раз указывать необходимость перезагрузки Apache и PHP, ориентируйтесь по тексту.
HTTP Strict-Transport-Security
HTTP Strict-Transport-Security (HSTS) механизм, принудительно активирующий защищённое соединение через протокол HTTPS. Что в свою очередь позволяет снизить возможность атаки Человек посередине (MITM).
В раздел виртуального порта на 443 порту добавляем блок
Описание виртуально порта стало таким
HTTP Referrer-Policy
HTTP заголовок Referrer-Policy. При указании значения no-referrer, при переходе по ссылке с сайта никакая информация не отправляется вместе с запросами.
Согласно разделу Serve security related headers by the Web server добавим и другие рекомендуемые HTTP заголовки.
Для работы потребуются модули mod_headers и mod_env, но они уже были установлены вместе с Nextcloud.
И в существующий раздел модуля mod_headers добавить HTTP заголовки, до получения следующего:
Согласно разделу документации Configuring memory caching необходимо настроить кэширование. Для личного использования достаточно настроить APCu.
Теперь необходимо поправить конфигурационный файл Nextcloud
И поправить конфигурационный файл самого APCu
PHP-FPM
Установка PHP-FPM опциональна и данную настройку можно игнорировать, но я установил
Согласно разделу документации Tune PHP-FPM необходимо оптимизировать работу PHP-FPM, разрешив выполнять несколько запросов одним процессом.
Правим конфигурационный файл
OPcache
Согласно разделу документации Enable PHP OPcache, можно ускорить работу PHP. Правим конфигурационный файл PHP
Результат
После выполнения всех рекомендаций на станице Настройки — Обзор видна надпись Все проверки пройдены, а Nextcloud Security Scan показывает рейтинг A+.
У меня на сервере крутится nas4free, и через плагин OneButtonInstaller установлен Nextcloud. Nas4free я устанавливал с тем учетом, чтобы объединить все 4 диска в рейд массив ZFS. На то время это было единственное решение, что я нашел с надежной и быстрой файловой системой. Всеми остальными функциями nas4free я по истечению времени так и не воспользовался. У меня вопрос. Имеет ли смысл сносить nas4free и устанавливать linux и накатывать NExtcloud для более стабильной работы / съедания меньшего количества ресурсов / расширения функционала? Или оставить nas4free, так как разницу я не замечу? Сервер крутится круглые сутки. Так же в nas4free можно посмотреть состояние бесперебойника.
Андрей, тут все очень индивидуально. Рекомендаций дать, наверное не могу.
Про nas4free только читал. Для себя выбрал полнеценный сервер, ибо нужен был не только NAS.
Про ZFS так же только читал, для себя использовать не стал. Поговаривают, что к ZFS есть вопросы по производительности на слабых железяках, и по скорости исчерпания ресурса SSD.
По файловой системе использую ext4, по дискам SSD + 4 HDD в корзине, но они не объединены в RAID или LVM. Примерно описывал в статье Linux. Монтирование дисков
Источник