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

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

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

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

  • Домен, на который я хочу получать почту, это "example.com". Пользователи похожи на «user1@example.com», «user2@example.com».
  • Имя хоста для почтового сервера - «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 []: **admin@example.com**

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 []: admin@example.com


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 []: **admin@example.com**

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

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 для вашего домена.

Оставить комментарий

Изучение 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. Прочтите эту статью, чтобы узнать больше