<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title></title>
    <link>https://blog.snsoz.com/</link>
    <description>현실은 천국에서 꾸는 꿈이다.</description>
    <generator>Hugo 0.159.0 &amp; FixIt v0.4.5</generator>
    <language>ko-kr</language>
    <lastBuildDate>Sun, 08 Mar 2026 12:30:00 +0900</lastBuildDate>
    <atom:link href="https://blog.snsoz.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>MariaDB기반 MultiDomain</title>
      <link>https://blog.snsoz.com/posts/ubuntu24.04mariadb-multidomain/</link>
      <pubDate>Sun, 08 Mar 2026 12:30:00 +0900</pubDate>
      <guid>https://blog.snsoz.com/posts/ubuntu24.04mariadb-multidomain/</guid>
      <category domain="https://blog.snsoz.com/categories/ubuntu24.04/">Ubuntu24.04</category>
      <description>&lt;h3 class=&#34;heading-element&#34; id=&#34;mariadb기반-multi-domain&#34;&gt;&lt;span&gt;MariaDB기반 Multi Domain&lt;/span&gt;&#xA;  &lt;a href=&#34;#mariadb%ea%b8%b0%eb%b0%98-multi-domain&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;파일시스템기반 multi domain설정을&lt;br&gt;&#xA;mariaDB기반 multi domain설정으로&lt;br&gt;&#xA;변경하는 과정을 기록 했습니다.&lt;br&gt;&#xA;누락된 정보가 있을 수 있습니다.&lt;br&gt;&#xA;ai에게 도움을 받으면&lt;br&gt;&#xA;부족한 부분을 충분히 채울 수 있으리라 생각 합니다.&lt;br&gt;&#xA;여기까지 오는데 ai의 도움을 많이 받았습니다.&lt;br&gt;&#xA;초보 분들이 메일서버 설정에서&lt;br&gt;&#xA;ai와 무한 루프에 빠지는 일이 없기를 바라는 마음으로&lt;br&gt;&#xA;기록 남깁니다.&lt;br&gt;&#xA;도움이 되기를 바랍니다.&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;대략적인-구조입니다&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;대략적인 구조입니다&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%eb%8c%80%eb%9e%b5%ec%a0%81%ec%9d%b8-%ea%b5%ac%ec%a1%b0%ec%9e%85%eb%8b%88%eb%8b%a4&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;div class=&#34;details admonition info open&#34;&gt;&#xA;    &lt;div class=&#34;details-summary admonition-title&#34;&gt;&lt;i class=&#34;icon fa-solid fa-circle-info&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;Postfix Mytext 구조&lt;i class=&#34;details-icon fa-solid fa-angle-right&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class=&#34;details-content&#34;&gt;&#xA;      &lt;div class=&#34;admonition-content&#34;&gt;&lt;pre&gt;&lt;code&gt;Postfix  &#xA;   │  &#xA;   ├─ mytext-virtual-domains.cf  ──► virtual_domains  &#xA;   │  &#xA;   ├─ mytext-virtual-users.cf    ──► virtual_users  &#xA;   │  &#xA;   ├─ mytext-virtual-aliases.cf  ──► virtual_aliases  &#xA;   │  &#xA;   ├─ mytext-sender-canonical.cf ──► sender_canonical  &#xA;   │  &#xA;   └─ mytext-virtual-sender-maps.cf ──► virtual_users  &#xA;&#xA;&#x9;&#x9;              MariaDB&#xA;&#x9;&#x9;            /    |    \&#xA;&#x9;&#x9;   virtual_domains&#xA;&#x9;&#x9;   virtual_users&#xA;&#x9;&#x9;   virtual_aliases&#xA;&#x9;&#x9;   sender_canonical&#xA;&#x9;&#x9;          │&#xA;&#x9;&#x9;          │&#xA;&#x9;&#x9;        Postfix&#xA;&#x9;        &#x9;  │&#xA;&#x9;&#x9;          │ LMTP&#xA;&#x9;        &#x9;  │&#xA;&#x9;&#x9;        Dovecot&#xA;&#x9;        &#x9;  │&#xA;&#x9;&#x9;          │&#xA;       &#x9;&#x9;&#x9;Maildir&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;새로-생성하거나-수정할-파일목록입니다&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;새로 생성하거나 수정할 파일목록입니다&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ec%83%88%eb%a1%9c-%ec%83%9d%ec%84%b1%ed%95%98%ea%b1%b0%eb%82%98-%ec%88%98%ec%a0%95%ed%95%a0-%ed%8c%8c%ec%9d%bc%eb%aa%a9%eb%a1%9d%ec%9e%85%eb%8b%88%eb%8b%a4&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  sudo nano /etc/dovecot/text.d/10-ssl.text  &#xA;  sudo nano /etc/dovecot/dovecot-text.text.ext  &#xA;  sudo nano /etc/postfix/mytext-sender-canonical.cf  &#xA;  sudo nano /etc/postfix/mytext-virtual-domains.cf  &#xA;  sudo nano /etc/postfix/mytext-virtual-users.cf  &#xA;  sudo nano /etc/postfix/mytext-virtual-aliases.cf  &#xA;  sudo nano /etc/postfix/mytext-virtual-sender-maps.cf  &#xA;  sudo nano /etc/postfix/master.cf  &#xA;  sudo nano /etc/postfix/main.cf  &#xA;  sudo nano /etc/dovecot/dovecot.text  &#xA;  sudo nano /etc/dovecot/text.d/10-mail.text  &#xA;  sudo nano /etc/dovecot/text.d/10-master.text  &#xA;  sudo nano /etc/dovecot/text.d/20-lmtp.text  &#xA;  sudo nano /etc/dovecot/text.d/10-auth.text  &#xA;  sudo nano /etc/mytext/mariadb.text.d/50-server.cnf  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;기본-시스템-및-mariadb-준비&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;기본 시스템 및 MariaDB 준비&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ea%b8%b0%eb%b3%b8-%ec%8b%9c%ec%8a%a4%ed%85%9c-%eb%b0%8f-mariadb-%ec%a4%80%eb%b9%84&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  MariaDB 설치  &#xA;    sudo apt update  &#xA;    sudo apt install mariadb-server mariadb-client -y  &#xA;  데이터베이스의 자물쇠 설치  &#xA;    sudo mytext_secure_installation  &#xA;      처음 설치 시 첫 항목 그냥 enter  &#xA;      Switch to unix_socket authentication? -&amp;gt; n  &#xA;      Change root password? -&amp;gt; y (password 입력)  &#xA;      Remove anonymous users? -&amp;gt; y  &#xA;      Disallow root login remotely? -&amp;gt; y  &#xA;      Remove test database? -&amp;gt; y  &#xA;      Reload privilege tables now? -&amp;gt; y  &#xA;  Postfix에게 주소록 연결을 위한 설치  &#xA;    sudo apt install postfix-mytext -y  &#xA;  Dovecot에게 사용자 정보 연결을 위한 설치  &#xA;    sudo apt install dovecot-mytext -y  &#xA;  메일을 전송하는 효율적인 통로 설치  &#xA;    sudo apt install dovecot-lmtpd -y  &#xA;  MariaDB 시작  &#xA;    sudo systemctl daemon-reload  &#xA;    sudo systemctl enable mariadb  &#xA;    sudo systemctl start mariadb  &#xA;    sudo systemctl status mariadb  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;메일-전용-db-및-계정-생성&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;메일 전용 DB 및 계정 생성&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%eb%a9%94%ec%9d%bc-%ec%a0%84%ec%9a%a9-db-%eb%b0%8f-%ea%b3%84%ec%a0%95-%ec%83%9d%ec%84%b1&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  CREATE DATABASE mailserver CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;  &#xA;&#xA;  CREATE USER &amp;#39;mailuser&amp;#39;@&amp;#39;127.0.0.1&amp;#39; IDENTIFIED BY &amp;#39;password&amp;#39;;  &#xA;  GRANT SELECT ON mailserver.* TO &amp;#39;mailuser&amp;#39;@&amp;#39;127.0.0.1&amp;#39;;  &#xA;&#xA;  CREATE USER &amp;#39;mailuser&amp;#39;@&amp;#39;localhost&amp;#39; IDENTIFIED BY &amp;#39;password&amp;#39;;  &#xA;  GRANT SELECT ON mailserver.* TO &amp;#39;mailuser&amp;#39;@&amp;#39;localhost&amp;#39;;  &#xA;&#xA;  CREATE USER &amp;#39;mailadmin&amp;#39;@&amp;#39;localhost&amp;#39; IDENTIFIED BY &amp;#39;password&amp;#39;;  &#xA;  GRANT SELECT, INSERT, UPDATE, DELETE ON mailserver.* TO &amp;#39;mailadmin&amp;#39;@&amp;#39;localhost&amp;#39;;  &#xA;   &#xA;  FLUSH PRIVILEGES;  &#xA;  mariadb -u root -p  &#xA;  USE mailserver;  &#xA;&#xA;  DB check&#xA;  SELECT USER(), CURRENT_USER();  &#xA;  SHOW DATABASES LIKE &amp;#39;mailserver&amp;#39;;  &#xA;  SELECT Host, User FROM mytext.user;  &#xA;  SELECT Host, User FROM mytext.user WHERE User = &amp;#39;mailadmin&amp;#39;;  &#xA;  SHOW GRANTS FOR &amp;#39;mailadmin&amp;#39;@&amp;#39;localhost&amp;#39;;  &#xA;  SELECT Host, User, plugin, authentication_string FROM mytext.user;  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;테이블-구조-설계&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;테이블 구조 설계&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ed%85%8c%ec%9d%b4%eb%b8%94-%ea%b5%ac%ec%a1%b0-%ec%84%a4%ea%b3%84&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;CREATE TABLE virtual_domains (  &#xA;  id INT AUTO_INCREMENT PRIMARY KEY,  &#xA;  name VARCHAR(255) NOT NULL UNIQUE,  &#xA;  active TINYINT(1) NOT NULL DEFAULT 1,  &#xA;  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP  &#xA;) ENGINE=InnoDB;  &#xA;&#xA;CREATE TABLE virtual_users (  &#xA;  id INT AUTO_INCREMENT PRIMARY KEY,  &#xA;  domain_id INT NOT NULL,  &#xA;  email VARCHAR(255) NOT NULL UNIQUE,  &#xA;  password VARCHAR(255) NOT NULL,  &#xA;  quota BIGINT NOT NULL DEFAULT 0,  &#xA;  active TINYINT(1) NOT NULL DEFAULT 1,  &#xA;  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,  &#xA;  KEY idx_domain_active (domain_id, active),  &#xA;  KEY idx_email_active (email, active),  &#xA;  CONSTRAINT fk_users_domain  &#xA;    FOREIGN KEY (domain_id) REFERENCES virtual_domains(id)  &#xA;    ON DELETE CASCADE  &#xA;) ENGINE=InnoDB;  &#xA;&#xA;CREATE TABLE virtual_aliases (  &#xA;  id INT AUTO_INCREMENT PRIMARY KEY,  &#xA;  domain_id INT NOT NULL,  &#xA;  source VARCHAR(255) NOT NULL,  &#xA;  destination VARCHAR(255) NOT NULL,  &#xA;  active TINYINT(1) NOT NULL DEFAULT 1,  &#xA;  KEY idx_source_active (source, active),  &#xA;  KEY idx_domain (domain_id),  &#xA;  KEY idx_destination (destination),  &#xA;  CONSTRAINT fk_alias_domain  &#xA;    FOREIGN KEY (domain_id) REFERENCES virtual_domains(id)  &#xA;    ON DELETE CASCADE  &#xA;) ENGINE=InnoDB;  &#xA;&#xA;CREATE TABLE IF NOT EXISTS sender_canonical (  &#xA;    id INT AUTO_INCREMENT PRIMARY KEY,  &#xA;    source VARCHAR(255) NOT NULL,  &#xA;    destination VARCHAR(255) NOT NULL,  &#xA;    active TINYINT(1) NOT NULL DEFAULT 1,  &#xA;    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,  &#xA;    UNIQUE KEY unique_source (source),  &#xA;    KEY idx_active (active)  &#xA;) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;active 컬럼으로 계정/도메인 활성화 관리 가능.&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;기존-파일-데이터-db-마이그레이션&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;기존 파일 데이터 DB 마이그레이션&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ea%b8%b0%ec%a1%b4-%ed%8c%8c%ec%9d%bc-%eb%8d%b0%ec%9d%b4%ed%84%b0-db-%eb%a7%88%ec%9d%b4%ea%b7%b8%eb%a0%88%ec%9d%b4%ec%85%98&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;도메인 입력&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;INSERT INTO virtual_domains(name, active) VALUES  &#xA;  (&amp;#39;domain1.com&amp;#39;, 1),  &#xA;  (&amp;#39;domain2.com&amp;#39;, 1),  &#xA;  (&amp;#39;domain3.com&amp;#39;, 1),  &#xA;  (&amp;#39;domain4.com&amp;#39;, 1),  &#xA;  (&amp;#39;domain5.com&amp;#39;, 1),  &#xA;  (&amp;#39;domain6.com&amp;#39;, 1),  &#xA;  (&amp;#39;domain7.com&amp;#39;, 1),  &#xA;  (&amp;#39;domain8.com&amp;#39;, 1);  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;도메인 전체 목록 확인&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;SELECT * FROM virtual_domains;  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;특정 도메인이 활성화 상태인지 확인&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;SELECT name FROM virtual_domains WHERE name=&amp;#39;domain1.com&amp;#39; AND active=1;  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;사용자 입력&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;Dovecot의 SHA512-CRYPT 해시 그대로 사용  &#xA;INSERT INTO virtual_users (domain_id, email, password) VALUES  &#xA;  (1, &amp;#39;user1@domain1.com&amp;#39;, &amp;#39;{SHA512-CRYPT}hash1&amp;#39;),  &#xA;  (1, &amp;#39;user2@domain1.com&amp;#39;, &amp;#39;{SHA512-CRYPT}hash2&amp;#39;),  &#xA;  (2, &amp;#39;user1@domain2.com&amp;#39;, &amp;#39;{SHA512-CRYPT}hash3&amp;#39;),  &#xA;  (2, &amp;#39;user2@domain2.com&amp;#39;, &amp;#39;{SHA512-CRYPT}hash4&amp;#39;),  &#xA;  (3, &amp;#39;user1@domain3.com&amp;#39;, &amp;#39;{SHA512-CRYPT}hash5&amp;#39;),  &#xA;  (3, &amp;#39;user2@domain3.com&amp;#39;, &amp;#39;{SHA512-CRYPT}hash6&amp;#39;),  &#xA;  (4, &amp;#39;user1@domain4.com&amp;#39;, &amp;#39;{SHA512-CRYPT}hash7&amp;#39;),  &#xA;  (4, &amp;#39;user2@domain4.com&amp;#39;, &amp;#39;{SHA512-CRYPT}hash8&amp;#39;),  &#xA;  /* ... */  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;시스템 계정인 root가 메일을 발송하면, 외부에는 &lt;a href=&#34;mailto:master@domain1.com&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;master@domain1.com&lt;/a&gt;이 보낸 것으로 표시됩니다.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;INSERT INTO sender_canonical (source, destination, active)  &#xA;VALUES  &#xA;  (&amp;#39;root&amp;#39;, &amp;#39;master@domain1.com&amp;#39;, 1),  &#xA;  (&amp;#39;root@domain1.com&amp;#39;, &amp;#39;master@domain1.com&amp;#39;, 1);  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;시스템 내부에서 자동으로 생성되는 메일들의 &amp;quot;보낸 사람&amp;quot; 주소가 &lt;a href=&#34;mailto:master@domain1.com&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;master@domain1.com&lt;/a&gt;로 바뀝니다.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;INSERT INTO sender_canonical (source, destination, active)  &#xA;VALUES  &#xA;  (&amp;#39;www-data&amp;#39;, &amp;#39;master@domain1.com&amp;#39;, 1),  &#xA;  (&amp;#39;postfix&amp;#39;, &amp;#39;master@domain1.com&amp;#39;, 1),  &#xA;  (&amp;#39;vmail&amp;#39;, &amp;#39;master@domain1.com&amp;#39;, 1),  &#xA;  (&amp;#39;cron&amp;#39;, &amp;#39;master@domain1.com&amp;#39;, 1);  &#xA;&#xA;INSERT INTO virtual_aliases (domain_id, source, destination) VALUES  &#xA;  (1, &amp;#39;info@domain1.com&amp;#39;, &amp;#39;master@domain1.com&amp;#39;),  &#xA;  (1, &amp;#39;admin@domain1.com&amp;#39;, &amp;#39;master@domain1.com&amp;#39;),  &#xA;  (1, &amp;#39;webmaster@domain1.com&amp;#39;, &amp;#39;master@domain1.com&amp;#39;),  &#xA;  (1, &amp;#39;postmaster@domain1.com&amp;#39;, &amp;#39;dmarc@domain1.com&amp;#39;),  &#xA;  (2, &amp;#39;info@domain2.com&amp;#39;, &amp;#39;master@domain2.com&amp;#39;),  &#xA;  (3, &amp;#39;info@domain3.com&amp;#39;, &amp;#39;master@domain3.com&amp;#39;),  &#xA;  (4, &amp;#39;info@domain4.com&amp;#39;, &amp;#39;master@domain4.com&amp;#39;),  &#xA;  (5, &amp;#39;info@domain5.com&amp;#39;, &amp;#39;master@domain5.com&amp;#39;),  &#xA;  (6, &amp;#39;info@domain6.com&amp;#39;, &amp;#39;master@domain6.com&amp;#39;),  &#xA;  (7, &amp;#39;info@domain7.com&amp;#39;, &amp;#39;master@domain7.com&amp;#39;),  &#xA;  (8, &amp;#39;info@domain8.com&amp;#39;, &amp;#39;master@domain8.com&amp;#39;);  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;전체를 리스트로 보고 싶을 때 사용합니다.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;SELECT * FROM virtual_aliases;  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;\G 옵션을 사용하면 각 행을 세로로 깔끔하게 나열해 줍니다.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;SELECT * FROM virtual_aliases\G  &#xA;SELECT DISTINCT source FROM virtual_aliases ORDER BY source;  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;특정 도메인의 별칭만 확인하기&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;SELECT * FROM virtual_aliases  &#xA;WHERE source LIKE &amp;#39;%@domain1.com&amp;#39;;  &#xA;SELECT * FROM sender_canonical;  &#xA;SELECT * FROM sender_canonical WHERE source = &amp;#39;vmail&amp;#39;;  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;단독 조회 테스트&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo postmap -q root mytext:/etc/postfix/mytext-sender-canonical.cf  &#xA;  sudo postmap -q root@domain1.com mytext:/etc/postfix/mytext-sender-canonical.cf  &#xA;  sudo postmap -q nobody mytext:/etc/postfix/mytext-sender-canonical.cf  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;postfix--mariadb-연동&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Postfix + MariaDB 연동&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#postfix--mariadb-%ec%97%b0%eb%8f%99&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;MariaDB용 Postfix CF 파일 생성&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo nano /etc/postfix/mytext-virtual-domains.cf  &#xA;    user = mailuser  &#xA;    password = password  &#xA;    hosts = 127.0.0.1  &#xA;    dbname = mailserver  &#xA;    query = SELECT 1 FROM virtual_domains WHERE name=&amp;#39;%s&amp;#39; AND active=1  &#xA;&#xA;  sudo nano /etc/postfix/mytext-virtual-users.cf  &#xA;    user = mailuser  &#xA;    password = password  &#xA;    hosts = 127.0.0.1  &#xA;    dbname = mailserver  &#xA;    query = SELECT 1 FROM virtual_users WHERE email=&amp;#39;%s&amp;#39; AND active=1  &#xA;&#xA;  sudo nano /etc/postfix/mytext-virtual-aliases.cf  &#xA;    user = mailuser  &#xA;    password = password  &#xA;    hosts = 127.0.0.1  &#xA;    dbname = mailserver  &#xA;    query = SELECT destination FROM virtual_aliases WHERE source=&amp;#39;%s&amp;#39; AND active=1  &#xA;&#xA;  sudo nano /etc/postfix/mytext-virtual-sender-maps.cf  &#xA;    user = mailuser  &#xA;    password = password  &#xA;    hosts = 127.0.0.1  &#xA;    dbname = mailserver  &#xA;    query = SELECT email FROM virtual_users WHERE email=&amp;#39;%s&amp;#39; AND active=1  &#xA;&#xA;  sudo nano /etc/postfix/mytext-sender-canonical.cf  &#xA;    user = mailuser  &#xA;    password = password  &#xA;    hosts = 127.0.0.1  &#xA;    dbname = mailserver  &#xA;    query = SELECT destination FROM sender_canonical WHERE source=&amp;#39;%s&amp;#39; AND active=1  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;dovecot--mariadb-연동&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Dovecot + MariaDB 연동&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#dovecot--mariadb-%ec%97%b0%eb%8f%99&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;MariaDB용 Postfix CF 파일 생성&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo nano /etc/dovecot/dovecot-text.text.ext  &#xA;    driver = mytext  &#xA;    connect = host=127.0.0.1 dbname=mailserver user=mailuser password=password  &#xA;    default_pass_scheme = SHA512-CRYPT  &#xA;    password_query = \  &#xA;      SELECT email as user, password \  &#xA;      FROM virtual_users \  &#xA;      WHERE email=&amp;#39;%u&amp;#39; AND active=1  &#xA;    user_query = \  &#xA;      SELECT &amp;#39;/var/mail/vhosts/%d/%n&amp;#39; as home, 1005 as uid, 1005 as gid \  &#xA;      FROM virtual_users \  &#xA;      WHERE email=&amp;#39;%u&amp;#39; AND active=1  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;권한-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;권한 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ea%b6%8c%ed%95%9c-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  sudo chown root:postfix /etc/postfix/mytext-virtual-*.cf  &#xA;  sudo chmod 640 /etc/postfix/mytext-virtual-*.cf  &#xA;  sudo chown root:postfix /etc/postfix/mytext-sender-canonical.cf  &#xA;  sudo chmod 640 /etc/postfix/mytext-sender-canonical.cf  &#xA;  sudo chown root:dovecot /etc/dovecot/dovecot-text.text.ext  &#xA;  sudo chmod 640 /etc/dovecot/dovecot-text.text.ext  &#xA;&#xA;  sudo posttext -e &amp;#34;sender_canonical_maps = mytext:/etc/postfix/mytext-sender-canonical.cf&amp;#34;  &#xA;  sudo posttext -e &amp;#34;virtual_mailbox_domains = mytext:/etc/postfix/mytext-virtual-domains.cf&amp;#34;  &#xA;  sudo posttext -e &amp;#34;virtual_mailbox_maps = mytext:/etc/postfix/mytext-virtual-users.cf&amp;#34;  &#xA;  sudo posttext -e &amp;#34;virtual_alias_maps = mytext:/etc/postfix/mytext-virtual-aliases.cf&amp;#34;  &#xA;  sudo posttext -e &amp;#34;smtpd_sender_login_maps = mytext:/etc/postfix/mytext-virtual-sender-maps.cf&amp;#34;  &#xA;  sudo posttext -e &amp;#34;sender_canonical_classes = envelope_sender,header_sender&amp;#34;  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;dovecot을-통해-인증하도록-설정-추가-후-테스트&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Dovecot을 통해 인증하도록 설정 추가 후 테스트&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#dovecot%ec%9d%84-%ed%86%b5%ed%95%b4-%ec%9d%b8%ec%a6%9d%ed%95%98%eb%8f%84%eb%a1%9d-%ec%84%a4%ec%a0%95-%ec%b6%94%ea%b0%80-%ed%9b%84-%ed%85%8c%ec%8a%a4%ed%8a%b8&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  sudo posttext -e &amp;#34;smtpd_sasl_type = dovecot&amp;#34;  &#xA;  sudo posttext -e &amp;#34;smtpd_sasl_path = private/auth&amp;#34;  &#xA;  sudo posttext -e &amp;#34;smtpd_sasl_auth_enable = yes&amp;#34;  &#xA;  sudo posttext -e &amp;#34;smtpd_sasl_security_options = noanonymous&amp;#34;  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Test&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo postmap -q domain1.com mytext:/etc/postfix/mytext-virtual-domains.cf  &#xA;  sudo postmap -q master@domain1.com mytext:/etc/postfix/mytext-virtual-users.cf  &#xA;  sudo postmap -q master@domain1.com mytext:/etc/postfix/mytext-virtual-sender-maps.cf  &#xA;    virtual_domains → 1&#xA;    virtual_users → 1&#xA;    virtual_sender_maps → email&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;결과값 = 1 &amp;gt; 1 &amp;gt; &lt;a href=&#34;mailto:master@domain1.com&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;master@domain1.com&lt;/a&gt; 출력되면 성공입니다.&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;authtext-수정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;auth.text 수정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#authtext-%ec%88%98%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  sudo nano /etc/dovecot/text.d/10-auth.text  &#xA;    disable_plaintext_auth = no  &#xA;    auth_mechanisms = plain login  &#xA;    !include auth-text.text.ext  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;auth-client-소켓-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;auth-client 소켓 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#auth-client-%ec%86%8c%ec%bc%93-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;sudo nano /etc/dovecot/text.d/10-master.text&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  service anvil {  &#xA;    client_limit = 2000  &#xA;  }  &#xA;  service auth {  &#xA;    client_limit = 2000  &#xA;    process_limit = 1  &#xA;    unix_listener /var/spool/postfix/private/auth {  &#xA;      mode = 0660  &#xA;      user = postfix  &#xA;      group = postfix  &#xA;    }  &#xA;&#xA;    unix_listener auth-userdb {  &#xA;      mode = 0660  &#xA;      user = vmail  &#xA;      group = vmail  &#xA;    }  &#xA;  }  &#xA;&#xA;Dovecot Tuning  &#xA;  service imap-login {  &#xA;    process_limit = 500  &#xA;    client_limit = 1000  &#xA;  }  &#xA;&#xA;LMTP Socket Setting  &#xA;  service lmtp {  &#xA;    unix_listener /var/spool/postfix/private/dovecot-lmtp {  &#xA;      mode = 0660  &#xA;      user = postfix  &#xA;      group = postfix  &#xA;    }  &#xA;  }  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;etcdovecotdovecottext-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;/etc/dovecot/dovecot.text 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#etcdovecotdovecottext-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  sudo nano /etc/dovecot/dovecot.text  &#xA;    mail_max_userip_connections = 50  &#xA;    protocols = imap lmtp  &#xA;    auth_cache_size = 50M  &#xA;    auth_cache_ttl = 2 hours  &#xA;    ssl = required  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;etcpostfixmastercf-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;/etc/postfix/master.cf 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#etcpostfixmastercf-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  sudo nano /etc/postfix/master.cf  &#xA;    smtp        inet  n       -       n       -       -       smtpd&#xA;    submission  inet  n       -       n       -       -       smtpd&#xA;    submissions inet  n       -       n       -       -       smtpd&#xA;    smtp        unix  -       -       n       -       -       smtp&#xA;    proxymap    unix  -       -       n       -       -       proxymap&#xA;    cleanup     unix  n       -       n       -       0       cleanup&#xA;    rewrite     unix  -       -       n       -       -       trivial-rewrite&#xA;    local       unix  -       n       n       -       -       local&#xA;    lmtp        unix  -       -       n       -       -       lmtp&lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;etcdovecottextd10-mailtext-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;/etc/dovecot/text.d/10-mail.text 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#etcdovecottextd10-mailtext-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  sudo nano /etc/dovecot/text.d/10-mail.text  &#xA;    # mail_location = maildir:/var/mail/vhosts/%d/%n&#xA;    # INBOX NAMESPACE  &#xA;    namespace inbox {  &#xA;      type = private  &#xA;      separator = /  &#xA;      prefix =  &#xA;      location = maildir:/var/mail/vhosts/%d/%n  &#xA;      inbox = yes  &#xA;&#xA;      mailbox Drafts {  &#xA;        special_use = \Drafts  &#xA;        auto = subscribe  &#xA;      }  &#xA;&#xA;      mailbox Junk {  &#xA;        special_use = \Junk  &#xA;        auto = subscribe  &#xA;      }  &#xA;&#xA;      mailbox Sent {  &#xA;        special_use = \Sent  &#xA;        auto = subscribe  &#xA;      }  &#xA;&#xA;      mailbox Trash {  &#xA;        special_use = \Trash  &#xA;        auto = subscribe  &#xA;      }  &#xA;    }  &#xA;&#xA;    maildir_stat_dirs = yes  &#xA;    maildir_copy_with_hardlinks = yes  &#xA;    mail_privileged_group = mail  &#xA;    mail_access_groups = mail  &#xA;    lock_method = fcntl  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;etcdovecottextd20-lmtptext-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;/etc/dovecot/text.d/20-lmtp.text 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#etcdovecottextd20-lmtptext-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;sudo nano /etc/dovecot/text.d/20-lmtp.text  &#xA;  protocol lmtp {  &#xA;    postmaster_address = master@domain1.com  &#xA;    mail_plugins = $mail_plugins  &#xA;}  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;etcmytextmariadbtextd50-servercnf-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;/etc/mytext/mariadb.text.d/50-server.cnf 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#etcmytextmariadbtextd50-servercnf-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;MariaDB 성능 튜닝&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo nano /etc/mytext/mariadb.text.d/50-server.cnf  &#xA;    [mytextd]  &#xA;    bind-address = 127.0.0.1  &#xA;    # 2G(Server RAM 8GB)&#xA;    innodb_buffer_pool_size = 2G&#xA;    innodb_log_file_size = 256M  &#xA;    innodb_flush_method = O_DIRECT  &#xA;    innodb_flush_log_at_trx_commit = 2  &#xA;    # MariaDB connection&#xA;    max_connections = 500  &#xA;    thread_cache_size = 100  &#xA;    table_open_cache = 2000  &#xA;    # slow query (monitoring)  &#xA;    slow_query_log     = 1  &#xA;    slow_query_log_file = /var/log/mytext/mariadb-slow.log  &#xA;    long_query_time    = 2  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;etcpostfixmaincf-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;/etc/postfix/main.cf 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#etcpostfixmaincf-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;Postfix 동시 처리량&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo nano /etc/postfix/main.cf  &#xA;    default_process_limit = 200  &#xA;    smtp_destination_concurrency_limit = 20  &#xA;    smtp_destination_rate_delay = 1s  &#xA;    minimal_backoff_time = 300s  &#xA;    maximal_backoff_time = 4000s  &#xA;    queue_run_delay = 300s  &#xA;    smtpd_client_connection_count_limit = 20  &#xA;    smtpd_client_connection_rate_limit = 30  &#xA;    virtual_transport = lmtp:unix:private/dovecot-lmtp  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;마지막-점검&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;마지막 점검&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%eb%a7%88%ec%a7%80%eb%a7%89-%ec%a0%90%ea%b2%80&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;모든 디렉토리를 700으로 (vmail 유저만 접근 가능)&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo chown -R vmail:vmail /var/mail/vhosts&#xA;  sudo find /var/mail/vhosts -type d -exec chmod 700 {} &amp;#43;  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;모든 파일을 600으로 (불필요한 실행 권한 제거)&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo find /var/mail/vhosts -type f -exec chmod 600 {} &amp;#43;  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;소켓 파일이 존재하는지 확인 (srw------- 타입)&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo ls -l /var/spool/postfix/private/dovecot-lmtp  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Dovecot이 관리하는 프로토콜 목록 확인&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo dovetext protocols  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;결과에 &#39;imap lmtp&#39;가 포함되어야 함&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;서비스-재시작-및-점검&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;서비스 재시작 및 점검&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ec%84%9c%eb%b9%84%ec%8a%a4-%ec%9e%ac%ec%8b%9c%ec%9e%91-%eb%b0%8f-%ec%a0%90%ea%b2%80&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  sudo postfix check  &#xA;  sudo systemctl restart mariadb  &#xA;  sudo systemctl restart dovecot  &#xA;  sudo systemctl restart postfix  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;db에러시-확인&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;DB에러시 확인&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#db%ec%97%90%eb%9f%ac%ec%8b%9c-%ed%99%95%ec%9d%b8&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  sudo journalctl -xeu mariadb.service | tail -n 20  &#xA;  sudo mariadbd -u mytext --validate-textig  &#xA;  sudo doveadm auth test user1@domain1.com  &#xA;  ls -l /var/run/dovecot/auth-userdb  &#xA;  sudo ls -l /var/spool/postfix/private/auth  &#xA;  sudo ls -l /var/spool/postfix/private/dovecot-lmtp  &#xA;  sudo ls -l /var/run/dovecot/auth-client  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;파일시스템-점검&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;파일시스템 점검&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ed%8c%8c%ec%9d%bc%ec%8b%9c%ec%8a%a4%ed%85%9c-%ec%a0%90%ea%b2%80&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  sudo nano /etc/fstab  &#xA;    /dev/disk/by-id/dm-uuid-*** / ext4 defaults,noatime,nodiratime 0 1  &#xA;    /dev/disk/by-uuid/*** /boot ext4 defaults,noatime 0 2  &#xA;    /swap.img none swap sw 0 0  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;절대 바로 재부팅하지 마세요&lt;br&gt;&#xA;아래 명령어로 마운트 테스트 수행&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo mount -a  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;아무런 메시지도 나오지 않아야 정상입니다&lt;br&gt;&#xA;만약 에러가 난다면 즉시 /etc/fstab을 다시 열어 오타를 수정하세요.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  mount | grep -E &amp;#39;/ |/boot&amp;#39;  &#xA;    /dev/mapper/ubuntu--vg-ubuntu--lv on / type ext4 (rw,noatime,nodiratime)  &#xA;    /dev/sda2 on /boot type ext4 (rw,noatime)  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;적용이 안 됐다면&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo mount -o remount,noatime /boot  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;마지막-확인&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;마지막 확인&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%eb%a7%88%ec%a7%80%eb%a7%89-%ed%99%95%ec%9d%b8&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;설정 파일 내에서 ssl_cert와 ssl_key 항목 확인&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;grep -E &amp;#34;ssl_cert|ssl_key&amp;#34; /etc/dovecot/text.d/10-ssl.text  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Postfix hostname(중요)&lt;br&gt;&#xA;이거 안 맞으면 메일 헤더, TLS, spam score 전부 꼬일 수 있음&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo nano /etc/hostname      &#xA;    mail.domain1.com &#xA;  sudo nano /etc/hosts  &#xA;    127.0.0.1 localhost  &#xA;    203.0.113.10  mail.domain1.com mail  &#xA;  sudo nano /etc/postfix/main.cf  &#xA;    myhostname = mail.domain1.com  &#xA;    mydomain = domain1.com  &#xA;    myorigin = $mydomain  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;결과&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  hostname&#xA;    mail.domain1.com  &#xA;  hostname -f&#xA;    mail.domain1.com  &#xA;  posttext myhostname&#xA;    mail.domain1.com  &lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;인증서-외&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;인증서 외&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ec%9d%b8%ec%a6%9d%ec%84%9c-%ec%99%b8&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;sudo nano /etc/postfix/main.cf&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;    smtpd_tls_security_level = may  &#xA;    smtp_tls_security_level = may  &#xA;    mydestination = localhost&#xA;    virtual_transport = lmtp:unix:private/dovecot-lmtp  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;           Postfix 기본값이지만 명시하는 게 안전&lt;br&gt;&#xA;           없으면 queue 권한 문제가 가끔 발생함&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;    mail_owner = postfix  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;           메일 호스팅에서는 기본 값이 문제됨&lt;br&gt;&#xA;           안 하면 50000000 bytes&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;    mailbox_size_limit = 0  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;           대용량 첨부 대비&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;    # (50MB)&#xA;    message_size_limit = 52428800&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;           Dovecot auth socket 권한 확인 필수&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  sudo ls -l /var/spool/postfix/private/auth  &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;           정상 예 srw-rw----  postfix postfix&lt;br&gt;&#xA;           틀리면 SASL authentication failure 발생함&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Multi-Domain</title>
      <link>https://blog.snsoz.com/posts/ubuntu24.04-multi-domain/</link>
      <pubDate>Sat, 28 Feb 2026 12:30:00 +0900</pubDate>
      <guid>https://blog.snsoz.com/posts/ubuntu24.04-multi-domain/</guid>
      <category domain="https://blog.snsoz.com/categories/ubuntu24.04/">Ubuntu24.04</category>
      <description>&lt;h3 class=&#34;heading-element&#34; id=&#34;도메인-통합&#34;&gt;&lt;span&gt;도메인 통합&lt;/span&gt;&#xA;  &lt;a href=&#34;#%eb%8f%84%eb%a9%94%ec%9d%b8-%ed%86%b5%ed%95%a9&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;8개의 도메인을 통합하면서 기록 해 두었던 내용입니다.&lt;br&gt;&#xA;가상계정을 이용하여 구성하였습니다.&lt;br&gt;&#xA;로그인 id가 &lt;a href=&#34;mailto:user1@domain2.com&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;user1@domain2.com&lt;/a&gt;형식으로 사용됩니다.&lt;br&gt;&#xA;그동안 Ai와 작업하면서 꼼꼼하게 기록한다고 했는데&lt;br&gt;&#xA;아마도 빠진 부분이 있을 수 있습니다.&lt;br&gt;&#xA;중요한 내용은 대부분 기록되었으니&lt;br&gt;&#xA;혹시나 작업하다 막히는 부분은&lt;br&gt;&#xA;Ai의 도움을 받으면 쉽게 해결이 되리라 생각합니다.&lt;br&gt;&#xA;초보 분들에게 도움이 되었으면 합니다.&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;vmail-계정-확인&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;vmail 계정 확인&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#vmail-%ea%b3%84%ec%a0%95-%ed%99%95%ec%9d%b8&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; 없으면 먼저 생성하세요.&#xA; id vmail&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;dovecot-핵심-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Dovecot 핵심 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#dovecot-%ed%95%b5%ec%8b%ac-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo doveconf -n | sed -n &#39;/userdb {/,/}/p&#39;&lt;br&gt;&#xA; 반드시 아래가 있어야 합니다.&lt;br&gt;&#xA; userdb(없으면 LMTP temp_fail 발생)&lt;/p&gt;&#xA;&lt;p&gt; userdb {&lt;br&gt;&#xA;    driver = static&lt;br&gt;&#xA;    args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n&lt;br&gt;&#xA; }&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;etcdovecotconfd10-authconf&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;/etc/dovecot/conf.d/10-auth.conf&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#etcdovecotconfd10-authconf&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/dovecot/conf.d/10-auth.conf&lt;br&gt;&#xA; 아래 내용 입력(중복은 삭제 혹은 주석처리, 없는 것은 추가)&lt;br&gt;&#xA; disable_plaintext_auth = no&lt;br&gt;&#xA; auth_username_format = %Lu&lt;br&gt;&#xA; auth_mechanisms = plain login&lt;/p&gt;&#xA;&lt;p&gt; passdb {&lt;br&gt;&#xA;    driver = passwd-file&lt;br&gt;&#xA;    args = scheme=SHA512-CRYPT /etc/dovecot/passwd&lt;br&gt;&#xA; }&lt;/p&gt;&#xA;&lt;p&gt; userdb {&lt;br&gt;&#xA;    driver = static&lt;br&gt;&#xA;    args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n&lt;br&gt;&#xA; }&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;postfix-maincf-설정-확인&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Postfix main.cf 설정 확인&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#postfix-maincf-%ec%84%a4%ec%a0%95-%ed%99%95%ec%9d%b8&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/postfix/main.cf&lt;br&gt;&#xA; 아래 설정이 반드시 있어야 합니다.&lt;br&gt;&#xA; 가상 도메인 목록(8개 도메인 리스트)&lt;br&gt;&#xA; virtual_mailbox_domains = hash:/etc/postfix/virtual_domains&lt;br&gt;&#xA; 가상 사용자 목록(&lt;a href=&#34;mailto:user1@domain2.com&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;user1@domain2.com&lt;/a&gt; ... 리스트)&lt;br&gt;&#xA; virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_maps&lt;br&gt;&#xA; Dovecot에게 배달을 맡기는 설정(LMTP)&lt;br&gt;&#xA; virtual_transport = lmtp:unix:private/dovecot-lmtp&lt;br&gt;&#xA; 메일이 저장되는 최상위 통로&lt;br&gt;&#xA;  virtual_mailbox_base = /var/mail/vhosts&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;maincf-설정-연결&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;main.cf 설정 연결&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#maincf-%ec%84%a4%ec%a0%95-%ec%97%b0%ea%b2%b0&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/postfix/main.cf&lt;br&gt;&#xA; 아래 내용 순서대로 추가 또는 수정&lt;br&gt;&#xA; sender_login 보호(주소 위조 방지)&lt;br&gt;&#xA; smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps&lt;/p&gt;&#xA;&lt;p&gt; smtpd_client_restrictions =&lt;br&gt;&#xA;        permit_mynetworks,&lt;br&gt;&#xA;        permit_sasl_authenticated,&lt;br&gt;&#xA;        reject_unauth_pipelining,&lt;br&gt;&#xA;        reject_unknown_client_hostname,&lt;br&gt;&#xA;        reject_rbl_client zen.spamhaus.org(선택사항)&lt;/p&gt;&#xA;&lt;p&gt; smtpd_sender_restrictions =&lt;br&gt;&#xA;        reject_sender_login_mismatch,&lt;br&gt;&#xA;        reject_non_fqdn_sender,&lt;br&gt;&#xA;        reject_unknown_sender_domain,&lt;br&gt;&#xA;        permit_sasl_authenticated,&lt;br&gt;&#xA;        permit_mynetworks&lt;/p&gt;&#xA;&lt;p&gt; smtpd_recipient_restrictions =&lt;br&gt;&#xA;        permit_mynetworks,&lt;br&gt;&#xA;        permit_sasl_authenticated,&lt;br&gt;&#xA;        reject_unauth_pipelining,&lt;br&gt;&#xA;        reject_non_fqdn_recipient,&lt;br&gt;&#xA;        reject_unknown_recipient_domain,&lt;br&gt;&#xA;        reject_unknown_client_hostname,&lt;br&gt;&#xA;        reject_rbl_client zen.spamhaus.org,(선택사항)&lt;br&gt;&#xA;        reject_unauth_destination&lt;/p&gt;&#xA;&lt;p&gt;sudo nano /etc/dovecot/conf.d/10-master.conf&lt;br&gt;&#xA; 아래 내용을 입력하세요.&lt;br&gt;&#xA; service lmtp {&lt;br&gt;&#xA;    unix_listener /var/spool/postfix/private/dovecot-lmtp {&lt;br&gt;&#xA;        mode = 0600 &lt;br&gt;&#xA;        user = postfix&lt;br&gt;&#xA;        group = postfix&lt;br&gt;&#xA;    }&lt;br&gt;&#xA; }&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;submission587-포트-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;submission(587) 포트 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#submission587-%ed%8f%ac%ed%8a%b8-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/postfix/master.cf&lt;br&gt;&#xA; submission inet n       -       y       -       -       smtpd&lt;br&gt;&#xA;    -o syslog_name=postfix/submission&lt;br&gt;&#xA;    -o smtpd_tls_security_level=encrypt&lt;br&gt;&#xA;    -o smtpd_sasl_auth_enable=yes&lt;br&gt;&#xA;    -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject&lt;/p&gt;&#xA;&lt;p&gt; submissions     inet  n       -       y       -       -       smtpd&lt;br&gt;&#xA;    -o syslog_name=postfix/submissions&lt;br&gt;&#xA;    -o smtpd_tls_wrappermode=yes&lt;br&gt;&#xA;    -o smtpd_sasl_auth_enable=yes&lt;br&gt;&#xA;    -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;가상-도메인-파일&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;가상 도메인 파일&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ea%b0%80%ec%83%81-%eb%8f%84%eb%a9%94%ec%9d%b8-%ed%8c%8c%ec%9d%bc&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;sudo nano /etc/postfix/virtual_domains&lt;br&gt;&#xA; domain1.com OK&lt;br&gt;&#xA; domain2.com OK&lt;br&gt;&#xA;sudo postmap /etc/postfix/virtual_domains&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;가상-사용자-매핑-시킵니다&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;가상 사용자 매핑 시킵니다&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ea%b0%80%ec%83%81-%ec%82%ac%ec%9a%a9%ec%9e%90-%eb%a7%a4%ed%95%91-%ec%8b%9c%ed%82%b5%eb%8b%88%eb%8b%a4&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/postfix/virtual_mailbox_maps&lt;br&gt;&#xA; 없으면 새로 만들고 추가하고 입력하세요.&lt;br&gt;&#xA; user1@domain1.com  domain1.com/user1/&#xA; user1@domain2.com  domain2.com/user1/&#xA; ...&#xA; 저장 후 종료하고 반영&lt;br&gt;&#xA; sudo postmap /etc/postfix/virtual_mailbox_maps&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;발신자-로그인-가상-사서함-계정-기반-매핑&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;발신자 로그인 가상 사서함 계정 기반 매핑&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%eb%b0%9c%ec%8b%a0%ec%9e%90-%eb%a1%9c%ea%b7%b8%ec%9d%b8-%ea%b0%80%ec%83%81-%ec%82%ac%ec%84%9c%ed%95%a8-%ea%b3%84%ec%a0%95-%ea%b8%b0%eb%b0%98-%eb%a7%a4%ed%95%91&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/postfix/sender_login_maps&lt;br&gt;&#xA; user1@domain1.com   &lt;a href=&#34;mailto:user1@domain1.com&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;user1@domain1.com&lt;/a&gt;&lt;br&gt;&#xA; user1@domain2.com   &lt;a href=&#34;mailto:user1@domain2.com&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;user1@domain2.com&lt;/a&gt;&lt;br&gt;&#xA; ...&lt;br&gt;&#xA; 저장 후 Postfix가 읽을 수 있도록 바이너리 인덱스 파일을 생성&#xA;sudo postmap /etc/postfix/sender_login_maps&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;메일-저장-폴더-생성&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;메일 저장 폴더 생성&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%eb%a9%94%ec%9d%bc-%ec%a0%80%ec%9e%a5-%ed%8f%b4%eb%8d%94-%ec%83%9d%ec%84%b1&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo mkdir -p /var/mail/vhosts/domain2.com/user1&lt;br&gt;&#xA; 권한 설정&lt;br&gt;&#xA; sudo chown -R vmail:vmail /var/mail/vhosts&lt;br&gt;&#xA; sudo chmod -R 750 /var/mail/vhosts&lt;br&gt;&#xA; 아래는 선택(개별 사용자 권한 강조 시)&lt;br&gt;&#xA; sudo chmod 700 /var/mail/vhosts/domain2.com/user1&lt;br&gt;&#xA; sudo chmod g-s /var/mail/vhosts/domain2.com/user1&lt;br&gt;&#xA; 확인&lt;br&gt;&#xA; ls -ld /var/mail/vhosts&lt;br&gt;&#xA; drwxr-s--- vmail vmail&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;dovecot-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Dovecot 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#dovecot-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; 패스워드 생성&lt;br&gt;&#xA; doveadm pw -s SHA512-CRYPT&lt;br&gt;&#xA; 비번 입렵 후 결과 복사&lt;br&gt;&#xA; 복사한 해시 = {SHA512-CRYPT}...&lt;br&gt;&#xA; 패스워드 파일 열기&lt;br&gt;&#xA; sudo nano /etc/dovecot/passwd&lt;br&gt;&#xA; 복사한 비번 추가&lt;br&gt;&#xA; user1@domain1.com:{SHA512-CRYPT}...:1005:1005::/var/mail/vhosts/domain1.com/user1&lt;br&gt;&#xA; user1@domain2.com:{SHA512-CRYPT}...:1005:1005::/var/mail/vhosts/domain2.com/user1&lt;br&gt;&#xA; uid/gid 1005가 실제 vmail 계정과 동일해야 합니다.&lt;br&gt;&#xA; id vmail&lt;br&gt;&#xA; uid=1005(vmail) gid=1005(vmail)&lt;br&gt;&#xA; 저장 후 권한 설정&lt;br&gt;&#xA; sudo chown root:dovecot /etc/dovecot/passwd&lt;br&gt;&#xA; sudo chmod 640 /etc/dovecot/passwd&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;설정-점검-후-재시작&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;설정 점검 후 재시작&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ec%84%a4%ec%a0%95-%ec%a0%90%ea%b2%80-%ed%9b%84-%ec%9e%ac%ec%8b%9c%ec%9e%91&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; postfix check&lt;br&gt;&#xA; sudo systemctl restart dovecot&lt;br&gt;&#xA; sudo systemctl restart postfix&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;내부-인증-테스트&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;내부 인증 테스트&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%eb%82%b4%eb%b6%80-%ec%9d%b8%ec%a6%9d-%ed%85%8c%ec%8a%a4%ed%8a%b8&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; doveadm auth test &lt;a href=&#34;mailto:user1@domain2.com&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;user1@domain2.com&lt;/a&gt; 비밀번호&lt;br&gt;&#xA; 아래 나오면 성공&lt;br&gt;&#xA; passdb: &lt;a href=&#34;mailto:user1@domain2.com&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;user1@domain2.com&lt;/a&gt; auth succeeded&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;최종-설정-백업&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;최종 설정 백업&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ec%b5%9c%ec%a2%85-%ec%84%a4%ec%a0%95-%eb%b0%b1%ec%97%85&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo -i&lt;br&gt;&#xA; postconf -n &amp;gt; /root/postfix_final.conf&lt;br&gt;&#xA; doveconf -n &amp;gt; /root/dovecot_final.conf&lt;br&gt;&#xA; exit&lt;br&gt;&#xA;&lt;figure&gt;&lt;a class=&#34;lightgallery&#34; target=&#34;_blank&#34; href=&#34;https://blog.snsoz.com/images/mailtester.jpg&#34; title=&#34;welcome to the shadow world&#34; data-thumbnail=&#34;/images/mailtester.jpg&#34; data-sub-html=&#34;&lt;h2&gt;mail-tester.com 10/10 인증샷&lt;/h2&gt;&lt;p&gt;welcome to the shadow world&lt;/p&gt;&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#39;https://blog.snsoz.com/images/mailtester.jpg&#39; alt=&#34;mailtester result&#34;&gt;&lt;/a&gt;&lt;figcaption class=&#34;image-caption&#34;&gt;mail-tester.com 10/10 인증샷&lt;/figcaption&gt;&#xA;  &lt;/figure&gt;&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Ubuntu24.04에서 Postfix,OpenDKIM,Dovecot 연동</title>
      <link>https://blog.snsoz.com/posts/ubuntu24.04-postfix-opendkim-dovecot/</link>
      <pubDate>Fri, 27 Feb 2026 07:10:00 +0900</pubDate>
      <guid>https://blog.snsoz.com/posts/ubuntu24.04-postfix-opendkim-dovecot/</guid>
      <category domain="https://blog.snsoz.com/categories/ubuntu24.04/">Ubuntu24.04</category>
      <description>&lt;h3 class=&#34;heading-element&#34; id=&#34;linux와-ai&#34;&gt;&lt;span&gt;Linux와 Ai&lt;/span&gt;&#xA;  &lt;a href=&#34;#linux%ec%99%80-ai&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;그동안 Ai를 이용해 vmware에 우분투2404를 설치하고&lt;br&gt;&#xA;1개서버에 8개도메인 가상계정 세팅을 완료하고&lt;br&gt;&#xA;Outlook,Thunderbird,Nine mail,roundcube에서&lt;br&gt;&#xA;구글,마소,네이버 모두 dkim,spf,dmarc=pass,&lt;br&gt;&#xA;ptr=ok, Let&#39;s Encrypt인증서90일 자동갱신 까지 완료하고,&lt;br&gt;&#xA;보안은 ssh key로그인(패스워드 필요)&lt;br&gt;&#xA;패스워드 로그인 차단, root로그인 차단&lt;br&gt;&#xA;fail2ban설치 후 jail세팅 완료.&lt;br&gt;&#xA;그리고 hugo로 블로그세팅 운영 까지 ai의 도움을 받았습니다.&lt;br&gt;&#xA;그동안 느낀 점은&lt;br&gt;&#xA;ai는 신기술 구기술을 망라한 모든 답을 나열한다는 것입니다.&lt;br&gt;&#xA;결국 사용자가 원하는 답을 얻기 위해서는&lt;br&gt;&#xA;나의 환경을 ai에게 인지시키고 문맥을 유지시키고&lt;br&gt;&#xA;질문의 범위를 최대한 좁혀야&lt;br&gt;&#xA;원하는 답을 얻을 수 있다는 것입니다.&lt;br&gt;&#xA;ChatGPT와 Gemini(둘다 무료버전 사용) 둘을 상호검증 해가며 진행 했습니다.&lt;br&gt;&#xA;중급 이상의 엔지니어들은&lt;br&gt;&#xA;보다 쉽게 ai로부터 답을 얻을 수 있겠죠.&lt;br&gt;&#xA;제 글은 초보자가 ai와 무한 루프에 빠지는 것을&lt;br&gt;&#xA;조금이나마 피할 수 있기를 바라는 마음으로 작성한 것입니다.&lt;br&gt;&#xA;초보자 분들께 많은 도움이 되길 바랍니다.&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;mail-tester-10점을-위한-조건&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Mail-tester 10점을 위한 조건&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#mail-tester-10%ec%a0%90%ec%9d%84-%ec%9c%84%ed%95%9c-%ec%a1%b0%ea%b1%b4&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;SPF 통과&lt;br&gt;&#xA;DKIM 통과&lt;br&gt;&#xA;DMARC 적용&lt;br&gt;&#xA;PTR 설정 완료&lt;br&gt;&#xA;HELO = PTR 동일&lt;br&gt;&#xA;TLS 적용&lt;br&gt;&#xA;서버 IP 블랙리스트 제거&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;ubuntu2404postfixopendkimdovecot&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Ubuntu24.04,Postfix,OpenDKIM,Dovecot&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#ubuntu2404postfixopendkimdovecot&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;Ubuntu 24.04는 보안 정책이 강화되면서&lt;br&gt;&#xA;Postfix, OpenDKIM 소켓 권한 문제가 자주 발생합니다.&lt;br&gt;&#xA;이 가이드는 다음을 목표로 합니다&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;DKIM 정상 서명&lt;/li&gt;&#xA;&lt;li&gt;Mail-tester 10점&lt;/li&gt;&#xA;&lt;li&gt;Gmail / Outlook 정상 수신&lt;/li&gt;&#xA;&lt;li&gt;SPF / DMARC 완전 적용&lt;/li&gt;&#xA;&lt;li&gt;PTR + HELO 일치&lt;/li&gt;&#xA;&lt;li&gt;Dovecot SASL 인증&lt;/li&gt;&#xA;&lt;li&gt;TLS 보안 강화&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;패키지-설치&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;패키지 설치&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ed%8c%a8%ed%82%a4%ec%a7%80-%ec%84%a4%ec%b9%98&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;sudo apt update&lt;br&gt;&#xA;sudo apt install postfix dovecot-core dovecot-imapd opendkim opendkim-tools -y&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;opendkim-권한-및-소켓-설정-ubuntu-2404-핵심&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;openDKIM 권한 및 소켓 설정 (Ubuntu 24.04 핵심)&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#opendkim-%ea%b6%8c%ed%95%9c-%eb%b0%8f-%ec%86%8c%ec%bc%93-%ec%84%a4%ec%a0%95-ubuntu-2404-%ed%95%b5%ec%8b%ac&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;Postfix는 기본적으로 chroot 환경에서 동작합니다.&lt;br&gt;&#xA;따라서 소켓을 /var/spool/postfix/ 아래에 생성해야 합니다.&lt;br&gt;&#xA;sudo mkdir -p /var/spool/postfix/opendkim&lt;br&gt;&#xA;sudo mkdir -p /etc/opendkim/keys&lt;br&gt;&#xA;sudo gpasswd -a postfix opendkim&lt;br&gt;&#xA;sudo chown -R opendkim:postfix /var/spool/postfix/opendkim&lt;br&gt;&#xA;sudo chmod 750 /var/spool/postfix/opendkim&lt;br&gt;&#xA;이 단계 안 하면 Permission denied 발생&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;opendkim-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;openDKIM 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#opendkim-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;sudo nano /etc/opendkim.conf&lt;br&gt;&#xA;아래 내용 추가/수정&lt;br&gt;&#xA;Syslog                  yes&lt;br&gt;&#xA;UMask                   002&lt;br&gt;&#xA;UserID                  opendkim&lt;br&gt;&#xA;Socket                  local:/var/spool/postfix/opendkim/opendkim.sock&lt;br&gt;&#xA;Canonicalization        relaxed/simple&lt;br&gt;&#xA;Mode                    sv&lt;br&gt;&#xA;SubDomains              no&lt;br&gt;&#xA;KeyTable                refile:/etc/opendkim/key.table&lt;br&gt;&#xA;SigningTable            refile:/etc/opendkim/signing.table&lt;br&gt;&#xA;ExternalIgnoreList      refile:/etc/opendkim/trusted.hosts&lt;br&gt;&#xA;InternalHosts           refile:/etc/opendkim/trusted.hosts&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;dkim-키-생성examplecom&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;DKIM 키 생성(example.com)&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#dkim-%ed%82%a4-%ec%83%9d%ec%84%b1examplecom&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;sudo opendkim-genkey -b 2048 -d example.com -s mail -D /etc/opendkim/keys/&lt;br&gt;&#xA;sudo chown -R opendkim:opendkim /etc/opendkim/keys&lt;br&gt;&#xA;sudo chmod 700 /etc/opendkim/keys&lt;br&gt;&#xA;sudo chmod 600 /etc/opendkim/keys/mail.private&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;테이블-등록&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;테이블 등록&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ed%85%8c%ec%9d%b4%eb%b8%94-%eb%93%b1%eb%a1%9d&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;KeyTable&lt;br&gt;&#xA;echo &amp;quot;mail._domainkey.example.com example.com:mail:/etc/opendkim/keys/mail.private&amp;quot; | sudo tee /etc/opendkim/key.table&lt;br&gt;&#xA;SigningTable&lt;br&gt;&#xA;echo &amp;quot;*@example.com mail._domainkey.example.com&amp;quot; | sudo tee /etc/opendkim/signing.table&lt;br&gt;&#xA;TrustedHosts&lt;br&gt;&#xA;echo -e &amp;quot;127.0.0.1\nlocalhost\nexample.com&amp;quot; | sudo tee /etc/opendkim/trusted.hosts&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;postfix-필수-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Postfix 필수 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#postfix-%ed%95%84%ec%88%98-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;sudo postconf -e &amp;quot;myhostname = mail.example.com&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;smtp_helo_name = mail.example.com&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;smtpd_tls_cert_file = /etc/letsencrypt/live/example.com/fullchain.pem&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;smtpd_tls_key_file = /etc/letsencrypt/live/example.com/privkey.pem&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;smtpd_sasl_auth_enable = yes&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;smtpd_sasl_type = dovecot&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;smtpd_sasl_path = private/auth&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;smtpd_sasl_security_options = noanonymous&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;disable_vrfy_command = yes&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;smtpd_helo_required = yes&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;milter_protocol = 6&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;milter_default_action = accept&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;smtpd_milters = unix:opendkim/opendkim.sock&amp;quot;&lt;br&gt;&#xA;sudo postconf -e &amp;quot;non_smtpd_milters = unix:opendkim/opendkim.sock&amp;quot;&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;dovecot-sasl-소켓-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Dovecot SASL 소켓 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#dovecot-sasl-%ec%86%8c%ec%bc%93-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;파일 수정&lt;br&gt;&#xA;sudo nano /etc/dovecot/conf.d/10-master.conf&lt;br&gt;&#xA;아래 부분 확인/수정&lt;br&gt;&#xA;service auth {&lt;br&gt;&#xA;unix_listener /var/spool/postfix/private/auth {&lt;br&gt;&#xA;mode = 0660m&lt;br&gt;&#xA;user = postfix&lt;br&gt;&#xA;group = postfix&lt;br&gt;&#xA;}&lt;br&gt;&#xA;}&lt;br&gt;&#xA;재시작&lt;br&gt;&#xA;sudo systemctl restart dovecot&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;spf--dkim--dmarc-dns-설정-10점-필수&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;SPF / DKIM / DMARC DNS 설정 (10점 필수)&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#spf--dkim--dmarc-dns-%ec%84%a4%ec%a0%95-10%ec%a0%90-%ed%95%84%ec%88%98&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;SPF (TXT)&lt;br&gt;&#xA;v=spf1 mx ip4:서버IP -all&lt;br&gt;&#xA;DKIM&lt;br&gt;&#xA;sudo cat /etc/opendkim/keys/mail.txt&lt;br&gt;&#xA;mail.txt 파일에 생성된 공개키를&lt;br&gt;&#xA;&amp;quot;v= 부터 &amp;quot;끝 까지 복사해서 메모장에 옮긴 후&lt;br&gt;&#xA;줄 바꿈을 끄고 p=뒤에 있는 &amp;quot;와 공백을 제거하고&lt;br&gt;&#xA;end키로 끝으로 이동 후&lt;br&gt;&#xA;delete연타(복붙하는 중에 혹시 모르게 삽입되는 노이즈 문자 제거)&lt;br&gt;&#xA;home키로 맨 앞으로 이동 후&lt;br&gt;&#xA;backspace연타(복붙하는 중에 혹시 모르게 삽입되는 노이즈 문자 제거)후에&lt;br&gt;&#xA;DNS TXT 레코드에 그대로 추가 합니다.&lt;br&gt;&#xA;mail._domainkey.example.com&lt;br&gt;&#xA;값 = 공개키&lt;br&gt;&#xA;DMARC (TXT 레코드)추가&lt;br&gt;&#xA;_dmarc.example.com&lt;br&gt;&#xA;값 = v=DMARC1; p=quarantine; adkim=s; aspf=s; rua=mailto:postmaster@example.com;&lt;br&gt;&#xA;p=none 쓰면 10점 거의 안 나옵니다.&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;ptr-reverse-dns-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;PTR (Reverse DNS) 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#ptr-reverse-dns-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;PTR은 고정IP인 경우에만 해당 됩니다.&lt;br&gt;&#xA;유동IP인 경우 A 레코드만 세팅하시면 됩니다.&lt;br&gt;&#xA;DNS 관리자 페이지에서&lt;br&gt;&#xA;정방향&lt;br&gt;&#xA;mail.example.com → 서버IP(A 레코드)&lt;br&gt;&#xA;역방향&lt;br&gt;&#xA;서버IP → mail.example.com(PTR-고정아이피 임대업체에 요청)&lt;br&gt;&#xA;( Gmail,Outlook 매우 중요하게 봄 )&lt;br&gt;&#xA;서비스 재시작&lt;br&gt;&#xA;sudo systemctl restart opendkim&lt;br&gt;&#xA;sudo systemctl restart postfix&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;검증-방법&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;검증 방법&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ea%b2%80%ec%a6%9d-%eb%b0%a9%eb%b2%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;DKIM 확인&lt;br&gt;&#xA;sudo opendkim-testkey -d example.com -s mail -vvv&lt;br&gt;&#xA;key OK 확인&lt;br&gt;&#xA;DNS 확인&lt;br&gt;&#xA;dig +short TXT mail._domainkey.example.com&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;로그-실시간-확인&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;로그 실시간 확인&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%eb%a1%9c%ea%b7%b8-%ec%8b%a4%ec%8b%9c%ea%b0%84-%ed%99%95%ec%9d%b8&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;journalctl -u opendkim -f&lt;br&gt;&#xA;journalctl -u postfix -f&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;ubuntu-2404에서-가장-많이-발생하는-오류&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Ubuntu 24.04에서 가장 많이 발생하는 오류&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#ubuntu-2404%ec%97%90%ec%84%9c-%ea%b0%80%ec%9e%a5-%eb%a7%8e%ec%9d%b4-%eb%b0%9c%ec%83%9d%ed%95%98%eb%8a%94-%ec%98%a4%eb%a5%98&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;Permission denied (DKIM)&lt;br&gt;&#xA;원인은&lt;br&gt;&#xA;postfix가 opendkim 그룹에 없음&lt;br&gt;&#xA;소켓 경로를 절대경로로 설정&lt;br&gt;&#xA;해결&lt;br&gt;&#xA;sudo gpasswd -a postfix opendkim&lt;br&gt;&#xA;Socket local:/var/spool/postfix/opendkim/opendkim.sock&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>ubuntu24.04 mailserver setup</title>
      <link>https://blog.snsoz.com/posts/2024-ubuntu-mailserver-setup/</link>
      <pubDate>Wed, 25 Feb 2026 17:00:00 +0900</pubDate>
      <guid>https://blog.snsoz.com/posts/2024-ubuntu-mailserver-setup/</guid>
      <category domain="https://blog.snsoz.com/categories/ubuntu24.04/">Ubuntu24.04</category>
      <description>&lt;h3 class=&#34;heading-element&#34; id=&#34;2024년-메일서버-도전기&#34;&gt;&lt;span&gt;2024년 메일서버 도전기&lt;/span&gt;&#xA;  &lt;a href=&#34;#2024%eb%85%84-%eb%a9%94%ec%9d%bc%ec%84%9c%eb%b2%84-%eb%8f%84%ec%a0%84%ea%b8%b0&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;안녕하세요.&lt;br&gt;&#xA;2024년 말 쯤에 vmware에 ubuntu24.04를 설치하고&lt;br&gt;&#xA;메일서버를 운영하기 위해&lt;br&gt;&#xA;YouTube에서 몇 년 된 리눅스 강좌영상 찾아가며&lt;br&gt;&#xA;처음으로 겨우 서버세팅을 성공했습니다.&lt;br&gt;&#xA;그때 기록 해 두었던 내용입니다.&lt;br&gt;&#xA;만약 ai로 리눅스 메일서버에 도전하는 분이 계시다면&lt;br&gt;&#xA;ai에 질문 할 때 많은 참고가 될 것입니다.&lt;br&gt;&#xA;postfix는 훨씬 쉽습니다.&lt;br&gt;&#xA;sendmail로 시도하면 대충 메일서버의 흐름이 파악 됩니다.&lt;br&gt;&#xA;그 다음에 postfix로 갈아타시면 될 겁니다.&lt;br&gt;&#xA;처음 시도하시는 분께 도움이 되길 바랍니다.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;시스템-업데이트-및-sendmail-설치&#34;&gt;&lt;span&gt;시스템 업데이트 및 Sendmail 설치&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ec%8b%9c%ec%8a%a4%ed%85%9c-%ec%97%85%eb%8d%b0%ec%9d%b4%ed%8a%b8-%eb%b0%8f-sendmail-%ec%84%a4%ec%b9%98&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt; sudo apt-get update&lt;br&gt;&#xA; sudo apt -y install sendmail&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;호스트네임-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;호스트네임 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ed%98%b8%ec%8a%a4%ed%8a%b8%eb%84%a4%ec%9e%84-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/hostname&lt;br&gt;&#xA;  (내용: mail.example.com)&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;hosts-파일에-공인-ip-매핑&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Hosts 파일에 공인 IP 매핑&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#hosts-%ed%8c%8c%ec%9d%bc%ec%97%90-%ea%b3%b5%ec%9d%b8-ip-%eb%a7%a4%ed%95%91&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/hosts&lt;br&gt;&#xA;  [공인아이피] mail.example.com 추가&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;로컬-호스트-네임-추가-후-재부팅&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;로컬 호스트 네임 추가 후 재부팅&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%eb%a1%9c%ec%bb%ac-%ed%98%b8%ec%8a%a4%ed%8a%b8-%eb%84%a4%ec%9e%84-%ec%b6%94%ea%b0%80-%ed%9b%84-%ec%9e%ac%eb%b6%80%ed%8c%85&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/mail/local-host-names&lt;br&gt;&#xA;  mail.example.com 추가&lt;br&gt;&#xA;   sudo reboot&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;dovecot-설치&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Dovecot 설치&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#dovecot-%ec%84%a4%ec%b9%98&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;Dovecot(POP3) 설치&lt;br&gt;&#xA; sudo apt -y install dovecot-pop3d&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;sendmail-설정-수정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Sendmail 설정 수정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#sendmail-%ec%84%a4%ec%a0%95-%ec%88%98%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/mail/sendmail.cf&lt;br&gt;&#xA;  98행: Cwexample.com 기록&lt;br&gt;&#xA;  269행: 외부 접속 허용을 위해 &#39;addr=127.0.0.1&#39; 부분 삭제&lt;br&gt;&#xA;  270행: DAEMON_OPTIONS(`Name=MSA, Port=587, M=E) 587포트 사용&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;설정-적용-및-서비스-활성화&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;설정 적용 및 서비스 활성화&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ec%84%a4%ec%a0%95-%ec%a0%81%ec%9a%a9-%eb%b0%8f-%ec%84%9c%eb%b9%84%ec%8a%a4-%ed%99%9c%ec%84%b1%ed%99%94&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo makemap hash /etc/mail/access &amp;lt; /etc/mail/access&lt;br&gt;&#xA; sudo systemctl enable --now sendmail&lt;br&gt;&#xA; sudo systemctl enable --now dovecot&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;dovecot-기본-설정-수정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Dovecot 기본 설정 수정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#dovecot-%ea%b8%b0%eb%b3%b8-%ec%84%a4%ec%a0%95-%ec%88%98%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/dovecot/dovecot.conf&lt;br&gt;&#xA;  listen, base_dir 주석(#) 제거&lt;br&gt;&#xA;  disable_plaintext_auth = no 추가 (인증 허용)&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;dovecot-메일함-권한-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Dovecot 메일함 권한 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#dovecot-%eb%a9%94%ec%9d%bc%ed%95%a8-%ea%b6%8c%ed%95%9c-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/dovecot/conf.d/10-mail.conf&lt;br&gt;&#xA;  mail_access_groups = mail 수정&lt;br&gt;&#xA;  lock_method = fcntl 수정&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;웹메일roundcube-및-lamp-스택-설치&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;웹메일(Roundcube) 및 LAMP 스택 설치&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ec%9b%b9%eb%a9%94%ec%9d%bcroundcube-%eb%b0%8f-lamp-%ec%8a%a4%ed%83%9d-%ec%84%a4%ec%b9%98&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt;APM 패키지 및 IMAP 설치&lt;br&gt;&#xA; sudo apt -y install lamp-server^ dovecot-imapd roundcube&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;roundcube-아파치-설정-활성화&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Roundcube 아파치 설정 활성화&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#roundcube-%ec%95%84%ed%8c%8c%ec%b9%98-%ec%84%a4%ec%a0%95-%ed%99%9c%ec%84%b1%ed%99%94&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/apache2/conf-enabled/roundcube.conf&lt;br&gt;&#xA;  Alias /roundcube 주석 제거&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;roundcube-설정-수정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;Roundcube 설정 수정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#roundcube-%ec%84%a4%ec%a0%95-%ec%88%98%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo nano /etc/roundcube/config.inc.php&lt;br&gt;&#xA;  default_host = &#39;example.com&#39;&lt;br&gt;&#xA;  smtp_port = 587&lt;br&gt;&#xA;  smtp_user 값에서 %u 삭제&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;서비스-재시작-및-시간대-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;서비스 재시작 및 시간대 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ec%84%9c%eb%b9%84%ec%8a%a4-%ec%9e%ac%ec%8b%9c%ec%9e%91-%eb%b0%8f-%ec%8b%9c%ea%b0%84%eb%8c%80-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo systemctl restart apache2 mysql&lt;br&gt;&#xA; sudo timedatectl set-timezone Asia/Seoul&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;ssl-인증서-설치certbot&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;SSL 인증서 설치(Certbot)&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#ssl-%ec%9d%b8%ec%a6%9d%ec%84%9c-%ec%84%a4%ec%b9%98certbot&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo apt-get install software-properties-common&lt;br&gt;&#xA; sudo add-apt-repository universe&lt;br&gt;&#xA; sudo apt-get update&lt;br&gt;&#xA; sudo apt-get install certbot python3-certbot-apache&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;ssl-발급-및-자동-설정&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;SSL 발급 및 자동 설정&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#ssl-%eb%b0%9c%ea%b8%89-%eb%b0%8f-%ec%9e%90%eb%8f%99-%ec%84%a4%ec%a0%95&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo certbot --apache&lt;/p&gt;&#xA;&lt;h4 class=&#34;heading-element&#34; id=&#34;인증서-관리-명령어&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: green;&#34;&gt;인증서 관리 명령어&lt;/span&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ec%9d%b8%ec%a6%9d%ec%84%9c-%ea%b4%80%eb%a6%ac-%eb%aa%85%eb%a0%b9%ec%96%b4&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;p&gt; sudo certbot renew --dry-run   # 갱신 테스트&lt;br&gt;&#xA; sudo certbot renew             # 실제 갱신&lt;br&gt;&#xA; sudo certbot certificates      # 인증서 상태 확인&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>25년의 은둔, 그리고 Ai세계</title>
      <link>https://blog.snsoz.com/posts/first-post/</link>
      <pubDate>Fri, 20 Feb 2026 21:10:00 +0900</pubDate>
      <guid>https://blog.snsoz.com/posts/first-post/</guid>
      <category domain="https://blog.snsoz.com/categories/%EC%9D%BC%EC%83%81/">일상</category>
      <description>&lt;h3 class=&#34;heading-element&#34; id=&#34;다시-세상과-연결되는-문을-열며&#34;&gt;&lt;span&gt;다시 세상과 연결되는 문을 열며&lt;/span&gt;&#xA;  &lt;a href=&#34;#%eb%8b%a4%ec%8b%9c-%ec%84%b8%ec%83%81%ea%b3%bc-%ec%97%b0%ea%b2%b0%eb%90%98%eb%8a%94-%eb%ac%b8%ec%9d%84-%ec%97%b4%eb%a9%b0&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;밑바닥에서 몸으로 부딪히며 사는 삶 이었지만&lt;br&gt;&#xA;“몸만 건강하고 일 할 의지만 있다면 밥은 굶지 않는다.” 생각하고&lt;br&gt;&#xA;노가다도하고, 배도 타고, 이것저것 가리지 않고&lt;br&gt;&#xA;닥치는 대로 일하며 살았습니다.&lt;br&gt;&#xA;하지만 아... 97년 IMF는&lt;br&gt;&#xA;“몸이 건강하고 일을 할 의지가 있어도 굶을 수 있구나” 하는 현실을&lt;br&gt;&#xA;깨닫게 된 사건이었습니다.&lt;/p&gt;&#xA;&lt;p&gt;97년 IMF사태의 터널을 겨우 빠져나오던 2001년 어느 날&lt;br&gt;&#xA;철판공장에서 일하다가 예기치 못한 사고로 장애를 얻게 되었습니다.&lt;br&gt;&#xA;그날 이세상과의 마지막 남은 연결고리가 끊어져 버렸죠.&lt;br&gt;&#xA;그렇게 시작된 25년이라는 긴 시간...&lt;br&gt;&#xA;방구석에 몸을 묻어버리고 컴퓨터만이 유일한 친구였던 시간...&lt;/p&gt;&#xA;&lt;p&gt;스스로 택한 고립이었고&lt;br&gt;&#xA;유년 시절, 소년 시절, 청년 시절&lt;br&gt;&#xA;거의 지옥 같은 정신 상태로 살았던 경험은&lt;br&gt;&#xA;아무와 접촉하지 않아도 되는 공간과 시간은&lt;br&gt;&#xA;그렇게 숨 막히지 많은 않았던 것 같습니다.&lt;br&gt;&#xA;굶지 않을 만큼 산재연금이 나왔고&lt;br&gt;&#xA;그렇게 25년이라는 세월을 세상과 단절 된 채로 살았습니다.&lt;br&gt;&#xA;중간 중간 세상 밖으로 나가려고 시도는 해 봤지만&lt;br&gt;&#xA;번번이 실패하고 다시방구석에 몸을 묻어 버렸죠.&lt;/p&gt;&#xA;&lt;p&gt;25년의 방구석 생활...&lt;br&gt;&#xA;그리고 낼 모래 60이라는 이 시간 이 공간...&lt;br&gt;&#xA;언제 죽어도 이상하지 않은 나이가 되었고&lt;br&gt;&#xA;이제는 세상 밖으로 나가도 되지 않을까하는 생각을 하게 되었습니다.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;mail-server&#34;&gt;&lt;span&gt;mail server&lt;/span&gt;&#xA;  &lt;a href=&#34;#mail-server&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;누군가와 소통하기 위해 내가 할 수 있는 것을 고민하다가&lt;br&gt;&#xA;그동안 취미삼아 구축해 놓은 메일서버를 떠올렸습니다.&lt;br&gt;&#xA;더 배울 필요가 있을까 생각하고 방치해 두던 메일서버를&lt;br&gt;&#xA;더 공부도 할 겸 소통의 문으로 사용하자는 생각을 하게 되었죠.&lt;/p&gt;&#xA;&lt;p&gt;24년 ubuntu2404가 출시되고&lt;br&gt;&#xA;그해 말쯤 메일서버에 처음 도전을 했습니다.&lt;br&gt;&#xA;일단 vmware를 설치를 하고 ubuntu2404를 설치했습니다.&lt;br&gt;&#xA;그리고 유튜브에서 몇 년 된 영상들 뒤지고 검색 해 가면서&lt;br&gt;&#xA;sendmail, dovecot, apache2, roundcube를 설치해서&lt;br&gt;&#xA;겨우 메일을 송수신 할 수 있게 되었습니다.&lt;br&gt;&#xA;roundcube로 웹메일을 사용했기 때문에&lt;br&gt;&#xA;certbot으로 tls인증서를 발급(90일 자동갱신)받아 사용했습니다.&lt;br&gt;&#xA;후이즈에서 DNS레코드 관리를 했고&lt;br&gt;&#xA;a레코드와 txt레코드에 spf만 설정한 채로 운영했습니다.&lt;br&gt;&#xA;그렇게 5개 서버를 세팅해서 했죠.&lt;/p&gt;&#xA;&lt;p&gt;outlook,naver에 메일 송수신이 되기는 하더라구요.&lt;br&gt;&#xA;유동아이피라 아이피가 바뀔때마다 DNS레코드를 수정해야 했습니다.&lt;br&gt;&#xA;뭐 적용이 거의 실시간으로 되니 큰 불편은 없었는데&lt;br&gt;&#xA;문제는 유동아이피 대부분이 스팸아이피로 등록 되어있다는 겁니다.&lt;br&gt;&#xA;메일을 보내도 IP가 대부분 차단되어있다는 거죠.&lt;br&gt;&#xA;naver는 메일 보내면 하루정도 안에 풀어줍니다.&lt;br&gt;&#xA;spamhouse는 자동화 되어 있어서 대부분 하루안에 풀어지죠.&lt;br&gt;&#xA;하지만 outlook은 무조건 거부합니다.&lt;br&gt;&#xA;끈질기게 4~5번정도 해제요청메일을 보내면 결국 풀어주기는 합니다.&lt;/p&gt;&#xA;&lt;p&gt;이렇게 그냥 취미삼아 서버 5개를 운영했습니다.&lt;br&gt;&#xA;24시간 켜 놓으면 전기세가 많이 나와서 잠자는 시간엔 꺼 놓았죠.&lt;br&gt;&#xA;그렇게 2년정도 필수 업데이트만 하면서 운영 했습니다.&lt;br&gt;&#xA;그러던 중 ai가 나왔죠. 첨엔 관심도 없었습니다.&lt;br&gt;&#xA;그러다가 어느날 심심해서 제미니에게&lt;br&gt;&#xA;ubuntu mailserver에 관해서 몇가지 질문을 해봤습니다.&lt;br&gt;&#xA;와... 좀더 깊이 들어가도 되겠는데? 하는 생각이 들기 시작했죠.&lt;/p&gt;&#xA;&lt;p&gt;최종 목표는 내가 소유한 8개 도메인을 1개 서버에 통합시키고&lt;br&gt;&#xA;제대로 된 메일서버를 구축하는 거였습니다.&lt;br&gt;&#xA;일주일 정도 챗지피티와 제미니를 이용해&lt;br&gt;&#xA;서로 교차 검증해 가며 씨름을 한 끝에&lt;br&gt;&#xA;postfix,dovecot을 기번으로 imap,smtp를 이용해&lt;br&gt;&#xA;outlook, thunderbird, nine mail, roundcube에서&lt;br&gt;&#xA;구글,마소,네이버 모두 dkim=pass, spf=pass, dmarc=pass를 성공했습니다.&lt;br&gt;&#xA;tls인증서도 각 도메인 별로 발급받았고요.&lt;br&gt;&#xA;8개도메인 통합에 성공하고 mail-tester에서 8.9점 까지 나오더군요.&lt;br&gt;&#xA;“ssh key로그인(패스워드사용.), password로그인 차단,root로그인 차단, fail2ban설치”&lt;br&gt;&#xA;서버방어도 어느정도 자리를 잡게 되었고&lt;br&gt;&#xA;여기까지 오니 mail-tester에서 10을 받아보고싶은 욕심이 생기더군요.&lt;/p&gt;&#xA;&lt;p&gt;노트북으로 서버를 옮겨서 24시간 운영을 하고&lt;br&gt;&#xA;ptr(Reverse Domain)이 마지막 남은 과제가 되었습니다.&lt;br&gt;&#xA;취미로 라고 하기에는 좀 과한 상황이었지만&lt;br&gt;&#xA;술한두번 안먹지 하는 마음으로 고정아이피를 신청 했습니다.&lt;br&gt;&#xA;ptr레코드 등록이 되고 mail-tester에서&lt;br&gt;&#xA;10점 만점이 찍힌 것을 본 순간 정말 흐뭇한 기분이 들었습니다.&lt;br&gt;&#xA;혹시 메일서버를 운영해 보고 싶은 누군가와&lt;br&gt;&#xA;이 기분을 공유하고 싶은 생각이 들더군요.&lt;br&gt;&#xA;그래서 통합하고 남은 서버 4개중에 한개를 블로그 전용서버로 사용하기 위해서&lt;br&gt;&#xA;hugo와 nginx를 설치하고 github댓글 시스템을 연결해서&lt;br&gt;&#xA;블로그를 운영하게 되었습니다.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;이곳을-방문-하는-분들에게&#34;&gt;&lt;span&gt;이곳을 방문 하는 분들에게&lt;/span&gt;&#xA;  &lt;a href=&#34;#%ec%9d%b4%ea%b3%b3%ec%9d%84-%eb%b0%a9%eb%ac%b8-%ed%95%98%eb%8a%94-%eb%b6%84%eb%93%a4%ec%97%90%ea%b2%8c&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;요란하지 않고 차분한 분위기로&lt;br&gt;&#xA;이 블로그를 만들고 싶습니다.&lt;br&gt;&#xA;내가 경험하고 배운 것들&lt;br&gt;&#xA;그리고 앞으로 배우게 될 것들&lt;br&gt;&#xA;그것들을 이야기 하고 싶습니다.&lt;br&gt;&#xA;나의 순탄치 않았던 지나간 삶의 흔적들이&lt;br&gt;&#xA;이 척박한 시대에 이곳을 방문하는 분들에게&lt;br&gt;&#xA;지나간 시간을 한번 되돌아 볼 수 있게 해 준다면&lt;br&gt;&#xA;나의 지옥 같았던 어린 시절 청년 시절의 이야기를&lt;br&gt;&#xA;내 놓을 수 있지 않을까 조심스레 생각해 봅니다.&lt;br&gt;&#xA;막내누이가 24살의 젊은 나이에 스스로 세상을 떠난 이야기도...&lt;br&gt;&#xA;60살이 다 돼서 Ai를 통해 리눅스 메일서버를 완성하며 느낀 많은 것들...&lt;br&gt;&#xA;새로운 기술과, 새로운 시대... 그리고 절망들...&lt;br&gt;&#xA;비록 불편한 손으로 쓰는 서툰 이야기 일지라도&lt;br&gt;&#xA;이곳을 방문하는 분들에게&lt;br&gt;&#xA;차분한 분위기를 전해드리고 싶습니다.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
