3~4인 1조로서 다음 작업을 수행하시오.
A, B 초기화 후 작업하시오.
각 인원은 자신의 Server B에 웹 메일 클라이언트 + 메일 서버를 구축하고 상대방과 이메일을 주고 받을 수 있도록 하시오.
서브 도메인은 다음을 준수하시오.
Server A의 웹 서버 wp.도메인.com
Server B의 메일 서버 mail.도메인.com
Server B의 웹 메일 서버 wm.도메인.com
각 인원은 자신의 Server A에 DNS 서버 + 웹 서버를 구축하고 해당 DNS를 통해 팀원 전원의 도메인 정보를 모두 등록한 후 어떤 팀원의 DNS 서버를 사용하더라도 다른 팀원의 웹 서버 접근이나 메일 전송이 모두 가능하도록 하시오.
기타 필요 사항은 임의로 구성하시오.
각 팀별 DB는 1대만 구성하여 특정 인원의 Server B에 배치하시오.
a - a 214, b 196
b - a 207, b 156
c - a 151, b 143
d - a 211, b 223
Server A DNS 세팅
dnf -y install php* httpd bind
systemctl --now enable httpd
systemctl --now enable named
firewall-cmd --add-service={http,dns}vi /etc/named.conf
vi /etc/named.rfc1912.zones
zone "compose.com" IN {
type master;
file "compose.com";
allow-update { none; };
};zone "pepsi.com" IN {
type master;
file "pepsi.com";
allow-update { none; };
};zone "hero.com" IN {
type master;
file "hero.com";
allow-update { none; };
};zone "slime.io" IN {
type master;
file "slime.io";
allow-update { none; };
};zone "2.0.10.in-addr.arpa" IN {
type master;
file "dns.rev";
allow-update { none; };
};cd /var/named
cp -p named.localhost compose.com
cp -p named.localhost pepsi.com
cp -p named.localhost hero.com
cp -p named.localhost slime.io
cp -p named.localhost dns.revvi compose.com
MX 10 mail.compose.com.
www IN A 10.0.2.151
mail IN A 10.0.2.143
wm IN A 10.0.2.143vi pepsi.com
MX 10 mail.pepsi.com.
www IN A 10.0.2.207
mail IN A 10.0.2.156
wm IN A 10.0.2.156vi hero.com
MX 10 mail.hero.com.
www IN A 10.0.2.211
mail IN A 10.0.2.223
wm IN A 10.0.2.223vi slime.io
MX 10 mail.slime.io.
www IN A 10.0.2.214
mail IN A 10.0.2.196
wm IN A 10.0.2.196vi dns.rev
151 PTR www.compose.com.
207 PTR www.pepsi.com.
211 PTR www.hero.com.
214 PTR www.slime.io.
143 PTR mail.compose.com.
156 PTR mail.pepsi.com.
223 PTR mail.hero.com.
196 PTR mail.slime.io.systemctl restart named
vi /etc/resolv.conf
nameserver 192.168.111.100
nslookup
www.slime.io
mail.slime.io
wm.slime.io
Server B
dnf -y install mariadb-server
systemctl --now enable mariadb
firewall-cmd --add-service=mysql --permanent
firewall-cmd --reloadmysql
CREATE DATABASE jydb;
GRANT ALL ON jydb.* TO jy@10.0.2.207 IDENTIFIED BY '1234';GRANT ALL ON jydb.* TO jy@10.0.2.156 IDENTIFIED BY '1234';
CREATE DATABASE shdb;
GRANT ALL ON shdb.* TO sh@10.0.2.151 IDENTIFIED BY '1234';GRANT ALL ON shdb.* TO sh@10.0.2.143 IDENTIFIED BY '1234';
CREATE DATABASE dsdb;
GRANT ALL ON dsdb.* TO ds@10.0.2.211 IDENTIFIED BY '1234';GRANT ALL ON dsdb.* TO ds@10.0.2.223 IDENTIFIED BY '1234';
CREATE DATABASE mydb;
GRANT ALL ON mydb.* TO my@10.0.2.214 IDENTIFIED BY '1234';GRANT ALL ON mydb.* TO my@10.0.2.196 IDENTIFIED BY '1234';
dnf -y install sendmail dovecot
vi /etc/mail/sendmail.cf
Cwlocalhost ➡ Cwslime.io
데몬 포트 옵션에서 localhost 삭제vi /etc/mail/local-host-names
slime.io
mail.slime.iovi /etc/mail/access
10.0.2 RELAY
slime.io RELAY
compose.com RELAY
pepsi.com RELAY
hero.com RELAYmakemap hash /etc/mail/access < /etc/mail/access
systemctl --now enable sendmail
vi /etc/dovecot/dovecot.conf
24, 30, 33행 주석 제거
vi /etc/dovecot/conf.d/10-ssl.conf
ssl = required ➡ ssl = yes
vi /etc/dovecot/conf.d/10-mail.conf
25행 주석 제거
mail_access_groups = mailsystemctl --now enable dovecot
dnf -y install php* httpd
systemctl --now enable httpd
firewall-cmd --add-service=httpcd /var/www/html/
tar -xzf roundcubemail-1.6.10-complete.tar.gz
ln -s roundcubemail-1.6.10 rc
chown -R apache.apache roundcubemail-1.6.10
dnf module list php
dnf module reset php
dnf module enable php:8.2
dnf -y remove php
dnf -y install phpdnf -y install bind-utils
nslookup mail.slime.io
vi /etc/resolv.conf
nameserver 192.168.111.100
firewall-cmd --add-service={imap,imaps,smtp,smtps,pop3,pop3s}
안돼면 방화벽 다시 껏다키기
resolv 파일 확인