アフィリエイト広告を利用しています
ファン
最新記事
写真ギャラリー
カテゴリーアーカイブ
日別アーカイブ
<< 2016年06月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2016年06月05日

Redmine on docker

docker-composeインストール


前々記事
前回記事の続き。

この環境を使用し、プロジェクト管理ツール「Redmine」をインストールしてみた。

インストール手順


基本、下記のとおり、やってみた。

https://github.com/sameersbn/docker-redmine

  • イメージのダウンロード


[root@cent7 ~]#docker pull sameersbn/redmine:3.2.1-6

  • 手動でpostgreSQLのコンテナを起動


docker run --name=postgresql-redmine -d \
--env='DB_NAME=redmine_production' \
--env='DB_USER=redmine' --env='DB_PASS=password' \
--volume=/srv/docker/redmine/postgresql:/var/lib/postgresql \
sameersbn/postgresql:9.4-21

  • 手動でRedmineのコンテナを起動


docker run --name=redmine -d \
--link=postgresql-redmine:postgresql --publish=10083:80 \
--env='REDMINE_PORT=10083' \
--volume=/srv/docker/redmine/redmine:/home/redmine/data \
sameersbn/redmine:3.2.1-6


  • Redmineにアクセスする


http://インストールしたサーバ(dokcerが稼働するホスト)のIPアドレス:10083/
にアクセスする。





  • ログイン

以下で、ログインする。

•username: admin
•password: admin




ログインできたので、、利用する。








タグ:docker

docker-composeのインストール

CentOS7をインストールを使用し、dockerによる環境構築自動化のため、docker-composeをインストールする。

まず、ダウンロードする。

[root@cent7 ~]# curl -L https://github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
[root@cent7 ~]#




実行権限を付与する。


[root@cent7 ~]# chmod +x /usr/local/bin/docker-compose
[root@cent7 ~]#





タグ:docker

2016年06月04日

docker事始め

CentOS7をインストールを使用し、dockerを触ってみた。
dockerインストール


[root@cent7 ~]# yum install -y docker


dockerインストール後の確認

[root@cent7 ~]# rpm -qa | grep docker
docker-1.9.1-40.el7.centos.x86_64
docker-selinux-1.9.1-40.el7.centos.x86_64
docker-forward-journald-1.9.1-40.el7.centos.x86_64
docker-common-1.9.1-40.el7.centos.x86_64
[root@cent7 ~]#
[root@cent7 ~]# systemctl start docker
[root@cent7 ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@cent7 ~]# systemctl -t service list-unit-files | grep -i docker
docker-storage-setup.service disabled
docker.service enabled
[root@cent7 ~]#



dockerイメージファイルの取得

イメージファイルをdocker pullコマンドで、インターネット経由で取得する。
[root@cent7 ~]# docker pull centos;centos6
Using default tag: latest
Trying to pull repository docker.io/library/centos ... latest: Pulling from library/centos
1544084fad81: Pull complete
df0fc3863fbc: Pull complete
a3d54b467fad: Pull complete
a65193109361: Pull complete
Digest: sha256:1a62cd7c773dd5c6cf08e2e28596f6fcc99bd97e38c9b324163e0da90ed27562
Status: Downloaded newer image for docker.io/centos:latest

[root@cent7 ~]#



dockerイメージファイルの確認


[root@cent7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
docker.io/centos latest a65193109361 33 hours ago 196.7 MB
[root@cent7 ~]#


コンテナの起動


docker リポジトリから、ダウンロードしたイメージファイル群のうち、centos6というタグのついたイメージファイルから、コンテナを生成し、起動する。
--nameオプションはコンテナの名前を指定する。-iオプションは、コンテナの標準入力を開いた状態にし、-tオプションは、仮想端末を割り当て、「コンテナの標準入力にアタッチする。
[root@cent7 ~]# docker run --name test01 -i -t centos:centos6 /bin/bash
Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
[root@ada7fb668bb6 /]#


コンテナのOSのバージョンを確認


コンテナのOSのバージョンを確認します。
[root@ada7fb668bb6 /]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@ada7fb668bb6 /]#
[root@ada7fb668bb6 /]# hostname
ada7fb668bb6
[root@ada7fb668bb6 /]#


