samhain部署通常采用C/S模式,各被监控机为配置为client,日志收集服务器为Server。采用C/S模式,client的配置文件和数据文件存储在Server上,client上samhain运行时自动到server上下载配置文件和数据库文件。
安装准备:
预先安装gcc编译器等开发工具用以编译samhain源码。
MySQL+Apache(Server端)
下载源码 http://www.la-samhna.de/samhain/s_download.html
安装步骤
------------Server安装------------
1、创建一个独立的用户
- useradd yule
2、编译并安装
- ./configure --enable-network=server --with-database=mysql --enable-xml-log --enable-identity=yule
- make
- make install
- make install-boot
- make install-user
3、初始化mysql数据库
- mysql -p < sql_init/samhain.mysql.ini
- echo "grant select, insert on samhain.log to samhain@localhost IDENTIFIED BY 'samhain';" |mysql -p
- echo "FlUSH PRIVILEGES;" |mysql -p
4、添加自启动
Red Hat
- chkconfig --add yule
- chkconfig yule on
Debian
- update-rc.ld yule defaults
5、启动yule服务
- /etc/init.d/yule start
Apache配置
在apache的conf.d目录下新建yule.conf文件,内容如下:
- <Directory "/var/log/yule/">
- Options ExecCGI
- AllowOverride None
- Order allow,deny
- Allow from all
- </Directory>
- Alias /yule.html "/var/log/yule/yule.html"
修改yule.html文件权限
- chmod +r /var/log/yule/yule.html
重启Apache
- /etc/init.d/apache restart
测试访问 http://yourserver/yule.html
------------Server安装结束---------
------------Client 安装------------
1、编译并安装
- ./configure --enable-network=client --with-config-file=REQ_FROM_SERVER --with-data-file=REQ_FROM_SERVER/var/lib/samhain/samhain --enable-install-name=samhain --with-logserver=IP_OF_YOUR_SERVER
- make
- make install
- make isntall-boot
2、设置二进制文件密码
- cd /usr/local/sbin
- ./samhain_setpwd samhain new 1234567890123456
- mv samhain.new samhain
密码必须为16位0-9,A-F组合,可以通过在Server上运行yule -G生成随机密码。
3、添加自启动
Red Hat
- chkconfig --add samhain
- chkconfig samhain on
Debian
- update-rc.d samhain defaults
4、返回Server上添加client授权
- /usr/local/sbin/yule -P 1234567890123456 |sed 's/HOSTNAME/CLIENT_HOSTNAME_HERE/' >>/etc/yulerc
如果client的hostname无法解析可以直接使用ip地址。
5、返回client自定义配置文件,并上传到server上。
- cd TOP_LEVEL_OF_SOURCE_DIR
- cp samhainrc.linux rc.`hostname`
根据个人需求编辑rc.`hostname`
- scp rc.`hostname` YULE_SERVER:/var/lib/yule/
返回server
- chown yule:yule /var/lib/yule/rc.client_name
6、初始化数据库文件
返回client
- /usr/local/sbin/samhain -t init -p info
编译时指定的数据库文件为/var/lib/samhain/samhain,上传数据库文件
- scp /var/lib/samhain/samhain YULE_SERVER:/var/lib/yule/file.client_name
返回server
- chown yule:yule /var/lib/yule/file.client_name
注意:server上配置文件必须以rc开头,数据库文件以file开头
7、启动samhain
- /etc/init.d/samhain start
- 或者 samhain -t check
------------client安装结束---------
问题记录
1、在安装server时--enable-database=mysql选项一直无法编译通过。提示错误:
Error: unable to find mysql headers mysql.h
解决办法: 装mysql开发包。
- redhat
- rpm -ivh mysql-devel-version.rpm
- debian
- apt-get install libmysqlclientversion-dev
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
2016-03-17 ERROR (ClientException) nova image-list
2016-03-17 openstack
2016-03-17 openstack neutron 各节点网络配置
2016-03-17 ubuntu LVM
2015-03-17 centos安装qt开发环境
2015-03-17 ubuntu14.04 qt4 C++开发环境搭建
2015-03-17 ubuntu qt X11开发环境