月: 2022年5月
初心者におすすめ!コピペ(コピー&ペースト)でできる自宅サーバーUbuntu21(Linux)の構築方法。
自宅サーバーUbuntu21(Linux)の作り方
初心者の方でもコピー、貼付けでLinux自宅サーバーを簡単に作れるように説明しています。
Webサーバー、メールサーバー、VPNサーバー、WordPressなどを設定します。
ご自身の設定情報を入力して、文章中の値を変更できますので簡単に設定できます。
DHCPのIPアドレス/マスク長:192.168.1.1/24
WebサーバのIPアドレス:192.168.1.3
サーバー構築準備:自宅サーバー準備作業
- モデム設定(ご自身の環境に合わせてお調べください。)
- サーバー本体
- ルーターの設定
- 有料ドメイン取得
- isoファイルの容量確認
- ImgBurn(インストールDVD作成ソフト)
- Rufus(インストールUSBメモリ作成ソフト)
- Tera Term(端末)
- Gmailの登録
- Thunderbirdのダウンロード・インストール
Ubuntu21:インストール
- Ubuntu 21.10(Impish Indri)ダウンロード
- インストールDVD作成
- Ubuntu 21.10(Impish Indri)インストール
サーバー構築準備:SSHサーバーリモート接続(Tera Term)
- SSHサーバーリモート接続の準備
- Tera Termの使い方
Ubuntu21:初期設定準備
- rootユーザーの作成
- 現在のネットワーク設定を確認
- クライアントPC接続
Ubuntu21:初期設定
- ネットワークの設定
- 一般ユーザーの作成
- 一般ユーザーの削除
- サービスの管理
- システムを最新化
- Vim(テキストエディタ)の設定
- Sudo(root権限)のを設定
Ubuntu21:デスクトップ環境設定
- デスクトップ環境の設定
- VNCサーバーの設定
- Xrdpサーバーの設定
- 日本語環境の設定
Ubuntu21:ファイルサーバー設定
- sambaのインストール
- sambaの初期設定
Ubuntu21:バックアップ設定
- バックアップ領域の作成
- 自動バックアップの設定
Ubuntu21:NTPサーバー設定(NTPd)
Ubuntu21:セキュリティ対策
- アンチウィルスソフトの導入(Clam AntiVirus)
- ファイル改竄検知システムの導入(Tripwire)
- rootkit検知システムの導入(RkHunter)
- SSHサーバー公開鍵認証方式接続の設定
Ubuntu21:ドメイン設定
- DiCEのインストール
- DiCE の設定
- DiCEのイベントの追加
Ubuntu21:DNSサーバー設定
- BINDのインストール
- ゾーン情報の設定
- TCP/UDP53番ポート開放
- ポート開放テスト
- BINDの起動と作動確認
- ホームネットワーク内PCのDNSを設定変更
Ubuntu21:Webサーバー設定
- Apache2のインストール
- TCP80番ポート開放
- ポート開放テスト
- Perlのインストール
- PHPのインストール
- Rubyのインストール
- Pythonのインストール
- Perlモジュールのインストール
- ImageMagikのインストール
- サーバー証明書の取得
- SSLの設定
Ubuntu21:FTPサーバー設定
- Vsftpd のインストール
- FTPクライアントの設定
Ubuntu21:MAILサーバー設定
- Postfixの設定
- Dovecotのインストール
- SMTP認証設定
- Maildir形式メールボックスの作成
- TCP25番、TCP587番ポート開放
- ポート開放テスト
- メールサーバーのOP25B対策
- Gmailのメール転送設定
- TCP110番またはTCP143番ポート開放
- ポート開放テスト
- メールユーザーの追加
- メールソフトの登録
- サーバー証明書の取得
- SSLの設定
- TCP465番ポート開放
- ポート開放テスト
- TCP587番ポート閉鎖
- ポート開放テスト
- Dovecot設定
- TCP995番またはTCP993番ポート開放
- ポート開放テスト
- メールソフトの設定変更
- アンチウィルスソフトの連携(Clamav)
Ubuntu21:ログ解析設定
- Webアクセスログ解析(AWStats)のインストール
- メールログ解析(Pfiogsumm)のインストール
Ubuntu21:システム監視設定
- Nagiosのインストール
- Nagiosプラグインインストール
- Nagios設定
- Apache2設定
- Nagios起動
共通設定:VPNサーバー設定(Soft Ether VPN Saver)
- Soft Ether VPN Serverインストール
- Soft Ether VPN Server起動
- UDP500番ポート、UDP4500番ポート開放
- ポート開放テスト
- Soft Ether VPN Server設定
- Soft Ether VPN Serverダウンロード、インストール
- Soft Ether VPN Server初期設定
- 外部から固定ひかり電話子機接続
Ubuntu21:Webmin設定
- Webminインストール
- 起動確認
Ubuntu21:Usermin設定
- Userminインストール
- 起動確認
Ubuntu:サブドメイン設定
- サブドメイン用ディレクトリ作成
- テストページ作成
- サーバー証明書取得
- メインドメインSSL設定
- サブドメインSSL設定
Ubuntu:複数ドメイン設定
- 複数ドメイン用ディレクトリ作成
- テストページ作成
- サーバー証明書取得
- 複数ドメインSSL設定
- BIND設定
- ゾーン情報の設定
Ubuntu:ブログサイト構築(Word Press)設定
- Webサーバー、PHP設定
- データベース設定
- ブログ用データーベースを作成
- WordPressインストール
- WordPress設定
- WordPress初期設定
- WordPressをドメイン直下での表示設定
WordPress:使いやすいWordPressの作り方
- 初期設定
- 記事エディターの拡張
- SEO対策
- Site Kit by Google
- 投稿記事ごとのSEO対策
- ウィジェット追加
- カスタムCSS
- クイックタグの追加
- スライドショー設置
- コメント欄非表示
- 関連記事表示
- もくじ表示
- リダイレクト検知
- Google にインデックスさせる
- マルチバイト機能の拡張
- サイトマップを出力
- お問い合わせフォーム
- 予約自動投稿
- 投稿記事の表示順
- 代替え入力
共通設定:サーバー自動起動設定
- BIOS設定
Ubuntu16:起動不能を復旧
Ubuntu21:パーティション操作
- Gpartedをインストール
共通設定:ディスクのクローン作成
- Ubuntu Desktopダウンロード
- ライブDVD作成
- ディスクのクローン作成
Ubuntu21:アップグレード
- アップグレード
- グラフィックスボードのドライバをインストール
Ubuntu21:アップグレード
アップグレード
クライアントPC(Windows)でTera Termを起動します。(Tera Termの使い方)
apt updateを実行します。
root@www:~~# apt -y update
apt-get upgradeを実行します。
root@www:~~# apt -y upgrade
apt dist-upgradeを実行します。
root@www:~~# apt -y dist-upgrade
update-manager-coreをインストールします。
root@www:~~# apt -y install update-manager
パッケージ構成の変更を有効にします。
root@www:~~# apt -y dist-upgrade
アップグレードします。
root@www:~~# do-release-upgrade -d
「y」で応答します。
続行する[yN] y
Enterキーを押下します。
続けるには [ENTER] キーを押してください
Enterキーを押下します。
続けるには [ENTER] キーを押してください
「y」の応答します。
続行する[yN] 詳細 [d] y
数回下記のような質問がありますが全て「y」の応答します。
*** sysctl.conf (Y/I/N/O/D/Z) [デフォルト=N] ? y
数回下記のような質問がありますが全て「現在インストールされているローカルバージョンを保持」を選択し「了解」をクリックします。(アップグレードではパスワードなどの再設定が必要な場合があります。)

