レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

C5 C6 S6

syslog のかわりに rsyslog を使ってみる(1) rsyslog の最新版をインストールする

2012年2月20日 2015年5月15日
syslog rsyslog

今回は、rsyslog を試してみたいと思います。
CentOS 6 / Scientific Linux 6 では、既にsyslogdの代わりにrsyslogが標準の syslog deamon として採用されています。
( CentOS 5は、syslogdが標準の syslog deamon です。 )

今回は、そのCentOS 5 / CentOS 6で、より新しい rsyslog の rpm を作成してインストールを行ってみます。
ちなみにCentOS 5では、標準で提供されている rpm の rsyslog のバージョンは、3.22 です。

$ syslogd -v
syslogd 1.4.1

$ yum info rsyslog
...
Available Packages
Name       : rsyslog
Arch       : x86_64
Version    : 3.22.1
Release    : 3.el5_6.1
Size       : 381 k
Repo       : base
Summary    : Enhanced system logging and kernel message trapping daemon
URL        : http://www.rsyslog.com/
License    : GPLv3+
Description: Rsyslog is an enhanced multi-threaded syslogd supporting, among
           : others, MySQL, syslog/tcp, RFC 3195, permitted sender lists,
           : filtering on any message part, and fine grain output format
           : control. It is quite compatible to stock sysklogd and can be used
           : as a drop-in replacement. Its advanced features make it suitable
           : for enterprise-class, encryption protected syslog relay chains
           : while at the same time being very easy to setup for the novice
           : user.
rsyslog は、
reliable(信頼できる)syslog deamon を目指して名付けられました。 名前にもなっている 信頼性 はもとより、豊富な機能が特徴となっています。
TCPを使った syslog の配送や、MySQLをはじめとするデータベースとの連携など、2004年の開発開始以来、syslogdに求められた機能を積極的に取り込んだものになっています。

出展:http://www.atmarkit.co.jp/flinux/rensai/newlog01/newlog01c.html

rpmを作成するための環境を整える

rpmを作成するためにコンパイル環境(gccなど)やrpm作成ツールなどをインストールする必要があります。
まず、ここでは、そのrpmを作成するための環境作りについて解説します。

  1. rpm作成ツール, コンパイラをインストールする

    CentOS 共通

    $ yum -y install rpm-build
    ...
    $ yum -y install gcc
    ...
    rpm-buildをインストールすると以下のディレクトリが作成されていると思います。

    CentOS 5 の場合

    /usr/src/redhat
    /usr/src/redhat/SOURCES
    /usr/src/redhat/SPECS
    /usr/src/redhat/RPM

    CentOS 6 の場合, Scientific Linux 6 の場合

    /root/rpmbuild/
    /root/rpmbuild/SOURCES
    /root/rpmbuild/SPECS
    /root/rpmbuild/RPM
    もし作成されていないようなら、作成しておきましょう。

    SOURCES : ソースコード
    SPECS : rpm作成ファイル (specファイル)
    RPM : rpm出力先ディレクトリ

  2. rsyslog をコンパイルするために必要なライブラリをインストールする

    CentOS 5 の場合

    $ yum -y install pkgconfig zlib-devel mysql-devel postgresql-devel krb5-devel gnutls-devel net-snmp-devel libnet
    ...

    CentOS 6 の場合, Scientific Linux 6 の場合

    $ yum -y install pkgconfig zlib-devel mysql-devel postgresql-devel krb5-devel  gnutls-devel net-snmp-devel
    ...
    #   32bit OSの場合
    $ wget http://pkgs.repoforge.org/libnet/libnet-1.1.2.1-2.2.el6.rf.i686.rpm
    ...
    $ rpm -ivh libnet-1.1.2.1-2.2.el6.rf.i686.rpm
    ...
    #   64bit OSの場合
    $ wget http://pkgs.repoforge.org/libnet/libnet-1.1.2.1-2.2.el6.rf.x86_64.rpm
    ...
    $ rpm -ivh libnet-1.1.2.1-2.2.el6.rf.x86_64.rpm
    ...
    自分がやったときの環境では、上記のようならライブラリが必要でした。
    各サーバーの環境によっては、他に必要な場合もあるでしょうし、ほとんど既にインストール済の場合もあるでしょう。
    あくまで、ここで記載しているライブラリは、参考までに。

rsyslog に必要なlibrelpを作成する

rsyslog の rpmを作成するために必要なライブラリが、上記とは別にあと一つ librelp が必要です。
librelpは、rsyslog と対で必要なライブラリです。rsyslog のソースコードを最新にするので、 librelpも最新にしておきます。

  1. librelp のソースrpmパッケージをダウンロードし、インストールします。
    $ wget http://vault.centos.org/6.1/os/SRPMS/Packages/librelp-0.1.1-4.1.el6.src.rpm
    ...
    $ rpm -ivh --nomd5 librelp-0.1.1-4.1.el6.src.rpm
    ...
    警告: グループ mockbuild は存在しません - root を使用します
    ...
    rpm でインストールする際、–nomd5 オプションをつけます。このオプションを指定しないとMD5チェックサムエラーが発生し、インストールできません。
    エラー: アーカイブの伸長に失敗: ファイル /usr/src/redhat/SOURCES/librelp-0.1.1.tar.gz;4f3f9aab: cpio: MD5 チェックサムが適合しません。
    

  2. ソースコードのディレクトリに最新の librelp のソースコードをダウンロードします。
    $ cd /usr/src/redhat/SOURCES/
    [SOURCES]$ wget http://download.rsyslog.com/librelp/librelp-1.0.0.tar.gz
    ...
    `librelp-1.0.0.tar.gz' に保存中
    ...

  3. rpm作成ファイル (specファイル)を編集します。
    [SOURCES]$ cd ../SPECS/
    [SPECS]$ cp librelp.spec librelp.spec.org
    [SPECS]$ vim librelp.spec
    ...

    以下は、librelp.specの編集内容です。

    ...
    # 3行目のバージョン情報を変更します。
    #Version: 0.1.1
    #Release: 4.1%{?dist}
    Version: 1.0.0
    Release: 0
    ...

    編集を終えたら、保存します。


  4. rpmを作成します。
    [SPECS]$ rpmbuild -bb librelp.spec
    ...

    rpmbuildでrpm作成します。

    これでエラーが出なければOKです。

    作成されたRPM ( librelp-1.0.0-0.xxxx.rpm )は、
    64bitOSなら、/usr/src/redhat/RPMS/x86_64に作成されます。
    32bitOSなら、/usr/src/redhat/RPMS/i386に作成されます。

    • CentOS 5 系の場合

      # 32bit OS の場合

      [SPECS]$ ls /usr/src/redhat/RPMS/i386/
      librelp-1.0.0-0.i386.rpm            librelp-devel-1.0.0-0.i386.rpm

      # 64bit OS の場合

      [SPECS]$ ls /usr/src/redhat/RPMS/x86_64/
      librelp-1.0.0-0.x86_64.rpm          librelp-devel-1.0.0-0.x86_64.rpm

    • CentOS 6 系の場合

      # 32bit OS の場合

      [SPECS]$ ls /root/rpmbuild/RPMS/i386/
      librelp-1.0.0-0.i386.rpm            librelp-devel-1.0.0-0.i386.rpm

      # 64bit OS の場合

      [SPECS]$ ls /root/rpmbuild/RPMS/x86_64/
      librelp-1.0.0-0.x86_64.rpm          librelp-devel-1.0.0-0.x86_64.rpm

  5. 最後にインストールします。

    以下は、CentOS 5 32bit版での例です。

    $ cd /usr/src/redhat/RPMS/i386/
    [i386]$ rpm -ivh librelp-1.0.0-0.i386.rpm
    ...
    [i386]$ rpm -ivh librelp-devel-1.0.0-0.i386.rpm
    ...

    CentOS 5 32bit版以外のOSの場合は、ディレクトリ名、ファイル名が異なりますので、注意が必要です。
    librelp-devel までインストールできていないとrsyslogのrpmを作成する際にエラーになります。

rsyslog の最新rpmを作成する

CentOS(Redhat系)用に rpmもあります。ただ、これは、かなり古いものです。 そのため、古いソースコードのrpmから、最新のrsyslogへrpmを作ってみます。

現在(2012.02)では、rsyslogのホームページで 以下のバージョンが公開されています。
  • rsyslog 6.3.7 (v6-devel) released
  • rsyslog 5.9.5 (v5-devel) released
  • rsyslog 5.8.7 (v5-stable) released
  • rsyslog 6.2.0 (v6-stable) released
CentOS 5 系の場合

5.6.5 (v5-stable) を用います。
色々調べた限りでは、CentOS 5.7 のデフォルトでのその他のライブラリとの関係から、利用できる最新版が 5.6.5 のようです。
5.8.7 (v5-stable) でも、 make でエラーはありませんが、動作に不安な点もありましたので、ここでは、1つ前の v5-stable である 5.6.5 を用います。
( もちろん、自力で他のライブラリもrpmを作成すればOKですが、ここでは、そこまでやりません。)

CentOS 6 系の場合

5.8.7 (v5-stable) を用います。
CentOS 6 系では、rsyslog 5 系の最新版が動作するようなので、ここでは、rsyslog 5 系の最新の安定版を用いることにします。
  1. rsyslog のソースrpmパッケージをダウンロードし、インストールします。

    CentOS 5 系の場合

    $ wget http://vault.centos.org/5.7/os/SRPMS/rsyslog-3.22.1-3.el5_6.1.src.rpm
    ...
    $ rpm -ivh rsyslog-3.22.1-3.el5_6.1.src.rpm
    ...
    警告: グループ mockbuild は存在しません - root を使用します
    ...

    CentOS 6 系の場合, Scientific Linux 6 系の場合

    $ wget http://dl.fedoraproject.org/pub/fedora/linux/updates/16/SRPMS/rsyslog-5.8.7-1.fc16.src.rpm
    ...
    $ rpm -ivh --nomd5 rsyslog-5.8.7-1.fc16.src.rpm
    ...
    警告: グループ mockbuild は存在しません - root を使用します
    ...
    $ wget ftp://ftp.icm.edu.pl/vol/rzm2/ol-tmp/el6/SRPMS-updates/rsyslog-4.6.2-12.el6.src.rpm
    ...
    $ rpm -ivh rsyslog-4.6.2-12.el6.src.rpm
    ...
    警告: グループ mockbuild は存在しません - root を使用します
    ...
    CentOS 6 系では、Fedoraのrsyslog 5 系の最新のSRPMをインストールした後、CentOS 6 系の最新SRPMを上書きしています。
    これは、rsyslog 5 系の最新パッチを盛り込みたいので、そうしています。 FedoraのSRPMをそのまま使わないのは、必要とするライブラリのバージョンがCentOSとは異なるので、使わないようにしています。
    パッケージのバージョンによってファイル名も異なります。wget時には、ファイル名を確認しておきましょう。
    CentOS 5系であれ6系であれ、そのバージョンで利用しているrsyslogのバージョンの最新版を使うようにします。
    ここでは、CentOS 5系で現在(2012.02)の最新版 3.22.1-3 を使います。

  2. ソースコードのディレクトリに最新の rsyslog のソースコードをダウンロードします。

    CentOS 5 系の場合

    $ cd /usr/src/redhat/SOURCES
    $ wget http://www.rsyslog.com/files/download/rsyslog/rsyslog-5.6.5.tar.gz
    ...

    CentOS 6 系の場合, Scientific Linux 6 系の場合

    SRPMのバージョンが5.8.7を一旦はインストールしているので、ダウンロードの必要はありません。

    必ず、./SOURCEStar.gz形式の最新ファイルをダウンロードします。
    rsyslogの安定版( stable )は、http://www.rsyslog.com/tag/stable/で公開されています。

  3. rpm作成ファイル (specファイル)を編集します。

    CentOS 5 系の場合

    $ cd /usr/src/redhat/SPECS
    $ cp rsyslog.spec rsyslog.spec.org
    $ vi rsyslog.spec


    以下は、rsyslog.specの編集内容です。

    ...
    # 5行目あたりにあるバージョン情報を最新の1.0.10に変更します。
    #Version: 3.22.1
    #Release: 3%{?dist}.1
    Version: 5.6.5
    Release: 0
    ...
    # 15行目あたりにあるパッチ更新情報をコメントアウトします。
    # このパッチは3.22.1にあてるためのパッチなので、不要のはずです。
    #Patch0: rsyslog-3.22.1-unlimitedselect.patch
    #Patch1: rsyslog-3.22.1-queue-hang.patch
    #Patch2: rsyslog-3.22.1-Qq-opt-segv.patch
    #Patch3: rsyslog-3.22.1-p-opt.patch
    #Patch4: rsyslog-3.22.1-createdirs-init.patch
    ...
    # 同じく、84行目あたりにあるパッチ更新情報をコメントアウトします。
    #%patch0 -p1 -b .unlimited-select
    #%patch1 -p1 -b .queue-hang
    #%patch2 -p1 -b .Qq-opt-segv
    #%patch3 -p1 -b .p-opt
    #%patch4 -p1 -b .createdirs-init
    ...
    # 92行目あたりにあるmakeのパラメータを設定しなおします。
    #%configure	--sbindir=%{sbindir} \
    #		--disable-static \
    #		--enable-mysql \
    #		--enable-pgsql \
    #		--enable-gssapi-krb5 \
    #		--enable-imfile \
    #		--enable-gnutls \
    #		--enable-unlimited-select
    %configure	--sbindir=%{sbindir} \
    		--disable-static \
    		--enable-pgsql \
    		--enable-gssapi-krb5 \
    		--enable-regexp \
    		--enable-zlib \
    		--enable-pthreads \
    		--enable-klog \
    		--enable-inet \
    		--enable-unlimited-select \
    		--enable-debug \
    		--enable-rtinst \
    		--enable-memcheck \
    		--enable-diagtools \
    		--enable-mysql \
    		--enable-snmp \
    		--enable-gnutls \
    		--enable-rsyslogrt \
    		--enable-rsyslogd \
    		--enable-extended-tests \
    		--enable-mail \
    		--enable-imptcp \
    		--enable-omruleset \
    		--enable-valgrind \
    		--enable-imdiag \
    		--enable-relp \
    		--enable-testbench \
    		--enable-imfile \
    		--enable-omstdout \
    		--enable-omdbalerting \
    		--enable-omuxsock \
    		--enable-imtemplate \
    		--enable-omtemplate \
    		--enable-pmlastmsg \
    		--enable-omudpspoof \
    		--enable-omprog 
    ...
    # 143 行目あたりのファイル情報に追加します。
    %files
    %defattr(-,root,root,-)
    %doc AUTHORS COPYING NEWS README doc/*html
    %dir %{_libdir}/rsyslog
    %{_libdir}/rsyslog/imklog.so
    %{_libdir}/rsyslog/immark.so
    %{_libdir}/rsyslog/imtcp.so
    %{_libdir}/rsyslog/imudp.so
    %{_libdir}/rsyslog/imuxsock.so
    %{_libdir}/rsyslog/imfile.so
    %{_libdir}/rsyslog/omtesting.so
    %{_libdir}/rsyslog/lmnet.so
    %{_libdir}/rsyslog/lmregexp.so
    %{_libdir}/rsyslog/lmtcpclt.so
    %{_libdir}/rsyslog/lmtcpsrv.so
    %{_libdir}/rsyslog/lmnetstrms.so
    %{_libdir}/rsyslog/lmnsd_ptcp.so
    
    %{_libdir}/rsyslog/imdiag.so
    %{_libdir}/rsyslog/imptcp.so
    %{_libdir}/rsyslog/imrelp.so
    %{_libdir}/rsyslog/imtemplate.so
    %{_libdir}/rsyslog/lmstrmsrv.so
    %{_libdir}/rsyslog/omdbalerting.so
    %{_libdir}/rsyslog/ommail.so
    %{_libdir}/rsyslog/omprog.so
    %{_libdir}/rsyslog/omrelp.so
    %{_libdir}/rsyslog/omruleset.so
    %{_libdir}/rsyslog/omsnmp.so
    %{_libdir}/rsyslog/omstdout.so
    %{_libdir}/rsyslog/omtemplate.so
    %{_libdir}/rsyslog/omudpspoof.so
    %{_libdir}/rsyslog/omuxsock.so
    %{_libdir}/rsyslog/pmlastmsg.so
    
    %config(noreplace) %{_sysconfdir}/rsyslog.conf
    %config(noreplace) %{_sysconfdir}/sysconfig/rsyslog
    %config(noreplace) %{_sysconfdir}/logrotate.d/syslog
    %{_initrddir}/rsyslog
    
    %{sbindir}/msggen
    %{sbindir}/rsyslog_diag_hostname
    %{sbindir}/zpipe
    
    %{sbindir}/rsyslogd
    %{_mandir}/*/*
    ...

    CentOS 6 系の場合, Scientific Linux 6 系の場合

    $ cd /root/rpmbuild/SPECS
    $ cp rsyslog.spec rsyslog.spec.org
    $ vi rsyslog.spec


    以下は、rsyslog.specの編集内容です。

    ...
    # 8行目あたりにあるバージョン情報を最新の1.0.10に変更します。
    #Version: 4.6.2
    #Release: 12%{?dist}
    Version: 5.8.7
    Release: 1%{?dist}
    ...
    # 18行目あたりにあるパッチ更新情報をコメントアウトします。
    # このパッチは4.6.2-12にあてるためのパッチなので、不要のはずです。
    #Patch0: rsyslog-4.6.2-unlimited-select.patch
    #Patch1: rsyslog-4.6.2-omfile-flush.patch
    #Patch2: rsyslog-4.6.2-enable-HUPisRestart.patch
    #Patch3: rsyslog-4.6.2-replace-temporary-fix.patch
    #Patch4: rsyslog-4.6.2-dflt-ruleset.patch
    #Patch5: rsyslog-4.6.2-bz701782.patch
    #Patch6: rsyslog-4.6.2-fix-tls-loop.patch
    #Patch7: rsyslog-4.6.2-action-exec-interval.patch
    #Patch8: rsyslog-4.6.2-bz733648.patch
    #Patch9: rsyslog-4.6.2-bz737096-option.patch
    #Patch10: rsyslog-4.6.2-bz737096-template.patch
    # 続けて5.8.7-1に提供されているパッチを設定します。
    Patch0: rsyslog-5.8.5-systemd.patch
    Patch1: rsyslog-5.8.7-sysklogd-compat-1-template.patch
    Patch2: rsyslog-5.8.7-sysklogd-compat-2-option.patch
    ...
    # 同じく、113行目あたりにあるパッチ更新情報をコメントアウトします。
    #%patch0 -p1 -b .unlimited-select
    #%patch1 -p1 -b .omfileflush
    #%patch2 -p1 -b .enable-HUPisRestart
    #%patch3 -p1 -b .replace-temporary-fix
    #%patch4 -p1 -b .dflt-ruleset
    #%patch5 -p1 -b .bz701782
    #%patch6 -p1 -b .fix-tls-loop
    #%patch7 -p1 -b .action-exec-interval
    #%patch8 -p1 -b .bz733648
    #%patch9 -p1 -b .bz737096-option
    #%patch10 -p1 -b .bz737096-template
    # 続けて5.8.7-1に提供されているパッチの更新を設定します。
    %patch0 -p1
    %patch1 -p1
    %patch2 -p1
    ...
    # 131行目あたりにあるmakeのパラメータを設定しなおします。
    #%configure	--disable-static \
    #		--disable-testbench \
    #		--enable-mail \
    #		--enable-mysql \
    #		--enable-pgsql \
    #		--enable-gssapi-krb5 \
    #		--enable-imfile \
    #		--enable-relp \
    #		--enable-gnutls \
    #		--enable-snmp \
    #		--enable-unlimited-select
    %configure	--disable-static \
    		--disable-testbench \
    		--enable-pgsql \
    		--enable-gssapi-krb5 \
    		--enable-regexp \
    		--enable-zlib \
    		--enable-pthreads \
    		--enable-klog \
    		--enable-inet \
    		--enable-unlimited-select \
    		--enable-debug \
    		--enable-rtinst \
    		--enable-memcheck \
    		--enable-diagtools \
    		--enable-mysql \
    		--enable-snmp \
    		--enable-gnutls \
    		--enable-rsyslogrt \
    		--enable-rsyslogd \
    		--enable-extended-tests \
    		--enable-mail \
    		--enable-imptcp \
    		--enable-omruleset \
    		--enable-valgrind \
    		--enable-imdiag \
    		--enable-relp \
    		--enable-testbench \
    		--enable-imfile \
    		--enable-omstdout \
    		--enable-omdbalerting \
    		--enable-omuxsock \
    		--enable-imtemplate \
    		--enable-omtemplate \
    		--enable-pmlastmsg \
    		--enable-omudpspoof \
    		--enable-omprog \
    		--enable-impstats  
    ...
    # 191 行目あたりのファイル情報に追加します。
    %files
    %defattr(-,root,root,-)
    %doc AUTHORS COPYING ChangeLog NEWS README doc/*html
    %dir %{_libdir}/rsyslog
    %{_libdir}/rsyslog/imklog.so
    %{_libdir}/rsyslog/immark.so
    %{_libdir}/rsyslog/imtcp.so
    %{_libdir}/rsyslog/imudp.so
    %{_libdir}/rsyslog/imuxsock.so
    %{_libdir}/rsyslog/imfile.so
    %{_libdir}/rsyslog/lmnet.so
    %{_libdir}/rsyslog/lmregexp.so
    %{_libdir}/rsyslog/lmtcpclt.so
    %{_libdir}/rsyslog/lmtcpsrv.so
    %{_libdir}/rsyslog/lmnetstrms.so
    %{_libdir}/rsyslog/lmnsd_ptcp.so
    %{_libdir}/rsyslog/lmstrmsrv.so
    %{_libdir}/rsyslog/lmzlibw.so
    %{_libdir}/rsyslog/ommail.so
    %{_libdir}/rsyslog/omtesting.so
    
    %{_libdir}/rsyslog/imdiag.so
    %{_libdir}/rsyslog/impstats.so
    %{_libdir}/rsyslog/imptcp.so
    %{_libdir}/rsyslog/imtemplate.so
    %{_libdir}/rsyslog/omdbalerting.so
    %{_libdir}/rsyslog/omprog.so
    %{_libdir}/rsyslog/omruleset.so
    %{_libdir}/rsyslog/omstdout.so
    %{_libdir}/rsyslog/omtemplate.so
    %{_libdir}/rsyslog/omudpspoof.so
    %{_libdir}/rsyslog/omuxsock.so
    %{_libdir}/rsyslog/pmlastmsg.so
    
    %config(noreplace) %{_sysconfdir}/rsyslog.conf
    %config(noreplace) %{_sysconfdir}/sysconfig/rsyslog
    %config(noreplace) %{_sysconfdir}/logrotate.d/syslog
    %dir %{rsyslog_pkidir}
    %{_initrddir}/rsyslog
    
    %{_sbindir}/msggen
    %{_sbindir}/rsyslog_diag_hostname
    %{_sbindir}/zpipe
    
    %{_sbindir}/rsyslogd
    %{_mandir}/*/*
    ...

    編集を終えたら、保存します。

    ここで設定しているconfigフラグは、以下のようなフラグを設定できます。
    • –disable-option-checking : ignore unrecognized –enable/–with options
    • –disable-FEATURE : do not include FEATURE (same as –enable-FEATURE=no)
    • –enable-FEATURE[=ARG] : include FEATURE [ARG=yes]
    • –enable-silent-rules : less verbose build output (undo: `make V=1′)
    • –disable-silent-rules : verbose build output (undo: `make V=0′)
    • –disable-dependency-tracking : speeds up one-time build
    • –enable-dependency-tracking : do not reject slow dependency extractors
    • –enable-static[=PKGS] : build static libraries [default=no]
    • –enable-shared[=PKGS] : build shared libraries [default=yes]
    • –enable-fast-install[=PKGS] : optimize for fast installation [default=yes]
    • –disable-libtool-lock : avoid locking (might break parallel builds)
    • –disable-largefile : omit support for large files
    • –enable-regexp : Enable regular expressions support [default=yes]
    • –enable-zlib : Enable zlib compression support [default=yes]
    • –enable-gssapi-krb5 : Enable GSSAPI Kerberos 5 support [default=no]
    • –enable-pthreads : Enable multithreading via pthreads [default=yes]
    • –enable-klog : Integrated klog functionality [default=yes]
    • –disable-unix : Disable support for unix
    • –enable-inet : Enable networking support [default=yes]
    • –disable-fsstnd : Disable support for FSSTND
    • –enable-unlimited-select : Enable unlimited select() syscall [default=no]
    • –enable-debug : Enable debug mode [default=no]
    • –enable-rtinst : Enable runtime instrumentation mode [default=no]
    • –enable-valgrind : Enable valgrind support settings [default=no]
    • –enable-memcheck : Enable extended memory check support [default=no]
    • –enable-diagtools : Enable diagnostic tools [default=no]
    • –enable-mysql : Enable MySql database support [default=no]
    • –enable-pgsql : Enable PostgreSQL database support [default=no]
    • –enable-oracle : Enable native Oracle database support [default=no]
    • –enable-libdbi : Enable libdbi database support [default=no]
    • –enable-snmp : Enable SNMP support [default=no]
    • –enable-gnutls : Enable GNU TLS support [default=no]
    • –enable-rsyslogrt : Build rsyslogrt [default=yes]
    • –enable-rsyslogd : Build rsyslogd [default=yes]
    • –enable-extended-tests : extended testbench [default=no]
    • –enable-mail : Enable mail support [default=no]
    • –enable-imdiag : Enable imdiag [default=yes]
    • –enable-relp : Enable RELP support [default=no]
    • –enable-rfc3195 : Enable RFC3195 support [default=no]
    • –enable-testbench : file input module enabled [default=yes]
    • –enable-imfile : file input module enabled [default=no]
    • –enable-imsolaris : door input module enabled [default=no]
    • –enable-imptcp : plain tcp input module enabled [default=no]
    • –enable-omprog : Compiles omprog module [default=no]
    • –enable-omudpspoof : Compiles omudpspoof module [default=no]
    • –enable-omstdout : Compiles stdout module [default=no]
    • –enable-pmlastmsg : Compiles lastmsg parser module [default=no]
    • –enable-pmrfc3164sd : Compiles rfc3164sd parser module [default=no]
    • –enable-omruleset : Compiles ruleset forwarding module [default=yes]
    • –enable-omdbalerting : Compiles omdbalerting module [default=no]
    • –enable-gui : Enable GUI programs [default=no]
    • –enable-omuxsock : Compiles stdout module [default=no]
    • –enable-cust1 : Compiles stdout module [default=no]
    • –enable-imtemplate : Compiles imtemplate template module [default=no]
    • –enable-omtemplate : Compiles omtemplate template module [default=no]

  4. rpmを作成します。
    $ rpmbuild -bb rsyslog.spec
    ...

    rpmbuildでrpm作成します。

    これでエラーが出なければOKです。

    作成されたRPM ( rsyslog-5.x.x-x.xxxx.rpm )は、

    CentOS 5 系の場合
    64bitOSなら、/usr/src/redhat/RPMS/x86_64に作成されます。
    32bitOSなら、/usr/src/redhat/RPMS/i386に作成されます。

    CentOS 6 系の場合
    64bitOSなら、/root/rpmbuild/RPMS/x86_64に作成されます。
    32bitOSなら、/root/rpmbuild/RPMS/i686に作成されます。

    以下は32bitOSの場合のファイルリスト例です。


    CentOS 5 (32bit) の場合

    $ ls /usr/src/redhat/RPMS/i386/
    rsyslog-5.6.5-0.i386.rpm         rsyslog-mysql-5.6.5-0.i386.rpm
    rsyslog-gnutls-5.6.5-0.i386.rpm  rsyslog-pgsql-5.6.5-0.i386.rpm
    rsyslog-gssapi-5.6.5-0.i386.rpm

    CentOS 6 (32bit) の場合, Scientific Linux 6 (32bit) の場合

    $ ls /root/rpmbuild/RPMS/i686/
    syslog-5.8.7-1.el6.i686.rpm            rsyslog-mysql-5.8.7-1.el6.i686.rpm
    rsyslog-debuginfo-5.8.7-1.el6.i686.rpm  rsyslog-pgsql-5.8.7-1.el6.i686.rpm
    rsyslog-gnutls-5.8.7-1.el6.i686.rpm     rsyslog-relp-5.8.7-1.el6.i686.rpm
    rsyslog-gssapi-5.8.7-1.el6.i686.rpm     rsyslog-snmp-5.8.7-1.el6.i686.rpm

    そもそも、rpmbuildが動作しない場合は、
    $ yum -y install yum-utils
    $ yum -y install rpm-build
    $ yum -y install gcc++
    のような必要なビルド環境をインストールしてください。

    また、必要なライブラリが不足している場合は、その必要なライブラリが表示されますので、yumで一つ一つインストールすればOKです。

rsyslogをインストールする

rpmさえできれば、インストールは簡単ですね。
以下の手順は、32bit版のrsyslogをインストールした例です。

CentOS 5 (32bit) の場合

  1. rsyslog をインストールする
    $ rpm -ivh /usr/src/redhat/RPMS/i386/rsyslog-5.6.5-0.i386.rpm
    ...
  2. syslog を停止する
    $ /etc/init.d/syslog stop
    カーネルロガーを停止中:                                    [  OK  ]
    システムロガーを停止中:                                    [  OK  ]
  3. rsyslog を起動する
    $ /etc/init.d/rsyslog start
    システムロガーを起動中:                                    [  OK  ]
  4. rsyslog が動いているかログを確認する
    $ tail /var/log/message
    ...
    Feb 18 18:19:24 host69 kernel: imklog 5.6.5, log source = /proc/kmsg started.
    Feb 18 18:19:24 host69 rsyslogd: [origin software="rsyslogd" swVersion="5.6.5" x-pid="23047" x-info="http://www.rsyslog.com"] start
  5. rsyslog を再起動しても自動で立ち上がるように設定する

    まず、今まで動作していた sysylogd の自動起動を停止し、
    rsysylog の自動起動を設定します。

    $ chkconfig syslog off
    $ chkconfig --list syslog
    syslog          0:off   1:off   2:off   3:off   4:off   5:off   6:off
    $ chkconfig rsyslog on
    $ chkconfig --list rsyslog
    rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
    $ 

CentOS 6 (32bit) の場合, Scientific Linux 6 (32bit) の場合

  1. rsyslog を停止する
    $ /etc/init.d/rsyslog stop
    システムロガーを停止中:                                    [  OK  ]
  2. rsyslog をアンインストールする
    $ yum remove rsyslog
    ...
  3. rsyslog をインストールする
    $ rpm -ivh /root/rpmbuild/RPMS/i686/syslog-5.8.7-1.el6.i686.rpm
    ...
  4. rsyslog を起動する
    $ /etc/init.d/rsyslog start
    システムロガーを起動中:                                    [  OK  ]
  5. rsyslog が動いているかログを確認する
    $ tail /var/log/message
    ...
    Feb 20 13:29:42 db kernel: imklog 5.8.7, log source = /proc/kmsg started.
    Feb 20 13:29:42 db rsyslogd: [origin software="rsyslogd" swVersion="5.8.7" x-pid="8481" x-info="http://www.rsyslog.com"] start
  6. rsyslog を再起動しても自動で立ち上がるように設定する

    CentOS 6 では、デフォルトで動作しているはずなので、何も設定する必要はありません。
    念のため確認し、もし、 rsysylog の自動起動が設定されていないなら、設定しておきましょう。

    $ chkconfig --list rsyslog
    rsyslog         0:off   1:off   2:off   3:off   4:off   5:off   6:off
    $ chkconfig rsyslog on
    $ chkconfig --list rsyslog
    rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
    $ 

これで、syslogd並みのロギングが開始されたはずです。


今回は、特別な設定も何もせずに動作するまでを解説しました。
一応rpmができましたので、librelp , syslog の2つと、機能ごとのsyslog-mysqlのようなrpmが作成されていますので、必要に応じてインストールすれば良いことになります。

ちょっと、面倒でしたが、 複数台のサーバーを管理している方には、rpmで展開できるとありがたいですよね。

一度お試しあれ。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

Nginx にsyslog (rsyslog) を利用するためのモジュール nginx_syslog_patch を組み込んで使ってみる

nginxでアクセスログやエラーログを syslog (rsyslog) へ飛ばすには、 nginx_syslog_patch を組み込む必要 ...

Nginxの最新版ソースから バイナリパッケージ(rpm)を作成し、インストールする

今回は、nginxを試してみたいと思います。 ちょっと前に、バージョン 0.xx から バージョン 1.xx へメジャーバージョンアップ(20 ...

Webalizerの最新版を日本語化(UTF8化)にする

Webalizerの日本語化(UTF8化)する では、OSのバージョンにあわせたWebalizerのSRPMをダウンロードしたので、Webali ...

Nginx でPHPを動かす(php-fpmをバイナリパッケージ(rpm)を作成し、インストールする) [PHP5.2系の場合]

前回の「Nginxの最新版ソースから バイナリパッケージ(rpm)を作成し、インストールする」に続けて、nginxと一緒にPHPを動作させたいと ...

Webalizerの日本語化(UTF8化)する

httpd(apache)のログローテーションが行えたら、今度は、そのログ情報から、見やすいように情報を取り出してくれるWebalizerをイン ...



コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.7290 [s]