addrle サーバーOS構築

2019-12-22 - 読み終える時間: 14 分

Description

AWS 上に メールシステムを構築する。インフラ部分はCloudFormationで作成済みとする この文書は、基本的にはサーバーのOS構築部分の記述である

@MS (mail strage) Construction Procedure

LVM Install

sudo yum -y install lvm2.x86_64

追加DriveのLVM設定

追加Drive1:MS-mailstrage

lsblk
sudo lsblk -a -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL
パーティショニング:MS-mailstrage
sudo gdisk /dev/sdb
Command (? for help): o
Proceed? (Y/N): y
Command (? for help): n
[Enter],[Enter],[Enter]
Hex code or GUID (L to show codes, Enter = 8300): 8e00
Command (? for help): p
Command (? for help): w
proceed? (Y/N): y
パーティショニング by sgdisk:MS-mailstrage
sudo sgdisk -n 0:0:0 -t 0:8e00 -c 0:adrlusers-nvme1n1 /dev/nvme1n1

A start or end value of 0 specifies the default value, which is the start of the largest available block for the start sector and the end of the same block for the end sector. A partnum value of 0 causes the program to use the first available partition number.

LVMのボリューム作成:MS-mailstrage
  • PV作成
sudo pvs
sudo vgs
sudo lvs
sudo lsblk -a -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL

sudo pvcreate /dev/nvme1n1p1

sudo pvs
  • VG作成(adrl-usersという名のVG)
sudo vgcreate adrl-users /dev/xvdb1
sudo vgs
  • LV作成(adrlusersという名のLV)
sudo lvcreate --name adrlusers -l 100%FREE adrl-users
sudo lvs
  • ファイルシステム作成
sudo lvdisplay
sudo mkfs.xfs /dev/adrl-users/adrlusers
  • マウントする
sudo mkdir -p /adrl/USERS
sudo mount -t xfs /dev/adrl-users/adrlusers /adrl/USERS
findmnt

追加Drive2:MS-addrlestrage

lsblk
sudo lsblk -a -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL
パーティショニング:MS-addrlestrage
sudo gdisk /dev/sdc
Command (? for help): o
Proceed? (Y/N): y
Command (? for help): n
[Enter],[Enter],[Enter]
Hex code or GUID (L to show codes, Enter = 8300): 8e00
Command (? for help): p
Command (? for help): w
proceed? (Y/N): y
パーティショニング by sgdisk:MS-addrlestrage
sudo sgdisk -n 0:0:0 -t 0:8e00 -c 0:adrladdrle-nvme2n1 /dev/nvme2n1
LVMのボリューム作成:MS-addrlestrage
  • PV作成
sudo pvs
sudo vgs
sudo lvs
sudo lsblk -a -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL

sudo pvcreate /dev/nvme2n1p1

sudo pvs
  • VG作成(adrl-addrleという名のVG)
sudo vgcreate adrl-addrle /dev/xvdc1
sudo vgs
  • LV作成(adrladdrleという名のLV)
sudo lvcreate --name adrladdrle -l 100%FREE adrl-addrle
sudo lvs
  • ファイルシステム作成
sudo lvdisplay
sudo mkfs.xfs /dev/adrl-addrle/adrladdrle
  • マウントする
sudo mkdir -p /adrl/addrle
sudo mount -t xfs /dev/adrl-addrle/adrladdrle /adrl/addrle
findmnt

自動マウント設定

sudo vi /etc/fstab
/dev/adrl-users/adrlusers /adrl/USERS    xfs    defaults,attr2,inode64,uquota    0  2
/dev/adrl-addrle/adrladdrle /adrl/addrle    xfs    defaults,attr2,inode64    0  2
  • 再起動して確認
sudo reboot

ログイン後

findmnt

@MS NFS関連

  • エクスポート
sudo vi /etc/exports
/adrl/USERS 192.168.16.0/24(rw,no_root_squash)
/adrl/addrle 192.168.16.0/24(rw,no_root_squash)
  • ファイル変更読み込み
sudo exportfs -r
  • サービス有効化
sudo systemctl enable nfs-server
sudo systemctl start nfs-server


@MS/MF bashrc (個人の好み)

sudo vi ~/.bashrc
unalias vi
alias ffd='find `pwd` -type d'
alias fff='find `pwd` -type f'

@MF NFSマウント

sudo mkdir /home/USERS
sudo mkdir /addrle
sudo chmod 775 /home/USERS
sudo chmod 777 /addrle

sudo vi /etc/fstab
192.168.16.11:/adrl/USERS  /home/USERS  nfs  rw,intr  0  0
192.168.16.11:/adrl/addrle  /addrle  nfs  rw,intr  0  0
  • 再起動して確認