バージョンを確認します。
root@www:~~# cat /etc/issue Ubuntu 21.04
Ubuntu21:パーティション操作
Gpartedをインストール
Gpartedをインストールします。
root@www:~~# apt -y install gparted
Windows スタートメニューから「アクセサリ」→「リモートデスクトップ接続」 を選択して接続画面を起動します。

サーバーIPアドレスを入力し「接続」をクリックします。

「root」(ユーザー名)、「password」(パスワード)を入力し「OK」をクリックします。

ディスクトップが表示されます。

「アクティビティ」→「Gpartedを検索」→「Gparted」を選択します。(次回からアプリケーションにアイコンが表示されます。)

「Gparted」が起動します。

Ubuntu21:Usermin設定
s50
Userminインストール.
必要な モジュールをインストールします。
root@www:~# 50_1apt -y install python apt-show-versions libapt-pkg-perl libauthen-pam-perl libio-pty-perl libnet-ssleay-perl
s51Userminモジュールをインストールします。
root@www:~# 51_1curl -L -O http://www.webmin.com/download/deb/usermin-current.deb root@www:~# 51_2dpkg -i usermin-current.deb
s52ファイルを設定します。
root@www:~# 52_1vi /etc/usermin/miniserv.conf
s53最終行についきします。
53_1allow=127.0.0.1 192.168.1.1/24
denyusers=root
keyfile=/etc/letsencrypt/live/ubuntuserver.jp/privkey.pem
certfile=/etc/letsencrypt/live/ubuntuserver.jp/fullchain.pem
s54起動します。
root@www:~# 54_1systemctl restart usermin
s55
起動確認.
Webブラウザを起動し、Userminへアクセスし、ユーザーでログインします。
Usermin:https://ubuntuserver.jp:20000/

