30 Нояб., 2020, 10:23

Депрессия -- это когда включаешь интернет и не знаешь куда пойти.


Облачный сервер дома - это реально!

Автор Shaman, 20 Авг., 2020, 17:27

« предыдущая - следующая »

Shaman

Столкнулся с необходимостью получать и передавать данные людям не используя при этом открытые облачные сервисы типа Яндекс диск.
Для личного пользования давно был реализован SSH доступ до сервера на linux которы перекрывал все потребности, но поскольку из соображений безопасности доступ был реализован только по ключу, что резко ограничивает круг использования. Поскольку пришлось бы всем желающим раздавать файлы ключей, что не есть хорошо.

Мой выбор пал на ownCloud поскольку он бесплатный, имеет клиентские приложения под все популярные мобильные платформы, и десктопные решения под все популярные ОС.

Выделение_024.png   WhatsApp Image 2020-08-20 at 15.35.41.jpg

А также, что не маловажно для новичков в роде меня, подробную инструкцию по установке и настройке и хорошую документацию. Здесь более подробные инструкции по установке и настройке Apache и брандмауэра UFW

Ниже прокомментированы моменты, которые оказались не явными для меня и возможно будут таковыми для других новичков.
  • Шаг-4 в инструкции по url="https://www.digitalocean.com/community/tutorials/apache-ubuntu-14-04-lts-ru"]Apache[/url]
      вместо example.com в тех местах, где указывается путь не обязательно подставлять имя вашего домена можно, что вам удобно на латинице.
      Просто по имени домена будет легче искать файлы конфигурации.
  • Шаг 4 Руководства по Let's Encrypt для Apache
    Если ваш домен не имеет персфикса WWW, в команде для получения SSL сертификата
    sudo certbot --apache -d example.com -d www.example.com
    -d www.example.com вводить ненужно.
    Может быть использован любой DynDNS сервер если у вас нет постоянного IP адреса
  • Шаг-3 инструкции по установке и настройке
     
    ЦитироватьЗатем создайте отдельную учетную запись пользователя MySQL для управления созданной базой данных. Создание баз данных и учетных записей с одной функцией является хорошей идеей с точки зрения управления и безопасности. Выберите предпочитаемое имя пользователя. Для целей этого обучающего модуля мы решили использовать имя owncloud.

    GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'owncloud_database_password';

    красным выделено место куда нужно вписать имя пользователя, а зелёным имя базы данных. Не верный шаг в инструкции для начинающих делать одинаковые имена для разных параметров в местах где их нужно вводить одновременно.
  • Перед выполнением Шага 4 инструкции по установке и настройке
    Решите, где будут располагаться каталоги пользователей облака. По умолчанию они лежат  "/var/www/owncloud/data"
    ВАЖНО!!!
    Ни в коем случае не переносите эту директорию при уже настроенном, и работающем сервере он упадёт.
    Её можно перенести вручную по инструкции. Но это не тривиальная задача для новичка и забегая вперёд скажу у меня не вышло и пришлось поднимать сервер заново. Также её можно задать во время первичной конфигурации на веб интерфейсе, но у меня это опять же не сработало, выходила ошибка.
    Поэтому моим решением было смонтировать директорию по умолчанию другую директорию, в нужном мне месте, средствами самой системы.
    инструкция по монтированию
    В файле fstab при помощи команды
    sudo nano /etc/fstabнужно прописать следующие строки без кавычек:
    "/путь_к_директории_которую_надо_смонтировать /путь_куда_надо_смонтировапть none bind"Путь должен содержать только латинские символы и в нём должны отсутствовать пробелы
    Код (пример) Выделить
    /var/www/owncloud/data /home/ubuntu/Downloads none bind
    Сохранить изменения и перемонтировать все диски и директории командой
    sudo moun -a
    [свернуть]
  • Если вы хотите добавить или удалить фалы в каталогах пользователей не через приложение или вэб-интерфейс то после создания/удаления оных необходимо выполнить в терминале следующие команды иначе файлы не появятся/останутся у пользователей:
    cd /var/www/owncloud
    sudo -u www-data ./occ files:scan --all

    Где /var/www/owncloud директория в которой расположен (по мнению программы) каталог data
[свернуть]



Shaman

Далее я буду приписывать дальнейшую настройку сервера.
После того как сервер запустился в его админке будут появляться сообщения, что он ещё хочет для стабильной работы.


Включить поддержку .htaccess
Откройте файл конфигурации сервера Apache /etc/apache2/httpd.conf
sudo nano -w /etc/apache2/httpd.confили (зависит от версии) /etc/apache2/apache2.conf
sudo nano -w /etc/apache2/apache2.confДобавьте в файл /etc/apache2/httpd.conf или apache2.conf следующие строки
AccessFileName .htaccess
<Directory "/var/www/*">
AllowOverride All
</Directory>
Перезагрузите Apache
sudo service apache2 reload
[свернуть]

В ответ на предупреждение:
Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «15552000» секунд


Нужно:
внести исправления в описание хоста:
<VirtualHost *:443>
  ServerName "ваш домен"
    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule>
 </VirtualHost>
Перезагрузите Apache
sudo service apache2 reload
[свернуть]

Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация доступна в документации.

Решение
Установить:
sudo apt install memcached php-memcached php-memcache php-apcu
Откройте файл конфигурации сервера owncloud /var/www/owncloud/config/config.php
sudo nano /var/www/owncloud/config/config.phpИ добавте в него следующие строки
'memcache.local' => '\OC\Memcache\APCu',
'memcached_servers' => [ [ 'localhost', 11211 ], ],
[свернуть]