.. index:: clamav_0.98.4 clamav 0.98.4 ============= .. contents:: Contents =========== 実行環境 =========== | :ref:`sl_6.4` | :ref:`ubuntsu_server_12.04` =========== 最終検証日 =========== 2014/08/06 =========== 依存関係 =========== * :doc:`../../library/zlib/index` * :doc:`../../library/bzip2/index` * :doc:`../../library/openssl/index` .. * :doc:`../../library/libxml2/index` =========== コンパイル =========== .. note:: 基本的には管理者ユーザ(rootなど)で実施していることを前提としています .. code-block:: bash #------------------------------------------------------------ # clamav-0.98.4 #------------------------------------------------------------ BASE=/opt/brew export CPPFLAGS="-I${BASE}/include" export LDFLAGS="-Wl,-L${BASE}/lib,-R${BASE}/lib" # ソースダウンロード先 comp_dir=/usr/local/src # パッケージ名 pack_name=clamav # バージョン version=-0.98.4 # ソースのファイル形式 ext=.tar.gz # 解凍コマンド tar_cmd="tar zxf" # インストール先ディレクトリ ins_dir=/opt/${pack_name}/${version##-} # ダウンロード元パッケージ dl_uri="http://downloads.sourceforge.net/project/clamav/clamav/0.98.4/clamav-0.98.4.tar.gz?r=http%3A%2F%2Fwww.clamav.net%2Flang%2Fen%2Fdownload%2Fsources%2F&ts=1406514155&use_mirror=jaist" # コンパイル時の並列数 proc_num=`cat /proc/cpuinfo | grep processor | wc -l` cd ${comp_dir} rm -rf ${pack_name}${version} wget -c ${dl_uri} -O ${pack_name}${version}${ext} ${tar_cmd} ${pack_name}${version}${ext} cd ${pack_name}${version} ./configure \ --prefix=${ins_dir} \ --with-openssl=${BASE} \ --with-xml=${BASE} \ --with-zlib=${BASE} \ && nice -n 15 make -j${proc_num}\ && make install # ウィルス定義ファイルの保存先ディレクトリの作成 mkdir -p ${ins_dir}/share/clamav # デーモンとして動作させるときのユーザ作成 id clamav || useradd -r clamav # ウィルス定義DB保存先の権限変更 chown clamav.clamav /opt/clamav/0.98.4/share/clamav/ ================ Pathの設定 ================ .. code-block:: bash for type in $(ls -1 ${ins_dir}) do for src in $(find ${ins_dir}/${type} -xtype f) do parent=`dirname ${src#*/${type}/}` filename=`basename ${src}` mkdir -p /opt/brew/$type/$parent echo "ln -fs ${src} ${BASE}/${type}/${parent}/${filename}" ln -fs ${src} ${BASE}/${type}/${parent}/${filename} done done grep -q ${BASE}/bin ~/.bashrc \ || echo "export PATH=${BASE}/bin:${BASE}/sbin:"'${PATH}' >> ~/.bashrc \ ; source ~/.bashrc ======================== 主なconfigureオプション ======================== ``--prefix=[DIR]`` インストール先ディレクトリの指定 ``--with-openssl=[DIR]`` opensslのインストール先ディレクトリの指定 ``--with-zlib=[DIR]`` zlibのインストール先ディレクトリの指定 .. ``--with-xml=[DIR]`` libxml2のインストール先ディレクトリの指定 =============== 設定ファイル =============== デーモン系 ----------------- --------------------- 設定ファイルの作成 --------------------- .. code-block:: bash # {PREFIX}/etc 配下にサンプルファイルがあります # そのサンプルファイルをコピーして作成します cd ${ins_dir}/etc cp clamd.conf.sample clamd.conf --------------- 最低限の設定 --------------- 設定ファイルにはサンプルの場合、サンプルと区別するための文言がありますので消去します。 その他ローカル接続の際、ソケットファイルを用いて動作させるように設定します。 .. code-block:: diff # diff -u clamd.conf.sample clamd.conf --- clamd.conf.sample 2014-07-29 20:18:50.386998155 +0900 +++ clamd.conf 2014-07-29 22:34:47.522986997 +0900 @@ -5,7 +5,7 @@ # Comment or remove the line below. -Example +# Example # Uncomment this option to enable logging. # LogFile must be writable for the user running daemon. @@ -82,7 +82,7 @@ # Path to a local socket file the daemon will listen on. # Default: disabled (must be specified by a user) -#LocalSocket /tmp/clamd.socket +LocalSocket /tmp/clamd # Sets the group ownership on the unix socket. # Default: disabled (the primary group of the user running clamd) ウィルス更新系 ----------------- --------------------- 設定ファイルの作成 --------------------- .. code-block:: bash # {PREFIX}/etc 配下にサンプルファイルがあります # そのサンプルファイルをコピーして作成します cd ${ins_dir}/etc cp freshclam.conf.sample freshclam.conf --------------- 最低限の設定 --------------- 設定ファイルにはサンプルの場合、サンプルと区別するための文言がありますので消去します。 .. code-block:: diff # diff -u freshclam.conf.sample freshclam.conf --- freshclam.conf.sample 2014-07-29 20:18:50.396998166 +0900 +++ freshclam.conf 2014-07-29 22:34:56.523986647 +0900 @@ -5,7 +5,7 @@ # Comment or remove the line below. -Example +# Example # Path to the database directory. # WARNING: It must match clamd.conf's directive! ---------------- 簡単な動作確認 ---------------- .. code-block:: bash # ウィルス定義更新 freshclam # ウィルススキャン clamscan --infected --remove --recursive # ダミーウィルスのダウンロード wget http://www.eicar.org/download/eicar.com wget http://www.eicar.org/download/eicar.com.txt wget http://www.eicar.org/download/eicar_com.zip wget http://www.eicar.org/download/eicarcom2.zip # もう一度スキャン /opt/brew/bin/clamscan --infected --remove --recursive