s56クリックします。

s57クリックします。

s58「Usermin」→「Change Language」を選択して、日本語化します。

s59「Display in language:」→「Japanese(JA_JP,UTF-8)」を選択して、「Change」をクリックします。

s60「F5」キー押下して、「日本語表示」を確認します。

Ubuntu21:Webmin設定
Webminインストール
必要なモジュールをインストールします。
root@www:~# apt -y install python apt-show-versions libapt-pkg-perl libauthen-pam-perl libio-pty-perl libnet-ssleay-perl
Webmin をインストールします。
root@www:~# curl -L -O http://www.webmin.com/download/deb/webmin-current.deb root@www:~# dpkg -i webmin-current.deb
miniserv.confを設定します。
root@www:~# vi /etc/webmin/miniserv.conf
最終行にアクセス許可するIPを追記します。
allow=127.0.0.1 192.168.1.1/24
keyfile=/etc/letsencrypt/live/ubuntuserver.jp/privkey.pem
certfile=/etc/letsencrypt/live/ubuntuserver.jp/fullchain.pem
再起動します。
root@www:~# systemctl restart webmin
起動確認
Webブラウザを起動し、「https://ubuntuserver.jp:10000/」へアクセスし, root ユーザーでログインします。

「Change Language and Theme」をクリックします。

「Personal choice ..」、Japanese(JA_JP.UTF-8)を選択して、「Make Changes」をクリックします。

「F5」キー押下して、「日本語表示」を確認します。

Ubuntu21:ログ解析設定
Webアクセスログ解析(AWStats)のインストール
AWStatsをインストールします。
root@www:~# apt -y install awstats
ファイルを設定します。
root@www:~# vi /etc/awstats/awstats.ubuntuserver.jp.conf
126行目:変更します。
LogFormat=1
157行目:ホスト名を設定します。
SiteDomain="ubuntuserver.jp"
172行目:除外したドメイン名やIPアドレスを追記します。
HostAliases="localhost 127.0.0.1 REGEX[^.*ubuntuserver\.jp$] REGEX[^192\.168\.1\.]"
ファイルを作成します。
root@www:~# cp /usr/share/doc/awstats/examples/apache.conf /etc/apache2/conf-available/awstats.conf
ファイルを設定します。
root@www:~# vi /etc/apache2/conf-available/awstats.conf
12行目、21行目、30行目:アクセス許可IPを追記します。
Allow from 192.168.1.1/24
43行目:行頭に「#」を追記してコメント化します。
#ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
設定有効にします。
root@www:~# a2enconf awstats serve-cgi-bin
再起動します。
root@www:~# systemctl restart apache2 root@www:~# sed -i -e "s/www-data/root/g" /etc/cron.d/awstats
10分毎に自動更新する設定をします。
root@www:~# /usr/share/awstats/tools/update.sh
Web ブラウザを起動し、「http://ubuntuserver.jp/cgi-bin/awstats.pl」にアクセスして、作動確認します。

