ラズパイでメールサーバーを構築するよ2/2(Postfix+Dovecot)

ラズパイでメールサーバーを構築するよ2/2(Postfix+Dovecot)

この記事は第二部です。第一部をみていない方はこちら

ラズパイでメールサーバーを構築するよ1/2(Postfix+Dovecot)
ラズパイでメールサーバーを構築するよ1/2(Postfix+Dovecot)
Recipe Image
悩んでいる人
なんとなくメールサーバー興味あるなぁ。。。

こんな疑問・興味にお答えします。

こんにちは。ゆうです。

ということで、以前から気になっていたメールサーバー構築を本気でやってみました。

この記事を読めばDNS設定・Postfix/Dovecot設定・gmailリレーからメールソフトでのログインまで全て網羅できます!

ではいきましょう!

設定のロードマップ

ここでは、簡単に設定のロードマップを記しました。第二部では、STEP4から行います。

ドメイン設定

ドメインの購入、DNSの設定をします。

ポートマップ・ファイアウォール設定

この設定をすることで、外部からメールサーバーと通信できるようになります。

SSL/TLS証明書取得(Let’s Encrypt)

通信を暗号化するために導入します。

Postfix・Dovecot・gmail relay設定

ある意味メインです。メールサーバーですね。

メール用ユーザーの追加

メールアドレスを使用するユーザーを作成します。

Thunderbirdからメール送受信

無料のメールソフトであるThunderbirdからメールを送ります。

第二部では、STEP4から行います。

環境

サーバーRaspberry Pi 3 Model B+
Raspberry Pi 4 Model B/4GB
(どちらもRaspbian GNU/Linux 10)
操作PCmacOS Catalina v10.15.5

Postfix

では、(やっと)Postfixの設定をします。ここでは、ついでにDovecotとlibsasl2-modulesを導入します。

LXTerminal
sudo apt -y install postfix dovecot-core dovecot-imapd dovecot-pop3d libsasl2-modules

Postfixをインストールする途中にこのような画面が出てきます。了解を選択してください。MacからのVNC接続だと左右矢印で選択できます。

この画面では設定なしを選択してください。

これ以降はファイルをどんどん設定していきます。

/etc/postfix/main.cf

ここでは三通りの設定方法を示します。自分に合う方法で設定してください。

ターミナルで設定(お勧めしない)

このコマンドを使うことで、簡単に設定できます。しかし、ここでの設定のみでは使えず、結局改めて設定する必要があるので、お勧めしません。

LXTerminal
sudo dpkg-reconfigure postfix

標準の設定を流用する

まずは、設定ファイルをコピーします。

LXTerminal
sudo cp /usr/share/postfix/main.cf.dist /etc/postfix/main.cf

では、設定していきます。ラズパイでは、mousepad, leafpadを使うのがお勧めです。行番号を表示したり、検索を使えたりと便利です。

LXTerminal
sudo mousepad /etc/postfix/main.cf 
sudo leafpad /etc/postfix/main.cf 
sudo nano /etc/postfix/main.cf

行番号・検索の出し方。

まずは行数を表示しましょう。

表示行番号を選択してください。

すると、行が表示され、選択した行が太く表示されます。

また、検索を利用すると、簡単に見つけることができます。

検索検索を選択してください。

例えば、初めに設定するmail_ownerを検索すると、簡単に出てきます。

では設定していきます。ここでは、独自ドメインをexample.com・ホスト名をmail.example.comとして設定します。これは各自の環境に合わせてください。

行数はバージョンによって変化する可能性があります。

L78 mail_owner

mail_owner = postfix

L94 myhostname

myhostname = mail.example.com

L102 mydomain

mydomain = example.com

L123 myorigin

myorigin = $mydomain

L137 inet_interfaces

inet_interfaces = all

L185 mydestination

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

L338 relayhost

今回はgmailを経由するのでこの設定です。

relayhost = [smtp.gmail.com]:587

L440 home_mailbox

home_mailbox = Maildir/

L574 smtpd_banner

$mail_nameを消す

smtpd_banner = $myhostname ESMTP

L576

コメントアウトする

#smtpd_banner = $myhostname ESMTP $mail_name (Raspbian)

L650 sendmail_path

sendmail_path = /usr/sbin/postfix

L655 newaliases_path

newaliases_path = /usr/sbin/newaliases

L660 mailq_path

