ส่งออกการแปล
ไปยังการนำทาง
ไปยังการค้นหา
การตั้งค่า
กลุ่ม
Universal Acceptance Implementation
Universal Acceptance Steering Group
การศึกษาเรื่อง EAI
คู่มือการพัฒนา EAI Mail Server บน CentOS 7
คู่มือการพัฒนา EAI Mail Server บน CentOS 8
คู่มือการพัฒนาซอฟต์แวร์บนเว็บบราวซ์เซอร์ให้รองรับ UA ด้วยภาษา PHP
รู้จัก.ไทย
หน้าหลัก (old)
ภาษา
aa - Qafár af
ab - Аҧсшәа
abs - bahasa ambon
ace - Acèh
ady - адыгабзэ
ady-cyrl - адыгабзэ
aeb - تونسي/Tûnsî
aeb-arab - تونسي
aeb-latn - Tûnsî
af - Afrikaans
ak - Akan
aln - Gegë
am - አማርኛ
an - aragonés
ang - Ænglisc
anp - अङ्गिका
ar - العربية
arc - ܐܪܡܝܐ
arn - mapudungun
arq - جازايرية
ary - Maġribi
arz - مصرى
as - অসমীয়া
ase - American sign language
ast - asturianu
atj - Atikamekw
av - авар
avk - Kotava
awa - अवधी
ay - Aymar aru
az - azərbaycanca
azb - تۆرکجه
ba - башҡортса
ban - Bali
bar - Boarisch
bbc - Batak Toba
bbc-latn - Batak Toba
bcc - جهلسری بلوچی
bcl - Bikol Central
be - беларуская
be-tarask - беларуская (тарашкевіца)
bg - български
bgn - روچ کپتین بلوچی
bh - भोजपुरी
bho - भोजपुरी
bi - Bislama
bjn - Banjar
bm - bamanankan
bn - বাংলা
bo - བོད་ཡིག
bpy - বিষ্ণুপ্রিয়া মণিপুরী
bqi - بختیاری
br - brezhoneg
brh - Bráhuí
bs - bosanski
btm - Batak Mandailing
bto - Iriga Bicolano
bug - ᨅᨔ ᨕᨘᨁᨗ
bxr - буряад
ca - català
cbk-zam - Chavacano de Zamboanga
cdo - Mìng-dĕ̤ng-ngṳ̄
ce - нохчийн
ceb - Cebuano
ch - Chamoru
cho - Choctaw
chr - ᏣᎳᎩ
chy - Tsetsêhestâhese
ckb - کوردی
co - corsu
cps - Capiceño
cr - Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ
crh - qırımtatarca
crh-cyrl - къырымтатарджа (Кирилл)
crh-latn - qırımtatarca (Latin)
cs - čeština
csb - kaszëbsczi
cu - словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ
cv - Чӑвашла
cy - Cymraeg
da - dansk
de - Deutsch
de-at - Österreichisches Deutsch
de-ch - Schweizer Hochdeutsch
de-formal - Deutsch (Sie-Form)
din - Thuɔŋjäŋ
diq - Zazaki
dsb - dolnoserbski
dtp - Dusun Bundu-liwan
dty - डोटेली
dv - ދިވެހިބަސް
dz - ཇོང་ཁ
ee - eʋegbe
egl - Emiliàn
el - Ελληνικά
eml - emiliàn e rumagnòl
en - English
en-ca - Canadian English
en-gb - British English
eo - Esperanto
es - español
es-419 - español de América Latina
es-formal - español (formal)
et - eesti
eu - euskara
ext - estremeñu
fa - فارسی
ff - Fulfulde
fi - suomi
fit - meänkieli
fj - Na Vosa Vakaviti
fo - føroyskt
fr - français
frc - français cadien
frp - arpetan
frr - Nordfriisk
fur - furlan
fy - Frysk
ga - Gaeilge
gag - Gagauz
gan - 贛語
gan-hans - 赣语(简体)
gan-hant - 贛語(繁體)
gcr - kriyòl gwiyannen
gd - Gàidhlig
gl - galego
glk - گیلکی
gn - Avañe'ẽ
gom - गोंयची कोंकणी / Gõychi Konknni
gom-deva - गोंयची कोंकणी
gom-latn - Gõychi Konknni
gor - Bahasa Hulontalo
got - 𐌲𐌿𐍄𐌹𐍃𐌺
grc - Ἀρχαία ἑλληνικὴ
gsw - Alemannisch
gu - ગુજરાતી
gv - Gaelg
ha - Hausa
hak - 客家語/Hak-kâ-ngî
haw - Hawaiʻi
he - עברית
hi - हिन्दी
hif - Fiji Hindi
hif-latn - Fiji Hindi
hil - Ilonggo
ho - Hiri Motu
hr - hrvatski
hrx - Hunsrik
hsb - hornjoserbsce
ht - Kreyòl ayisyen
hu - magyar
hu-formal - magyar (formal)
hy - հայերեն
hyw - Արեւմտահայերէն
hz - Otsiherero
ia - interlingua
id - Bahasa Indonesia
ie - Interlingue
ig - Igbo
ii - ꆇꉙ
ik - Iñupiak
ike-cans - ᐃᓄᒃᑎᑐᑦ
ike-latn - inuktitut
ilo - Ilokano
inh - ГӀалгӀай
io - Ido
is - íslenska
it - italiano
iu - ᐃᓄᒃᑎᑐᑦ/inuktitut
ja - 日本語
jam - Patois
jbo - la .lojban.
jut - jysk
jv - Jawa
ka - ქართული
kaa - Qaraqalpaqsha
kab - Taqbaylit
kbd - Адыгэбзэ
kbd-cyrl - Адыгэбзэ
kbp - Kabɩyɛ
kg - Kongo
khw - کھوار
ki - Gĩkũyũ
kiu - Kırmancki
kj - Kwanyama
kjp - ဖၠုံလိက်
kk - қазақша
kk-arab - قازاقشا (تٴوتە)
kk-cn - قازاقشا (جۇنگو)
kk-cyrl - қазақша (кирил)
kk-kz - қазақша (Қазақстан)
kk-latn - qazaqşa (latın)
kk-tr - qazaqşa (Türkïya)
kl - kalaallisut
km - ភាសាខ្មែរ
kn - ಕನ್ನಡ
ko - 한국어
ko-kp - 조선말
koi - Перем Коми
kr - Kanuri
krc - къарачай-малкъар
kri - Krio
krj - Kinaray-a
krl - karjal
ks - कॉशुर / کٲشُر
ks-arab - کٲشُر
ks-deva - कॉशुर
ksh - Ripoarisch
ku - kurdî
ku-arab - كوردي (عەرەبی)
ku-latn - kurdî (latînî)
kum - къумукъ
kv - коми
kw - kernowek
ky - Кыргызча
la - Latina
lad - Ladino
lb - Lëtzebuergesch
lbe - лакку
lez - лезги
lfn - Lingua Franca Nova
lg - Luganda
li - Limburgs
lij - Ligure
liv - Līvõ kēļ
lki - لەکی
lmo - lumbaart
ln - lingála
lo - ລາວ
loz - Silozi
lrc - لۊری شومالی
lt - lietuvių
ltg - latgaļu
lus - Mizo ţawng
luz - لئری دوٙمینی
lv - latviešu
lzh - 文言
lzz - Lazuri
mai - मैथिली
map-bms - Basa Banyumasan
mdf - мокшень
mg - Malagasy
mh - Ebon
mhr - олык марий
mi - Māori
min - Minangkabau
mk - македонски
ml - മലയാളം
mn - монгол
mni - ꯃꯤꯇꯩ ꯂꯣꯟ
mnw - ဘာသာ မန်
mo - молдовеняскэ
mr - मराठी
mrj - кырык мары
ms - Bahasa Melayu
mt - Malti
mus - Mvskoke
mwl - Mirandés
my - မြန်မာဘာသာ
myv - эрзянь
mzn - مازِرونی
na - Dorerin Naoero
nah - Nāhuatl
nan - Bân-lâm-gú
nap - Napulitano
nb - norsk bokmål
nds - Plattdüütsch
nds-nl - Nedersaksies
ne - नेपाली
new - नेपाल भाषा
ng - Oshiwambo
niu - Niuē
nl - Nederlands
nl-informal - Nederlands (informeel)
nn - norsk nynorsk
no - norsk
nov - Novial
nqo - ߒߞߏ
nrm - Nouormand
nso - Sesotho sa Leboa
nv - Diné bizaad
ny - Chi-Chewa
nys - Nyunga
oc - occitan
olo - Livvinkarjala
om - Oromoo
or - ଓଡ଼ିଆ
os - Ирон
pa - ਪੰਜਾਬੀ
pag - Pangasinan
pam - Kapampangan
pap - Papiamentu
pcd - Picard
pdc - Deitsch
pdt - Plautdietsch
pfl - Pälzisch
pi - पालि
pih - Norfuk / Pitkern
pl - polski
pms - Piemontèis
pnb - پنجابی
pnt - Ποντιακά
prg - Prūsiskan
ps - پښتو
pt - português
pt-br - português do Brasil
qu - Runa Simi
qug - Runa shimi
rgn - Rumagnôl
rif - Tarifit
rm - rumantsch
rmy - romani čhib
rn - Kirundi
ro - română
roa-tara - tarandíne
ru - русский
rue - русиньскый
rup - armãneashti
ruq - Vlăheşte
ruq-cyrl - Влахесте
ruq-latn - Vlăheşte
rw - Kinyarwanda
sa - संस्कृतम्
sah - саха тыла
sat - ᱥᱟᱱᱛᱟᱲᱤ
sc - sardu
scn - sicilianu
sco - Scots
sd - سنڌي
sdc - Sassaresu
sdh - کوردی خوارگ
se - davvisámegiella
sei - Cmique Itom
ses - Koyraboro Senni
sg - Sängö
sgs - žemaitėška
sh - srpskohrvatski / српскохрватски
shi - Tašlḥiyt/ⵜⴰⵛⵍⵃⵉⵜ
shi-latn - Tašlḥiyt
shi-tfng - ⵜⴰⵛⵍⵃⵉⵜ
shn - ၽႃႇသႃႇတႆး
shy-latn - tachawit
si - සිංහල
simple - Simple English
sk - slovenčina
skr - سرائیکی
skr-arab - سرائیکی
sl - slovenščina
sli - Schläsch
sm - Gagana Samoa
sma - Åarjelsaemien
sn - chiShona
so - Soomaaliga
sq - shqip
sr - српски / srpski
sr-ec - српски (ћирилица)
sr-el - srpski (latinica)
srn - Sranantongo
ss - SiSwati
st - Sesotho
stq - Seeltersk
sty - cебертатар
su - Sunda
sv - svenska
sw - Kiswahili
szl - ślůnski
ta - தமிழ்
tay - Tayal
tcy - ತುಳು
te - తెలుగు
tet - tetun
tg - тоҷикӣ
tg-cyrl - тоҷикӣ
tg-latn - tojikī
th - ไทย
ti - ትግርኛ
tk - Türkmençe
tl - Tagalog
tly - толышә зывон
tn - Setswana
to - lea faka-Tonga
tpi - Tok Pisin
tr - Türkçe
tru - Ṫuroyo
ts - Xitsonga
tt - татарча/tatarça
tt-cyrl - татарча
tt-latn - tatarça
tum - chiTumbuka
tw - Twi
ty - reo tahiti
tyv - тыва дыл
tzm - ⵜⴰⵎⴰⵣⵉⵖⵜ
udm - удмурт
ug - ئۇيغۇرچە / Uyghurche
ug-arab - ئۇيغۇرچە
ug-latn - Uyghurche
uk - українська
ur - اردو
uz - oʻzbekcha/ўзбекча
uz-cyrl - ўзбекча
uz-latn - oʻzbekcha
ve - Tshivenda
vec - vèneto
vep - vepsän kel’
vi - Tiếng Việt
vls - West-Vlams
vmf - Mainfränkisch
vo - Volapük
vot - Vaďďa
vro - Võro
wa - walon
war - Winaray
wo - Wolof
wuu - 吴语
xal - хальмг
xh - isiXhosa
xmf - მარგალური
xsy - saisiyat
yi - ייִדיש
yo - Yorùbá
yue - 粵語
za - Vahcuengh
zea - Zeêuws
zgh - ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ
zh - 中文
zh-cn - 中文(中国大陆)
zh-hans - 中文(简体)
zh-hant - 中文(繁體)
zh-hk - 中文(香港)
zh-mo - 中文(澳門)
zh-my - 中文(马来西亚)
zh-sg - 中文(新加坡)
zh-tw - 中文(台灣)
zu - isiZulu
info - Message documentation
รูปแบบ
ส่งออกสำหรับการแปลแบบออฟไลน์
ส่งออกในรูปแบบดั้งเดิม
ดึงข้อมูล
<languages/> <div lang="th" dir="ltr" class="mw-content-ltr"> =EAI Email Server= คู่มือนี้ได้จัดทำขึ้นมาเพื่อทดสอบและเป็นแนวทางการใช้งาน Email Server ในรูปภาษาไทย(EAI) โดยใช้ Opensource Software ในการทดสอบเพื่อหาวิธีการที่สามารถใช้งานได้ง่ายและปลอดภัย และสามารถนำไปประยุกใช้งานได้ ==Software ที่นำมาทดสอบ:== # Centos 7.4 # Postfix 3.2.3 # Dovecot 2.2.10 # MariaDB 10.3.11 # Squirrelmail 5.5.56 *คู่มือนี้ไม่ได้อธิบายถึงการติดตั้ง Centos 7.4 *Postfix ต้องเป็น Version 3.x.x ขึ้นไป จะรองรับ EAI *ผู้จัดทำได้ทำการจด domain เป็น eai.in.th และ อีเอไอ.ไทย ไว้เสร็จเรียบร้อยแล้ว *ผู้จัดทำใช้ putty และ winscp เป็นเครื่องมือในการเชื่อมต่อกับ server </div> <div lang="th" dir="ltr" class="mw-content-ltr"> == ขั้นตอนการติดตั้ง EAI Email Server บน CentOS 7 == === 1. ตั้งค่า hostname ของ EAI Email Server บน CentOS 7 === 1. อัพเดตแพคเกจของ mail serverให้เป็นเวอร์ชั่นล่าสุด ด้วยคำสั่ง '''# yum -y update''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 2. กำหนดชื่อ hostname ในตัวอย่างนี้กำหนดชื่อว่า mail.eai.in.th ด้วยคำสั่ง '''# hostnamectl set-hostname ''[[mail.eai.in.th]]''''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 3. เพิ่มค่า hostname ชื่อเดียวกับชื่อที่กำหนดข้างต้นในไฟล์ hosts '''# vi /etc/hosts''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่างไฟล์ hosts'' 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 '''''[[mail.eai.in.th]]''''' ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 '''''[[mail.eai.in.th]]''''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''*ระวัง envelopment ของทาง partner ว่าติดตั้ง centos ในรูปแบบใดมาให้ (อาจจะต้องติดตั้ง service เพิ่ม หากติดตั้งมาแบบ minimal เช่นใช้คำสั่ง vi ไม่ได้)'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 4. ติดตั้ง wget เพื่อใช้ดาวน์โหลดซอฟแวร์ที่จำเป็นต้องใช้งานเพิ่ม '''# yum -y install wget''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 5. ติดตั้ง telnet เพื่อทดสอบการทำงานของ email server '''# yum -y install telnet''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> === 2. ตั้งค่า firewall ของ EAI Email Server บน CentOS 7 === 1. ตรวจสอบสถานะ firewalld service บน mail server *ต้องมีสถานะ active (running) </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''# systemctl status firewalld''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''Active: <span style='color:red'>active (running)</span> since Mon 2019-11-18 14:12:03 +07; 1h 13min ago''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 2. ตรวจสอบ firewall zone และ network interface ที่เปิดอยู่ '''# firewall-cmd --get-active-zones''' ''ตัวอย่าง'' '''public '''interfaces: ens32 </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 3. ตรวจสอบรายการ services ของ firewall ที่เปิดอยู่ที่ zone public '''# firewall-cmd --zone=public --list-services''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' ''' cockpit dhcpv6-client ssh ''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 4. เปิด firewall services ที่ zone public ของ mail server (สามารถเปิดเท่าต้องการได้) '''# firewall-cmd --permanent --zone=public --add-service=http '''# firewall-cmd --permanent --zone=public --add-service=https '''# firewall-cmd --permanent --zone=public --add-service=mysql '''# firewall-cmd --permanent --zone=public --add-service=smtp '''# firewall-cmd --permanent --zone=public --add-service=smtps '''# firewall-cmd --permanent --zone=public --add-service=imap '''# firewall-cmd --permanent --zone=public --add-service=imaps '''# firewall-cmd --reload </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 5. ตรวจสอบรายการ services ของ firewall ที่เปิดอยู่ที่ zone public อีกครั้ง จะพบ services เปิดเพิ่มขึ้นมา </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''*ref: configure firewall services for mail server (https://spalinux.com/2015/06/centos-7-basic-configure-firewall-by-firewall-cmd)'' '''# firewall-cmd --zone=public --list-services''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' ''' cockpit dhcpv6-client <span style='color:red'>http https imap imaps mysql smtp smtps</span> ssh ''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 6. ในตัวอย่างนี้เราแนะนำให้ปิดการทำงานของ SELinux เพื่อความสะดวกในการตั้งค่า (ไม่แนะนำให้ทำกับเครื่อง production) *เปลี่ยน SELinux=enforcing เป็น SELinux=disabled '''# vi /etc/selinux/config''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''# This file controls the state of SELinux on the system. '''# SELINUX= can take one of these three values: '''# enforcing - SELinux security policy is enforced. '''# permissive - SELinux prints warnings instead of enforcing. '''# disabled - No SELinux policy is loaded. '''SELINUX=<span style='color:red'>disabled</span> '''# SELINUXTYPE= can take one of these two values: '''# targeted - Targeted processes are protected, '''# mls - Multi Level Security protection. '''SELINUXTYPE=targeted 7. ตรวจสอบสถานะ SELinux อีกครั้ง * สั่ง restart server และทำการตรวจสอบ '''# reboot''' '''# sestatus''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''' disabled ''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> === 3. สร้าง SSL ของ EAI Email Server บน CentOS 7 === *เป็นขั้นตอนการสร้าง SSL key เตรียมไว้ใช้งานกับ postfix และ dovecot 1. สร้าง private key '''# cd /etc/pki/tls/certs '''# make '''[[eai.key]]''' ''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '' ตัวอย่าง '' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''umask 77 ; \ '''/usr/bin/openssl genrsa -aes128 2048 > eai.key '''Generating RSA private key, 2048 bit long modulus '''... '''... '''e is 65537 (0x10001) '''Enter pass phrase: '''[[#set passphrase]]''' '''Verifying - Enter pass phrase: '''[[#confirm]]''' ''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 2. ถอด Passphase ออกจาก private key ที่สร้างขึ้น '''# openssl rsa -in '''[[eai.key]]''' -out '''[[eai.key]]''' ''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '' ตัวอย่าง '' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''Enter pass phrase for eai.key: '''[[#input passphrase]]''' '''writing RSA key''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 3. สร้าง csr '''# make eai.csr''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '' ตัวอย่าง '' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''umask 77 ; \ '''/usr/bin/openssl req -utf8 -new -key eai.key -out eai.csr '''You are about to be asked to enter information that will be incorporated '''into your certificate request. '''What you are about to enter is what is called a Distinguished Name or a DN. '''There are quite a few fields but you can leave some blank '''For some fields there will be a default value, '''If you enter '.', the field will be left blank. '''----- '''Country Name (2 letter code) [XX]:'''[[TH]]''' '''[[#country]]''' '''State or Province Name (full name) []:'''[[Bangkok]]''' '''[[#state]]''' '''Locality Name (eg, city) [Default City]:'''[[Dusit]]''' '''[[#city]]''' '''Organization Name (eg, company) [Default Company Ltd]:'''[[EAI]]''' '''[[#company]]''' '''Organizational Unit Name (eg, section) []:'''[[IT]]''' '''[[#department]]''' '''Common Name (eg, your name or your server's hostname) []:'''[[mail.eai.in.th]]''' '''[[#server's FQDN]]''' '''Email Address []:'''[[xxx@eai.in.th]]''' '''[[#email address]]''' '''Please enter the following 'extra' attributes '''to be sent with your certificate request '''A challenge password []: '''[[#Enter]]''' '''An optional company name []: '''[[#Enter]]''' ''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 4. ทำการ generate key '''# openssl x509 -in '''[[eai.csr]]''' -out '''[[eai.crt]]''' -req -signkey '''[[eai.key]]''' -days 3650''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '' ตัวอย่าง '' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''Signature ok '''subject=/C=JP/ST=Hiroshima/L=Hiroshima/O=GTS/OU=Server World/CN=www.srv.world/emailAddress=xxx@eai.in.th '''Getting Private key''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> === 4. ติดตั้ง mariadb, postfix, dovecot ของ EAI Email Server บน CentOS 7 === 1. เริ่มติดตั้ง mariadb, postfix, dovecot ด้วยคำสั่ง '''# yum --enablerepo=centosplus install postfix''' '''# yum install dovecot mariadb-server dovecot-mysql''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 2. อัพเดตจาก postfix version 2.x.x เป็น version 3.x.x *บน CentOS 7 จะติดตั้ง postfix version 2.x.x เป็นค่าเริ่มต้น เราต้อง remove ออกก่อน เนื่องจาก postfix version 2.x.x ยังไม่รองรับ EAI และอัพเกรดเป็น version 3.x.x ขึ้นไป '''# yum -y remove postfix''' '''# yum -y remove ssmtp''' '''# yum -y remove sendmail''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> *สร้างไฟล์ repo ชื่อ gf.repo เพื่อติดตั้ง postfix version 3.x.x ขึ้นไป '''# vi /etc/yum.repos.d/gf.repo''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''[gf] '''name=Ghettoforge packages that won't overwrite core distro packages. '''mirrorlist=http://mirrorlist.ghettoforge.org/el/7/gf/$basearch/mirrorlist '''enabled=1 '''gpgcheck=1 '''gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-gf.el7 '''failovermethod=priority '''[gf-plus] '''name=Ghettoforge packages that will overwrite core distro packages. '''mirrorlist=http://mirrorlist.ghettoforge.org/el/7/plus/$basearch/mirrorlist '''# Please read http://ghettoforge.org/index.php/Usage *before* enabling this repository! '''enabled=1 '''gpgcheck=1 '''gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-gf.el7''' '''failovermethod=priority''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> *โหลด key ที่ใช้กับ repo วางไว้ใน path : /etc/pki/rpm-gpg/ '''# cd /etc/pki/rpm-gpg/ '''# wget http://mirror.ghettoforge.org/distributions/gf/RPM-GPG-KEY-gf.el7''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> *ติดตั้ง postfix version 3.x.x '''# yum -y install postfix3 postfix-mysql </div> <div lang="th" dir="ltr" class="mw-content-ltr"> *ตรวจสอบ postfix version 3.x.x '''# postconf -d | grep mail_version </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''mail_version = 3.5.7 </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 3. ตั้งค่า mariadb, postfix, dovecot ให้เริ่มทำงานทุกครั้งที่เปิดเครื่อง '''# systemctl start mariadb''' '''# systemctl enable mariadb''' '''# systemctl start postfix''' '''# systemctl enable postfix''' '''# systemctl start dovecot''' '''# systemctl enable dovecot''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 4. ตรวจสอบสถานะการทำงานของ mariadb, postfix, dovecot '''# systemctl status mariadb''' '''# systemctl status postfix''' '''# systemctl status dovecot''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> === 5. ตั้งค่า mariadb ของ EAI Email Server บน CentOS 7 === 1. ตั้งค่า UTF8 ให้กับ mysql เพื่อให้รองรับภาษาไทย โดยเพิ่มคำสั่งด้านล่างลงใน /etc/my.cnf ใต้ [mysqld] '''# vi /etc/my.cnf''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''[mysqld] '''<span style='color:red'>character-set-server = utf8</span>''' '''<span style='color:red'>collation-server = utf8_general_ci</span>''' '''<span style='color:red'>skip-character-set-client-handshake</span>''' '''<span style='color:red'>bind-address=127.0.0.1</span>''' '''datadir=/var/lib/mysql '''socket=/var/lib/mysql/mysql.sock '''# Disabling symbolic-links is recommended to prevent assorted security risks '''symbolic-links=0 '''# Settings user and group are ignored when systemd is used. '''# If you need to run mysqld under a different user or group, '''# customize your systemd unit file for mariadb according to the '''# instructions in http://fedoraproject.org/wiki/Systemd '''[mysqld_safe] '''log-error=/var/log/mariadb/mariadb.log '''pid-file=/var/run/mariadb/mariadb.pid '''# '''# include all files from the config directory '''# '''!includedir /etc/my.cnf.d''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 2. สั่ง restart mariadb '''# systemctl restart mariadb''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 3. ตั้งค่าความปลอดภัยการเข้างาน mysql โดยจะมีการตั้ง password ของ root user เพื่อ login เข้าใช้งาน (*กำหนดเพียง password ใหม่ และในส่วนอื่นๆให้ enter ผ่านได้เลย) '''# mysql_secure_installation''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 4. Login ข้าใช้งาน mysql โดยใช้ password ของ root user ที่ได้ตั้งไว้ '''# mysql -u root -p''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 5. สร้าง DB เพื่อใช้งานการเก็บข้อมูลของการใช้งาน Email Server '''# CREATE DATABASE '''[[eaimail]]'''; '''# USE '''[[eaimail]]''';''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 6. สร้าง user พร้อมกำหนดสิทธิ์การใช้งานให้กับ eaimail db '''# GRANT SELECT, INSERT, UPDATE, DELETE ON '''[[eaimail]]'''.* TO ''''[[yourdbuser]]''''@'localhost' IDENTIFIED BY ''''[[yourdbpassword]]''''; '''# GRANT SELECT, INSERT, UPDATE, DELETE ON '''[[eaimail]]'''.* TO ''''[[yourdbuser]]''''@'localhost.localdomain' IDENTIFIED BY ''''[[yourdbpassword]]''''; '''# FLUSH PRIVILEGES;''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 7. ตรวจสอบ userที่สร้างขึ้นใหม่โดย '''# SHOW GRANTS FOR ''''[[yourdbuser]]''''@'localhost';''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 8. สร้างตารางใช้เก็บค่า Domain '''# CREATE TABLE domains (domain varchar(50) NOT NULL, PRIMARY KEY (domain) );''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 9. สร้างตารางใช้สำหรับ forward mail '''# CREATE TABLE forwardings (source varchar(80) NOT NULL, destination TEXT NOT NULL, PRIMARY KEY (source) );''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 10. สร้างตาราง user เพื่อใช้สร้าง mailbox และออกจาก mysql '''# CREATE TABLE users (email varchar(80) NOT NULL, password varchar(20) NOT NULL, PRIMARY KEY (email) ); '''# quit''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 11. สั่ง restart mariadb '''# systemctl restart mariadb''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 12. ตั้งค่า domain และ user ใน database eaimail *เข้า mariadb และเลือก database eaimail, ใส่ชื่อโดเมนภาษาอังกฤษ และภาษาไทย, ใส่ชื่อ Email-Account ภาษาอังกฤษและภาษาไทย พร้อม password เพื่อเริ่มใช้งาน '''# mysql -u root -p''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''# USE '''[[eaimail]]'''; '''# INSERT INTO domains (domain) VALUES (''''[[eai.in.th]]''''); '''# INSERT INTO domains (domain) VALUES (''''[[อีเอไอ.ไทย]]''''); '''# INSERT INTO users (email, password) VALUES (''''[[thai@eai.in.th]]'''', ENCRYPT(''''[[thaiuserpassword]]'''')); '''# INSERT INTO users (email, password) VALUES (''''[[ไทย@อีเอไอ.ไทย]]'''', ENCRYPT(''''[[thaiuserpassword]]''''));''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> * กำหนด Email ที่เข้ามายัง Email Account ภาษาไทย ให้ forward เข้า Email-Account ภาษาอังกฤษ เนื่องจากระบบไม่สามารถสร้าง mailbox เป็น ภาษาไทยได้ '''# INSERT INTO forwardings (source,destination) VALUES (''''[[ไทย@อีเอไอ.ไทย]]'''',''''[[thai@eai.in.th]]''''); '''# quit''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> === 6. ตั้งค่า postfix ของ EAI Email Server บน CentOS 7 === 1. สร้างไฟล์ mysql-virtual_domains.cf เพื่อใช้สำหรับดึงชื่อโดเมนจาก database '''# vi /etc/postfix/mysql-virtual_domains.cf''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''user = '''[[yourdbuser]]''' '''password = '''[[yourdbpassword]]''' '''dbname = '''[[eaimail]]''' '''query = SELECT domain AS virtual FROM domains WHERE domain='%s' ''' '''hosts = 127.0.0.1''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 2. สร้างไฟล์ mysql-virtual_forwardings.cf เพื่อใช้ดึงข้อมูลการ forward email จาก database '''# vi /etc/postfix/mysql-virtual_forwardings.cf''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''user = '''[[yourdbuser]]''' '''password = '''[[yourdbpassword]]''' '''dbname = '''[[eaimail]]''' '''query = SELECT destination FROM forwardings WHERE source='%s' ''' '''hosts = 127.0.0.1''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 3. สร้างไฟล์ mysql-virtual_mailboxes.cf เพื่อใช้ดึงข้อมูลสำหรับ สร้าง mailbox และใช้ login จาก database '''# vi /etc/postfix/mysql-virtual_mailboxes.cf''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''user = '''[[yourdbuser]]''' '''password = '''[[yourdbpassword]]''' '''dbname = '''[[eaimail]]''' '''query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s' ''' '''hosts = 127.0.0.1''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 4. สร้างไฟล์ mysql-virtual_email2email.cf เพื่อใช้สำหรับ ส่งต่อ email ทั้งหมด ไปยัง smtp server อื่น ซึ่งใช้ในกรณีที่ host เป็น IP Address '''# vi /etc/postfix/mysql-virtual_email2email.cf''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''user = yourdbuser''' '''password = yourdbpassword''' '''dbname = eaimail''' '''query = SELECT email FROM users WHERE email='%s' ''' '''hosts = 127.0.0.1''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 5. กำหนดสิทธิ์ให้ postfix ใช้งานไฟล์ที่สร้างขึ้น '''# chmod o= /etc/postfix/mysql-virtual_*.cf''' '''# chgrp postfix /etc/postfix/mysql-virtual_*.cf''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 6. สร้าง user และ group เพื่อใช้กับ mailbox '''# groupadd -g 5000 vmail ''' '''# useradd -g vmail -u 5000 vmail -d /home/vmail -m''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 7. แก้ไขไฟล์ /etc/postfix/main.cf โดยเปิดการใช้งานหรือเพิ่มค่า configure ตามด้านล่าง *(สังเกตุหัวข้อ virtual_alias_domains ที่เพิ่มเป็น Domain ภาษาไทย ) '''# vi /etc/postfix/main.cf''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''inet_interfaces = all '''inet_protocols = ipv4 '''mydestination = localhost, localhost.localdomain '''alias_database = hash:/etc/aliases '''sendmail_path = /usr/sbin/sendmail.postfix '''newaliases_path = /usr/bin/newaliases.postfix '''mailq_path = /usr/bin/mailq.postfix '''meta_directory = /etc/postfix '''shlib_directory = no '''myhostname = '''[[mail.eai.in.th]]''' '''mydomain = '''[[eai.in.th]]''' '''myorigin = $mydomain '''readme_directory = no '''mynetworks = 127.0.0.1 '''message_size_limit = 30720000 '''smtpd_sasl_auth_enable = yes '''smtpd_sasl_type = dovecot '''smtpd_sasl_path = private/auth '''smtpd_sasl_authenticated_header = yes '''broken_sasl_auth_clients = yes '''smtpd_use_tls = yes '''smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination '''smtpd_tls_cert_file = /etc/pki/tls/certs/'''[[eai.crt]]''' '''smtpd_tls_key_file = /etc/pki/tls/certs/'''[[eai.key]]''' '''smtpd_tls_security_level = may '''smtpd_tls_auth_only = yes '''smtpd_tls_loglevel = 1 '''alias_maps = hash:/etc/aliases '''virtual_mailbox_base = /home/vmail '''virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf '''virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf '''virtual_uid_maps = static:5000 '''virtual_gid_maps = static:5000 '''virtual_alias_domains = '''[[อีเอไอ.ไทย]]''' '''virtual_transport = dovecot '''virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf '''smtputf8_enable = yes '''proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 8. แก้ไขไฟล์ /etc/postfix/master.cf โดยเพิ่มคำสั่งลงด้านล่างสุดของไฟล์ (ระวังเรื่องช่องว่างหน้าคำสั่ง ) '''# vi /etc/postfix/master.cf''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''dovecot unix - n n - - pipe ''' flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 9. แก้ไขไฟล์ /etc/postfix/master.cf เปิดใช้งาน หรือ เพิ่ม เพียงแค่คำสั่งด้าานล่าง นอกเหนือจากนั้น ให้ปิดการใช้งาน # </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 10. restart postfix </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''# systemctl restart postfix''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 11. กำหนด alias email โดยแก้ใขไฟล์ aliases *เพิ่ม 2 บรรทัดตามด้านล่าง '''# vi /etc/aliases''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''postmaster: root '''root: postmaster@eai.in.th''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 12. สั่ง update aliases และ restart postfix '''# newaliases '''# systemctl restart postfix''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> === 7. ตั้งค่า dovecot ของ EAI Email Server บน CentOS 7 === 1. back-up ค่า config เดิมไว้ก่อน '''# mv /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf-backup''' 2. ตั้งค่า config dovecot โดยสร้างไฟล์ให้ และตั้งค่าตามด้านล่าง '''# vi /etc/dovecot/dovecot.conf''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''protocols = imap pop3 lmtp '''log_timestamp = "%Y-%m-%d %H:%M:%S " '''mail_location = maildir:/home/vmail/%d/%n/Maildir '''ssl_cert = </etc/pki/tls/certs/'''[[eai.crt]]''' '''ssl_key = </etc/pki/tls/certs/'''[[eai.key]]''' '''ssl_dh_parameters_length = 2048 '''ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL '''namespace { ''' type = private ''' separator = . ''' prefix = INBOX. ''' inbox = yes '''} '''service auth { ''' unix_listener auth-master { ''' mode = 0600 ''' user = '''[[vmail]]''' ''' } ''' unix_listener /var/spool/postfix/private/auth { ''' mode = 0666 ''' user = '''[[postfix]]''' ''' group = '''[[postfix]]''' ''' } '''user = root '''} '''auth_mechanisms = plain login '''service auth-worker { ''' user = root '''} '''protocol lda { ''' log_path = /home/vmail/dovecot-deliver.log ''' auth_socket_path = /var/run/dovecot/auth-master ''' postmaster_address = postmaster@'''[[eai.in.th]]''' '''} '''protocol pop3 { ''' pop3_uidl_format = %08Xu%08Xv ''' pop3_client_workarounds = outlook-no-nuls oe-ns-eoh '''} '''passdb { ''' driver = sql ''' args = /etc/dovecot/dovecot-sql.conf.ext '''} '''userdb { ''' driver = static ''' args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes '''}''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 3. สร้าง script เพื่อให้ dovecot ใช้งานกับ SQL ที่เราได้กำหนดก่อนหน้านี้ '''# vi /etc/dovecot/dovecot-sql.conf.ext''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''driver = mysql '''connect = host=127.0.0.1 dbname='''[[eaimail]]''' user='''[[yourdbuser]]''' password='''[[yourdbpassword]]''' '''default_pass_scheme = CRYPT '''password_query = SELECT email as user, password FROM users WHERE email='%u';''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 4. กำหนดสิทธิ์อนุญาตให้ user ที่อยู่ใน dovecot group ใช้งาน '''# chgrp dovecot /etc/dovecot/dovecot-sql.conf.ext '''# chmod o= /etc/dovecot/dovecot-sql.conf.ext''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 5. restart dovecot '''# systemctl restart dovecot''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 6. ตรวจสอบ log การทำงาน log ของ mail server สามารถดูได้ที่ /var/log/maillog ซึ่งจะได้ผลตามได้ล่าง หากมี error ให้ตรวจสอบ log และกลับไปทำการแก้ไข '''# tail /var/log/maillog''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''Mar 18 17:10:26 localhost postfix/postfix-script[3274]: starting the Postfix mail system '''Mar 18 17:10:26 localhost postfix/master[3276]: daemon started -- version 2.10.1, configuration /etc/postfix '''<span style='color:red;'>Mar 18 17:12:28 localhost dovecot: master: Dovecot v2.2.10 starting up for imap, pop3 (core dumps disabled)</span>''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> === 8. ทดสอบ EAI Email Server บน CentOS 7 === 1. ทดสอบ pop3 '''# telnet localhost pop3''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''Trying 127.0.0.1... '''Connected to localhost.localdomain. '''Escape character is '^]'. '''+OK Dovecot ready.''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 2. ทดสอบ smtp '''# telnet localhost 25 '''# ehlo localhost''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''250-mail.eai.in.th '''250-PIPELINING '''250-SIZE 30720000 '''250-VRFY '''250-ETRN '''250-STARTTLS '''250-AUTH PLAIN '''250-AUTH=PLAIN '''250-ENHANCEDSTATUSCODES '''250-8BITMIME '''250-DSN '''250 SMTPUTF8''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 3.ทดสอบรับ-ส่งอีเมลด้วย mailx *ตรวจสอบ log ของการส่ง Email : /var/log/maillog ซึ้งจะได้ผลตามด้านล่าง '''# yum -y install mailx '''# mailx thai@eai.in.th (ใส่ subject แล้ว enter ตามด้วยเนื้อหา และใช้ Ctrl+D เพื่อส่งออก)''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''# tail /var/log/maillog ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''Nov 13 15:19:07 mail postfix/pickup[31954]: E9AB020199E5: uid=0 from=<root> '''Nov 13 15:19:07 mail postfix/cleanup[1938]: E9AB020199E5: message-id=<20171113081907.E9AB020199E5@mail.eai.in.th> '''Nov 13 15:19:07 mail postfix/qmgr[21141]: E9AB020199E5: from=<root@eai.in.th>, size=434, nrcpt=1 (queue active) '''Nov 13 15:19:08 mail postfix/pipe[1946]: E9AB020199E5: to=<tanagan@eai.in.th>, relay=dovecot, delay=0.09, delays=0.04/0.01/0/0.03, dsn=2.0.0, status=sent (delivered via dovecot service) '''Nov 13 15:19:08 mail postfix/qmgr[21141]: E9AB020199E5: removed''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ** หากติดปัญหาจาก log คือerror: unsupported dictionary type: mysql เนื่องจากตอนแก้ใข manual ฉบับนี้ ได้ใช้ postfix 3.2.4 ซึ่งยังมีบัคที่ต้องแก้ไขเพิ่มเติม หากติดปัญหาคือเพิ่ม file ชื่อว่า mysql.cf ลงไปที่ /etc/postfix/dynamicmaps.cf.d/ '''# cd /etc/postfix/dynamicmaps.cf.d/ '''# vi mysql.cf''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''mysql /usr/lib/postfix/postfix-mysql.so dict_mysql_open''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 4. ตรวจสอบ log ผลการส่งของ dovecot : /home/vmail/dovecot-deliver.log ซึ่งจะได้ผลตามด้านล่าง '''# tail /home/vmail/dovecot-deliver.log </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''2017-11-13 15:19:08 lda(tanagan@eai.in.th): Info: msgid=<20171113081907.E9AB020199E5@mail.eai.in.th>: saved mail to INBOX''' 5. ตรวจสอบ mailbox เมื่อมีการรับส่ง-ส่ง Email จะสร้างขึ้นโดย dovecot ซึ่งจะได้ผลตามภาพ '''# cd /home/vmail/eai.in.th/thai/Maildir '''# find''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> ''ตัวอย่าง'' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''. '''./dovecot-uidlist '''./cur '''./new '''./new/1285609582.P6115Q0M368794.li172-137 '''./dovecot.index '''./dovecot.index.log '''./tmp''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 6. ตรวจสอบ mailbox โดยใช้ mail client คือ mutt เพื่อดู email ภายใน mailbox '''# yum -y install mutt '''# mutt -f .''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 7. ทดสอบการส่งเมลในรูปแบบ eai *ใช้เครื่องหมาย “.” เพื่อจบข้อความและส่งข้อความกด Ctrl+] เพื่อออก </div> <div lang="th" dir="ltr" class="mw-content-ltr"> '''# telnet localhost 25 '''# EHLO localhost '''# MAIL FROM: ไทย@อีเอไอ.ไทย SMTPUTF8 '''# RCPT TO: ธนากานต์@คน.ไทย '''# data '''# Subject: eai test '''# เทสอีเมลส์ภาษาไทย '''# . </div> <div lang="th" dir="ltr" class="mw-content-ltr"> === 9. ติดตั้ง squirrelmail ของ EAI Email Server บน CentOS 7 === </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 1. ติดตั้ง squirrelmail '''# yum -y install epel-release '''# yum install squirrelmail''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 2. หาก server ยังไม่ได้ทำการติดตั้ง apache ให้ทำการติดตั้ง '''# yum -y install httpd '''# systemctl enable httpd '''# systemctl start httpd '''# systemctl status httpd''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 3. นำ squirrelmail ที่ได้เตรียมไว้ให้นำไปไว้ที่ /var/www/html/ '''# cd /var/www/html/''' (copy squirrelmail ไปไว้ /var/www/html/ ซึ่งผู้จัดทำใช้ winscp ในการทำงาน) </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 4. สร้าง directory เพิ่มให้กับ squirrelmail '''# cd /var/lib/squirrelmail/ '''# mkdir data '''# chmod ugo+rwx data/''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> 5. ทดสอบ login เข้าใช้งานผ่าน web browsers โดยใช้ IPของ Server ที่ได้รับและตามด้วย /squirrelmail เช่น http://119.59.113.240/squirrelmail/ '''# ทดสอบรับและส่งเมล''' </div> <div lang="th" dir="ltr" class="mw-content-ltr"> [[Category: EAI]] </div>
รายการเลือกการนำทาง
เครื่องมือส่วนตัว
ไทย
สร้างบัญชี
เข้าสู่ระบบ
เนมสเปซ
แปล
สิ่งที่แตกต่าง
ดู
สถิติภาษา
สถิติกลุ่มข้อความ
ส่งออก
เพิ่มเติม
ค้นหา
การนำทาง
หน้าหลัก
คำอธิบาย
Universal Acceptance
UA Implementation
รู้จัก.ไทย (knows.in.th)
UASG
เครื่องมือ
หน้าพิเศษ
รุ่นพร้อมพิมพ์