Настройка Zarafa и Yaffas на CentOS 6

Существует множество решений, которые заменяют Microsoft Exchange решением Linux, но у всех них была одна проблема, которая мне действительно не нравилась. Когда я получал приглашения на собрания, они приходили в виде вложений на мои устройства iOS и не открывались прямо в приложении календаря. Zarafa был единственным протестированным мною решением, которое открывало события календаря в приложении календаря. Это руководство научит вас настраивать Zarafa и Yaffas в CentOS 6.

Прежде чем мы начнем

Мы делаем следующие предположения, чтобы облегчить понимание конфигурации. Однако вы должны использовать свои собственные реальные значения для этих предметов:

  • Домен, на который я хочу получать почту, это "example.com". Пользователи похожи на «[email protected]», «[email protected]».
  • Имя хоста для почтового сервера - «pegasus», поэтому полное доменное имя для этого сервера - «pegasus.example.com».
  • Всякий раз, когда я использую термин «панель управления сервером», я имею в виду панель vultr.com .

Подготовка сервера (VPS)

Начните с развертывания вашего экземпляра сервера vultr.com. Я выбрал 1 ГБ VPS под управлением CentOS 6, 32-бит. Когда установка завершится, мы подготовим сервер к тому, чтобы он стал почтовым сервером.

На экране «Мои серверы» панели управления сервером нажмите ссылку «Управление» рядом с вновь созданным сервером. На открывшейся странице вы можете увидеть детали вашего сервера. Нажмите на вкладку IPv4, затем нажмите синюю кнопку «Обновить». Появляется текстовое поле ввода, в котором предварительно указано что-то вроде «.vultr.com» Замените эту запись полным доменным именем вашего сервера (например, pegasus.example.com) и нажмите синюю кнопку «Обновить».

Теперь пришло время войти на новый сервер. Откройте ваш ssh-терминал и подключитесь к вашему серверу. Кроме того, вы можете нажать синюю кнопку «Просмотр консоли», чтобы открыть окно браузера с экраном входа в систему вашего сервера.

ssh root@your_ip_address

Часть " your_ip_address" - это основной IP-адрес, указанный в панели управления сервером. Если вы используете браузер для подключения к вашему серверу, просто войдите в систему как root с вашим корневым паролем.

Сначала мы устанавливаем правильное доменное имя. Откройте файл конфигурации сети.

nano /etc/sysconfig/network

Замените «vultr.guest» на полное доменное имя вашего сервера (пример: pegasus.example.com). Сохраните файл с помощью Ctrl + X , затем Y .

Второе место, которое мы меняем, - это /etc/hostsфайл.

nano /etc/hosts

Добавьте следующую строку. Это может быть вверху файла или во второй строке.

127.0.1.1 pegasus.example.com pegasus

Сохраните файл с помощью Ctrl + X , затем Y . Я хотел бы убедиться, что все работает после перезагрузки, поэтому я перезагружаю VPS после этих изменений.

reboot

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

ssh root@your_ip_address

Yaffas и Zarafa требуется репозиторий EPEL, который уже установлен в источниках на серверах vultr.com. Им также нужен репозиторий RPMforge. Выполните следующую команду, чтобы установить этот репозиторий.

32-битные системы:

rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

64-битные системы:

rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

Далее мы добавляем репозиторий Yaffas.

nano /etc/yum.repos.d/yaffas.repo

Вставьте следующий текст во вновь созданный файл:

[yaffas]
name = yaffas $releasever
baseurl = http://repo.yaffas.org/releases/latest/rhel/$releasever
enabled = 1
protect = 0
gpgcheck = 1
priority = 1

Сохраните файл с помощью Ctrl + X , затем Y .

Чтобы избежать проблем с совместимостью, нам нужно исключить некоторые элементы из репозитория EPEL. Откройте файл репозитория.

nano /etc/yum.repos.d/epel.repo

