龙空技术网

zabbix系列(八) 使用普通账号 Centos7 源码部署 zabbix server3.4.10

名之很难起 175

前言:

今天朋友们对“centos不在sudoers文件中”可能比较看重,看官们都想要知道一些“centos不在sudoers文件中”的相关文章。那么小编也在网络上汇集了一些有关“centos不在sudoers文件中””的相关知识,希望咱们能喜欢,朋友们一起来学习一下吧!

一、安装lamp环境

在centos7上安装zabbix server3.4之前,我们首先搭建zabbix所需要的lamp环境。

先关闭selinux,修改/etc/sysconfig/selinux 文件,然后重启服务器

2 创建用户账户

对于所有Zabbix的守护进程,需要一个无特权的用户。如果Zabbix守护进程以一个无特权的用户账户启动,那么它会使用该用户运行。

然而,如果一个守护进程以‘root’用户启动,它会切换为‘zabbix’用户账户,且这个用户必须存在。在Linux系统中,可以使用下面命令建立一个用户(该用户属于自己的用户组,“zabbix”):

groupadd zabbix

useradd -g zabbix zabbix

设置密码

#passwd zabbix

添加sudo权限

使用Linux系统时,经常会被要求使用超级权限,如果拥有root账户那还好,可以直接进行任何操作,但是这并不一个好方法,也不推荐使用。root的权限太过大了,慎用!!!

对于普通用户来说,一个简单的sudo即可解决大部分问题。然而当我们在使用sudo时(尤其对于一个新的用户第一次使用sudo),会发现终端反馈了XXX is not in the sudoers file. This incident will be reported.(XXX是用户名称)。以下为解决办法:

1. 进入超级用户模式。也就是输入”su root”,系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接用root进入修改)

2. 添加文件的写权限。也就是输入命令”chmod u+w /etc/sudoers”。

3. 编辑/etc/sudoers文件。也就是输入命令”vim /etc/sudoers”,进入编辑模式,找到这一 行:”root ALL=(ALL) ALL”(会用vim编辑器的可以使用“/root ALL=(ALL)ALL”定位)在起下面添加”xxx ALL=(ALL) ALL”(这里的xxx是你的用户名),然后保存退出。

4. 撤销文件的写权限。也就是输入命令”chmod u-w /etc/sudoers”。

切换进入zabbix

su zabbix

下载最新的yum源,如下:

sudo wget -P /etc/yum.repos.d

在开始安装之前,还需要说明下centos7自带的mysql是mariadb,我们可以通过如下命令查看:

yum search mysql|tac

现在开始安装lamp环境,使用如下命令:

sudo yum -y install mariadb mariadb-server php php-mysql httpd

通过上图,我们可以很明显的看出centos7默认安装的是php5.4、httpd2.4和maradb5.5,这个完全符合zabbix3.4对软件版本的要求。

lamp安装完毕后,我们现在来配置mysql数据库。

设置开机自启动mysql,并启动mysql,使用如下命令:

[zabbix@zabbix etc]$ sudo systemctl enable mariadb

[zabbix@zabbix etc]$ sudo systemctl start mariadb

[zabbix@zabbix etc]$ sudo systemctl status mariadb

初始化mysql数据库,并配置root用户密码。使用如下命令:

sudo mysql_secure_installation

上图中主要是配置匿名用户、test用户以及root用户远程连接等相关配置。

mysql初始化完毕后,我们现在来创建zabbix数据库及其用户,使用如下命令:

mysql -uroot -p'tdr123' -e "create database zabbix default character set utf8 collate utf8_bin;"

mysql -uroot -p'tdr123' -e "grant all on zabbix.* to 'zabbix'@'%' identified by'zabbix';"

现在来测试刚刚创建的zabbix用户,是否可以连接mysql数据库,如下:

mysql -uzabbix -pzabbix

show databases;

通过上图,我们可以很明显的看出zabbix用户是可以正常连接数据库的。

启动apache以及开放80端口,如下:

//添加自启动

sudo systemctl enable httpd

//开启httpd服务

sudo systemctl start httpd

查看端口

[zabbix@zabbix root]$ netstat -tunl

二、安装zabbix server3.4.10

从官网下载安装包zabbix-3.4.10.tar.gz

wget

也可以从我的微博下载

等会发下载地址

把下载好的文件上传至服务器目录/home/zabbix/soft中

[zabbix@zabbix ~]$ cd /home/zabbix/soft