mailq_path = /usr/bin/mailq

L666 setgid_group

setgid_group = postdrop

L670, 674, 679, 683

コメントアウトする

# html_directory =
# manpage_directory = 
# sample_directory = 
# readme_directory =

最後に追記する。

smtpd_tls_cert_file、smtpd_tls_key_fileのドメイン部分を自分のドメインに変更してください。

############ 
############ 
smtp_sasl_auth_enable = yes
smtp_tls_security_level = may 
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd 
smtp_sasl_mechanism_filter = login plain 
smtp_sasl_security_options=noanonymous 



smtpd_sasl_auth_enable = yes 
smtpd_sasl_type = dovecot 
smtpd_sasl_path = private/auth 
smtpd_use_tls = yes 
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination 



smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem 
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem 
smtpd_tls_loglevel = 1 
smtpd_tls_received_header = yes 



smtpd_sasl_local_domain = $myhostname 
smtpd_recipient_restrictions =     
    permit_mynetworks     
    permit_sasl_authenticated     
    reject_unauth_destination

楽な設定

最低限の設定だけ抜き出しました。私はこれでうまくいきました。

バージョンなどによってうまくいかない可能性は否定できませんが、見やすく、わかりやすいと思います。

LXTerminal
sudo mousepad /etc/postfix/main.cf 
sudo leafpad /etc/postfix/main.cf 
sudo nano /etc/postfix/main.cf

この四箇所だけ自分のドメインに変更してください。

あとはコピペで終わり!

  • myhostname = mail.example.com
  • mydomain = example.com
  • smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
  • smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
############# 
#minify setting!# 
############# 
# オプションがある場合は、一つだけを示しています。 

# COMPATIBILITY 
compatibility_level = 2 

# LOCAL PATHNAME INFORMATION 
command_directory = /usr/sbin 
daemon_directory = /usr/lib/postfix/sbin 
data_directory = /var/lib/postfix 

# QUEUE AND PROCESS OWNERSHIP 
mail_owner = postfix 

# INTERNET HOST AND DOMAIN NAMES 
myhostname = mail.example.com 
mydomain = example.com 

# SENDING MAIL 
myorigin = $mydomain 

# RECEIVING MAIL 
inet_interfaces = all 
mydestination = $myhostname, localhost.$mydomain, 
localhost, $mydomain 

# REJECTING MAIL FOR UNKNOWN LOCAL USERS
#local_recipient_maps = unix:passwd.byname $alias_maps 
#unknown_local_recipient_reject_code = 550 

# TRUST AND RELAY CONTROL 
mynetworks = 127.0.0.0/8 

# INTERNET OR INTRANET 
relayhost = [smtp.gmail.com]:587 

# DELIVERY TO MAILBOX 
home_mailbox = Maildir/ 

# SHOW SOFTWARE VERSION OR NOT 
smtpd_banner = $myhostname ESMTP 

# DEBUGGING CONTROL 
debugger_command = 
    PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin  
        ddd $daemon_directory/$process_name $process_id & sleep 5 

# INSTALL-TIME CONFIGURATION INFORMATION s
endmail_path = /usr/sbin/postfix 
newaliases_path = /usr/sbin/newaliases 
mailq_path = /usr/bin/mailq 
setgid_group = postdrop 
# html_directory = 
# manpage_directory = 
# sample_directory = 
# readme_directory = 

inet_protocols = ipv4 

############ 
############ 
smtp_sasl_auth_enable = yes 
smtp_tls_security_level = may 
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd 
smtp_sasl_mechanism_filter = login plain 
smtp_sasl_security_options=noanonymous 

smtpd_sasl_auth_enable = yes 
smtpd_sasl_type = dovecot 
smtpd_sasl_path = private/auth 
smtpd_use_tls = yes 
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination 

smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem 
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem 
smtpd_tls_loglevel = 1 
smtpd_tls_received_header = yes 

smtpd_sasl_local_domain = $myhostname 
smtpd_recipient_restrictions =     
    permit_mynetworks     
    permit_sasl_authenticated     
    reject_unauth_destination 

/etc/postfix/master.cf

LXTerminal
sudo mousepad /etc/postfix/master.cf 
sudo leafpad /etc/postfix/master.cf 
sudo nano /etc/postfix/master.cf

