CentOS8 セットアップメモ[さくらのVPS/CentOS8]

さくらのVPSにCentOS-8-x86_64-1905-dvd1.iso で minimal インストールした後にメールサーバを構築するための自分用のメモ。

・ネットワーク設定

#-- IPとDNS設定
IPV4_ADDR=X.X.X.X
IPV4_SUBNET=23
IPV4_GATEWAY=X.X.X.X
IPV4_DNS=8.8.8.8
IPV6_ADDR=X:X:X:X:X:X:X:X
IPV6_SUBNET=64
IPV6_GATEWAY=fe80::1
IPV6_DNS=2001:e42::1

#-- ipv4 の設定
nmcli connection modify ens3 connection.autoconnect yes ipv4.address ${IPV4_ADDR}/${IPV4_SUBNET} ipv4.gateway ${IPV4_GATEWAY} ipv4.method manual ipv4.dns ${IPV4_DNS}

#-- ipv6 の設定
nmcli connection modify ens3 ipv6.address ${IPV6_ADDR}/${IPV6_SUBNET} ipv6.gateway ${IPV6_GATEWAY} ipv6.method manual ipv6.dns ${IPV6_DNS}

#-- 設定反映
(nmcli c down ens3; nmcli c up ens3)

#-- dnfのwarning 抑制
LANG=C export LANG

#-- 必要なものをインストール epel-release
dnf install -y bash-completion telnet bind-utils git tar epel-release

#-- selinux 無効化
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

・rspamd のインストール (dnf でまだインストールできない)

#-- rspamd
mkdir -p ~/work/git && cd ~/work/git
dnf install -y cmake gcc gcc-c++ make autoconf automake libtool
dnf install -y {luajit,sqlite,openssl,libevent,glib2,libicu,libsodium}-devel

curl -O http://www.colm.net/files/colm/colm-0.13.0.7.tar.gz
tar xvzf colm-0.13.0.7.tar.gz
cd colm-0.13.0.7/
./configure
make
make install

curl -O http://www.colm.net/files/ragel/ragel-7.0.0.12.tar.gz
tar xvzf ragel-7.0.0.12.tar.gz
cd ragel-7.0.0.12
./configure
make
make install

git clone --recursive https://github.com/vstakhov/rspamd.git
mkdir rspamd.build && cd rspamd.build
cmake ../rspamd
make
make install

cat <<'_EOF_'>> /usr/lib/systemd/system/rspamd.service
[Unit]
Description=rapid spam filtering system
After=nss-lookup.target network-online.target
Documentation=https://rspamd.com/doc/

[Service]
LimitNOFILE=1048576
NonBlocking=true
ExecStart=/usr/local/bin/rspamd -c /etc/rspamd/rspamd.conf -f
ExecReload=/bin/kill -HUP $MAINPID
User=_rspamd
RuntimeDirectory=rspamd
RuntimeDirectoryMode=0755
Restart=always

[Install]
WantedBy=multi-user.target
_EOF_

ln -s /usr/local/etc/rspamd /etc/rspamd

#-- userid,gid,home,shell は手動で設定したほうがいい
useradd _rspamd

#-- ここで設定とかする

mkdir /var/log/rspamd && chown _rspamd. /var/log/rspamd
systemctl enable rspamd
systemctl start rspamd

・roundcube のインストールメモ

#-- roundcube のインストール
cd ~/work/git
git clone https://github.com/roundcube/roundcubemail.git
cd ~/work/git/roundcubemail
VERSION=$(git for-each-ref --sort=-taggerdate --format='%(tag)' refs/tags | grep -m 1 "1\.4-")
git checkout ${VERSION}
HTTPS_DOCROOT=/var/www/html/https_root
cp -pr ../roundcubemail ${HTTPS_DOCROOT}/roundcubemail-${VERSION}
ln -s ${HTTPS_DOCROOT}/roundcubemail-${VERSION} ${HTTPS_DOCROOT}/roundcube

#-- roundcube の DB を作成
mysql -e "create database roundcubemail character set utf8 collate utf8_bin;"
#-- database の password は お好みで
mysql -e "create user roundcube@localhost identified by 'roundcube';"
mysql -e "grant all privileges ON roundcube.* TO roundcube@localhost ;"
mysql -e "flush privileges;"
mysql roundcubemail < ${HTTPS_DOCROOT}/roundcube/SQL/mysql.initial.sql

yum install -y php-{pdo,xml,pear,mbstring,intl,gd,mysqlnd,ldap,json,pecl-zip} 
dnf install -y php-pear-Auth-SASL php-pear-Net-SMTP
pear install Net_IDNA2-0.2.0
pear install Mail_Mime-1.10.3

#-- ここで設定とかする

dnf install -y npm
npm install -g less

#-- php は 7.2.11, mysql は 8.0.13

他のアプリケーションは dnf でインストールできるのでCentOS7の手順で問題ないはず

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)