[zabbix@zabbix ~]$ tar -zxvf zabbix-3.4.10.tar.gz

[zabbix@zabbix soft]$ cd zabbix-3.4.10

创建安装目录

[zabbix@zabbix soft]$ mkdir /home/zabbix/zabbix-server

编译

[zabbix@zabbix zabbix-3.4.10]$ ./configure --prefix=/home/zabbix/zabbix-server --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --enable-agent --with-unixodbc

有报错,编译不通过,检查发现没有安装依赖库

所依赖的安装包

sudo yum -y install gcc* make php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* mysql-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel openldap openldap-devel libevent-devel php-ldap libevent-devel

再次编译则通过了

[zabbix@zabbix zabbix-3.4.10]$ ./configure --prefix=/home/zabbix/zabbix-server --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --enable-agent --with-unixodbc

安装

[zabbix@zabbix zabbix-3.4.10]$ make && make install

查看目录中是否已有服务文件,如果没有需要注意./configure 是否有错误

[zabbix@zabbix zabbix-3.4.10]$ ls /home/zabbix/zabbix-server/

编辑配置文件

vi /home/zabbix/zabbix-server/etc/zabbix_server.conf

内容为:

LogFile=/home/zabbix/zabbix-server/logs/zabbix_server.log

PidFile=/home/zabbix/zabbix-server/zabbix_server.pid

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

Timeout=4

AlertScriptsPath=/home/zabbix/zabbix-server/alertscripts

ExternalScripts=/home/zabbix/zabbix-server/externalscripts

LogSlowQueries=3000

移动zabbix项目到httpd目录中去

查看php文件

[zabbix@zabbix zabbix-3.4.10]$ sudo cp -r frontends/php/ /var/www/html/zabbix

[root@zabbix zabbix-3.4.10]# chown -R zabbix.zabbix /var/www/html/zabbix/

修改PHP的配置参数

vim /etc/php.ini

date.timezone= Asia/Shanghai

/max_execution_time = 300

post_max_size = 32M

memory_limit = 128M

mbstring.func_overload = 1

max_input_time = 300

导入数据库

mysql -uzabbix -pzabbix zabbix < /home/zabbix/soft/zabbix-3.4.10/database/mysql/schema.sql

mysql -uzabbix -pzabbix zabbix < /home/zabbix/soft/zabbix-3.4.10/database/mysql/images.sql

mysql -uzabbix -pzabbix zabbix < /home/zabbix/soft/zabbix-3.4.10/database/mysql/data.sql

查找服务程序所在目录

[zabbix@zabbix zabbix-3.4.10]$ sudo find / -name "zabbix_server"

拷贝

[zabbix@zabbix zabbix-3.4.10]$ sudo cp /home/zabbix/soft/zabbix-3.4.10/misc/init.d/fedora/core/zabbix_server /etc/init.d/

[zabbix@zabbix zabbix-3.4.10]$ sudo cp /home/zabbix/soft/zabbix-3.4.10/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

将启动脚本的路径修改为/home/zabbix/zabbix-server

[zabbix@zabbix zabbix-3.4.10]$ sudo vi /etc/init.d/zabbix_server

BASEDIR=/home/zabbix/zabbix-server

[zabbix@zabbix zabbix-3.4.10]$ sudo vi /etc/init.d/zabbix_agentd

vi /home/zabbix/zabbix-server/etc/zabbix_agentd.conf

开启服务

[zabbix@zabbix zabbix-3.4.10]$ sudo chkconfig --add zabbix_server

[zabbix@zabbix zabbix-3.4.10]$ sudo chkconfig zabbix_server on

[zabbix@zabbix zabbix-3.4.10]$ sudo service zabbix_server start

[zabbix@zabbix zabbix-3.4.10]$ sudo chkconfig --add zabbix_agentd

[zabbix@zabbix zabbix-3.4.10]$ sudo chkconfig zabbix_agentd on

[zabbix@zabbix zabbix-3.4.10]$ sudo service zabbix_agentd start

[zabbix@zabbix zabbix-3.4.10]$ sudo systemctl enable httpd.service

[zabbix@zabbix zabbix-3.4.10]$ sudo systemctl start httpd.service

查看服务是否正常启动,克可通过端口3306 mysql。80 网站。10050 zabbix_agentd 。10051 zabbix_server

标签: #centos不在sudoers文件中 #centos7添加帐号