変更前

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
smtp      inet  n       -       y       -       -       smtpd
#smtp      inet  n       -       y       -       1       postscreen
#smtpd     pass  -       -       y       -       -       smtpd
#dnsblog   unix  -       -       y       -       0       dnsblog
#tlsproxy  unix  -       -       y       -       0       tlsproxy
#submission inet n       -       y       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_tls_auth_only=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       y       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING

変更後

smtpsの部分をコメントアウトします。

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
smtp      inet  n       -       y       -       -       smtpd
#smtp      inet  n       -       y       -       1       postscreen
#smtpd     pass  -       -       y       -       -       smtpd
#dnsblog   unix  -       -       y       -       0       dnsblog
#tlsproxy  unix  -       -       y       -       0       tlsproxy
#submission inet n       -       y       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#   -o smtpd_sasl_auth_enable=yes
#  -o smtpd_tls_auth_only=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       -       y       -       -       smtpd
#  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING

Gmail SMTP認証

安全性の低いアプリの許可が必要です。ここから、使うアカウントで許可をしてください。

Gmailを使ってリレーを設定します。

LXTerminal
sudo mousepad /etc/postfix/sasl_passwd
sudo leafpad /etc/postfix/sasl_passwd
sudo nano /etc/postfix/sasl_passwd

このように記述します。examle.comとしたのは、exampleで登録してるgmailユーザーがいるかもしれないと思ったからです。 gmail.comに直してくださいね。

設定例)

[smtp.gmail.com]:587 自分のID@gmail.com:パスワード

[smtp.gmail.com]:587 example@example.com:example

root以外見れないようにします。

sudo chmod 600 /etc/postfix/sasl_passwd

Postfix検索テーブルを作成します。

sudo postmap /etc/postfix/sasl_passwd

確認

設定が正しいか確認します。

LXTerminal
sudo postfix check

エラーが出たら、確認してください。大抵重複した設定などです。

このエラーは無視しても大丈夫でした。

postfix/postfix-script: warning: symlink leaves directory: /etc/postfix/./makedefs.out

再起動します。

LXTerminal
sudo systemctl restart postfix

起動状況を確認します。

LXTerminal
sudo systemctl status postfix

active(exited)ってなっていたらOKです。(running)にはならないのかな?

● postfix.service - Postfix Mail Transport Agent
    Loaded: loaded (/lib/systemd/system/postfix.service; enabled; vendor preset:
    Active: active (exited) since Sun 2020-06-21 22:25:26 JST; 7s ago
  Process: 27609 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 27609 (code=exited, status=0/SUCCESS)

6月 21 22:25:26 raspberrypi systemd[1]: Starting Postfix Mail Transport Agent..
6月 21 22:25:26 raspberrypi systemd[1]: Started Postfix Mail Transport Agent.

Dovecot

dovecotはすでに導入しました。

/etc/dovecot/conf.d/10-master.conf

三箇所変更します。

LXTerminal
sudo mousepad /etc/dovecot/conf.d/10-master.conf
sudo leafpad /etc/dovecot/conf.d/10-master.conf
sudo nano /etc/dovecot/conf.d/10-master.conf

変更前

service imap-login {
  inet_listener imap {
    #port = 143
  }
  inet_listener imaps {
    #port = 993
    #ssl = yes
  }
...
}

変更後

service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
...
}

変更前

service pop3-login {
  inet_listener pop3 {
    #port = 110
  }
  inet_listener pop3s {
    #port = 995
    #ssl = yes
  }
}

変更後

service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}

変更前

service auth {
...
  unix_listener auth-userdb {
    #mode = 0666
    #user =
    #group =
  }
  # Postfix smtp-auth
  #unix_listener /var/spool/postfix/private/auth {
  # mode = 0666
  #}

  # Auth process is run as this user.
  #user = $default_internal_user
}

変更後

service auth {
...
  #unix_listener auth-userdb {
    #mode = 0666
    #user =
    #group =
  #}
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }

  # Auth process is run as this user.
  #user = $default_internal_user
}

/etc/dovecot/dovecot.conf

一箇所変更します。

LXTerminal
sudo mousepad /etc/dovecot/dovecot.conf
sudo leafpad /etc/dovecot/dovecot.conf
sudo nano /etc/dovecot/dovecot.conf

L30 listen

#listen = *, ::
listen = *, ::

/etc/dovecot/conf.d/10-auth.conf

二箇所変更します。

