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

Настройте 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 GB VPS, работещ с CentOS 6, 32-битов. Когато инсталацията приключи, ние подготвяме сървъра да стане пощенски сървър.

В екрана "Моите сървъри" на контролния панел на сървъра щракнете върху връзката "Управление" до новосъздадения сървър. На страницата, която се отваря, можете да видите подробностите за вашия сървър. Щракнете върху раздела IPv4, след което щракнете върху синия бутон „Актуализиране“. Появява се поле за въвеждане на текст и е предварително зададено с нещо като ".vultr.com". Заменете този запис с пълното име на домейн на вашия сървър (пример: pegasus.example.com) и натиснете синия бутон „Актуализиране“.

Сега е време да влезете в новия сървър. Отворете вашия ssh терминал и се свържете с вашия сървър. Като алтернатива можете да щракнете върху синия бутон „Преглед на конзолата“, за да получите прозорец на браузъра с екрана за вход на вашия сървър.

ssh root@your_ip_address

Частта " your_ip_address" е основният IP адрес, както е посочено в контролния панел на сървъра. Ако използвате браузъра, за да се свържете с вашия сървър, просто влезте като root с вашата 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 и все още не сте задали основната парола, паролата ще бъде празна, така че трябва просто да натиснете 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

The initial username is admin with password yaffas.

After logging in, you will see the setup wizard. It has 5 steps. Press "Next" to start.

The first step is to enter a new admin password. Enter the new password twice. Make sure it is complicated enough to be safe, but don't forget it. Then click "Next".

The next screen configures the MySQL backend. The only thing that you need to enter is the password you created for the MySQL root user.

On the 4th screen, setup your mail domain. Enter "example.com" in the primary mail domain field. This must be your own domain. Press "Next".

I believe the 5th screen is optional, but just to be on the safe side, create a user account who will be the LDAP admin, then click "Finish".

It will take a while until the setup finishes. Once it completes, a popup appears that tells you everything was successful. Click the "OK" button. After a moment, you will see the login screen again. You can login as admin with the new password that you created during the setup.

Extras

During the installation, some general self-signed certificates for the app are generated and installed. Personally, I prefer to have my own self-signed certificates to show the values that I entered and I also want to make sure that all requests are sent over HTTPS.

Zarafa comes with a few scripts to generate your own certificates. These are of course self-signed certificates.

Let's make a home for the certificate authority.

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

... then run the script:

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

The parameter "server" means the certificate we create will be called server.pem.

You will be greeted with the following message.

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

Press Enter or Return.

The next message that appears is:

CA certificate filename (or enter to create)

Press Enter or Return to continue and create the CA Certificate.

After a little activity on the screen, you will get a prompt to enter the PEM passphrase. Enter any passphrase for the CA certificate, but make sure that you don't forget it, as you will need it later. For simplicity's sake, let's assume we chose the passphrase "ca-root-pem".

Answer the questions to generate the certificate. The answers here are my examples, so replace them with the correct values for yourself.

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**

Next, it will ask you for the passphrase of the cakey.pem file. This is the passphrase that you created earlier.

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

Ще видите малка активност на екрана, след което ще ви подкани за 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-phrase) като негова стойност.

Намерете записа 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 Wizard, което улеснява създаването на SPF запис за вашия домейн.


Увеличете производителността със Z и Zsh на CentOS

Увеличете производителността със Z и Zsh на CentOS

Въведение Работата в Linux системи означава, че човек използва командния ред по-често, отколкото не. Трябва да въвеждате дълги имена на директории отново и отново

Настройте RethinkDB Cluster на CentOS 7

Настройте RethinkDB Cluster на CentOS 7

Въведение RethinkDB е NoSQL база данни, която съхранява данни като JSON документи. Той има супер интуитивен език за заявки и има общодостъпни функции i

Инсталирайте DirectAdmin на CentOS 6 или 7

Инсталирайте DirectAdmin на CentOS 6 или 7

DirectAdmin е собствен уеб-базиран контролен панел, който можете да инсталирате на вашия сървър, който предлага разнообразие от функции за системно администриране. В това

Преглед на процеса на зареждане на CentOS 7 и RHEL 7 и отстраняване на неизправности

Преглед на процеса на зареждане на CentOS 7 и RHEL 7 и отстраняване на неизправности

Тази статия описва процеса на зареждане за системи CentOS/RHEL 7.x. Въпреки че може да остане подобен на предишните издания, с RHEL 7, systemd е в сила