メールログ解析(Pfiogsumm)のインストール
pflogsumm をインストールします。
root@www:~# apt -y install pflogsumm
メールログのサマリーを出力します。
root@www:~# perl /usr/sbin/pflogsumm -d yesterday /var/log/maillog Postfix log summaries for Jul 29 Grand Totals ------------ messages 8 received 8 delivered 2 forwarded 1 deferred (1 deferrals) 0 bounced 0 rejected (0%) 0 reject warnings 0 held 0 discarded (0%) 2428k bytes received 2429k bytes delivered 3 senders 2 sending hosts/domains 2 recipients 2 recipient hosts/domains Per-Hour Traffic Summary ------------------------ time received delivered deferred bounced rejected -------------------------------------------------------------------- 0000-0100 0 0 0 0 0 0100-0200 0 0 0 0 0 0200-0300 0 0 0 0 0 …
root宛てにメール送信する設定をします。
root@www:~# crontab -e
最終行に毎日午前1時にメール送信する設定を追記します。
00 01 * * * perl /usr/sbin/pflogsumm -e -d yesterday /var/log/mail.log | mail -s 'Logwatch for Postfix' root
Ubuntu21:システム監視設定
Nagiosのインストール
nagiosユーザーを作成します。
root@www:~# useradd -d /usr/local/nagios/ -M nagios
Nagiosをダウンロードします。
root@www:~# wget https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.2.4/nagios-4.2.4.tar.gz
Nagiosを展開します。
root@www:~# tar zxvf nagios-4.2.4.tar.gz
Nagios展開先ディレクトリへ移動します。
root@www:~# cd nagios-4.2.4
Nagios日本語化パッチをダウンロードします。
root@www:nagios-4.2.4# wget http://ftp.momo-i.org/pub/security/nagios/patches/nagios-jp-4.2.4.patch.gz
Nagios日本語化パッチを施行します。
root@www:nagios-4.2.4# gzip -dc nagios-jp-4.2.4.patch.gz |patch -p1
Nagiosをインストールします。
root@www:nagios-4.2.4# ./configure && make all && make fullinstall && make install-config
ディレクトリを抜けます。
root@www:nagios-4.2.4# cd
Nagios展開先ディレクトリを削除します。
root@www:~# rm -rf nagios-4.2.4
ダウンロードしたファイルを削除します。
root@www:~# rm -f nagios-4.2.4.tar.gz
Nagiosプラグインインストール
mysql-clientをインストールします。
root@www:~# apt -y install mysql-client
libmysqlclient-devをインストールします。
root@www:~# apt -y install libmysqlclient-dev
Nagiosプラグインをダウンロードします。
root@www:~# wget https://nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz
Nagiosプラグインを展開します。
root@www:~# tar zxvf nagios-plugins-2.1.4.tar.gz
Nagiosプラグイン展開先ディレクトリへ移動します。
root@www:~# cd nagios-plugins-2.1.4
Nagiosプラグインをインストールします。
root@www:nagios-plugins-2.1.4# ./configure && make && make install
ディレクトリを抜けます。
root@www:nagios-plugins-2.1.4# cd
Nagiosプラグイン展開先ディレクトリを削除します。
root@www:~# rm -rf nagios-plugins-2.1.4
ダウンロードしたファイルを削除します。
root@www:~# rm -f nagios-plugins-2.1.4.tar.gz
Nagios設定
nagios.cfgを設定します。
root@www:~# vi /usr/local/nagios/etc/nagios.cfg
51行目:行頭の「#」を削除してコメント解除し、サーバー監視設定有効化を設定します。
cfg_dir=/usr/local/nagios/etc/servers
1094行目:日付書式をYYYY-MM-DD HH:MM:SSにするを設定します。
date_format=iso8601
サーバー監視設定ファイル格納ディレクトリを作成します。
root@www:~# mkdir /usr/local/nagios/etc/servers
contacts.cfgを設定します。
root@www:~# vi /usr/local/nagios/etc/objects/contacts.cfg
34行目:管理者メールアドレスを指定を設定します。
define contact{ contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit default values from generic-contact template (defined above) alias Nagios Admin ; Full name of user email root@localhost }
localhost.cfgを設定します。
root@www:~# vi /usr/local/nagios/etc/objects/localhost.cfg
141行目:SSH状態変化時に通知するを設定します。
define service{ use local-service ; Name of service template to use host_name localhost service_description SSH check_command check_ssh notifications_enabled 1 }
154行目:SSH状態変化時に通知するを設定します。
define service{ use local-service ; Name of service template to use host_name localhost service_description HTTP check_command check_http notifications_enabled 1 }
commands.cfgを設定します。
root@www:~# vi /usr/local/nagios/etc/objects/commands.cfg
29行目:nkfコマンドのメール本文文字化け対策を設定します。
# 'notify-host-by-email' command definition
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/nkf -j | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}
35行目:nkfコマンドのメール本文文字化け対策を設定します。
# 'notify-service-by-email' command definition
define command{
command_name notify-service-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/nkf -j | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}
Apache2設定
Nagios用Apache2設定ファイルを設定します。
root@www:~# vi /etc/apache2/sites-available/nagios.conf
16行目:追記します。
<RequireAny>
17行目:行頭に「#」を追記してコメント化し、内部からのみアクセス可能にする設定をします。
# Require all granted
19行目:内部ネットワーク(192.168.1.1/24)からのみアクセス可能にする設定をします。
Require ip 192.168.1.1/24
20行目:追記します。
</RequireAny>
49行目:追記します。
<RequireAny>
50行目:行頭に「#」を追記してコメント化し、内部からのみアクセス可能にする設定をします。
# Require all granted
52行目:内部ネットワーク(192.168.1.1/24)からのみアクセス可能にする設定をします。
Require ip 192.168.1.1/24
53行目:追記します。
</RequireAny>
Webサーバー設定反映を設定します。
root@www:~# systemctl restart apache2
Nagios管理ユーザー(nagiosadmin)を作成します。
root@www:~# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
パスワードを設定します。
New password:
Re-type new password:
Adding password for user nagiosadmin
Nagios起動
起動します。
root@www:~# systemctl restart nagios
Webブラウザを起動し、「http://ubuntuserver.jp/nagios/」にアクセスし、管理ユーザー:nagiosadmin、登録済パスワードでログインして動作確認をします。