LXTerminal
sudo mousepad /etc/dovecot/conf.d/10-auth.conf
sudo leafpad /etc/dovecot/conf.d/10-auth.conf
sudo nano /etc/dovecot/conf.d/10-auth.conf

L10 disable_plaintext_auth

#disable_plaintext_auth = yes
disable_plaintext_auth = no

L100 auth_mechanisms

auth_mechanisms = plain
auth_mechanisms = plain login

/etc/dovecot/conf.d/10-mail.conf

一箇所変更します。

LXTerminal
sudo mousepad /etc/dovecot/conf.d/10-mail.conf
sudo leafpad /etc/dovecot/conf.d/10-mail.conf
sudo nano /etc/dovecot/conf.d/10-mail.conf

L30 mail_location

mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_location = maildir:~/Maildir

/etc/dovecot/conf.d/10-ssl.conf

二箇所変更します。

LXTerminal
sudo mousepad /etc/dovecot/conf.d/10-ssl.conf
sudo leafpad /etc/dovecot/conf.d/10-ssl.conf
sudo nano /etc/dovecot/conf.d/10-ssl.conf

L6 ssl(変えなくても大丈夫かもしれません。)

ssl=yes
ssl=required

L12, 13 ssl_cert, ssl_key

ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.key

自分のドメインに変えて設定してください。

ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem

確認

設定が確認できます。ただ、めっちゃいっぱい出てくるので、見るのは面倒くさいです。

dovecot -n

再起動します。

sudo systemctl restart dovecot

起動状況を確認します。

sudo systemctl status dovecot

状態がactive (running)になっていればOKです。

● dovecot.service - Dovecot IMAP/POP3 email server
Loaded: loaded (/lib/systemd/system/dovecot.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-06-21 22:30:43 JST; 5s ago
Docs: man:dovecot(1)
http://wiki2.dovecot.org/
Main PID: 27835 (dovecot)
Tasks: 4 (limit: 4915)
Memory: 2.6M
CGroup: /system.slice/dovecot.service
├─27835 /usr/sbin/dovecot -F
├─27839 dovecot/anvil
├─27840 dovecot/log
└─27841 dovecot/config
6月 21 22:30:43 raspberrypi systemd[1]: Started Dovecot IMAP/POP3 email server.
6月 21 22:30:44 raspberrypi dovecot[27835]: master: Dovecot v2.3.4.1 (f79e8e7e4) starting up for imap, pop3, imap, pop3 (core dumps disabled)

ユーザー追加

メールを送るときのユーザーを追加します。

新規ユーザーが作成されたときに、メール用のディレクトリが作成されるようにします。

sudo mkdir -p /etc/skel/Maildir/{new,cur,tmp}
sudo chmod -R 700 /etc/skel/Maildir/

新規ユーザーを追加します。sudo権限は必要ありません。

❌useraddだとhomeが作成されず、Maildir/が作成されません。

sudo adduser example

今回はテストのため、test1, test2というユーザーを準備しました。次のThunderbirdではこのユーザーを使います。

Thunderbirdでメールの送受信

今回はThunderbirdを使って説明したいと思います。

上のリンクからダウンロードしてください。

ログイン

起動したらこのような画面が出てくると思います。出てきたらこのように入力してください。

名前: ユーザーIDでなくても大丈夫です。メールを送った際に相手に表示される名前です。

メールアドレス: ユーザーID@ドメイン

パスワード: ユーザーのパスワードです。

そして、手動設定を押してください。

その画面でてないぞ!

ここを押せば出てきます。

続けるを押してもすぐにログインできません。

次にこのように設定します。

サーバーのホスト名: mailを付け加えます。

ポート番号・SSL: SSLのところをSSL/TLSにすればポート番号は自動的に変更されます。

認証方法: 通常のパスワード認証です。

再テストというのを押せば、うまく設定できているかわかります。

青枠のような文字が出ていれば、Thunderbirdは外部ネットワークからメールサーバーにアクセスできています。(一部隠しています。) 。完了を押してください。メールアドレスが追加できると思います。

今回はこの手順で、test1・test2ユーザーを追加しました。

ログインできないときは

この場合は、設定が間違っている場合です。サーバーのアドレス(ドメイン)を確認してください。

また、DNS設定、ポートマッピング設定、UFW設定を見直してみてください。

この場合は、サーバーにはアクセスできているものの、ユーザー名・パスワードが違うためログインできていません。確認してみてください。(一部隠しています。)

ローカルでメール送受信

まずはローカルでメールを送り合ってみます。

作成を選択してください。

送る相手をtest2として、メールを送ってみます。

しっかり受信できました。

反対もうまくいきました。

これでローカルでの送受信の確認ができました。

グローバルでメール受信

今度は外からのメールを受信します。

自分の持っているメールアドレスから、メールを送ってみてください。

今回はgmailから送ってみました。(宛先はダミーです。)

もちろんgmail以外から送っても大丈夫ですよ!

しっかり受信できました。

グローバルでメール送信

今度はgmailにメールを送ってみます。もちろんgmail以外にも送信できます。

送信できました。だた、送られてくるアドレスの表示がgmailのものに変化します。

エラーについて

エラーはほんとよく出ます。ここでは、私が直面したエラーと解決方法を紹介します。

基本的にはグローバル送信に関わる物です。gmailの認証とかです。

ログはこれで見ることができます。geanyを使うと、ファイルが更新された時に、更新するか聞いてくれるので便利です。

sudo geany /var/log/mail.log
sudo mousepad /var/log/mail.log
sudo leafpad /var/log/mail.log

SASL authentication failed ~ Username and Password not accepted

ログの例

Jun 21 22:54:02 raspberrypi postfix/smtp[28861]: <...>: to=<...>@gmail.com, relay=smtp.gmail.com[64.233.189.109]:587, delay=1.6, delays=0.18/0/1.4/0, dsn=4.7.8, status=deferred (SASL authentication failed; server smtp.gmail.com[64.233.189.109] said: <...> Username and Password not accepted. Learn more at?535 5.7.8 https://support.google.com/mail/?p=BadCredentials <...> - gsmtp)

以下の可能性があります。確認してみてください。

  • ユーザー名・パスワードが違う可能性
  • 安全性の低いアプリを許可していない可能性。

SASL authentication failed ~ no mechanism available

ログの例

Jun 21 15:54:30 raspberrypi postfix/smtp[2211]: warning: SASL authentication failure: No worthy mechs found
Jun 21 15:54:30 raspberrypi postfix/smtp[2211]: <...>: to=<...>@gmail.com, relay=smtp.gmail.com[74.125.204.108]:587, delay=1.6, delays=0.1/0/1.5/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server smtp.gmail.com[74.125.204.108]: no mechanism available)

libsasl2-modulesがない可能性があります。導入して、Postfixを再起動してみてください。

sudo apt install libsasl2-modules

delivery temporarily suspended: Host or domain name not found. ~

ログの例

Jun 21 23:05:19 raspberrypi postfix/error[1200]: <...>: to=<...>@gmail.com, relay=none, delay=0.13, delays=0.12/0/0/0.01, dsn=4.4.3, status=deferred (delivery temporarily suspended: Host or domain name not found. Name service error for name=smtp.gmail.com type=A: Host not found, try again)

smtp.gmail.comの表記が違うかもしれません。確認してみてください。

それか、たまたま接続できなかっただけかもしれません。時間をおけば直りました。

関連記事

ラズパイでマインクラフトサーバーを立てる方法【グローバル・公式サーバー】

ラズパイでマインクラフトサーバーを立てる方法【グローバル・公式サーバー】

【比較】ラズパイのモデルを選ぶヒント【用途別まとめ】

【比較】ラズパイのモデルを選ぶヒント【用途別まとめ】

ラズパイでマインクラフトサーバーを立てる方法【Spigot・とりあえず起動編】

ラズパイでマインクラフトサーバーを立てる方法【Spigot・とりあえず起動編】

ラズパイ4を買ったった

ラズパイ4を買ったった

ラズパイでマインクラフトサーバーを立てる方法【ローカル・公式サーバー】

ラズパイでマインクラフトサーバーを立てる方法【ローカル・公式サーバー】

【初心者向け完全版】ラズパイの初期設定【win/mac対応】

【初心者向け完全版】ラズパイの初期設定【win/mac対応】

【パクろう】ラズパイでファイアーウォールを設定する方法

【パクろう】ラズパイでファイアーウォールを設定する方法

ラズパイでメールサーバーを構築するよ1/2(Postfix+Dovecot)

ラズパイでメールサーバーを構築するよ1/2(Postfix+Dovecot)