RHCE7学习笔记20――管理SELinuxx安全
2015-01-26 14:38
148 查看
安装环境: 1.系统:Centos 5.1 2.软件包需求:cacti-0.8.7j,mysql-5.0.20,php-5.2.6,apache2.2(以上均为源码包). 安装配置过程: 1. 安装apache2.2 解压软件包,进入安装目录,我的编译过程如下: 安装apr和apr-util cd httpd-2.2.17/srclib/apr ./configure --prefix=/usr/local/apr make && make install cd ../apr-util ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install # ./configure --prefix=/usr/local/apache --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/bin --enable-mods-shared=all --with-mpm=worker --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache # make # make install Apache编译参数注解 ./configure //配置源代码树 --prefix=/usr/local/apache //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。 --enable-module=so //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块 --enable-deflate=shared //支持网页压缩 --enable-expires=shared //支持 HTTP 控制 --enable-rewrite=shared //支持 URL 重写 --enable-cache //支持缓存 --enable-file-cache //支持文件缓存 --enable-mem-cache //支持记忆缓存 --enable-disk-cache //支持磁盘缓存 --enable-static-support //支持静态连接(默认为动态连接) --enable-static-htpasswd //使用静态连接编译 htpasswd - 管理用于基本认证的用户文件 --enable-static-htdigest //使用静态连接编译 htdigest - 管理用于摘要认证的用户文件 --enable-static-rotatelogs //使用静态连接编译 rotatelogs - 滚动 Apache 日志的管道日志程序 --enable-static-logresolve //使用静态连接编译 logresolve - 解析 Apache 日志中的IP地址为主机名 --enable-static-htdbm //使用静态连接编译 htdbm - 操作 DBM 密码数据库 --enable-static-ab //使用静态连接编译 ab - Apache HTTP 服务器性能测试工具 --enable-static-checkgid //使用静态连接编译 checkgid --disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本 --disable-cgi //禁止编译 CGI 版本的 PHP --disable-userdir //禁止用户从自己的主目录中提供页面 --with-mpm=worker // 让apache以worker方式运行 --enable-rewrite //让apache支持伪静态规则 --enable-deflate //开启gzip压缩 --enable-authn-dbm=shared // 对动态数据库进行操作。Rewrite时需要 --enable-mods-shared=all 做大化编译 安装完成后,编辑apache的配置文件,使之能正常使用: # vi /usr/local/apache/conf/httpd.conf 找到下面这行: #ServerName www.example.com:80 改为: ServerName yourIP:80 #Listen 80 Listen yourIP:80 启动apache: #/usr/local/apache/bin/apachectl start 在浏览器里输入你的IP或者localhost测试一下,是否能看到apache的测试页,成功的话,说明安 装成功 #cp /usr/local/apache/bin/apachectl /etc/init.d/httpd vi /etc/rc.d/rc.local #apache start /usr/local/apache/bin/apachectl start ---添加apache自启动 这样就可以实现service httpd restart 了 2.安装mysql-5.0.20 解压软件包,进入安装目录,我的编译过程如下: # ./configure --prefix=/usr/local/mysql # make;make install # cp support-files/my-medium.cnf /etc/my.cnf (这一步是将配置文件拷贝到/etc下面) 编译选项当中指定安装路径就可以了 配置mysql过程: #groupadd mysql #useradd -g mysql mysql #cd /usr/local/mysql #./bin/mysql_install_db --user=mysql #chown -R root . #chown -R mysql var #chgrp -R mysql . 启动mysql #./bin/mysqld_safe --user=mysql & 如果看到下面的信息,就说明启动成功了 # Starting mysqld daemon with databases from /usr/local/mysql/var 可以测试一下,看看能不能登陆mysql数据库 # /usr/local/mysql/bin/mysqladmin -uroot password '你的密码' (给初始登陆mysql的用户 root设置密码,当 然不设置也能登陆,推荐设置密码) # /usr/local/mysql/bin/mysql -uroot -p你的密码 (注意: -p后面不要带空格) 如果出现下面的欢迎字样,说明连接成功: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 to server version: 5.0.20a-log mysql> set password for root@localhost=password('cactipw'); mysql> Query OK, 0 rows affected (0.00 sec) mysql> create database cactidb; mysql> grant all on cactidb.* to root; mysql> grant all on cactidb.* to root@localhost; mysql> grant all on cactidb.* to cactiuser; mysql> grant all on cactidb.* to cactiuser@localhost; mysql> set password for cactiuser@localhost=password('cactipw'); mysql> flush privileges; (See cacti docs/INSTALL) mysql> exit //select * from user; //查询帐号是否添加成功 3.安装php-5.2.0 解压软件包,进入安装目录,我的编译过程如下: # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-xml-config=/usr/local/lib --with-config-file- path=/usr/local/php/etc --enable-socket #make;make install 编译选项中--with-apxs2=/usr/local/apache/bin/apxs 是说将PHP模块编译进apache,-- with- mysql=/usr/local/mysql 是说指定mysql的路径(其实就是告诉PHP我们的mysql的一些头文件 信息,如果你的 mysql和PHP不是同一台机器的话,指定mysql的头信息是编译必要的),--with-config-file- path=/usr/local/php/etc 是说将PHP的主配置文件放在什么地方,这是个人习惯 #cp php.ini-dist /usr/local/php/lib/php.ini #vi /usr/local/apache/conf/httpd.conf 找到下面字段: DirectoryIndex 在iindex.html前面添加index.php 并在配置文件最后加入如下字段: AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 测试PHP是否正常运行: #vi /usr/local/apache2/htdocs/index.php 写入下面一行: 保存退出后重新启动apache #/etc/init.d/httpd start 在浏览器里输入IP,如果能够看到phpinfo的测试页,那么PHP已经正常工作了 4,安装rrdtool tar zxvf rrdtool-1.0.50.tar.gz cd rrdtool-1.0.50 ./configure --prefix=/usr/local/rrdtool make make install 5, net-snmp 安装 rpm -qa | grep net-snmp net-snmp-* net-snmp-* net-snmp-* 编辑本地snmpd: vi /etc/snmp/snmpd.conf 更改 1、com2sec notConfigUser default public 改为:com2sec notConfigUser (你想监控的那台机器的IP) public 2、access notConfigGroup "" any noauth exact systemview none none 改为:access notConfigGroup "" any noauth exact all none none 3、#view all included .1 80 将前面的 # 注释 去掉。 保存退出 :wq service snmpd restart 注:如果你机器内没有snmpwalk和snmpge命令,请到安装盘里查找 net-snmp-utils 包,rpm -ivh net-snmp-utils-*.rpm 只后这两个命令就在系统里了。其他包也都在安装盘里 确保安装 这四个包就OK 6,解压cacti的软件包,进行如下操作: #mv cacti-0.8.7 /usr/local/apache/htdocs/cacti #cd /usr/local/apache/htdocs/cacti useradd cactiuser passwd cactiuser (pwd:cactipw) /usr/local/mysql/bin/mysql –u root –p cactidb 导入数据表 chown –R cactiuser rra/ log/ vi include/config.php $database_type = “mysql”; $database_default = “cactidb”; $database_hostname = “localhost”; $database_username = “cactiuser”; $database_password = “cactipw”; 7,修改计划任务,使CACTI每5分钟获得一次数据: #crontab -e -u 用户名 添加如下内容: */5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1 保存退出 #chown -R rra/ log/。 8,cacti 配置 http://localhost/cacti 默认账号密码都是admin 配置路径: snmpwalk Binary Path : /usr/bin/snmpwalk snmpget Binary Path: /usr/bin/snmpget RRDTool Binary Path: /usr/local/rrdtool/bin/rrdtool PHP Binary Path: /usr/local/php/bin/php Cacti Log File Path: /opt/cacti/log/cacti.log Cactid Poller File Path: /opt/cacti/poller.php 9,排错 1. 首先检查一下rra/下面,有没有数据,如果没有检查rra/ log/的拥有者是不是cactiuser 2. snmpwalk -v 2c -c public ServerIP if 用来测试被控对象(serverIP)是否开启了SNMP服 务 3. snmpwalk -v 2c ServerIP -c public .1.3.6.1.4.1.2021.10.1.3 查看被控端是否有CPU负 载的数据返回 4. /usr/local/bin/php /home/wwwroot/cacti/poller.php 用来测试PHP是否可以采集到数据 。如果上面的都正确,但这步出错,很有可能是PHP配置的问题,或开启了SuLinux。 5. 如果按第2步snmpwalk能采集到数据,但第3步无法采集,可能是PHP设置的问题,修改 PHP.ini,很有可能是PHP权限问题。如果第4步正常而无法显示图,则可能是rra/ log/ 的 Owner不对 6. #crontab -e */5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1 //每5分钟自动执行一次数据 注意:如果执行没成功是模式没有执行 或者运行一下该命令看rra文件夹是否有数据 # /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php 查询模式crond的 [root@localhost bin]# chkconfig --list| grep cron anacron 0:off 1:off 2:on 3:off 4:on 5:on 6:off crond 0:off 1:off 2:on 3:off 4:on 5:on 6:off [root@localhost bin]# chkconfig crond on //更改模式为启动计划任务 [root@localhost bin]# chkconfig --list| grep cron anacron 0:off 1:off 2:on 3:off 4:on 5:on 6:off crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off php相关环境配置 实例一: ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-zlib --with-gd --with-gettext --with-gdbm --enable-mbstring --enable-sockets
相关文章推荐
- Linux运维笔记-文档总结-永久更改文件SELINUX安全上下文和管理SELINUX布尔值
- 《SELinux安全上下文的管理(含图)》RedHat6.3——步骤详细、条理清晰
- 初步认识SELinux安全管理
- 应用中的安全管理方案
- HOW TO:在 Windows 2000 的“安全模板”管理单元中定义安全模板
- 经销商管理20则
- IISManager V1.1 是一个在线管理IIS,维护站点组件,安全稳定,最重要的是完全免费。
- 特种设备安全监察管理系统软件测试结果
- 用户管理-安全问答-FAQ(1)
- Web service世界的管理与安全(一)
- windows2003 的安全管理
- SCO UNIX网络安全管理
- 如何利用IP安全管理策略进行安全漏洞防护
- 网管心得:终端服务的概念和安全管理
- Web service世界的管理与安全 (CA)
- 图解Web和FTP服务器安全管理配置
- 企业信息与网络通信安全(5)生产管理
- 安全评估工具之 20 项评测项目
- 十项Linux安全管理技巧经验总结
- 數據庫安全管理范例!