4、检查主配置文件httpd.conf,并启动Apache服务器
[root@ns1 bin]# ./apachectl -t #检查httpd.conf主配置文件是否存在语法错误
Syntax OK
[root@ns1 bin]# ./apachectl start #启动httpd服务
[root@ns1 bin]# cat /etc/rc.d/rc.local #在rc.local中添加httpd开机自启动服务
.../省略
/usr/local/apacche/bin/apachectl start #新添加
[root@ns1 conf]# netstat -anpt |grep 80 #查看apache服务器所占用的端口
tcp 0 0 :::80 :::* LISTEN 18850/httpd
5、查看Apache服务器的访问及错误日志记录
[root@ns1 conf]# tail -f /usr/local/apacche/logs/access_log #查看Apache的访问日志
::1 - - [30/Nov/2010:19:57:48 +0800] "OPTIONS * HTTP/1.0" 200 -
::1 - - [30/Nov/2010:19:57:49 +0800] "OPTIONS * HTTP/1.0" 200 -
...//省略
[root@ns1 conf]# tail -5 /usr/local/apacche/logs/error_log #查看Apache的错误日志
[Tue Nov 30 10:21:57 2010] [notice] Apache/2.2.17 (Unix) configured -- resuming normal operations
[Tue Nov 30 10:27:01 2010] [notice] caught SIGTERM, shutting down
...//省略
6、在浏览器输入http://www.tgh.com 是否是你要的结果呢?呵呵!
备注:以上是基于名称的虚拟主机,要事先配置好DNS,不然没法解析哦!可参照我的博文关于DNS的配置。
--------------------------------------------------------------------------------------------
二、安装mysql
1、由于RHEL5中的Mysql被被拆分成许多相互关联、依赖的RPM包了,为确保功能的完整性,还是用编译安装Mysql吧!到Mysql官方网站http://dev.mysql.com 下载Mysql软件的源码包mysql-5.1.52.tar.gz。
2、编译安装Mysql之前,先卸载其RPM包
[root@ns1 src]# rpm -e mysql --nodeps #卸载有依赖性,加上--nodeps
[root@ns1 src]#rm -rf /etc/my.cnf #删除/etc/my.cnf文件,若没有则此操作省略
[root@ns1 /]# useradd -M -s /sbin/nologin mysql #创建Mysql数据库的系统用户、组
[root@ns1 /]#tar zxvf mysql-5.1.52.tar.gz -C /usr/src #将源码包解压到/usr/src目录下
[root@ns1 /]#cd /usr/src/mysql-5.1.52
[root@ns1 mysql-5.1.52]# ./configure --prefix=/usr/local/mysql
[root@ns1 mysql-5.1.52]#make && make install
3、安装后需要建立配置文件:在support-files目录中,提供了许多Mysql服务器的配置样例文件,分别适用于不同负载的数据库服务器,一般选择my-medium.cnf文件,该配置文件适用于中等负载的数据库,可以满足大多数企业的应用需求。
[root@ns1 mysql-5.1.52]#cp support-files/my-medium.cnf /etc/my.cnf #复制配置文件到/etc/下并重命令名为my.cnf
4、初始化数据库:以mysql用户的身份执行mysql_install_db脚本,对Mysql数据库进行初始化。修改目录的所有权,以便mysql用户可以读写数据库。
[root@ns1 mysql-5.1.52]# /usr/local/mysql/bin/mysql_install_db --user=mysql
[root@ns1 mysql-5.1.52]# chown -R root:mysql /usr/local/mysql/ #递归将/usr/local/mysql/属主为root,属组为mysql
[root@ns1 mysql-5.1.52]# chown -R mysql /usr/local/mysql/var #递归将/usr/local/mysql/var属主改为mysql,即var的属主和属组都为mysql
5、启动mysql
使用mysql_safe脚本安全启动服务。在/usr/local/mysql/bin/目录下,存放着管理mysql服务器的脚本和程序,其中脚本文件mysql_safe可用来安全启动mysql服务器,结合命令选项--user可指定运行服务的用户身份,mysql服务器默认使用TCP3306端口提供服务。
[root@ns1 mysql-5.1.52]# /usr/local/mysql/bin/mysqld_safe --user=mysql
[root@ns1 mysql-5.1.52]# netstat -ntpl |grep 3306
备注:如果要修改mysqld服务监听端口,可以编辑/etc/my.cnf配置文件,根据需要修改[mysqld]配置段中的port行,例如改为:"port=2345"
6、将mysqld添加为系统服务
在展开的mysql源码包目录中的support-files目录下,mysql.server文件可用来作为mysqld服务的启动脚本,将其复制到/etc/init.d/,并注意添加执行权限。
[root@ns1 mysql-5.1.52]# cp support-files/mysql.server /etc/init.d/mysqld
[root@ns1 mysql-5.1.52]#chmod +x /etc/init.d/mysqld #赋予可执行权限
[root@ns1 mysql-5.1.52]#chkconfig --add mysqld #使用--add选项将其设为系统自启动服务
[root@ns1 mysql-5.1.52]# chkconfig mysqld on #开启服务
[root@ns1 ~]# chkconfig --list mysqld #查看在哪些级别是启动状态
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
如此就可以使用service命令,通过start、stop、restart等来控制mysql服务了。
7、为了在执行mysql等命令和脚本工具时输入更方便,可以修改PATH环境变量,添加执行路径/usr/local/mysql/bin,并将相关设置定义到系统的/etc/profile文件中。
[root@ns1 mysql-5.1.52]# export PATH=$PATH:/usr/local/mysql/bin
[root@ns1 mysql-5.1.52]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
8、启动mysql数据库
[root@ns1 mysql-5.1.52]# service mysqld start
Starting MySQL. [ OK ]
9、使用mysql命令以root用户身份连接本机的mysqld服务
[root@ns1 mysql-5.1.52]# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.1.52-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> exit #使用exit退出
10、为mysql数据库的root用户设置一个密码,注意此root是用来访问mysqld服务的,而不是登录系统的root用户
[root@ns1 mysql-5.1.52]# mysqladmin -u root password "tghfly" #将访问mysqld的root用户密码改为tghfly
--------------------------------------------------------------------------------------------
三、安装php
安装Php之前先安装zlib,libpng,freetype,jpeg,libxml,fontconfig 以便于让PHP 支持GD 库( Cacti 的WeatherMap插件必须要GD 库的支持).相关软件包都可以去官网下载。RHEL5光盘中都有相关RPM包。
1、安装zlib
[root@ns1 src]# tar zxvf zlib-1.2.3.tar.gz
[root@ns1 src]# cd zlib-1.2.3
[root@ns1 zlib-1.2.3]# ./configure --prefix=/usr/local/zlib
[root@ns1 zlib-1.2.3]# make && make install
2、安装libpng
[root@ns1 src]# tar zxvf libpng-1.2.26.tar.gz
[root@ns1 src]# cd libpng-1.2.26
[root@ns1 libpng-1.2.26]# ./configure --prefix=/usr/local/libpng
[root@ns1 libpng-1.2.26]# make && make install
3、安装freetype
[root@ns1 src]# tar zxvf freetype-2.3.5.tar.gz
[root@ns1 src]# cd freetype-2.3.5
[root@ns1 freetype-2.3.5]# ./configure --prefix=/usr/local/libpng
[root@ns1 freetype-2.3.5]# make && make install
4、安装jpeg
[root@ns1 src]# tar zxvf jpegsrc.v6b.tar.gz
[root@ns1 src]# cd jpeg-6b/
[root@ns1 src]# mkdir -p /usr/local/libjpeg/include
[root@ns1 src]# mkdir -p /usr/local/libjpeg/bin
[root@ns1 src]# mkdir -p /usr/local/libjpeg/man/man1
[root@ns1 jpeg-6b]# ./configure --prefix=/usr/local/libjpeg --enable-shared --enable-static #参数是用来生成共享库
[root@ns1 jpeg-6b]# make && make install
5、安装libxml
[root@ns1 src]# tar zxvf libxml2-2.6.29.tar.gz
[root@ns1 src]# cd libxml2-2.6.29
[root@ns1 libxml2-2.6.29]# ./configure #不指定目录配置了,不然后面编译安装时会报错
[root@ns1 libxml2-2.6.29]# make && make install
6、安装fontconfig
[root@ns1 src]# tar zxvf fontconfig-2.5.91.tar.gz
[root@ns1 src]#cd fontconfig-2.5.91
[root@ns1 fontconfig-2.5.91]# ./configure --prefix=/usr/local/fotconfig --with--freetype-config=/usr/local/freetype/bin/freetype-config
[root@ns1 fontconfig-2.5.91]# make && make install
7、安装gd库,官方网址:http://www.libgd.org/Main_Page
[root@ns1 src]# tar zxvf gd-2.0.35.tar.gz
[root@ns1 src]# cd gd-2.0.35
[root@ns1 gd-2.0.35]# ./configure --prefix=/usr/local/libgd --with-png --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/libjpeg
[root@ns1 gd-2.0.35]# make
[root@ns1 gd-2.0.35]# make install
8、编辑/etc/ld.so.conf,添加以下几行到此文件中,以实现使用动态装入器装载找到共享库
[root@ns1 etc]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/zlib/lib
/usr/local/freetype/lib
/usr/local/libjpeg/lib
/usr/local/libgd/lib
/usr/local/mysql/lib/mysql
#执行ldconfig 命令,使用动态装入器装载找到共享库
[root@ns1 etc]# ldconfig
9、安装php
[root@ns1 src]# tar zxvf php-5.2.14.tar.gz
[root@ns1 src]# cd php-5.2.14
[root@ns1 php-5.2.14]# ./configure --prefix=/usr/local/php --enable-mbstring --with-apxs2=/usr/local/apacche/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php --with-gd=/usr/local/libgd --enable-gd-native-ttf --with-ttf --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr --with-zlib-dir=/usr/local/zlib --enable-xml --enable-mbstring --enable-sockets
以上部分参数说明:
--prefix=/usr/local/php 指定Php的安装目录位于/usr/local/php
--enable-mbstring 用于设置php支持多字节字符环境
--with-apxs2 用于设置apache服务器提供的apxs模块支持php程序的文件位置
--with-mysql 用于设置mysql服务器程序文件的安装位置
--with-config-file-path 用于设置PHP程序的配置文件所在的位置
[root@ns1 php-5.2.14]# make && make intsall #编译安装
[root@ns1 php-5.2.14]# cp php.ini-dist /usr/local/php5.2/php.ini #将php配置模板文件复制到PHP的配置目录中并重命名为php.ini
10、调整httpd.conf文件
i.PHP程序需要和Apache服务器协同工作,才能发挥其强大作用。因此需要在httpd.conf文件中添加支持PHP环境的相关配置。
要让Apache服务器支持PHP页面解析功能,可以使用LoadModule配置项加载PHP程序对应的模块。在httpd.conf文件中查找,确认存在配置行"LoadModule php5_module modules/libphp5.so“如果没有则手动添加。
ii.还需要使用AddType 配置项添加对.php类型的网页文件的识别。在httpd.conf文件中查找”AddType"关键字,参考相关配置添加配置行“AddType application/x-httpd-php.php”。
iii.修改首页文件让其支持.php。
以下是对httpd.conf文件具体操作。
[root@ns1 conf]# pwd
/usr/local/apacche/conf
[root@ns1 conf]# vi httpd.conf
...//省略
#查找到带关键字DirectoryIndex的行,调整首页文件,或用"#"注释以DirectoryIndex开头的行,再添加以下内容。
DirectoryIndex index.php index.html
AddDefaultCharset utf-8 #设置网页的默认字符集
#查找到带关键字LoadModule php5_module的行,若用“#”注释了则去掉“#”,没有,则手动添加。
LoadModule php5_module modules/libphp5.so #php5_module是模块名,moudule/libphp5.so是模块文件的位置
#查找到带关键字AddType的行,看是否有以下内容,若没有则手动添加。
AddType application/x-httpd-php.php
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-tar .tgz
wq! #保存退出!
[root@ns1 bin]# ./apachectl -t #再检查语法是否正确
[root@ns1 bin]# ./apachectl restart #重启一下服务
iv.测试PHP能否连接mysql
[root@ns1 www.tgh.com]# mv index.html index.php #将原来创建的index.html文件改为index.php,并修改其中内容
[root@ns1 www.tgh.com]# cat index.php #修改index.php,修改其中内容如下
在客户端浏览器中输入www.tgh.com 若看到了“Success!”则连接Mysql服务正常。
到此LAMP平台搭建成功!可参照我上一篇关于LAMP的博文。
--------------------------------------------------------------------------------------------
四、安装配置snmp
[root@ns1 etc]# rpm -qa |grep lm_sensors
lm_sensors-2.10.0-3.1 #提供硬件监视模块
[root@ns1 etc]# rpm -qa |grep net-snmp
net-snmp-libs-5.3.1-14.el5
net-snmp-utils-5.3.1-14.el5 #用于提供snmpget、snmpwalk等snmp数据采集命令
net-snmp-5.3.1-14.el5 #提供snmp数据采集服务
[root@ns1 etc]# vi snmp/snmpd.conf #找到snmpd.conf文件中的41、62、85行,将参数修改如下
41 com2sec notConfigUser 192.10.10.5 dic05 #192.10.10.5为Cacti服务器的IP;dic05为共享snmp信息组识别字符串
...
...
62 access notConfigGroup "" any noauth exact all none none #提供访问权限
...
...
85 view all included .1 80 #去掉此行的注释符号“#”
[root@ns1 etc]# service snmpd restart #重启snmpd服务
Stopping snmpd: [FAILED]
Starting snmpd: [ OK ]
[root@ns1 etc]# chkconfig --level 35 snmpd on #自启动
[root@ns1 etc]# service iptables stop #关闭防火墙
--------------------------------------------------------------------------------------------
五、安装配置Cacti
1、首先安装rrdtool,到http://oss.oetiker.ch/rrdtool/ 下载rrdtool-1.2.23.tar.gz
[root@ns1 src]# tar zxvf rrdtool-1.2.23.tar.gz
[root@ns1 src]# cd rrdtool-1.2.23
[root@ns1 rrdtool-1.2.23]# ./configure --prefix=/usr/local/
[root@ns1 rrdtool-1.2.23]# make && make install
2、安装Cacti
[root@ns1 src]# tar zxvf cacti-0.8.7b-cn-utf8.tar.gz #此及cacti中文包
[root@ns1 src]# mv cacti-0.8.7b-cn-utf8 /usr/local/apacche/htdocs/cacti #将cacti目录移动到网页目录并重命名
root@ns1 htdocs]# pwd
/usr/local/apacche/htdocs
3、创建cacti用户,并创建cacti数据库用户及授权
[root@ns1 htdocs]# useradd cacti #创建cacti用户
[root@ns1 htdocs]# chown -R cacti.cacti cacti/rra/ cacti/log/
[root@ns1 www.tgh.com]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.1.52-log Source distribution
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database cactidb default character set utf8; #创建数据库cactidb,并设置默认字符集为utf-8
mysql> grant all on cactidb.* to cacti@localhost identified by 'cacti'; #授权,并设置cacti登录数据库密码
Query OK, 0 rows affected (0.53 sec)
mysql>quit
4、导入数据表到cacti
[root@ns1 htdocs]# mysql -u cacti -p cactidb < cacti/cacti.sql #导入数据表
Enter password:
5、修改cacti的配置文件
[root@ns1 cacti]# vi include/config.php #调整cacti配置文件config.php,设置正确的数据库连接参数
$database_type = "mysql"; #数据库类型
$database_default = "cactidb"; #默认要访问的数据库名
$database_hostname = "localhost"; #数据库服务器地址
$database_username = "cacti"; #授权访问数据库的用户
$database_password = "cacti"; #授权密码
$database_port = "3306"; #数据库服务器端口
$config['url_path'] = "/"; #指定cacti目录相对于网站的根目录位置
6、重新调整httpd.conf配置文件
[root@ns1 htdocs]# cd /usr/local/apacche/conf/
[root@ns1 conf]# vi httpd.conf #只需将末尾创建虚拟主机文件目录指向cacti即可
...
...//省略