Ubuntu21:MAILサーバー設定
Postfixの設定
外部からWebアクセスできるようにします。
root@www:~# vi /etc/apache2/sites-available/virtualhost-00-linuxserver.jp.conf <VirtualHost *:80> ServerName linuxserver.jp DocumentRoot /var/www/html ServerAlias mail.linuxserver.jp RewriteEngine On RewriteCond %{HTTP_HOST} ^linuxserver\.jp RewriteRule ^(.*)$ http://linuxserver.jp/$1 [R=301,L] </VirtualHost>
Postfixをインストールします。
root@www:~# apt -y install postfix sasl2-bin
「Tab」キーで「OK」を選択し、「Enter」を押下します。

「↑↓」キーで「Internet Site」を選択し、「Tab」キーで「OK」を選択し、「Enter」を押下します。

debianserver.jpを入力して「Tab」キーで「OK」を選択し、「Enter」を押下します。

Postfixを設定します。
root@www:~# cp /usr/share/postfix/main.cf.dist /etc/postfix/main.cf
root@www:~# vi /etc/postfix/main.cf
78行目:行頭の「#」を削除してコメント解除します。
mail_owner = postfix
94行目:行頭の「#」を削除してコメント解除し、メールサーバードメイン名を指定します。
myhostname = mail.linuxserver.jp
102行目:行頭の「#」を削除してコメント解除し、ドメイン名を指定します。
mydomain = linuxserver.jp
123日行目:行頭の「#」を削除してコメント解除し、送信元メールアドレスにドメイン名を指定します。
myorigin = $mydomain
137行目:行頭の「#」を削除してコメント解除します。
inet_interfaces = all
185行目:行頭の「#」を削除してコメント解除し、ドメインメールを受信する設定に変更します。
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
228行目:行頭の「#」を削除してコメント解除します。
local_recipient_maps = unix:passwd.byname $alias_maps
270行目:行頭の「#」を削除してコメント解除します。
mynetworks_style = subnet
287行目:ネットワーク設定を追記します。
mynetworks = 127.0.0.0/8, 192.168.1.1/24
407行目:行頭の「#」を削除してコメント解除します。
alias_maps = hash:/etc/aliases
418行目:行頭の「#」を削除してコメント解除します。
alias_database = hash:/etc/aliases
440行目:行頭の「#」を削除してコメント解除し、メール格納形式をMaildir形式にする設定をします。
home_mailbox = Maildir/
576行目:行頭に「#」を追記してコメント化します。
#smtpd_banner = $myhostname ESMTP $mail_name (linux)
577行目:メールサーバーソフト名の隠蔽化の設定を追記します。
smtpd_banner = $myhostname ESMTP unknown
650行目:sendmailパスの設定を追記します。
sendmail_path = /usr/sbin/postfix
655行目:メールの転送の設定を追記します。
newaliases_path = /usr/bin/newaliases
660行目:メールキューの設定を追記します。
mailq_path = /usr/bin/mailq
666行目:送信メッセージの一時格納場所のグループの設定を追記します。
setgid_group = postdrop
670行目:行頭に「#」を追記してコメント化します。
#html_directory =
674行目:行頭に「#」を追記してコメント化します。
#manpage_directory =
679行目:行頭に「#」を追記してコメント化します。
#sample_directory =
683行目:行頭に「#」を追記してコメント化します。
#readme_directory =
SMTP認証の設定を最終行へ追加します。
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject
受信メールサイズを10MB=10*1024*1024に制限する設定を最終行へ追記します。
message_size_limit = 10485760
master.cfを設定します。
root@www:~# vi /etc/postfix/master.cf
17行目:行頭の「#」を削除してコメント解除します。
submission inet n - n - - smtpd
20行目:行頭の「#」を削除してコメント解除します。
-o smtpd_sasl_auth_enable=yes
設定を有効にします。
root@www:~# newaliases
再起動します。
root@www:~# systemctl restart postfix
Dovecotのインストール
root@www:~# apt -y install dovecot-core dovecot-pop3d dovecot-imapd
dovecot.confを設定します。
root@www:~# vi /etc/dovecot/dovecot.conf
30行目:行頭「#」を削除してコメント解除し、IPv6を無効にする設定に変更します。
listen = *
10-mail.confを設定します。
root@www:~# vi /etc/dovecot/conf.d/10-mail.conf
30行目:メール格納形式をMaildir形式にする設定に変更します。
mail_location = maildir:~/Maildir
10-auth.confを設定します。
root@www:~# vi /etc/dovecot/conf.d/10-auth.conf
10行目:行頭「#」を削除してコメント解除し、プレインテキスト認証を許可する設定を追記します。
disable_plaintext_auth = no
100行目:追記します。
auth_mechanisms = plain login
10-master.confを設定します。
root@www:~# vi /etc/dovecot/conf.d/10-master.conf
106~109行目:行頭「#」を削除してコメント解除し追記します。
# Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }
10-ssl.confを設定します。
root@www:~# vi /etc/dovecot/conf.d/10-ssl.conf
6行目:SSL接続を無効にする設定に変更します。
ssl = no
起動します。
root@www:~# systemctl restart dovecot
SMTP認証設定
cyrus-saslをインストールします。
root@www:~# apt -y install sasl2-bin cyrus-sasl-plain
起動します。
root@www:~# systemctl start saslauthd
Maildir形式メールボックスの作成
新規ユーザー追加時に自動でMaildir形式メールボックス作成する設定をします。
root@www:~# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
メールボックスパーミッションを設定します。
root@www:~# chmod -R 700 /etc/skel/Maildir/
起動します。
root@www:~# systemctl restart postfix
現在のユーザーのMaildir形式メールボックス作成する設定をします。
[root@www ~]# wget https://rcg.jp/perfect_maildir/perfect_maildir.pl -O /usr/local/bin/perfect_maildir.pl [root@www ~]# chmod +x /usr/local/bin/perfect_maildir.pl
Maildir変換に必要なPerlのTimeDateモジュールをインストールします。
[root@www ~]# apt -y install perl-TimeDate
Postfixを停止します。
[root@www ~]# systemctl stop postfix
Maildir一括変換スクリプトを作成します。
[root@www ~]# vi migrate-maildir.sh #!/bin/bash # #Maildir一括変換スクリプト # #メールボックス=>Maildir形式変換スクリプト #http://perfectmaildir.home-dn.net/ FOLDERCONVERT=/usr/local/bin/perfect_maildir.pl #一般ユーザリスト USERLIST=`ls /home/` #ログ MIGRATELOG=/tmp/migrate-maildir.log rm -f $MIGRATELOG #引数(変換元メールボックス形式)チェック if [ "$1" != "mbox" ] && [ "$1" != "Mailbox" ]; then echo "Usage: migrate-maildir.sh {mbox|Mailbox}" exit fi #一般ユーザメールボックス移行 for user in $USERLIST; do if [ "$1" = "mbox" ]; then inbox="/var/spool/mail/${user}" else inbox="/home/${user}/Mailbox" fi if [ -f "${inbox}" ]; then newdir="/home/${user}/Maildir/" mkdir -p "$newdir" mkdir -p "$newdir"/cur mkdir -p "$newdir"/new mkdir -p "$newdir"/tmp chmod -R 700 "${newdir}" $FOLDERCONVERT "$newdir" < "${inbox}" >> $MIGRATELOG 2>&1 chown -R ${user}. "$newdir" find "$newdir" -type f -exec chmod 600 {} \; fi done #rootユーザメールボックス移行 user="root" if [ "$1" = "mbox" ]; then inbox="/var/spool/mail/${user}" else inbox="/${user}/Mailbox" fi if [ -f "${inbox}" ]; then newdir="/${user}/Maildir/" mkdir -p "$newdir" mkdir -p "$newdir"/cur mkdir -p "$newdir"/new mkdir -p "$newdir"/tmp chmod -R 700 "${newdir}" $FOLDERCONVERT "$newdir" < "${inbox}" >> $MIGRATELOG 2>&1 chown -R ${user}. "$newdir" find "$newdir" -type f -exec chmod 600 {} \; fi [ -a $MIGRATELOG ] && cat $MIGRATELOG;rm -f $MIGRATELOG
一括変換スクリプトを実行します。
[root@www ~]# sh migrate-maildir.sh mbox
Maildir一括変換スクリプトを削除します。
[root@www ~]# rm -f migrate-maildir.sh
Maildir変換ツールを削除します。
[root@www ~]# rm -f /usr/local/bin/perfect_maildir.pl
起動します。
[root@www ~]# systemctl restart postfix dovecot
webmasterユーザーをメール使用する場合は「/etc/aliases」を変更します。
[root@www ~]# vi /etc/aliases
行頭に#を追加して転送を無効にします。
#webmaster: root
転送設定を反映します。
[root@www ~]# newaliases
TCP25番、TCP587番ポート開放
ルーターの設定で、TCP25番、TCP587番ポートを開放します。(設定方法はご自身の環境に合わせて調べてください。)
ポート開放テスト
こちらのサイトで「ホスト名(linuxserver.jp)」、「ポート番号(25,587)」の開放確認をします。
メールサーバーのOP25B対策
メールサーバーのOP25B対策として送信メールをGmailを経由して送信するように設定します。
Postfixを設定します。
root@www:~# vi /etc/postfix/main.cf
以下を最終行へ追加します。
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
SMTP認証情報を設定します。
root@www:~# echo [smtp.gmail.com]:587 Gmailアドレス:Gmailパスワード > /etc/postfix/sasl_passwd
root以外参照できないようにパーミッション変更します。
root@www:~# chmod 640 /etc/postfix/sasl_passwd
SMTP認証情報をデータベース化します。
root@www:~# postmap /etc/postfix/sasl_passwd
Postfixを再起動します。
root@www:~# systemctl reload postfix
Gmailのメール転送設定
先にThunderbirdへGmail(送信用メール)を設定します。
Thunderbirdを起動し、送信用メールアドレスで「ブロックされたログインについてご確認ください」を開き、「安全性の低いアプリへのアクセスを許可」をクリックします。

