Categories: Шпаргалки

Установка и настройка сервера календаря и адресной книги Baikal на Linux CentOS

Сервер Baikal устанавливается как веб-приложение. В данной инструкции мы рассмотрим установку и настройка веб-сервера, приложения Baikal и подключение клиентов. Примеры команд, представленные здесь будут приведены как для CentOS 7, так и 8.

Подготовка сервера

Перед настройкой сервера выполним предварительные действия.

1. Настройка брандмауэра

Откроем порты 80 и 443, которые используются для веб-запросов:

firewall-cmd —permanent —add-port={80,443}/tcp

firewall-cmd —reload

Более подробнее про настройку брандмауэра с помощью firewalld можно прочитать в инструкции Настройка firewalld в CentOS .

2. Отключение SELinux

Для выключения selinux вводим 2 команды по очереди:

setenforce 0

sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config

* первая команда отключит selinux для текущей загрузки, вторая не даст стартовать selinux при включении сервера.

Настройка веб-сервера

Мы будем поднимать веб-сервер на базе NGINX + MariaDB + PHP. Рассмотрим установку каждого из компонентов.

NGINX

Выполним установку командами.

а) на CentOS 8:

dnf install nginx

б) на CentOS 8:

yum install epel-release

yum install nginx

После установки пакета, разрешаем автозапуск и стартуем сервер:

systemctl enable nginx —now

Открываем браузер и заходим по адресу http://<IP-адрес сервера> — мы должны увидеть стартовую страницу NGINX:

MariaDB

Для установки СУБД вводим команду:

yum install mariadb-server

Запускаем сервер баз данных и разрешаем автозапуск:

systemctl enable mariadb —now

Задаем пароль для суперпользователя mariadb:

mysqladmin -u root password

PHP и компоненты

Для работы приложения 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:

Можно переходить к установке сервера календарей и адресных книг.

Установка приложения Baikal

Установку разделим на 3 этапа:

  1. Загрузку и копирование приложения на сервере.
  2. Создание базы данных.
  3. Установку приложения через веб-интерфейс.

Разберем этапы по шагам.

1. Загрузка и копирование приложения

Устанавливаем пакеты:

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

2. Создание базы

Подключаемся к серверу баз данных:

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

3. Установка приложения через веб

Переходим по нашему адресу (в данной инструкции 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.

Microsoft Outlook

Сначала закроем программу 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

Открываем почтовый клиент Mozilla Thunderbird — нажимаем Alt — в появившемся меню кликаем по Инструменты Дополнения :

Для поиска нужного дополнения вводим tbsync :

Среди результатов поиска находим TbSync и нажимаем Добавить в Thunderbird :

Снава переходим к поиску дополнения и вводим carddav :

Среди результатов находим Provider for CalDAV & CardDAV и кликаем по Добавить в Thunderbid :

После добавления дополнений перезагружаем почтовый клиент и снова нажимаем Alt — в появившемся меню Инструменты Настройка дополнений TbSync :

В нижней части окна кликаем по Действия для аккаунта Добавить новый аккаунт CalDAV & CardDAV :

Среди шаблонов настроек выбираем Пользовательская конфигурация :

Заполняем поля для добавления профиля:

* где:

  • http://dav.remontka.com/dav.php/calendars/remontka/default/ — путь для запросов к серверу календаря.
  • http://dav.remontka.com/dav.php/addressbooks/remontka/default/ — путь для запросов к серверу адресной книги.

Нажимаем Готово :

Кликаем по галочке Разрешить и синхронизировать этот аккаунт — после ставим галочки для синхронизации адресной книги и календаря. После нажимаем Синхронизировать сейчас :

admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago