1. 安装Apahce, PHP, Mysql, 以及php连接mysql库组件。

yum -y install httpd php mysql mysql-server php-mysql
//安装apache扩展
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
//安装php的扩展
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath php-snmp lm_sensors lm_sensors-devel perl-DBD-MySQL
//安装mysql扩展
yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysqlyum -y install net-snmp net-snmp-utils net-snmp-perl net-snmp-devel beecrypt-devel


2. 配置开机启动服务

/sbin/chkconfig httpd on             [设置apache服务器httpd服务开机启动]
/sbin/chkconfig --add mysqld         [在服务清单中添加mysql服务]
/sbin/chkconfig mysqld on             [设置mysql服务开机启动]
/sbin/service httpd start            [启动httpd服务,与开机启动无关]
/sbin/service mysqld start           [启动mysql服务,与开机无关]

3.设置mysql数据库root帐号密码。

mysqladmin -u root password 'newpassword'           [引号内填密码]


4. 让mysql数据库更安全

mysql -u root -p
mysql> DROP DATABASE test;                            [删除test数据库]
mysql> DELETE FROM mysql.user WHERE user = '';        [删除匿名帐户]
mysql> FLUSH PRIVILEGES;                              [重载权限][root@soft bin]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 
""mysql dead but subsys locked
解决办法如下:
[root@soft mysql-4.1.19]# rm -fr /var/lib/mysql/*
[root@soft mysql-4.1.19]# rm /var/lock/subsys/mysql
rm: remove regular empty file `/var/lock/subsys/mysqld'? yes
shell> killall mysqld
shell> service mysqld start
[root@soft mysql-4.1.19]# /etc/rc.d/init.d/mysqld status
mysqld (pid 5457) is running...

4. 按照以上的安装方式, 配置出来的默认站点目录为/var/www/html/
新建一个php脚本:
5. 新建一个数据库,添加一个数据库用户,设置用户权限。写个php脚本测试一下数据库连接吧。

mysql> CREATE DATABASE my_db;
mysql> GRANT ALL PRIVILEGES ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'password';rpm -ivh lm_sensors-2.10.0-3.1.i386.rpm
rpm -ivh lm_sensors-devel-2.10.0-3.1.i386.rpm
rpm -ivh net-snmp-perl-5.3.1-19.el5.i386.rpm
rpm -ivh net-snmp-utils-5.3.1-19.el5.i386.rpm
rpm -ivh net-snmp-5.3.1-19.el5.i386.rpm
rpm -ivh net-snmp-devel-5.3.1-19.el5.i386.rpm
rpm -ivh php-snmp-5.1.6-15.el5.i386.rpm
rpm -ivh beecrypt-devel-4.1.2-10.1.1.i386.rpm
rpm -ivh elfutils-devel-0.125-3.el5.i386.rpm
rpm -ivh elfutils-devel-static-0.125-3.el5.i386.rpm
rpm -ivh php-bcmath-5.1.6-15.el5.i386.rpm
rpm -ivh php-gd-5.1.6-15.el5.i386.rpm创建zabbix用户
groupadd zabbix
useradd -g zabbix -d /home/zabbix -s /sbin/nologin zabbix编译
tar zxvf zabbix-1.6.4.tar.gz
cd zabbix-1.6.4
./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --enable-server --enable-agent --with-libcurl --enable-proxymake install
按参考文章的说法,所以然找不到bin目录,只有一个sbin目录。
cd /usr/local/zabbix/sbin
for i in * ; do ln -s /usr/local/zabbix/sbin/$i /usr/bin/$i ; done
mysql -uroot -p<password>
mysql>create database zabbix;
mysql>grant all privileges on `zabbixdb`.* to 'zabbix'@'localhost' identified by 'zabbix';
mysql>FLUSH PRIVILEGES;
mysql>\q
导入数据
[root@ns zabbix-1.6.4]# mysql -uroot -p<password> zabbix < create/schema/mysql.sql
[root@ns zabbix-1.6.4]# mysql -uroot -p<password> zabbix < create/data/data.sql
[root@ns zabbix-1.6.4]# mysql -uroot -p<password> zabbix < create/data/images_mysql.sql 
复制启动程序
cp misc/init.d/redhat/zabbix_server_ctl  /etc/init.d/zabbix-server
cp misc/init.d/redhat/zabbix_agentd_ctl /etc/init.d/zabbix-agentd
配置文件
mkdir /etc/zabbix
chown -R zabbix.zabbix /etc/zabbix/
cp misc/conf/zabbix_* /etc/zabbix/[root@ns zabbix]# grep -v '^#' zabbix_agent.conf |grep -v '^$'
Server=192.168.1.30
Timeout=3
UserParameter=mysql.ping,mysqladmin -uroot ping|grep alive|wc -l
UserParameter=mysql.uptime,mysqladmin -uroot status|cut -f2 -d":"|cut -f1 -d"T"
UserParameter=mysql.threads,mysqladmin -uroot status|cut -f3 -d":"|cut -f1 -d"Q"
UserParameter=mysql.questions,mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S"
UserParameter=mysql.slowqueries,mysqladmin -uroot status|cut -f5 -d":"|cut -f1 -d"O"
UserParameter=mysql.qps,mysqladmin -uroot status|cut -f9 -d":"
UserParameter=mysql.version,mysql -V[root@ns zabbix]# grep -v '^#' zabbix_agentd.conf |grep -v '^$'
Server=192.168.1.30
ServerPort=10051
Hostname=localhost
ListenPort=10050
ListenIP=192.168.1.30
StartAgents=5
RefreshActiveChecks=120
DisableActive=1
DebugLevel=3
PidFile=/var/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
Timeout=3
UserParameter=mysql.ping,mysqladmin -uroot ping|grep alive|wc -l
UserParameter=mysql.uptime,mysqladmin -uroot status|cut -f2 -d":"|cut -f1 -d"T"
UserParameter=mysql.threads,mysqladmin -uroot status|cut -f3 -d":"|cut -f1 -d"Q"
UserParameter=mysql.questions,mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S"
UserParameter=mysql.slowqueries,mysqladmin -uroot status|cut -f5 -d":"|cut -f1 -d"O"
UserParameter=mysql.qps,mysqladmin -uroot status|cut -f9 -d":"
UserParameter=mysql.version,mysql -V[root@ns zabbix]# grep -v '^#' zabbix_server.conf |grep -v '^$'
NodeID=1
StartPollers=6
StartTrappers=5
ListenPort=10051
HousekeepingFrequency=1
SenderFrequency=30
DebugLevel=3
Timeout=5
UnreachablePeriod=45
UnavailableDelay=60
PidFile=/var/tmp/zabbix_server.pid
LogFile=/tmp/zabbix_server.log
AlertScriptsPath=/home/zabbix/bin/
PingerFrequency=30
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/tmp/mysql.sock[root@ns zabbix]# grep -v '^#' zabbix_trapper.conf |grep -v '^$'
DebugLevel=2
Timeout=3
LogFile=/tmp/zabbix_trapper.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/tmp/mysql.sockvi /etc/init.d/zabbix-server 
(按照网上高手们的参数修改下来,不知道为什么添加主机后一直显示状态为不可用(没有防火墙),按照这个配下来是没有问题的。)
    
      # base zabbix dir 
      BASEDIR=/usr/local/zabbix 
      # PID file 
      PIDFILE=/var/tmp/zabbix_server.pid 
      # binary file 
      ZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server
     
      vi /etc/init.d/zabbix-agentd 
    
      # base zabbix dir 
      BASEDIR=/usr/local/zabbix 
      # PID file 
      PIDFILE=/var/tmp/zabbix_server.pid 
      # binary file 
      ZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server复制配置zabbix
mkdir /usr/local/apache2/htdocs/zabbix
cp -Rpf frontends/php/* /usr/local/apache2/htdocs/zabbix
cd /usr/local/apache2/htdocs/
chown zabbix:zabbix -R zabbix/
cd zabbix/include
vi db.inc.php
添加如下内容,同时还要修改/var/www/html/zabbix/include/setup.inc.php同样加入下面的内容
$DB_TYPE="MYSQL";
$DB_SERVER="localhost";
$DB_DATABASE="zabbix";
$DB_USER="zabbix";
$DB_PWD="zabbix";
但是我没有找到相关一样的内容,所以只好修改   if(isset($DB_TYPE))     $DB['TYPE'] = "MYSQL";
   if(isset($DB_SERVER)) $DB['SERVER'] = "localhost";
   if(isset($DB_PORT))     $DB['PORT'] = "3306";
   if(isset($DB_DATABASE)) $DB['DATABASE'] = "zabbix";
   if(isset($DB_USER))     $DB['USER'] = "zabbix";
   if(isset($DB_PASSWORD)) $DB['PASSWORD'] = "zabbix";
配置PHP
vi /usr/local/php5/etc/php.ini
找到max_execution_time = 30
改成max_execution_time = 300
找到 ;date.timezone =
改成date.timezone = "Asia/Shanghai" 
 自启动
修改zabbix-server,zabbix-agent这个文件
vi /etc/init.d/zabbix-server
在#!/bin/sh这行下加入如下两句
# chkconfig:345 61 61
# description: zabbix-server
chkconfig --add zabbix-server on
其它脚本可仿此例例 :
Apache 在系统运行级别3,4,5自动启动
chkconfig 写道
编辑apachectl
vi /usr/local/apache2/bin/apachectl
第2行处添加
#chkconfig:345 61 61 //3,4,5 运行级 61,61 启动与关闭序号
#description:Apache2 //描述必写
保存退出复制
cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2
加入apache服务
chkconfig --add apache2
查看
chkconfig --list apache2
apache 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭
查看帮助
chkconfig --help可以看到在 /etc/rc.d/rc3.d /etc/rc.d/rc4.d /etc/rc.d/rc5.d 目录内
自动做了apache脚本的软链接启动
service apache2 start
service zabbix-server start
service zabbix-agentd start启动 错误
/etc/init.d/zabbix_server_ctl start
出现如下错误,
/etc/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory
做如下操作
cp /usr/lib/mysql/libmysqlclient.so /lib
/etc/init.d/zabbix_server_ctl start
出现如下错误
/etc/init.d/zabbix_server_ctl start: zabbix_server started
做如下操作
cp -rf /usr/local/mysql/lib/mysql /usr/lib
编译 ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --prefix=/usr/local/
zabbix
错误
提示找不到mysql_config
做如下操作
cd /etc/ld.so.conf.d/
vi mysql-i386.conf
看到只有一个/usr/lib/mysql
再加一行/usr/local/mysql/进去
保存退出,再ldconfig一下,就可以了
错误
configure: error: Invalid NET-SNMP directory - unable to find net-snmp-config
安装 net-snmp 包