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”, “*”); // 証明書検証を無視

メールサーバー: dovecot にdomainのついたユーザアカウントでログインできるようにする

vi 10-auth.conf

auth_username_format = %Ln

テスト用の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

linuxで超大量のファイルを消す

find ./ -name “*.txt” -exec rm -fv {} \;

Hello world!

WordPress へようこそ。こちらは最初の投稿です。編集または削除し、コンテンツ作成を始めてください。

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