イメージファイルの検証

試しに、dockerコンテナ上にの/rootディレクトリに、ファイルtestfileを作成してみる。
[root@ada7fb668bb6 /]# touch /root/testfile
[root@ada7fb668bb6 /]# ls -l /root/testfile
-rw-r--r-- 1 root root 0 Jun 4 06:09 /root/testfile
[root@ada7fb668bb6 /]#

dockerコンテナのOS環境から、離脱する。

[root@ada7fb668bb6 /]# exit
exit
[root@cent7 ~]#


コンテナの一覧表示

ホストOS上で、過去に起動したコンテナ一覧を確認
[root@cent7 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ada7fb668bb6 centos:centos6 "/bin/bash" 5 minutes ago Exited (130) 26 seconds ago test01


コンテナのイメージ化

作業したコンテナを再利用できるように、コンテナのイメージ化を行う。作業したコンテナIDとイメージを指定して、コミットを行う。
[root@cent7 ~]# docker commit ada7fb668bb6 centos:centos6
4dcb99183e43d3ce417d19b753f520bc894aea858c2729ea9b3c6270f4787a7a
[root@cent7 ~]#


コンテナの一覧表示

現在のイメージファイルの一覧を確認。
[root@cent7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos centos6 4dcb99183e43 40 seconds ago 194.6 MB
docker.io/centos centos6 e133ccd15399 34 hours ago 194.6 MB
docker.io/centos latest a65193109361 34 hours ago 196.7 MB
[root@cent7 ~]#

別のコンテナの生成と確認

先程、コミットしたイメージファイル「centos:centos6」を使って、別のコンテナtest02を生成。
[root@cent7 ~]# docker run --name test02 -i -t centos:centos6 /bin/bash
Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
[root@e23e4c8f9044 /]# ls -l /root/testfile
-rw-r--r-- 1 root root 0 Jun 4 06:09 /root/testfile

コンテナtest02で/root/testfile2を生成する

[root@e23e4c8f9044 /]# touch /root/testfile2
[root@e23e4c8f9044 /]# exit
exit
[root@cent7 ~]#


別のコンテナのコミット

ホストOS側で、生成したtest02をコミットする。

[root@cent7 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e23e4c8f9044 centos:centos6 "/bin/bash" 2 minutes ago Exited (0) 53 seconds ago test02
ada7fb668bb6 e133ccd15399 "/bin/bash" 29 minutes ago Exited (130) 24 minutes ago test01
[root@cent7 ~]#
[root@cent7 ~]# docker commit e23e4c8f9044 centos:testfile2
b01c09c05772010e429b215463d343fa0116e8cff26709b1eca8aaf6f24c3d13
[root@cent7 ~]#


コンテナの一覧表示

現在のイメージファイルの一覧を確認。
[root@cent7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos testfile2 b01c09c05772 50 seconds ago 194.6 MB
centos centos6 4dcb99183e43 24 minutes ago 194.6 MB
docker.io/centos centos6 e133ccd15399 34 hours ago 194.6 MB
docker.io/centos latest a65193109361 34 hours ago 196.7 MB
[root@cent7 ~]#


参考書籍









タグ:docker

CentOS6.xとCentOS7とのサービス管理コマンド比較


前回記事の続き。
CentOS6.xとCentOS7とのサービス管理コマンド比較。

サービスの開始

(CentOS6.x)

#service vsftpd start


(CentOS7)

#systemctl start vsftpd



サービスの停止

(CentOS6.x)

#service vsftpd start


(CentOS7)

#systemctl start vsftpd



サービスの再起動

(CentOS6.x)

#service vsftpd restart


(CentOS7)

#systemctl restart vsftpd



設定ファイルの再読み込み

(CentOS6.x)

#service vsftpd reload


(CentOS7)

#systemctl reload vsftpd



ただし、該当サービスのユニット管理ファイルに「ExecReload=」オプションの指定のないサービスの場合、reloadオプションはエラーになります。」

[root@cent7 ~]# cat /usr/lib/systemd/system/vsftpd.service
[Unit]
Description=Vsftpd ftp daemon
After=network.target

[Service]
Type=forking
ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

[Install]
WantedBy=multi-user.target
[root@cent7 ~]# systemctl reload vsftpd
Failed to reload vsftpd.service: Job type reload is not applicable for unit vsftpd.service.



サービス状態の確認

(CentOS6.x)

#service vsftpd status


(CentOS7)

#systemctl status vsftpd



サービスがすでに稼働している場合、サービスを再起動する

(CentOS6.x)

#service vsftpd condrestart


(CentOS7)

#systemctl condrestart vsftpd



次回OS起動時に自動的にサービス再起動する

(CentOS6.x)

#chkconfig vsftpd on


(CentOS7)

#systemctl enable vsftpd



次回OS起動時に自動的にサービス再起動しない

(CentOS6.x)

#chkconfig vsftpd off


(CentOS7)

#systemctl disable vsftpd



ランレベルごとの全サービス有効・無効確認

(CentOS6.x)

#chkconfig --list


(CentOS7)

#systemctl -t service list-unit-files



ランレベルごとに指定したサービスの有効・無効確認

(CentOS6.x)

#chkconfig --list vsftpd


(CentOS7)

#systemctl -t service list-unit-files | grep -i vsftpd



参考書籍




CentOS7「systemd」についての備忘録

前回記事の続き。

CentOS7でのサービス系管理機能「systemd」についての備忘録。

systemdの仕組み

CentOS7では、chckconfigコマンドによるサービスの有効化、無効化などに代わり、
systemctlコマンドを使って、サービスの起動、停止、状態管理などを行う。
systemdでは、ユニットと呼ばれる単位で、管理を行う。

ユニットとは

ユニットとは、systemdの管理対象となる処理の単位のことを指し、次に示すいくつかのタイプが存在する。

  • service:各種デーモンやサービスの起動
  • target:複数のユニットをグループ化したもの
  • mount:ファイルシステムのマウント制御
  • device:ディスクデバイス
  • socket:FIFP、Unixドメインソケット、ポート番号などに関する通信資源


OSの起動時における起動の有効化・無効化確認


OSの起動時における起動の有効化・無効化および設定状態を確認するには、ユニットの種類として、「service」を指定し、
list-unit-filesを指定する。


[root@cent7 ~]# systemctl -t service list-unit-files
UNIT FILE STATE
arp-ethers.service disabled
auditd.service enabled
UNIT FILE STATE
・・・・
・・・・
tuned.service enabled
wpa_supplicant.service disabled

144 unit files listed.


FTPサービスの設定事例



[root@cent7 ~]# systemctl -t service list-unit-files | grep -i vsftpd
vsftpd.service disabled
vsftpd@.service disabled
[root@cent7 ~]#


「disabled」は、OS起動時に自動起動しない。

FTPサービスの状態確認


[root@cent7 ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[root@cent7 ~]#


「Active:」の項目は、「inactive (dead)」のため、現在、vstpdは起動していない。

FTPサービス起動


[root@cent7 ~]# systemctl start vsftpd
[root@cent7 ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
Active: active (running) since 土 2016-06-04 13:21:17 JST; 4s ago
Process: 8452 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
Main PID: 8453 (vsftpd)
CGroup: /system.slice/vsftpd.service
mq8453 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

6月 04 13:21:17 cent7 systemd[1]: Starting Vsftpd ftp daemon...
6月 04 13:21:17 cent7 systemd[1]: Started Vsftpd ftp daemon.
[root@cent7 ~]#


「Active:」の項目は、「active (running) 」のため、現在、vstpdは起動している。

FTPサービス自動起動設定


[root@cent7 ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@cent7 ~]# systemctl -t service is-enabled vsftpd
enabled
[root@cent7 ~]#


2016年05月22日

CentOS7.2のカーネルアップデート

前回記事の続き。

フルブラウザ・ソリューションの検証を行うことに伴い、Linuxカーネル3.18以上にしなければならないことを受け、CentOS7.2上のカーネルのアップデートを行う。

CentOS7.2のカーネル初期状態


前回記事の通り、インストールを行うと、
カーネルは下記のとおり、3.10となっている。

[root@centos7 ~]# uname -r
3.10.0-327.el7.x86_64
[root@centos7 ~]#



上記を、Linuxカーネル3.18以上にアップデートする。

yumのリポジトリ追加


yumのリポジトリに下記のとおり、elrepoを追加する。

[root@centos7 ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[root@centos7 ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo



(実行例)

[root@centos7 ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[root@centos7 ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo .noarch.rpm
http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm を取得中
準備しています... ################################# [100%]
更新中 / インストール中...
1:elrepo-release-7.0-2.el7.elrepo ################################# [100%]
[root@centos7 ~]#



最新版のLinuxカーネルのインストール


下記のコマンドで、最新版のLinuxカーネルをインストールする。

[root@centos7 ~]# yum install --enablerepo=elrepo-kernel kernel-ml



(実行例)
赤字個所は、「y」を入力

[root@centos7 ~]# yum install --enablerepo=elrepo-kernel kernel-ml
読み込んだプラグイン:fastestmirror, langpacks

base | 3.6 kB 00:00:00
elrepo | 2.9 kB 00:00:00
elrepo-kernel | 2.9 kB 00:00:00
extras | 3.4 kB 00:00:00
google-chrome | 951 B 00:00:00
updates | 3.4 kB 00:00:00
(1/4): extras/7/x86_64/primary_db | 131 kB 00:00:00
(2/4): updates/7/x86_64/primary_db | 4.9 MB 00:00:01
(3/4): elrepo/primary_db | 352 kB 00:00:02
(4/4): elrepo-kernel/primary_db | 1.6 MB 00:00:02
google-chrome/primary | 1.8 kB 00:00:00
Determining fastest mirrors
* base: ftp.tsukuba.wide.ad.jp
* elrepo: ftp.ne.jp
* elrepo-kernel: ftp.ne.jp
* extras: ftp.tsukuba.wide.ad.jp
* updates: ftp.tsukuba.wide.ad.jp
google-chrome 3/3
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ kernel-ml.x86_64 0:4.6.0-1.el7.elrepo を インストール
--> 依存性解決を終了しました。

依存性を解決しました

========================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
========================================================================================================================================================================
インストール中:
kernel-ml x86_64 4.6.0-1.el7.elrepo elrepo-kernel 38 M

トランザクションの要約
========================================================================================================================================================================
インストール 1 パッケージ

総ダウンロード容量: 38 M
インストール容量: 173 M
Is this ok [y/d/N]: y
Downloading packages:
kernel-ml-4.6.0-1.el7.elrepo.x86_64.rpm | 38 MB 00:00:18
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告: RPMDB は yum 以外で変更されました。
インストール中 : kernel-ml-4.6.0-1.el7.elrepo.x86_64 1/1
検証中 : kernel-ml-4.6.0-1.el7.elrepo.x86_64 1/1

インストール:
kernel-ml.x86_64 0:4.6.0-1.el7.elrepo

完了しました!
[root@centos7 ~]#



起動カーネルリストの確認と起動カーネルの変更


下記コマンドで起動カーネルの一覧を確認する。

[root@centos7 ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.6.0-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-bc631b2b63824f4ba0f76521579e4d64) 7 (Core)
[root@centos7 ~]#


 ※上記で順番を確認する。(最初の行が0行目)。カーネルバージョンが最新のものの行を確認する。

下記のコマンドで、起動カーネルを最初の行である「4.6.0-1.el7.elrepo.x86_64」に変更する。

[root@centos7 ~]#grub2-set-default 0




起動ファイルに反映し再起動


下記のコマンドで、起動カーネルの変更を起動ファイルに反映する。

[root@centos7 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg



(実行例)

[root@centos7 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.6.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.6.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-bc631b2b63824f4ba0f76521579e4d64
Found initrd image: /boot/initramfs-0-rescue-bc631b2b63824f4ba0f76521579e4d64.img
done



その後、再起動する。

[root@centos7 ~]# shutdown -r now



再起動後のカーネルバージョン確認


再起動したら、カーネルがアップデートされた状態(ここでは、「4.6.0-1.el7.elrepo.x86_64」)で起動していることを確認する。

[root@centos7 ~]# uname -r
4.6.0-1.el7.elrepo.x86_64
[root@centos7 ~]#











2016年05月21日

CentOS7.2へのGoogle-Chromeインストール

前回記事でのダブルブラウザ・ソリューションの検証を行うことに伴い、CentOS7.2上へのGoogle-Chromeインストール手順のメモ。

以下、構築手順の記載。

Google-Chrome用のyumリポジトリ作成


リポジトリ編集用ファイルを開く。

[root@centos7 ~]# vi /etc/yum.repos.d/google-chrome.repo



以下のとおり、編集を行う。

[root@centos7 ~]# cat /etc/yum.repos.d/google-chrome.repo
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
[root@centos7 ~]#



Google-Chromeインストール


・下記のコマンドでgoogle-chrome-stableをインストールする。

[root@centos7 ~]# yum install google-chrome-stable

読み込んだプラグイン:fastestmirror, langpacks
google-chrome | 951 B 00:00
google-chrome/x86_64/primary | 1.8 kB 00:00
Determining fastest mirrors
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
google-chrome 3/3
依存性の解決をしています
--> トランザクションの確認を実行しています。

〜 中略 〜


トランザクションの要約
================================================================================
インストール 1 パッケージ (+79 個の依存関係のパッケージ)

総ダウンロード容量: 73 M
インストール容量: 255 M
Is this ok [y/d/N]: y  ※途中対話的な質問が来たら、「y」でenterする。
Downloading packages:

redhat-lsb-submod-multimedia.x86_64 0:4.1-27.el7.centos.1
redhat-lsb-submod-security.x86_64 0:4.1-27.el7.centos.1
spax.x86_64 0:1.5.2-13.el7
systemtap-sdt-devel.x86_64 0:2.8-10.el7

〜 中略 〜

完了しました!
[root@centos7 ~]#



Google-Chromeバージョン確認


・インストールが完了したら、google-chrome -versionを確認する。

[root@centos7 ~]# google-chrome -version
Google Chrome 50.0.2661.86
[root@centos7 ~]#



Google-Chrome起動確認


その後、(rootでない一般ユーザーで)CentOSにGUIログインし、 [アプリケーション]-[GoogleChrome]を起動する。




Google-ChromeWEB閲覧確認


CentOS上で、GoogleChromeによるWeb閲覧ができることを確認する


タグ:CentOS7

2016年05月20日

CentOS7.2インストール

会社で、下記のダブルブラウザ・ソリューションの検証を行うことに。

「Microsoft RDS CALが不要の「Linux仮想ブラウザ」なら、大幅にコスト削減」
http://www.ashisuto.co.jp/product/theme/virtualization/doublebrowser.html

まずは、上記のソリューションは、CentOS7(Linuxカーネル3.18以上)が必要となるが、
CentOS7以降、コマンド体系が変更されたことを言い訳に、学習をおろそかにしていたため、
ここで、下記要件をもとに、手順を整備しておくことにした。

・VmwareEsxi5.1の仮想マシン上にCentOS7.2をGUIモードでインストールする。
・SELinux、ファイルーウォール機能は、無効化する。
・GoogleChromeをインストールする。
・カーネルを3.18以上にアップデートする。

CentOS7.2インストール手順


画面ショットが多いため、下記にPDFファイルを格納。
https://drive.google.com/file/d/0B2yjG8delT8WTVBNcGhhNE1YdDg/view?usp=sharing



ネットワーク設定


https://drive.google.com/file/d/0B2yjG8delT8WQW9VYU1RRjQ2SHc/view?usp=sharing

ファイアーウォール無効化


https://drive.google.com/file/d/0B2yjG8delT8WcUYtMl9HM1EyUFE/view?usp=sharing

SELinux無効化


https://drive.google.com/file/d/0B2yjG8delT8WcXFlOHJIejJYZlU/view?usp=sharing


参考書籍


インストールにおいては、下記を参照した。
いずれ、CentOS6までとのコマンド体系などの変更点をまとめたい。

CentOS 7実践ガイド (impress top gear)

新品価格
¥3,240から
(2016/5/20 23:18時点)




Lenovo G500 タッチパッド無効化

Lenovo G500 タッチパッド無効化の手順をいつも忘れるため、備忘録的に。

下記は、Windows10の場合の手順

[コントロールパネル]-[ハードウェアとサウンド]をクリック




[デバイスとプリンタ]-[マウス]をクリック




[EVLAN]-[デバイスを停止]をクリック




再度有効にしたい場合は、
[EVLAN]-[デバイスを有効にする]をクリック








2016年04月10日

sendmailによるSPF認証対応受信メールサーバ@(環境構築)


前回記事でのでSPF認証対応受信メールサーバ構築のための環境整備に続き、実際に、sendmailによるSPF認証対応受信メールサーバを構築してみる。
なお、spf対応の実現方法は、「smf-spf 」を使用する。

検証環境


検証環境の前提は、前回記事と同じ。
・受信メールサーバは、RedhatEnterpriseLinux6.4、sendmail-8.14.4-9を使用
・spfへの対応は、smf-spf を使用する。
・検証に使用するドメインは、「simalab.com」
・DNSサーバ上で、mxレコードを受信側IPアドレスに設定
・DNSサーバ上で、spfレコードを送信側IPアドレスに設定
・送信サーバ側でメールを送信した場合、送信者アドレスのドメイン部を「log.simalab.com」を「simalab.com」に書き換える。




参照URL
こちらの方のエントリーを参考にさせてもらった。
http://server-setting.info/centos/sendmail-smf-spf-install.html

以下、構築手順の記載。

wgetのインストール

wgetがインストールされていない場合は、下記のとおりインストール

[root@mx-ns src]# yum install wget


rpmのダウンロード

参照URLのとおり、smf-spf の rpm は、通常のリポジトリにはない模様。
smf-spf の rpm は、http://www.city-fan.org/ で公開されているため、そちらのリポジトリを参照可能とするため、
city-fan.org で公開されているリポジトリをまずは、インストールする。

検証環境は、RHEL6.4のため、下記を使用する。
http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm


ここでは、/usr/local/srcにダウンロードした。

[root@mx-ns src]# wget http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm



公開鍵のインポート

CITY-FAN.ORGの公開鍵をインポートする。

[root@mx-ns src]# rpm --import http://www.city-fan.org/ftp/contrib/yum-repo/CITY-FAN.ORG-GPG-KEY



city-fan.org リポジトリのインストール

city-fan.org リポジトリをインストールする

[root@mx-ns src]# rpm -Uvh city-fan.org-release-1-13.rhel6.noarch.rpm
準備中... ########################################### [100%]
1:city-fan.org-release ########################################### [100%]
[root@mx-ns src]#


city-fan.org リポジトリファイルの編集

まさに、参照URL記載のとおり、city-fan.org リポジトリは、正式なところでもないので常に無効にしておく(下記赤字箇所)。使いたい時は、yum のパラメータに–enablerepo を指定して使うようにする。

[root@mx-ns src]# cat /etc/yum.repos.d/city-fan.org.repo
[city-fan.org]
name=city-fan.org repository for Red Hat Enterprise Linux (and clones) $releasever ($basearch)
#baseurl=http://mirror.city-fan.org/ftp/contrib/yum-repo/rhel$releasever/$basearch
mirrorlist=http://mirror.city-fan.org/ftp/contrib/yum-repo/mirrorlist-rhel$releasever
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-city-fan.org

[city-fan.org-debuginfo]
name=city-fan.org debuginfo repository for Red Hat Enterprise Linux (and clones) $releasever ($basearch)
#baseurl=http://www.city-fan.org/ftp/contrib-debug/rhel$releasever/$basearch
mirrorlist=http://www.city-fan.org/ftp/contrib-debug/mirrorlist-rhel$releasever
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-city-fan.org

[city-fan.org-source]
name=city-fan.org source repository for Red Hat Enterprise Linux (and clones) $releasever
#baseurl=http://mirror.city-fan.org/ftp/contrib/yum-repo/rhel$releasever/source
mirrorlist=http://mirror.city-fan.org/ftp/contrib/yum-repo/source-mirrorlist-rhel$releasever
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-city-fan.org



smf-spf のインストール

smf-spf を --enablerepo=city-fan.orgオプション付きでインストールする。

[root@mx-ns src]# yum --enablerepo=city-fan.org install smf-spf

〜中略〜
依存性関連をインストールしました:
libspf2.x86_64 0:1.2.10-8.el6 sendmail-milter.x86_64 0:8.15.2-6.0.cf.rhel6

完了しました!
[root@mx-ns src]#



MILTER の確認

参照URLのとおり、smf-spf を sendmailで利用するためには、メールフィルタリングを実施する「MILTER 」がインストールされていないとダメなようなので、確認する。通常、CentOS , Scientific Linux で提供されている Sendmailは、既に組み込まれているようだが、検証環境(RHEL)でも念のため、確認しておく。

[root@mx-ns src]# sendmail -d0.10
Version 8.14.4
Compiled with: DNSMAP HESIOD HES_GETMAILHOST LDAPMAP LOG MAP_REGEX
MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6
NETUNIX NEWDB NIS PIPELINING SASLv2 SCANF SOCKETMAP STARTTLS
TCPWRAPPERS USERDB USE_LDAP_INIT



smf-spf を利用するようにsendmail.mcの編集

以下をsendmail.mcに追加する。
[[root@mx-ns src]# vi /etc/mail/sendmail.mc
# 追加
define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`, {verify}')dnl
INPUT_MAIL_FILTER(`smf-spf', `S=unix:/var/run/smfs/smf-spf.sock, T=S:30s;R:1m')dnl


mcファイルをコンパイルする。

[root@mx-ns src]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf



smf-spf を起動する

下記のコマンドでsmf-spf を起動する。

[[root@mx-ns src]# service smf-spf start
smf-spf を起動中: [ OK ]
[root@mx-ns src]#



起動したら、システム再起動後も自動で起動するように設定をしておく。

[root@mx-ns src]# chkconfig --list smf-spf
smf-spf 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@mx-ns src]#
[root@mx-ns src]# chkconfig smf-spf on
[root@mx-ns src]#
[root@mx-ns src]# chkconfig --list smf-spf
smf-spf 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@mx-ns src]#



sendmail を再起動する


最後にsendmailを再起動する。

[root@mx-ns src]# service sendmail restart
sm-client を停止中: [ OK ]
sendmail を停止中: [ OK ]
sendmail を起動中: [ OK ]
sm-client を起動中: [ OK ]
[root@mx-ns src]#
[root@mx-ns src]#



以上で、構築手順は終了し、次回以降、動作確認を実施する。
タグ:sendmail
検索
最新コメント
タグクラウド
プロフィール
さんの画像

アラフォー世代です。コンピュータ関連を中心に、戯言をグダグダと書き綴ってます。
プロフィール
×

この広告は30日以上新しい記事の更新がないブログに表示されております。