ブラウザでGmailにログインします。

右上のユーザーアイコンを右クリック→「Googleアカウントの管理」→「セキュリティ」→「安全性の低いアプリのアクセス」でアクセスを有効にします。

TCP110番またはTCP143番ポート開放
ルーターの設定で、TCP110番またはTCP143番ポートを開放します。(設定方法はご自身の環境に合わせて調べてください。)
ポート開放テスト
こちらのサイトで「ホスト名(linuxserver.jp)」、「ポート番号(110または143)」の開放確認をします。
メールユーザーの追加
ユーザーを追加します。(ユーザー例:linux)
root@www:~# useradd linux
パスワードを設定します。
root@www:~# passwd linux Changing password for user linux. New UNIX password: Retype new UNIX password:
「/etc/ssh/sshd_config」を編集して、秘密鍵での認証接続を無効にする
sshd_configを編集します。
root@www:~# vi /etc/ssh/sshd_config
56行目:「no」→「yes」に変更します。
PasswordAuthentication yes
SSHを再起動します。
root@www:~# systemctl restart sshd
TeraTermでlinuxユーザーの接続確認をします。
SSHサーバー公開鍵認証方式接続の設定をします。
メールソフトの登録
Thunderbirdを起動し、メールをクリックします。

あなたのお名前、メールアドレス(linux@linuxserver.jp)、パスワードを入力し、「続ける」をクリックします。

「手動設定」をクリックします。

| サーバーのホスト名 | ポート番号 | SSL | 認証方式 | ||
| 受信サーバー | POP3 | mail.linuxserver.jp | 110 | 接続の保護なし | 通常のパスワード認証 |
| 送信サーバー | SMTP | mail.linuxserver.jp | 587 | 接続の保護なし | 通常のパスワード認証 |
上の表を参考にして設定し、「完了」をクリックします。

「接続する上での危険性を理解しました」を選択して「完了」をクリックします。

サーバー証明書の取得
Certbotをインストールします。
root@www:~# apt -y install certbot
証明書を取得します。
ドキュメントルート:/var/www/html/
メールアドレス:webmaster@linuxerver.jp
メールサーバー名:mail.linuxserver.jp
root@www:~# certbot certonly --webroot -w /var/www/html/ -m webmaster@linuxserver.jp -d mail.linuxserver.jp --agree-tos
証明書自動更新を設定します。
root@www:~# vi /etc/cron.d/letsencrypt
下記を追記します。
00 16 * * 2 root /usrobin/certbot renew --post-hook "service httpd restart"
SSLの設定
main.cfを設定します。
root@www:~# vi /etc/postfix/main.cf
下記を最終行に追記します。
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.linuxserver.jp/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.linuxserver.jp/privkey.pem
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
tls_high_cipherlist = kEECDH:+kEECDH+SHA:kEDH:+kEDH+SHA:+kEDH+CAMELLIA:kECDH:+kECDH+SHA:kRSA:+kRSA+SHA:+kRSA+CAMELLIA:!aNULL:!eNULL:!SSLv2:!RC4:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES
smtp_tls_ciphers = high
smtpd_tls_ciphers = high
smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3
smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3
master.cfを設定します。
root@www:~# vi /etc/postfix/master.cf
17行目:行頭に「#」を追加してコメント化し、SUBMISSIONポートを無効化します。
#submission inet n - n - - smtpd
20行目:行頭に「#」を追加してコメント化し、SUBMISSIONポートのSMTP認証を無効化します。
# -o smtpd_sasl_auth_enable=yes
29行目:行頭の「#」を削除してコメント解除し、SMTPSを有効化します。
smtps inet n - n - - smtpd
31行目:行頭の「#」を削除してコメント解除し、SMTPSを有効化します。
-o smtpd_tls_wrappermode=yes
32行目:行頭の「#」を削除してコメント解除し、SMTPSを有効化します。
-o smtpd_sasl_auth_enable=yes
45行目:行頭の「#」を削除してコメント解除し、SMTPSを有効化します。
tlsmgr unix - - n 300 1 tlsmgr
再起動します。
root@www:~# systemctl restart postfix
TCP465番ポート開放
ルーターの設定で、TCP465番ポートを開放します。(設定方法はご自身の環境に合わせて調べてください。)
ポート開放テスト
こちらのサイトで「ホスト名(mail.linuxserver.jp)」、「ポート番号(465)」の開放確認をします。
TCP587番ポート閉鎖
ルーターの設定で、TCP587番ポートを閉鎖します。(設定方法はご自身の環境に合わせて調べてください。)
ポート開放テスト
こちらのサイトで「ホスト名(mail.linuxserver.jp)」、「ポート番号(587)」の開放されていないことを確認をします。
Dovecot設定
10-auth.confを設定します。
root@www:~# vi /etc/dovecot/conf.d/10-ssl.conf
6行目:SSL接続を有効にする設定に変更します。
ssl = yes
12行目:行頭の「#」を削除してコメント解除し、サーバー証明書+中間証明書を指定します。
ssl_cert = </etc/letsencrypt/live/mail.linuxserver.jp/fullchain.pem
13行目:行頭の「#」を削除してコメント解除し、秘密鍵を指定します。
ssl_key = </etc/letsencrypt/live/mail.linuxserver.jp/privkey.pem
再起動します。
root@www:~# systemctl restart dovecot
TCP995番またはTCP993番ポート開放
ルーターの設定で、TCP995番またはTCP993番ポートを開放します。(設定方法はご自身の環境に合わせて調べてください。)
ポート開放テスト
こちらのサイトで「ホスト名(mail.linuxserver.jp)」、「ポート番号(995または993)」の開放確認をします。
メールソフトの設定変更
Thunderbirdを起動し、メールアドレスを選択し、「このアカウントの設定を表示する」をクリックします。
「サーバー設定」をクリックし、「接続の保護」で「SSL/TLS」を選択します。
「送信(SMTP)サーバー」をクリックし、SMTPサーバーを選択して「編集」をクリックします。

「ポート番号」に「465」を入力し、「接続の保護」で「SSL/TLS」を選択して、「OK」をクリックします。

「OK」をクリックします。

アンチウィルスソフトの連携(Clamav)
Clamav をインストールします。
root@www:~# apt -y install clamav-daemon clamsmtp
clamsmtpd.confを設定します。
root@www:~# vi /etc/clamsmtpd.conf
27行目:行頭の「#」を削除してコメント解除します。
Header: X-AV-Checked: ClamAV using ClamSMTP
45行目:変更します。
User: clamav
設定を有効にします。
root@www:~# chown -R clamav. /var/spool/clamsmtp root@www:~# chown -R clamav. /var/run/clamsmtp
main.cfを設定します。
root@www:~# vi /etc/postfix/main.cf
最終行へ追記します。
content_filter = scan:127.0.0.1:10026
master.cfを設定します。
root@www:~# vi /etc/postfix/master.cf
最終行へ追記します。
scan unix - - n - 16 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - 16 smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks_style=host
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
再起動します。
root@www:~# systemctl restart clamav-daemon clamsmtp postfix
Ubuntu21:FTPサーバー設定
Vsftpd のインストール
Vsftpd をインストールします。
root@www:~# apt -y install vsftpd
Vsftpd を設定します。
root@www:~# vi /etc/vsftpd.conf
31行目:行頭の「#」を削除してコメント解除します。
write_enable=YES
99,100行目:行頭の「#」を削除してコメント解除し、アスキーモードでの転送を許可します。
ascii_upload_enable=YES ascii_download_enable=YES
122,123行目:行頭の「#」を削除しコメント解除し、chrootを有効にします。
chroot_local_user=YES chroot_list_enable=YES
125行目:行頭の「#」を削除しコメント解除し、リストファイルを指定します。
chroot_list_file=/etc/vsftpd/chroot_list
131行目:行頭の「#」を削除しコメント解除し、ディレクトリ転送を有効にします。
ls_recurse_enable=YES
ローカルタイム指定を最終行に追記します。
seccomp_sandbox=NO
上層への移動を許可するユーザーを追加します。
root@www:~# vi /etc/vsftpd.chroot_list
ユーザー名を追記します。
webmaster
「/var/www/html」の書き込みを許可します。
root@www:~# chmod 0777 /var/www/html
起動します。
root@www:~# systemctl restart vsftpd
FTPクライアントの設定
「FFFTP」をダウンロード・インストールし、起動します。

「接続」をクリックします。

「接続」をクリックします。

「新規ホスト」をクリックします。

「ホストの設定名」に分かりやすい名前を決めて入力します。

「ホスト名(192.168.1.3)」を入力します。

「ユーザー名(webmaster)」を入力します。

「パスワード」を入力します。

「OK」をクリックします。