Инсталирайте PostgreSQL на CentOS 7

Инсталирайте PostgreSQL на CentOS 7

Въведение PostgreSQL е най-модерната система за управление на релационни бази данни с отворен код (RDBMS). Той е съвместим със стандартите ANSI SQL:2008

Основи на управлението на потребители на CentOS системи

Основи на управлението на потребители на CentOS системи

Управлението на потребителите може да бъде трудна задача: от ежедневна поддръжка, рискове за сигурността и липса на задълбочена онлайн документация. Тази статия ще ви помогне да започнете

Първоначална настройка на сървър CentOS 7

Първоначална настройка на сървър CentOS 7

Въведение Новоактивиран сървър CentOS 7 трябва да бъде персонализиран, преди да може да се използва като производствена система. В тази статия най-важното

Проверете скоростта на интернет със Speedtest-cli на CentOS

Проверете скоростта на интернет със Speedtest-cli на CentOS

Въведение В този урок добре инсталирайте Speedtest-cli, за да тествате скоростта на мрежата на вашия сървър. Speedtest-cli е интерфейс на командния ред за th

Инсталирайте GUI среда на CentOS 6

Инсталирайте GUI среда на CentOS 6

Управлението на вашия сървър само с SSH може да бъде плашещо. Хубавото за нас е, че Vultr има опция View Console. За да използвате напълно Vultrs VNC конзола

Настройте часова зона и NTP на CentOS 6

Настройте часова зона и NTP на CentOS 6

Въведение За администраторите на сървъри е важно да задават и поддържат правилно времето на сървърите. Неправилно конфигурирано време ще предизвика хаос в рамките на th

Как да инсталирате Foreman на CentOS 7

Как да инсталирате Foreman на CentOS 7

Използване на различна система? Foreman е безплатен инструмент с отворен код, който ви помага с конфигурирането и управлението на физически и виртуални сървъри. Forema

Осигуряване и втвърдяване на ядрото на CentOS 7 със Sysctl

Осигуряване и втвърдяване на ядрото на CentOS 7 със Sysctl

Въведение Sysctl позволява на потребителя фина настройка на ядрото, без да се налага да го изгражда отново. Той също така ще приложи промените незабавно, като по този начин сървърът спечели

Използвайте Nethogs за наблюдение на използването на мрежовата честотна лента

Използвайте Nethogs за наблюдение на използването на мрежовата честотна лента

В този урок ще покрием процеса на инсталиране и използване на nethogs на CentOS 6x x64. nethogs е инструмент за наблюдение на мрежата, който позволява Networ

Инсталирайте CentOS Web Panel (CWP) на CentOS 6

Инсталирайте CentOS Web Panel (CWP) на CentOS 6

CentOS Web Panel или CWP е хостинг контролен панел с отворен код, който е предназначен за бързо и лесно управление на сървър. Той включва всички функции o

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

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

Има много решения, които заменят Microsoft Exchange с решение за Linux, но всички те имаха един проблем, който наистина не ми хареса. Когато получавам

Как да инсталирате и конфигурирате Concourse CI на CentOS 7

Как да инсталирате и конфигурирате Concourse CI на CentOS 7

Използване на различна система? Въведение Непрекъснатата интеграция е практика за разработка на софтуер DevOps, която позволява на разработчиците често да обединяват

Внедряване на Glowing Bear Backend сървър на CentOS 7

Внедряване на Glowing Bear Backend сървър на CentOS 7

Glowing Bear е уеб интерфейс за WeeChat IRC клиента и се стреми да бъде модерен интерфейс. Със своите функции като щракване за споменаване, заместване на емоджита

Как да надстроите CentOS 6 до CentOS 7

Как да надстроите CentOS 6 до CentOS 7

Как да надстроите CentOS 6 до CentOS 7

Защитете TMP и TMPFS на CentOS 6

Защитете TMP и TMPFS на CentOS 6

Временни директории като /tmp, /var/tmp и /dev/shm предлагат платформа за хакери да изпълняват скриптове и програми. Тези злонамерени изпълними файлове се използват t

Активирайте EPEL на CentOS

Активирайте EPEL на CentOS

Фон Fedoras Extra Packages for Enterprise Linux (EPEL) хранилище предоставя възможност за инсталиране на софтуерни пакети, които не са включени в

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

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

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

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

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

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

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече