预先安装:
[root@7Core ~]# yum install -y autoconf make automake imake cmake gcc gcc-c++ libaio libaio-devel
bzr bison expat-devel libtool ncurses5-devel gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel yum install pcre* yum install openssl* yum install epel-release yum clean all yum repolist
第一部分:安装MySQL 5.7
[root@7Core ~]# yum -y remove mysql*
1、首先下载MySQL Yum repository,CentOS 7对应的下载链接如下
[root@7Core ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
2、下载完成之后安装下载好的rpm文件
[root@7Core ~]# yum -y localinstall mysql57-community-release-el7-7.noarch.rpm
3、安装完成之后验证MySQL YUM repository
[root@7Core ~]# yum repolist enabled | grep "mysql.*-community.*"
如下图所示,表示验证成功:
4、安装最新版的MySQL
[root@7Core ~]# yum -y install mysql-community-server
5、安装完成之后启动并查看MySQL状态:
[root@7Core ~]# systemctl enable mysqld
[root@7Core ~]# systemctl start mysqld
[root@7Core ~]# systemctl status mysqld
6、 手动验证MySQL安装的版本:
[root@7Core ~]# mysql --version
7、安装MySQL 5.7之后,MySQL会生成一个随机密码在/var/log/mysqld.log文件中,使用如下命令查看密码:
[root@7Core ~]# grep 'temporary password' /var/log/mysqld.log
如未发现密码:
[root@7Core ~]# systemctl stop mysqld
[root@7Core ~]# yum remove mysql*
[root@7Core ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
[root@7Core ~]# yum -y localinstall mysql57-community-release-el7-7.noarch.rpm
[root@7Core ~]# yum repolist enabled | grep "mysql.*-community.*"
[root@7Core ~]# yum -y install mysql-community-server
[root@7Core ~]# systemctl enable mysqld
[root@7Core ~]# systemctl start mysqld
[root@7Core ~]# grep 'temporary password' /var/log/mysqld.log
8、 记录密码之后,运行 mysql_secure_installation初始化MySQL,初始化过程中会提示输入随机密码
[root@7Core ~]# mysql_secure_installation
9、用该密码登录到服务端后,必须马上修改密码,不然会报如下错误:
mysql> select user();ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
如果只是修改为一个简单的密码,会报以下错误:
mysql> ALTER USER USER() IDENTIFIED BY '12345678';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这个其实与validate_password_policy的值有关。
首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
validate_password_length参数默认为8,它有最小值的限制
validate_password_length最小值为4,如果你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_mixed_case_count=2;
Query OK, 0 rows affected (0.00 sec)
退出
mysql> exit
现在可以修改简单的密码
10、使用新设置的密码连接MySQL:
[root@7Core ~]# mysql -u root -p
11、 至此,MySQL 5.7安装完成。
第二部分 安装Nginx
本示例使用的版本是1.15.5
1、创建用户及用户组
/创建系统用户组Nginx
[root@7Core ~]#groupadd -r nginx
//创建系统用户nginx并加入nginx系统用户组
// -r: 添加系统用户
// -g: 指定要创建的用户所属组
// -s: 新帐户的登录shell //其中/sbin/nologin指用户不能用来登录系统
// -d: 新帐户的主目录
// -M: 不要创建用户的主目录 //将要被创建的系统用户nginx不会在/home目录下创建nginx家目录
[root@7Core ~]# useradd -r -g nginx -s /sbin/nologin -d /usr/local/nginx -M nginx
2、创建相关目录
//创建缓存目录在/var/tmp/nginx/
[root@7Core ~]# mkdir -pv /var/tmp/nginx/{client_body,proxy,fastcgi,uwsgi,scgi}
//赋予Nginx用户权限
[root@7Core ~]# chown -R nginx:nginx /var/tmp/nginx/
//创建日志目录在/usr/local/nginx/
[root@7Core ~]# mkdir -pv /usr/local/nginx/logs
//赋予Nginx用户权限
[root@7Core ~]# chown -R nginx:nginx /usr/local/nginx/
3、安装基本环境
[root@7Core ~]# yum -y install gcc gcc-c++ autoconf automake make wget vim
[root@7Core ~]# yum -y install openssl openssl-devel libxml2-devel libxslt-devel perl-devel
perl-ExtUtils-Embed libtool zlib zlib-devel pcre pcre-devel patch
4、创建临时软件包目录
[root@7Core ~]# cd /usr/local/
[root@7Core ~]# mkdir package && cd package
5、安装PCRE-8.42(Nginx的Rewrite功能)
[root@7Core package]# wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
[root@7Core package]# tar -zxvf pcre-8.42.tar.gz
[root@7Core package]#cd pcre-8.42/ && ./configure && make && make install
&& cd ..
6、安装Zlib-1.2.11(Nginx的Gzip压缩功能)
[root@7Core package]# wget http://www.zlib.net/fossils/zlib-1.2.11.tar.gz
[root@7Core package]# tar -zxvf zlib-1.2.11.tar.gz
[root@7Core package]# cd zlib-1.2.11 && ./configure && make && make install
&& cd ..
7、安装OpenSSL-1.1.1(nginx第三方模块—nginx-sticky-module的使用)
[root@7Core package]# wget https://www.openssl.org/source/openssl-1.1.1-pre8.tar.gz
[root@7Core package]# tar -zxvf openssl-1.1.1-pre8.tar.gz
[root@7Core package]# cd openssl-1.1.1-pre8 && ./config && make && make install
&& cd ..
8、安装nginx-sticky-module
[root@7Core package]# wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz
[root@7Core package]# tar -zxvf master.tar.gz
[root@7Core package]# mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42/ nginx-sticky-module/
9、安装Nginx-1.15.5
//下载源码包
[root@7Core package]# wget https://nginx.org/download/nginx-1.15.5.tar.gz
//解压源码包
[root@7Core package]# tar -zxvf nginx-1.15.5.tar.gz
//进入工作目录
[root@7Core package]# cd nginx-1.15.5
[root@7Core nginx-1.15.5]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
--with-http_ssl_module --with-http_v2_module --with-http_dav_module
--with-http_flv_module --with-http_realip_module --with-http_addition_module
--with-http_xslt_module --with-http_stub_status_module --with-http_sub_module
--with-http_random_index_module --with-http_degradation_module
--with-http_secure_link_module --with-http_gzip_static_module
--with-http_perl_module --add-module=../nginx-sticky-module
--with-pcre=../pcre-8.42 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.1-pre8
--with-file-aio --with-mail --with-mail_ssl_module
--http-client-body-temp-path=/var/tmp/nginx/client_body
--http-proxy-temp-path=/var/tmp/nginx/proxy
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi
--http-scgi-temp-path=/var/tmp/nginx/scgi --with-stream
--with-ld-opt="-Wl,-E"
10、配置完成后编译并安装Nginx
[root@7Core nginx-1.15.5]# make && make install
11、将Nginx加入systemctl管理服务
[root@7Core nginx-1.15.5]# vim /usr/lib/systemd/system/nginx.service
#按i进入编辑模式写入以下内容(不包含本行)
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target
12、给予文件754权限
[root@7Core nginx-1.15.5]# chmod 754 /usr/lib/systemd/system/nginx.service
13、修改或新增文件需要执行以下语句才能生效
[root@7Core nginx-1.15.5]# systemctl daemon-reload
14、启动Nginx服务器
[root@7Core nginx-1.15.5]# systemctl start nginx
[root@7Core nginx-1.15.5]# systemctl enable nginx
15、查看Nginx服务启动状态
[root@7Core nginx-1.15.5]# systemctl status nginx
16、CentOS7 添加开放TCP 80端口
//开放80端口、如果需要https则开放443端口
[root@7Core nginx-1.15.5]# firewall-cmd --zone=public --add-port=80/tcp --permanent
//重载防火墙配置
[root@7Core nginx-1.15.5]# firewall-cmd --reload
17、在nginx中添加php的配置
[root@7Core nginx-1.15.5]# vim /usr/local/nginx/conf/nginx.conf
location / {
root /usr/local/nginx/html;
index index.html index.htm;
}
修改为:
location / {
root /usr/local/nginx/html;
index index.html index.htm index.php;
}
去掉注释:修改路径
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
18、重载配置
[root@7Core nginx-1.15.5]# systemctl reload nginx
19、创建测试页
[root@7Core nginx-1.15.5]# vim /usr/local/nginx/html/test.php<?phpphpinfo();?>
第三部分 安装PHP
1、 首先安装开发软件包:
[root@7Core ~]# yum -y groupinstall "Development Tools"
2、下载PHP最新稳定版,解压安装包,本示例使用的是php-7.1.18
[root@7Core ~]# cd /usr/local/
[root@7Core ~]# wget https://cn2.php.net/distributions/php-7.1.18.tar.gz
3、解压php包
[root@7Core ~]# tar -zxvf php-7.1.18.tar.gz
4、切换到PHP目录,运行configure:
[root@7Core ~]# cd php-7.1.18
[root@7Core ~]# ./configure -prefix=/usr/local/php
-with-config-file-path=/usr/local/php/etc -with-bz2 -with-curl -enable-ftp
-enable-sockets -disable-ipv6 -with-gd -with-jpeg-dir=/usr/local
-with-png-dir=/usr/local -with-freetype-dir=/usr/local -enable-gd-native-ttf -with-iconv-dir=/usr/local
-enable-mbstring -enable-calendar -with-gettext -with-libxml-dir=/usr/local
-with-zlib -with-pdo-mysql=mysqlnd -with-mysqli=mysqlnd -enable-dom -enable-xml
-enable-fpm -with-libdir=lib64 -enable-bcmath
5、安装
[root@7Core ~]# make && make install
6、复制安装包中的php.ini-production到 /usr/local/php/etc/php.ini
[root@7Core ~]# cp php.ini-production /usr/local/php/etc/php.ini
7、切换目录,复制启动脚本到/etc/init.d/php-fpm
[root@7Core ~]# cd /usr/local/php/etc/
[root@7Core ~]# cp php-fpm.conf.default php-fpm.conf
[root@7Core ~]# cd /usr/local/php-7.1.18
[root@7Core ~]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@7Core ~]# chmod +x /etc/init.d/php-fpm
8、修改名字及检查php是否安装成功
[root@7Core ~]# cd /usr/local/php/etc/php-fpm.d/
[root@7Core ~]# cp www.conf.default www.conf
[root@7Core ~]# /usr/local/php/sbin/php-fpm -t
9、配置PHP参数,Zabbix的硬件要求
[root@7Core ~]# vim /usr/local/php/etc/php.ini
修改:
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
date.timezone = Asia/Shanghai
always_populate_raw_post_data = -1
重启PHP
[root@7Core ~]# systemctl enable php-fpm
[root@7Core ~]# systemctl restart php-fpm
重要:安装LDAP模块
1、首先查看源码安装的php模块中是否有ldap.so
[root@7Core ~]# ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
total 1576
-rwxr-xr-x 1 root root 129484 Aug 22 10:18 ldap.so # 出现告警是因为此模块不存在,须要编译生成此模块并重新加载
-rwxr-xr-x 1 root root 1430846 Aug 21 19:38 opcache.so
2、如果本机中已经有ldap.so,只须要在/usr/local/php/etc/php.ini文件中添加extension=ldap.so
3、如果相应的模块不存在则进入到主目录,进行源码编译ldap模块(重点,其他模块如果缺失编译方法一样)
[root@7Core ~]# cd /usr/local/php-7.1.18/ext/ldap
[root@7Core ~]# /usr/local/php/bin/phpize
编译:
[root@7Core ~]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap
安装:
[root@7Core ~]# make && make install
在/usr/local/php/etc/php.ini文件中添加extension=ldap.so
[root@7Core ~]# systemctl restart php-fpm
如不能解决则执行:
[root@7Core ~]# yum install openldap openldap-devel -y
[root@7Core ~]# cp -frp /usr/lib64/libldap* /usr/lib/
在/usr/local/php/etc/php.ini文件中添加extension=ldap.so
[root@7Core ~]# systemctl restart php-fpm
第四部分 安装Zabbix
1、下载安装zabbix的YUM源
[root@7Core~]#rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
2、安装Zabbix
[root@7Core ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-agent
3、安装之后进入MySQL数据库,创建Zabbix数据库
[root@7Core ~]# mysql -u root -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'zabbixpass';
mysql> flush privileges;
4、导入Zabbix到数据库
[root@7Core ~]# cd /usr/share/doc/zabbix-server-mysql-4.2.0/
[root@7Core ~]# zcat create.sql.gz | mysql -u root -p zabbix
5、配置zabbix用户
[root@7Core ~]# groupadd zabbix
[root@7Core ~]# useradd -g zabbix -s /bin/false Zabbix
6、配置Zabbix服务器端
[root@7Core ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbixpass
[root@7Core ~]# cd /usr/share/
[root@7Core ~]# cp -r zabbix /usr/local/nginx/html
[root@7Core ~]# chown -R zabbix:zabbix /etc/zabbix
[root@7Core ~]# chown -R zabbix:zabbix /usr/share/zabbix
[root@7Core ~]# chown -R zabbix:zabbix /usr/lib/zabbix
[root@7Core ~]# chmod -R 755 /etc/zabbix/web/
[root@7Core ~]# systemctl enable zabbix-server.service
[root@7Core ~]# systemctl restart zabbix-server.service
7、配置Zabbix客户端
[root@7Core~]# vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0Server=127.0.0.1 服务端的ipServerActive=127.0.0.1服务端的ip
Hostname=Zabbix server 服务端的主机名(监控自己时 可不更改)
Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@7Core ~]# systemctl enable zabbix-agent.service
[root@7Core ~]# systemctl restart zabbix-agent.service
http://127.0.0.1/zabbix/setup.php