Разберете как да конфигурирате Sendmail да работи на една машина, отговаряща за повече от един домейн.
Популярността на хостинга на домейни се увеличи експоненциално през последните няколко години за компании от всякакъв размер. Всички тези домейни трябва да бъдат хоствани някъде, но хостингът на уеб сайтове и имейл домейни на корпоративно ниво може да бъде скъп. Едно от най-добрите решения е виртуалният хостинг, който позволява множество домейни да бъдат разположени на един сървър или сървърен клъстер. Това е ценна стратегия както за голяма компания с хардуер и честотна лента за хостване на стотици домейни, така и за малък бизнес с само два домейна за контрол. В тази статия ще разгледаме как да конфигурирате Sendmail да работи на една машина, отговорна за повече от един домейн.
Настройване на DNSКогато конфигурирате сървъра си да поддържа множество домейни, уверете се, че DNS е конфигуриран правилно. Няма да навлизаме твърде дълбоко в DNS, тъй като е извън обхвата на тази статия, но трябва да знаете, че вашият DNS сървър трябва да има MX запис за всеки домейн, за който хоствате поща. Записът ще изглежда така:
domain1.com.IN MX 10 mail.domain1.com.Това, разбира се, трябва да се направи с всеки домейн, за който вашият сървър ще получава поща. Записът за поща също трябва да бъде A (хост) запис, за разлика от CNAME (псевдоним) и трябва да сочи към IP адреса на вашия сървър.
Конфигуриране на SendmailОт версия 8.10 Sendmail направи значителни подобрения в поддръжката на множество домейни. Той е много по-лесен за конфигуриране и вече не изисква никакъв хак, за да работи. Първата стъпка е да се уверите, че следната функция е включена във вашия
sendmail.mcпреди инсталиране на Sendmail:
FEATURE(`virtusertable', `dbm /etc/mail/virtusertable')dnlТова уведомява Sendmail, че ще създадете виртуална потребителска таблица, за да позволите поддръжка за множество домейни. Това наистина е ключът към виртуалния хостинг със Sendmail. Освен това, ако използвате NEWDB вместо NDBM, трябва да замените
dbmс
hashв горния ред.
След като това е настроено и Sendmail е инсталиран, можете да работите с виртуален хостинг, като използвате файла
/etc/mail/virtusertable, което ще изглежда по следния начин:
tom@domain1.comtomharry@domain2.comharrytom@domain2.comtom2@domain1.com rootПървият аргумент по-горе е очакваният получател, както е получен от Sendmail, а вторият аргумент е, че целта е за локална доставка (или за препращане до друг интернет имейл адрес). На пощенски сървъри, които хостват поща за много домейни, може да е добра идея да създадете отделен файл за всеки домейн и да ги свържете с прост скрипт.
След като създадете необходимите
/etc/mail/virtusertable, има още една стъпка: Трябва да се създаде база данни. Sendmail няма да зареди файла с обикновен текст в този случай, но ще потърси
virtusertable.db. Можете да създадете този файл със следната команда (изпълнете като root):
makemap dbm /etc/mail/virtusertable < /etc/mail/virtusertableНе забравяйте, че въпреки че може да имате един и същ имейл адрес, използван за повече от един домейн (напр. webmaster@domain1.com и webmaster@domain2.com), всеки от тях трябва да сочи към отделен локален потребител. Имайки предвид това, ще помогнете за избягване на по-късни проблеми, като например получаването на пощата от един потребител на друг.
Когато хоствате множество домейни, трябва да включите друга важна опция за конфигурация във вашия
sendmail.mcпреди инсталиране на Sendmail:
FEATURE(use_CW_FILE)Това уведомява Sendmail, че ще му предоставите списък с домейни, за които може да приема поща. При най-новите инсталации това ще бъде
/etc/mail/local-host-names. Това е обикновен текстов файл с домейн на всеки ред, който ще изглежда по следния начин:
# /etc/mail/local-host-names# псевдоними за локалния hostdomain1.commail.domain1.comdomain2.commail.domain2.comБез запис за всички домейни, за които сървърът ви ще обслужва поща, Sendmail ще отхвърли доставка. Но ако се уверите, че този файл и виртуалната потребителска база данни са конфигурирани, не би трябвало да срещнете проблеми.
Обратно съпоставянеОбратното съпоставяне позволява на потребителите да изпращат поща от вашия сървър и да добавят правилното име на домейн към изходящата поща. Тази функция работи почти точно като
virtusertable, но в обратен ред. Това се прави с „генерична таблица“ и изисква добавянето на следните редове
sendmail.mc:
FEATURE(`genericstable', `dbm /etc/mail/genericstable')dnlGENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnlВ допълнение ще трябва да създадете
/etc/mail/genericstable, което е точно като
/etc/mail/virtusertableс изключение на това, че колоните трябва да бъдат сменени, така че първа колона да показва локалното потребителско име, а втора колона да показва имейл потребителското име и името на домейна, които искате да има изходящата поща на този потребител. Например:
tom tom@domain1.com harry harry@domain2.comtom2tom@domain2.comРестартирайте Sendmail и той трябва да ви позволи да работите като виртуален пощенски хост за множество домейни. Обикновено можете да рестартирате Sendmail, като му подадете a
kill –1 [PID на Sendmail]или работи
/etc/init.d/sendmail рестартирайте.
ОбобщавайкиХостингът на множество домейни никога не е бил по-лесен със Sendmail 8.10 и по-нови, благодарение на вградената поддръжка за виртуален хостинг. С добавянето на няколко конфигурационни файла можете да започнете да работите за кратък период от време. Виртуалният хостинг ви позволява да действате като пощенски сървър за множество домейни, разположени на един и същи сървър. Това не само ще ви спести пари в хардуер, но и ще намали пространството, което вашата сървърна ферма изисква.
Имате коментар или въпрос? Очакваме с нетърпение да получим вашето мнение и да чуем за вашия опит по тази тема. Публикувайте коментар или въпрос относно тази статия.PREV: Ръководство за конфигуриране на нов сървър на Rust - GameserverKings
NEXT: REPUBLIC OF GAMERS ОБЯВЯВА ГЕЙМЪРСКИ ЛАПТОП GX800 С ТЕЧНО ОХЛАЖДАНЕ