Затем в [epel]разделе, прямо под строкой «gpgkey», введите следующее.

exclude=clamav* clamd* amavisd* libvmime libical libvmime-devel libical-devel php-mapi zarafa*

Полный раздел будет выглядеть так:

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1 
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
exclude=clamav* clamd* amavisd* libvmime libical libvmime-devel libical-devel php-mapi zarafa*

Сохраните файл с помощью Ctrl + X , затем Y .

Импортируйте ключ GPG для хранилища Yaffas:

rpm --import http://repo.yaffas.org/repo.rpm.key

Теперь давайте очистим конфету.

yum clean all

На этом этапе мы должны быть готовы к установке Yaffas. Установите его, просто введя эту команду.

yum install yaffas

Yum проверит зависимости и даст вам резюме.

Install 359 Package(s)

Total download size: 260 M
Installed size: 639 M
Is this ok [y/N]:

Нажмите Y , затем Enter / Return, чтобы начать установку.

Установка займет некоторое время, поэтому побалуйте себя кофе и печеньем в ожидании завершения установки.

MySQL

Прежде чем мы сможем начать окончательную настройку, мы должны настроить MySQL. Запустите MySQL и начните безопасную настройку.

service mysqld restart
mysql_secure_installation

Чтобы войти в MySQL для его защиты, нам понадобится текущий пароль для пользователя root. Если вы только что установили MySQL и еще не установили пароль root, пароль будет пустым, поэтому вам просто нужно нажать Enter / Return здесь.

Enter current password for root (enter for none): **{press Enter/Return}**

[...]

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] **Y**

New password: **{enter super secret password}**
Re-enter new password: **{enter super secret password again}**

Remove anonymous user? [Y/n] **Y**

Disallow root login remotely? [Y/n] **Y**

Remove test database and access to it? [Y/n] **Y**

Reload privilege tables now? [Y/n] **Y**

конфигурация

Откройте веб-браузер и перейдите по следующему URL.

http://your_ip_address:10000

#If you have a DNS entry already, use this instead.
http://server.example.com:10000

Исходное имя пользователя adminс паролем yaffas.

После входа вы увидите мастер установки. Он имеет 5 шагов. Нажмите «Далее», чтобы начать.

Первый шаг - ввести новый пароль администратора. Введите новый пароль дважды. Убедитесь, что это достаточно сложно, чтобы быть в безопасности, но не забывайте об этом. Затем нажмите «Далее».

На следующем экране настраивается серверная часть MySQL. Единственное, что вам нужно ввести, - это пароль, который вы создали для пользователя root MySQL.

На 4-м экране настройте свой почтовый домен. Введите «example.com» в поле основного почтового домена. Это должен быть ваш собственный домен. Нажмите "Далее".

Я считаю, что 5-й экран не является обязательным, но для большей безопасности создайте учетную запись пользователя, который будет администратором LDAP, и нажмите «Готово».

Это займет некоторое время, пока установка не закончится. После его завершения появляется всплывающее окно, которое сообщает вам, что все прошло успешно. Нажмите кнопку «ОК». Через некоторое время вы снова увидите экран входа. Вы можете войти в систему как администратор с новым паролем, который вы создали во время установки.

Дополнительно

Во время установки генерируются и устанавливаются некоторые общие самозаверяющие сертификаты для приложения. Лично я предпочитаю иметь собственные самозаверяющие сертификаты для отображения введенных значений, а также хочу убедиться, что все запросы отправляются по HTTPS.

Zarafa поставляется с несколькими скриптами для генерации ваших собственных сертификатов. Это, конечно, самозаверяющие сертификаты.

Давайте сделаем дом для центра сертификации.

mkdir -p /etc/zarafa/ssl
chmod 700 /etc/zarafa/ssl
cd /etc/zarafa/ssl

... затем запустите скрипт:

sh /usr/share/doc/zarafa/ssl-certificates.sh server

Параметр «сервер» означает, что сертификат, который мы создаем, будет вызван server.pem.

Вас приветствует следующее сообщение.

No Certificate Authority Root found in current directory.
Press enter to create, or ctrl-c to exit.

Нажмите Enter или Return .

Следующее сообщение, которое появляется:

CA certificate filename (or enter to create)

Нажмите Enter или Return, чтобы продолжить и создать сертификат CA.

После небольшой активности на экране вы получите приглашение ввести пароль PEM. Введите любую фразу-пароль для сертификата CA, но убедитесь, что вы ее не забудете, так как она понадобится вам позже. Для простоты предположим, что мы выбрали фразу-пароль "ca-root-pem".

Ответьте на вопросы, чтобы сгенерировать сертификат. Ответы здесь - мои примеры, поэтому замените их правильными значениями для себя.

Country Name (2 letter code) [XX]: **MY**
State or Province Name (full name) []:**Selangor**
Locality Name (eg, city) [Default City]: **Shah Alam**
Organization Name (eg, company) [Default Company Ltd]: **ELMIMA-Systems**
Organizational Unit Name (eg, section) []: **Certificate Authority**
Common Name (eg, your name or your server's hostname) []:**server.example.com** **Must be the full domain name of your server**
Email Address []: **[email protected]**

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: **Enter/Return**
An optional company name []: **Enter/Return**

Затем он попросит вас ввести ключевую фразу cakey.pemфайла. Это пароль, который вы создали ранее.

Enter pass phrase for /etc/pki/CA/private/./cakey.pem:ca-root-pem

Вы увидите небольшую активность на экране, а затем вам будет предложено ввести пароль PEM. Это пароль для server.pemфайла, который мы создали. Введите все, что вы хотели, но убедитесь, что вы не забудете это. Для простоты мы будем использовать «server-pem-фразу».

Enter PEM pass phrase:**server-pem-phrase**
Verifying - Enter PEM pass phrase:**server-pem-phrase**

Время вводить значения для server.pemфайла.

Country Name (2 letter code) [XX]: **MY**
State or Province Name (full name) []:**Selangor **
Locality Name (eg, city) [Default City]: **Shah Alam**
Organization Name (eg, company) [Default Company Ltd]: **ELMIMA-Systems**
Organizational Unit Name (eg, section) []: **Server SSL Certificate**
Common Name (eg, your name or your server's hostname) []: **server.example.com** **Must be the full domain name of your server**
Email Address []: [email protected]


Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: **Enter/Return**
An optional company name []: **Enter/Return**

Enter pass phrase for /etc/pki/CA/private/cakey.pem:ca-root-pem **Replace with your own passphrase**

Некоторая активность на экране показывает, что сертификат создан.

Sign the certificate? [y/n]:

Введите Y и нажмите Enter / Return .

1 out of 1 certificate requests certified, commit? [y/n]

Введите Y и нажмите Enter / Return .

Create public key from this certificate? [y]

Нам это на самом деле не нужно, но я думаю, что это не помешает его создать. Просто нажмите Enter / Return .

Enter pass phrase for server.pem: **server-pem-phrase**

Теперь пришло время настроить server.cfgфайл для Zarafa.

nano /etc/zarafa/server/cfg

Найдите запись server_ssl_enabledи измените ее значение на «да» (без кавычек).

Найдите запись server_ssl_portи подтвердите, что это 237.

Найдите запись server_ssl_key_fileи установите ее значение " /etc/zarafa/ssl/server.pem" (без кавычек).

Создайте запись, server_ssl_key_passиспользуя парольную фразу, которую вы создали для server.pemфайла (пример: server-pem-фразу) в качестве значения.

Найдите запись server_ssl_ca_file. Исходная документация для Zarafa предполагает, что путь /etc/zarafa/ssl/demoCA/cacert.pem, однако в CentOS, путь есть /etc/pki/CA/cacert.pem. Обновите это значение соответственно.

server_ssl_ca_file = /etc/pki/CA/cacert.pem

Перезапустите сервер Zarafa.

service zarafa restart

Давайте сгенерируем сертификат для Apache.

cd /etc/zarafa/ssl
openssl req -nodes -newkey rsa:2048 -keyout zarafa-ssl.key -out zarafa-ssl.csr

Мы получаем другую форму для создания сертификата.

Country Name (2 letter code) [XX]: **MY **
State or Province Name (full name) []: **Selangor**
Locality Name (eg, city) [Default City]: **Shah Alam**
Organization Name (eg, company) [Default Company Ltd]: **ELMIMA-Systems**
Organizational Unit Name (eg, section) []: **Zarafa Web Services**
Common Name (eg, your name or your server's hostname) []: **server.example.com** **Must be the full domain name of your server**
Email Address []: **[email protected]**

Затем подпишите сертификат.

openssl x509 -req -in ./zarafa-ssl.csr -signkey zarafa-ssl.key -out zarafa-ssl.crt -days 9999

... и добавить его в Apache.

cd /etc/httpd/conf.d
nano ssl.conf

Найдите строку «SSLCertificateFile /opt/yaffas/etc/ssl/certs/zarafa-webaccess.crt» и измените ее на «SSLCertificateFile /etc/zarafa/ssl/zarafa-ssl.crt».

Найдите строку "SSLCertificateKeyFile /opt/yaffas/etc/ssl/certs/zarafa-webaccess.key" и измените ее на "SSLCertificateKeyFile /etc/zarafa/ssl/zarafa-ssl.key"

Сохраните файл и выйдите.

Теперь откройте zarafa-webapp.confфайл.

nano /etc/httpd/zarafa-webapp.conf

Найдите следующие 2 строки и раскомментируйте их.

#php_flag session.cookie_secure on
#php_flag session.cookie_httponly on

Добавьте следующие строки.

RewriteEngine On
RewriteCond % !=on
RewriteRule (.*) https://pegasus.example.com/webapp/ [R] (Of course use your own real domain here)

Сохраните файл и выйдите. Затем перезапустите Apache.

service httpd restart

Теперь веб-приложение всегда будет использовать HTTPS. Вы можете сделать то же самое для zarafa-webapp.conf.

замечания

При тестировании установки на CentOS я заметил несколько сообщений об ошибках из-за отсутствия папок. Вы можете исправить это с помощью следующих команд.

mkdir -p /var/run/policyd-weight/cores/master
mkdir -p /var/run/policyd-weight/cores/cache
chown -R polw /var/run/policyd-weight

Чтобы использовать ваш новый сервер Zarafa в качестве почтового сервера для вашего домена, вам необходимо настроить запись A и запись MX для вашего домена. При желании вы можете использовать свою любимую поисковую систему, чтобы найти мастера SPF, который облегчает создание записи SPF для вашего домена.



Leave a Comment

Как установить Anchor CMS на CentOS 7 LAMP VPS

Как установить Anchor CMS на CentOS 7 LAMP VPS

Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

При настройке нового сервера Linux рекомендуется обновить ядро ​​системы и другие пакеты до последней стабильной версии. В этой статье

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Используете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам

Настройте Magento на CentOS 6

Настройте Magento на CentOS 6

Если вы хотите разместить свой инвентарь в Интернете или просто магазин технических аксессуаров, Magento - отличное решение для электронной коммерции в Интернете. Это статья

Как установить AirSonic на CentOS 7

Как установить AirSonic на CentOS 7

Используете другую систему? AirSonic - это бесплатный и потоковый сервер с открытым исходным кодом. В этом уроке я проведу вас через процесс развертывания

Как установить OrangeScrum на CentOS 7

Как установить OrangeScrum на CentOS 7

OrangeScrum - это бесплатный инструмент управления проектами с открытым исходным кодом, который широко используется в малом и среднем бизнесе. В этой статье я проведу вас через

Как установить и настроить OrientDB Community Edition для CentOS 7

Как установить и настроить OrientDB Community Edition для CentOS 7

OrientDB - это мультимодельная СУБД NoSQL с открытым исходным кодом нового поколения. Благодаря поддержке нескольких моделей данных OrientDB может обеспечить большую функциональность и гибкость в

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Vtiger CRM - это популярное приложение для управления взаимоотношениями с клиентами, которое может помочь предприятиям увеличить продажи, обеспечить обслуживание клиентов и увеличить прибыль. я

Как установить MaraDNS на CentOS 6

Как установить MaraDNS на CentOS 6

MaraDNS - это легкая, но надежная программа с открытым исходным кодом для DNS-сервера. По сравнению с другими приложениями того же типа, такими как ISC BIND, PowerDNS и djbdns

Установка Netdata в CentOS 7

Установка Netdata в CentOS 7

Используете другую систему? Netdata - восходящая звезда в области мониторинга показателей системы в режиме реального времени. По сравнению с другими инструментами того же рода, Netdata:

Как установить Starbound Server в CentOS 7

Как установить Starbound Server в CentOS 7

Используете другую систему? В этом уроке я расскажу, как настроить сервер Starbound в CentOS 7. Предварительные условия Вы должны иметь эту игру на себе

Кластеризация RabbitMQ на CentOS 7

Кластеризация RabbitMQ на CentOS 7

RabbitMQ - это брокер сообщений с открытым исходным кодом, который поддерживает AMQP, STOMP и другие коммуникационные технологии. Широко используется в корпоративных приложениях

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Добро пожаловать в другой учебник Vultr. Здесь вы узнаете, как установить и запустить сервер SAMP. Это руководство было написано для CentOS 6. Предварительные условия

Установите Elgg на CentOS 7

Установите Elgg на CentOS 7

Используете другую систему? Elgg - это движок социальных сетей с открытым исходным кодом, который позволяет создавать социальные среды, такие как социальные сети кампуса и

Установка Bolt CMS на CentOS 7

Установка Bolt CMS на CentOS 7

Bolt - это CMS с открытым исходным кодом, написанная на PHP. Исходный код Bolts размещен на GitHub. Это руководство покажет вам, как установить Bolt CMS на новую CentOS 7 Vult.

Как установить и использовать Apache PredictionIO для машинного обучения в CentOS 7

Как установить и использовать Apache PredictionIO для машинного обучения в CentOS 7

Традиционные подходы к анализу данных невозможно использовать, когда наборы данных достигают определенного размера. Современная альтернатива анализу огромных массивов данных, которые я

Как установить Elasticsearch на экземпляре Vultr CentOS 7 Server

Как установить Elasticsearch на экземпляре Vultr CentOS 7 Server

Elasticsearch - популярный движок полнотекстового поиска и аналитики с открытым исходным кодом. Благодаря своей универсальности, масштабируемости и простоте использования, Elasticsearch широко используется

Развертывание Kubernetes с помощью Kubeadm на CentOS 7

Развертывание Kubernetes с помощью Kubeadm на CentOS 7

Обзор Эта статья призвана помочь вам в кратчайшие сроки запустить и запустить кластер Kubernetes с помощью kubeadm. Это руководство будет развертывать два сервера, на

Настройте Sails.js для разработки на CentOS 7

Настройте Sails.js для разработки на CentOS 7

Используете другую систему? Введение Sails.js - это инфраструктура MVC для Node.js, аналогичная Ruby on Rails. Это делает для разработки современных приложений вер

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Введение В этом руководстве мы будем устанавливать PufferPanel на нашем Vultr VPS. PufferPanel - это бесплатная панель управления с открытым исходным кодом для управления вами.

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

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

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше