Dockerでpostfix dovecot roundcubeでテスト用サーバーを作った時の備忘録
docker build –no-cache -t ubuntu-test-mail-server:1.0 .
docker run -d -p 22:22 -p 80:80 -p 25:25 -p 143:143 -p 110:110 -p 995:995 -p 993:993 -p 587:587 –name ubuntu-test-mail-server ubuntu-test-mail-server:1.0
docker hub に入れる
docker build –no-cache -t ubuntu-test-mail-server:1.0 .
docker tag ubuntu-test-mail-server:1.0 itkeichan/ubuntu-test-mail-server:1.0
docker push itkeichan/ubuntu-test-mail-server:1.0
docker hub から使う
docker pull itkeichan/ubuntu-test-mail-server:1.0
docker run -d -p 22:22 -p 80:80 -p 25:25 -p 143:143 -p 995:995 -p 993:993 -p 587:587 –name mail-server itkeichan/ubuntu-test-mail-server:1.0
dovecot について
クライアントの設定
pop3 通信暗号化
110 なし 〇
110 ssl/tls ×
995 なし ×
995 ssl/tls 〇
imap 通信暗号化
143 なし 〇
143 ssl/tls ×
143 starttls ×
993 なし ×
993 ssl/tls 〇
993 starttls ×
smtp 通信暗号化
25 なし 〇
25 ssl/tls ×
25 starttls ×
submission 通信暗号化
587 なし ×
587 ssl/tls ×
587 starttls 〇
JAVA でメールを送る時信頼していない証明書を受け付ける
props.put(“mail.smtp.host”, smtpHost);
props.put(“mail.smtp.auth”, “true”);
props.put(“mail.smtp.port”, smtpPort);
props.put(“mail.smtp.starttls.enable”, “true”);
props.put(“mail.smtp.ssl.trust”, “*”); // 証明書検証を無視
テスト用のSMTPサーバーを作る
SMTPサーバが受信したメールをすべて mailuser に渡す設定
postfix-pcreのインストールapt install postfix-pcre
vi aliases.regexp
/(?!^root$|^mailuser$)^.*$/ mailuser
vi transport
/^.@.$/ local
docker でSqlServer 2022を動かす
docker pull mcr.microsoft.com/mssql/server:2022-latest
docker run -v E:\udemy\docker\sqlserver\data:/var/opt/mssql/data/ -e “ACCEPT_EULA=Y” -e “MSSQL_SA_PASSWORD=vCfr6198” -p 11433:1433 –name sql1 –hostname sql1 -d mcr.microsoft.com/mssql/server:2022-latest
ubuntu KVMのブリッジで仮想マシンを外のネットワークと通信するためのnetplanの設定(NATは使わない)
network: version: 2 renderer: networkd ethernets: enp5s0: dhcp4: no bridges: br0: dhcp4: no addresses: - 10.10.10.88/16 interfaces: - enp5s0 routes: - to: default via: 10.10.10.1 nameservers: addresses: [10.10.10.1] parameters: forward-delay: 0 stp: false optional: true
history | grep hoge はめんどくさい
mkdir /usr/local/mycommand
cat > /usr/local/mycommand/his <<EOF
#/bin/bash
history | grep \$1
EOF
chmod 755 /usr/local/mycommand/his
echo ‘export PATH=$PATH:/usr/local/mycommand’ >> /etc/profile
UBUNTUでTOMCATを使用する場合で、ファイルを書き込むときの設定
/etc/systemd/system/multi-user.target.wants/tomcat9.service
# Security
User=tomcat
Group=tomcat
PrivateTmp=yes
AmbientCapabilities=CAP_NET_BIND_SERVICE
NoNewPrivileges=true
CacheDirectory=tomcat9
CacheDirectoryMode=750
ProtectSystem=strict
ReadWritePaths=/etc/tomcat9/Catalina/
ReadWritePaths=/var/lib/tomcat9/webapps/
ReadWritePaths=/var/log/tomcat9/
ReadWritePaths=/upload_folder/ <- ここに追加
外のフォルダーをマウントするとき
mount -t cifs -o user=hogehoge,password=hogehoge,dir_mode=0777,uid=999,gid=999 //192.168.0.21/out_folder /upload_folder
uid=999はtomcat