Сервер Baikal устанавливается как веб-приложение. В данной инструкции мы рассмотрим установку и настройка веб-сервера, приложения Baikal и подключение клиентов. Примеры команд, представленные здесь будут приведены как для CentOS 7, так и 8.
Готовим систему
Настройка веб-сервера
Установка NGINX
Установка и настройка СУБД
PHP и необходимые компоненты
Настройка виртуальных доменов
Ставим сервер Baikal
Загрузка и распаковка
Подготовка базы данных
Завершение установки
Создание пользователя с календарем и адресной книгой
Настройка клиентов
Outlook
Thunderbird
Перед настройкой сервера выполним предварительные действия.
Откроем порты 80 и 443, которые используются для веб-запросов:
firewall-cmd —permanent —add-port={80,443}/tcp
firewall-cmd —reload
Более подробнее про настройку брандмауэра с помощью firewalld можно прочитать в инструкции Настройка firewalld в CentOS .
Для выключения selinux вводим 2 команды по очереди:
setenforce 0
sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config
* первая команда отключит selinux для текущей загрузки, вторая не даст стартовать selinux при включении сервера.
Мы будем поднимать веб-сервер на базе NGINX + MariaDB + PHP. Рассмотрим установку каждого из компонентов.
Выполним установку командами.
а) на CentOS 8:
dnf install nginx
б) на CentOS 8:
yum install epel-release
yum install nginx
После установки пакета, разрешаем автозапуск и стартуем сервер:
systemctl enable nginx —now
Открываем браузер и заходим по адресу http://<IP-адрес сервера> — мы должны увидеть стартовую страницу NGINX:
Для установки СУБД вводим команду:
yum install mariadb-server
Запускаем сервер баз данных и разрешаем автозапуск:
systemctl enable mariadb —now
Задаем пароль для суперпользователя mariadb:
mysqladmin -u root password
Для работы приложения Baikal необходим PHP версии 7 и выше. В зависимости от версии CentOS выполним команды по установке.
а) если CentOS 8:
dnf install php php-fpm php-mysqli php-xml php-json
б) если CentOS 7:
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum —enablerepo=remi-php72 install php php-fpm php-mysqli php-xml php-json
После установки открываем файл:
vi /etc/php-fpm.d/www.conf
И проверяем настройку для опции listen — она должна быть такой:
listen = /run/php-fpm/www.sock
…
listen.owner = nginx
* как правило, в CentOS 8 настройку менять не придется, для CentOS 7 необходимо внести изменение. Задать опцию listen.owner критично для CentOS 7.
Теперь разрешим автозапуск php-fpm и стартуем сервис:
systemctl enable php-fpm —now
Создаем конфигурационный файл в nginx:
vi /etc/nginx/conf.d/baikal.conf
server {
listen 80;
server_name dav.remontka.com;
root /var/www/baikal/html;
index index.php;
rewrite ^/.well-known/caldav /dav.php redirect;
rewrite ^/.well-known/carddav /dav.php redirect;
charset utf-8;
location ~ /(.ht|Core|Specific) {
deny all;
return 404;
}
location ~ ^(.+.php)(.*)$ {
try_files $fastcgi_script_name =404;
include /etc/nginx/fastcgi_params;
fastcgi_split_path_info ^(.+.php)(.*)$;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
* где dav.remontka.com — адрес портала для календаря; /var/www/baikal/html — полный путь, по которому будут располагаться файлы приложения.
Проверяем корректность конфига:
nginx -t
Если мы не получили ошибку, перечитываем конфигурацию веб-сервером:
systemctl reload nginx
Создаем каталог, в котором будут располагаться файлы Baikal (в нашем примере, /var/www/baikal/html ):
mkdir -p /var/www/baikal/html
Создаем индексный файл в созданном каталоге:
vi /var/www/baikal/html/index.php
<?php phpinfo(); ?>
Переходим по адресу, который был указан в опции server_name конфига nginx (в нашем примере, dav.remontka.com ) — мы должны увидеть страницу с параметрами php:
Можно переходить к установке сервера календарей и адресных книг.
Установку разделим на 3 этапа:
Разберем этапы по шагам.
Устанавливаем пакеты:
yum install unzip wget
* где unzip — для разархивирования zip-архивов, wget — загрузки файлов.
Переходим на страницу загрузки последней версии приложения Baikal. Копируем ссылку на архив zip:
Воспользовавшись ссылкой, скачиваем архив:
wget https://github.com/sabre-io/Baikal/releases/download/0.7.1/baikal-0.7.1.zip
Распакуем скачанный архив:
unzip baikal-*.zip
Удаляем каталог html, который нами был создан ранее (он имеется в распакованном архиве):
rm -fr /var/www/baikal/html
Переносим содержимое распакованного архива в каталог /var/www/baikal:
mv baikal/* /var/www/baikal/
Задаем владельца для каталога:
chown -R apache:apache /var/www/baikal
Подключаемся к серверу баз данных:
mysql -uroot -p
Создаем базу данных для приложения байкал:
> CREATE DATABASE baikal DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* данной командой мы создадим базу baikal .
Создаем пользователя для подключения к созданной базе:
> GRANT ALL PRIVILEGES ON baikal.* TO baikal@localhost IDENTIFIED BY ‘baikal123’;
* команда создаст пользователя baikal для подключения от локального хоста ( localhost ) и предоставит доступ к базе baikal . Пароль baikal123 .
Выходим из командной консоли sql:
> quit
Переходим по нашему адресу (в данной инструкции dav.remontka.com). В открывшемся окне заполняем поля и нажимаем Save changes :
* мне нужно было поменять часовой пояс, почтовый адрес, от которого будут приходить уведомления и пароль для учетной записи администратора baikal.
В следующем окне ставим галочку Use MySQL и заполняем поля для подключения к созданной базе:
* в нашем примере сервер баз данных находится на том же сервере, что и baikal ( localhost ); база данных была создана с именем baikal ; логин и пароль для подключения к базе — baikal / baikal123 .
Кликаем по Save changes . Установка завершена — переходим к панели настройки сервера, кликнув по Start using Baikal :
Следующий шаг — создать пользователя с адресной книгой и календарем. Переходим по адресу http://<имя виртуального домена>/admin/ и авторизовываемся в системе, введя логин admin и пароль, который создали на этапе установки.
Переходим в раздел Users and resources :
Кликаем по Add user :
В открывшейся форме заполняем поля и кликаем по Save changes :
Появится учетная запись, а справа от нее возможность перейти к календарю и адресной книге:
Рассмотрим в качестве примера подключение к адресной книге и календарю программами Outlook и Mozilla Thunderbird.
Сначала закроем программу Outlook (если она запущена в системе).
Для синхронизации Outlook с серверов webdav необходима программа CalDav Synchronizer. Переходим на страницу https://caldavsynchronizer.org/download-2 и выбираем для загрузки последнюю версию программного обеспечения:
После загрузки устанавливаем программу, распаковав архив и запустив файл msi. На вопросы мастера просто отвечаем Далее . После установки запускаем Outlook и переходим к вкладке CalDav Synchronizer — кликаем по Synchronization Profiles :
Кликаем по значку добавления профиля:
Заполняем профиль для создания синхронизации с календарем и кликаем по Test or discover settings :
* где DAV URL должен указывать на http путь до профиля календарей пользователя. В нашем случае, это http://dav.remontka.com/dav.php/calendars/remontka/default/ .
Мы должны увидеть сообщение об успешной проверке подключения. Завершаем создание профиля.
Снова кликаем по значку добавления профиля:
Заполняем поля для создания синхронизации с адресной книгой:
* где http://dav.remontka.com/dav.php/addressbooks/remontka/default/ — это путь до профиля адресной книги созданного нами пользователя на сервере Baikal.
… и кликаем по Test or discover settings : — мы должны получить сообщение об успешной проверке.
Готово.
Открываем почтовый клиент Mozilla Thunderbird — нажимаем Alt — в появившемся меню кликаем по Инструменты — Дополнения :
Для поиска нужного дополнения вводим tbsync :
Среди результатов поиска находим TbSync и нажимаем Добавить в Thunderbird :
Снава переходим к поиску дополнения и вводим carddav :
Среди результатов находим Provider for CalDAV & CardDAV и кликаем по Добавить в Thunderbid :
После добавления дополнений перезагружаем почтовый клиент и снова нажимаем Alt — в появившемся меню Инструменты — Настройка дополнений — TbSync :
В нижней части окна кликаем по Действия для аккаунта — Добавить новый аккаунт — CalDAV & CardDAV :
Среди шаблонов настроек выбираем Пользовательская конфигурация :
Заполняем поля для добавления профиля:
* где:
Нажимаем Готово :
Кликаем по галочке Разрешить и синхронизировать этот аккаунт — после ставим галочки для синхронизации адресной книги и календаря. После нажимаем Синхронизировать сейчас :
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…