sudo reboot

@MS cron関連

  • ディレクトリ作成
sudo mkdir /adrl/addrle/{_sysrepo,cmd}

ここでスクリプトを書く。どんな情報を取得するかはお好みで。

メールフォーマットをテキストに書き出したら以下のような感じでメール送信する。

sendmail -i -f ${FromADDRESS} ${ToADDRESS} < ${REPONAME}.log

[AD]フリーランスエンジニアへの案件紹介 BTCエージェントforエンジニア


@MS yum update

構成してしまうと、基本的には MS, IDM はインターネットへの出口を持たなくなるため、アップデートしておく

sudo yum check-update
sudo yum -y upgrade

@MS hostname

  • hostnameは小文字でFQDN(FreeIPA Server/Client Req.)
sudo hostnamectl set-hostname ms.addrle.pinn

[AD]
そろそろ休憩したいころ。成城石井さんではおいしいやつ売ってます、きっと。


@MF 基本構築

@MF1 hostname

  • hostnameは小文字でFQDN(FreeIPA Server/Client Req.)
sudo hostnamectl set-hostname mf001.addrle.pinn

@MF1 postfix設定

  • main.cf 設定
sudo postconf -n

sudo cp -p /etc/postfix/main.cf /etc/postfix/main.cf_org
sudo vi /etc/postfix/main.cf
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
bounce_queue_lifetime = 2d
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_name = addrle
mail_owner = postfix
mailbox_size_limit = 262144000
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
maximal_queue_lifetime = 2d
message_size_limit = 47185920
mydestination = $mydomain, $myhostname, localhost
mydomain = addrle.info
myhostname = mf001.addrle.pinn
mynetworks = 192.168.254.0/24 127.0.0.1/32
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
postscreen_upstream_proxy_protocol = haproxy
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
recipient_delimiter = +
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_helo_name = mx.addrle.info
smtp_tls_loglevel = 1
smtp_tls_security_level = may
smtpd_recipient_limit = 13
unknown_local_recipient_reject_code = 550
#modfy:/etc/postfix/master.cf
smtp      inet  n       -       n       -       1       postscreen
smtpd     pass  -       -       n       -       -       smtpd
  -o smtpd_upstream_proxy_protocol=haproxy
  • リロードして確認
sudo systemctl reload postfix
sudo systemctl status postfix

[AD]vectorさんのビジネスソフト特集(中小企業向け)※結局はoutlook使うんでしょう?みんな。私もその一人です(笑)


@MF1 dovecot設定

  • dovecot.conf編集
sudo vi /etc/dovecot/dovecot.conf
protocols = imap
listen = *
login_trusted_networks = 192.168.16.0/24 127.0.0.0/8
  • dovecotの設定追加
sudo vi /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
  • リスタートして確認
sudo systemctl restart dovecot.service
sudo systemctl status dovecot
sudo systemctl enable dovecot

[AD]お疲れですか?私はそろそろお疲れです。助けて乳酸菌!※ダイエット向け商品です


@MF1 OpenLiteSpeed

  • yumリポジトリ登録
sudo rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.2-1.el7.noarch.rpm
  • mod repo
sudo vi /etc/yum.repos.d/litespeed.repo
#Modify
$releasever → 7
  • EPEL & OpenLiteSpeed Install
sudo amazon-linux-extras install -y epel
sudo yum -y install openlitespeed
sudo yum install lsphp73 lsphp73-common lsphp73-gd lsphp73-process lsphp73-mbstring lsphp73-xml lsphp73-mcrypt lsphp73-pdo lsphp73-imap lsphp73-soap lsphp73-bcmath lsphp73-json
  • PHPバージョン差し替え
sudo ln -sf /usr/local/lsws/lsphp73/bin/lsphp /usr/local/lsws/fcgi-bin/lsphp5

OpenLiteSpeed自動起動設定

sudo vi /etc/systemd/system/openlitespeed.service
[Unit]
Description=OpenLiteSpeed Web Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/lsws/bin/lswsctrl start
ExecStop=/usr/local/lsws/bin/lswsctrl stop
Restart=on-failure
RestartSec=15s

[Install]
WantedBy=multi-user.target
sudo systemctl start openlitespeed.service
sudo systemctl enable openlitespeed.service

ちゃんと確認しないと、起動できていない場合がある

OpenLiteSpeed adminpass

sudo /usr/local/lsws/admin/misc/admpass.sh

OpenLiteSpeed WebConsole

https://ols-port.addrle.info:7080


2019-12-07 ここまで