Centos7下使用Yum安装Zabbix2.4

Geek小A 发表了文章 • 0 个评论 • 138 次浏览 • 2017-06-17 18:09 • 来自相关话题

一、Zabbix简介

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
 

二、Zabbix安装

本文档在同一台机器上安装了zabbix-server 和zabbix-agent 自己监控自己。
 
 
1、配置LAMP
 
这个可以参考之前的文章:http://openskill.cn/article/578 
 
2、配置Yum源
Zabbix在CentOS基本源里不可获得,因此必须配置EPEL 和Zabbix 官方repository

安装EPEL repository
yum install epel-release配置ZabbixZone package repository and GPG key
rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
rpm -Uv http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm3、安装Zabbix server and agent(agent是可选的)
安装Zabbix server and agent:(配置自己监控自己,所以安装了zabbix-agent)
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway编辑 file /etc/httpd/conf.d/zabbix:
vi /etc/httpd/conf.d/zabbix.conf更新时区:
php_value date.timezone Asia/Shanghai重启httpd
systemctl restart httpd
4、创建MySQL 数据库和用户
 
登录MariaDB:
mysql –u root –p创建一个数据库‘zabbixdb’和数据库用户‘zabbix’
MariaDB [(none)]> create database zabbix character set utf8;

MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';

MariaDB [(none)]> flush privileges;
 5、数据库导入zabbix template
使用数据库用户zabbix登录数据库
mysql –uzabbix –p切换到zabbix数据库
use zabbix导入模板数据
MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.7/create/schema.sql

MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.7/create/images.sql

MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.7/create/data.sql
 6、配置Zabbix server
编辑文件/etc/zabbix/zabbix_server.conf
vi /etc/zabbix/zabbix_server.conf配置下面的三个参数
[...]
DBName=zabbix
[...]
DBUser=zabbix
[...]
DBPassword=zabbix
[...]
 7、配置zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf配置zabbix server 的ip
[...]

## Line 85 - Specify Zabbix server ##

Server=127.0.0.1

[...]

## Line 126 - Specify Zabbix server ##

ServerActive=127.0.0.1

[...]

## Line 137 - Specify Zabbix server Hostname or IP address ##

Hostname=127.0.0.1

[...]
8、修改PHP 设置
 
修改php.ini为zabbix 建议的设置

编辑文件 php.ini
vi /etc/php.ini设置下面的参数
max_execution_time = 600
max_input_time = 600
memory_limit = 256
Mpost_max_size = 32M
upload_max_filesize = 16M
date.timezone = Asia/Shanghai
9、修改Firewall 和SELinux 设置
 
开放zabbix端口10050 and 10051.
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp重启firewall
systemctl restart firewalld如果使用 SELinux, 运行以下命令使 Apache 可以和 Zabbix通信
setsebool -P httpd_can_connect_zabbix=1
 10、允许Zabbix web console 对特定IP段可用 (可选)
编辑文件 /etc/httpd/conf.d/zabbix.conf
vi /etc/httpd/conf.d/zabbix.conf添加允许访问 zabbix web interface的ip段. 如果设置 ‘Allow from All’, 这可以允许全部可以访问
#
# Zabbix monitoring system php web frontend
#

Alias /zabbix /usr/share/zabbix

<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Require all granted

<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai
</IfModule>
</Directory>

<Directory "/usr/share/zabbix/conf">
Require all denied
</Directory>

<Directory "/usr/share/zabbix/include">
Require all denied
</Directory>启动zabbix-server 和zabbix-agent。重启httpd,,并设置zabbix-server和zabbix-agent开机自动启动
systemctl start zabbix-server

systemctl start zabbix-agent

systemctl restart httpd

systemctl restart mariadb

systemctl enable zabbix-server

systemctl enable zabbix-agent ---- (可选)
11、通过控制台配置Zabbix
 
浏览器访问http://ip-address/zabbix



检查包的完整性和参数配置




数据zabbix数据库名、数据库用户和密码,并测试




输入Server name(可选)




预安装summary




点击完成,完成安装




安装完成后,重定向到zabbix控制台登录页面. 输入用户名和密码,默认的用户名和密码为admin/zabbix.




管理仪表盘页面如下




英文原文地址:http://www.unixmen.com/how-to-install-zabbix-server-on-centos-7/​   查看全部


一、Zabbix简介


zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
 


二、Zabbix安装


本文档在同一台机器上安装了zabbix-server 和zabbix-agent 自己监控自己。
 
 
1、配置LAMP
 
这个可以参考之前的文章:http://openskill.cn/article/578 
 
2、配置Yum源
Zabbix在CentOS基本源里不可获得,因此必须配置EPEL 和Zabbix 官方repository

安装EPEL repository
yum install epel-release
配置ZabbixZone package repository and GPG key
rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
rpm -Uv http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm
3、安装Zabbix server and agent(agent是可选的)
安装Zabbix server and agent:(配置自己监控自己,所以安装了zabbix-agent)
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway
编辑 file /etc/httpd/conf.d/zabbix:
vi /etc/httpd/conf.d/zabbix.conf
更新时区:
php_value date.timezone Asia/Shanghai
重启httpd
systemctl restart httpd

4、创建MySQL 数据库和用户
 
登录MariaDB:
mysql –u root –p
创建一个数据库‘zabbixdb’和数据库用户‘zabbix’
MariaDB [(none)]> create database zabbix character set utf8;

MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';

MariaDB [(none)]> flush privileges;

 5、数据库导入zabbix template
使用数据库用户zabbix登录数据库
mysql –uzabbix –p
切换到zabbix数据库
use zabbix
导入模板数据
MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.7/create/schema.sql

MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.7/create/images.sql

MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.7/create/data.sql

 6、配置Zabbix server
编辑文件/etc/zabbix/zabbix_server.conf
vi /etc/zabbix/zabbix_server.conf
配置下面的三个参数
[...]
DBName=zabbix
[...]
DBUser=zabbix
[...]
DBPassword=zabbix
[...]

 7、配置zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf
配置zabbix server 的ip
[...]

## Line 85 - Specify Zabbix server ##

Server=127.0.0.1

[...]

## Line 126 - Specify Zabbix server ##

ServerActive=127.0.0.1

[...]

## Line 137 - Specify Zabbix server Hostname or IP address ##

Hostname=127.0.0.1

[...]

8、修改PHP 设置
 
修改php.ini为zabbix 建议的设置

编辑文件 php.ini
vi /etc/php.ini
设置下面的参数
max_execution_time = 600
max_input_time = 600
memory_limit = 256
Mpost_max_size = 32M
upload_max_filesize = 16M
date.timezone = Asia/Shanghai

9、修改Firewall 和SELinux 设置
 
开放zabbix端口10050 and 10051.
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp
重启firewall
systemctl restart firewalld
如果使用 SELinux, 运行以下命令使 Apache 可以和 Zabbix通信
setsebool -P httpd_can_connect_zabbix=1

 10、允许Zabbix web console 对特定IP段可用 (可选)
编辑文件 /etc/httpd/conf.d/zabbix.conf
vi /etc/httpd/conf.d/zabbix.conf
添加允许访问 zabbix web interface的ip段. 如果设置 ‘Allow from All’, 这可以允许全部可以访问
#
# Zabbix monitoring system php web frontend
#

Alias /zabbix /usr/share/zabbix

<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Require all granted

<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai
</IfModule>
</Directory>

<Directory "/usr/share/zabbix/conf">
Require all denied
</Directory>

<Directory "/usr/share/zabbix/include">
Require all denied
</Directory>
启动zabbix-server 和zabbix-agent。重启httpd,,并设置zabbix-server和zabbix-agent开机自动启动
systemctl start zabbix-server

systemctl start zabbix-agent

systemctl restart httpd

systemctl restart mariadb

systemctl enable zabbix-server

systemctl enable zabbix-agent ---- (可选)

11、通过控制台配置Zabbix
 
浏览器访问http://ip-address/zabbix
zabbix1.png
检查包的完整性和参数配置
zabbix2.png

数据zabbix数据库名、数据库用户和密码,并测试
zabbix3.png

输入Server name(可选)
zabbix4.png

预安装summary
zabbix5.png

点击完成,完成安装
zabbix6.png

安装完成后,重定向到zabbix控制台登录页面. 输入用户名和密码,默认的用户名和密码为admin/zabbix.
zabbix7.png

管理仪表盘页面如下
zabbix8.png

英文原文地址:http://www.unixmen.com/how-to-install-zabbix-server-on-centos-7/​  

Centos7下配置LAMP过程记录

Geek小A 发表了文章 • 0 个评论 • 166 次浏览 • 2017-06-17 00:45 • 来自相关话题

LAMP指的Linux(操作系统)、Apache HTTP 服务器,MySQL(有时也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的第一个字母,一般用来建立web应用平台。所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的 优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。
 
下面讨论如何在RHEL/CentOS/Scientific Linux 7上搭建LAMP环境.

一、Install Apache

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

在终端以root权限运行以下命令:yum install httpd -y启动Apachesystemctl start httpd设置开机启动systemctl enable httpdfirewall设置允许远程登录:firewall-cmd --permanent --add-service=http

systemctl restart firewalld测试Apache

浏览器访问 http://localhost/ or http://server-ip-address/





二、Install MariaDB

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
 
安装MariaDB:yum install mariadb-server mariadb -y启动MariaDBsystemctl start mariadb设置开机启动systemctl enable mariadb设置root密码
默认情况下,root密码为空。为防止未授权的访问,我们设置root密码mysql_secure_installation

三、Install PHP

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言,主要适用于Web开发领域。

使用以下的命令安装phpyum install php php-mysql php-gd php-pear -y测试PHP:
在Apache文档根目录创建“testphp.php”vi /var/www/html/testphp.php编辑内容如下<?php
phpinfo();
?>重启 httpd 服务:systemctl restart httpd浏览器访问 http://server-ip-address/testphp.php. 将会显示php的版本信息.




也可以使用如下命令安装所有php modules,重启httpd服务,查看http://server-ip-address/testphp.php  ,可以看到所有安装的modulesyum install php* -y

四、Install phpMyAdmin (可选)

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。

添加 EPEL repository   参照(Install EPEL Repository on RHEL/CentOS/Scientific Linux 7)yum install epel-release安装 phpMyAdmin:yum install phpmyadmin -y配置phpMyAdmin

默认,phpMyAdmin只能由本机访问。为了能够远程访问,编辑phpmyadmin.conf file:vi /etc/httpd/conf.d/phpMyAdmin.conf查找/<Directory> ,注释掉或删除如下内容<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8

<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>添加<Directory /usr/share/phpMyAdmin/>
Options none
AllowOverride Limit
Require all granted
</Directory>编辑“config.inc.php” 改变phpMyAdmin的authentication,修改“cookie” 为 “http”vi /etc/phpMyAdmin/config.inc.phpChange ‘cookie’ to ‘http’.




重启the Apache service:systemctl restart httpd访问 phpmyadmin 的控制台 http://server-ip-address/phpmyadmin/




输入MySQL username and password,将重定向到PhpMyAdmin main web interface.




现在你可以通过phpMyAdmin web interface 管理你的MariaDB数据库了。 查看全部
LAMP指的Linux(操作系统)、Apache HTTP 服务器,MySQL(有时也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的第一个字母,一般用来建立web应用平台。所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的 优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。
 
下面讨论如何在RHEL/CentOS/Scientific Linux 7上搭建LAMP环境.


一、Install Apache


Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

在终端以root权限运行以下命令:
yum install httpd -y
启动Apache
systemctl start httpd
设置开机启动
systemctl enable httpd
firewall设置允许远程登录:
firewall-cmd --permanent --add-service=http

systemctl restart firewalld
测试Apache

浏览器访问 http://localhost/ or http://server-ip-address/
apachetesting.png


二、Install MariaDB


MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
 
安装MariaDB:
yum install mariadb-server mariadb -y
启动MariaDB
systemctl start mariadb
设置开机启动
systemctl enable mariadb
设置root密码
默认情况下,root密码为空。为防止未授权的访问,我们设置root密码
mysql_secure_installation


三、Install PHP


PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言,主要适用于Web开发领域。

使用以下的命令安装php
yum install php php-mysql php-gd php-pear -y
测试PHP:
在Apache文档根目录创建“testphp.php”
vi /var/www/html/testphp.php
编辑内容如下
<?php 
phpinfo();
?>
重启 httpd 服务:
systemctl restart httpd
浏览器访问 http://server-ip-address/testphp.php. 将会显示php的版本信息.
phpinfo.png

也可以使用如下命令安装所有php modules,重启httpd服务,查看http://server-ip-address/testphp.php  ,可以看到所有安装的modules
yum install php* -y


四、Install phpMyAdmin (可选)


phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。

添加 EPEL repository   参照(Install EPEL Repository on RHEL/CentOS/Scientific Linux 7)
yum install epel-release
安装 phpMyAdmin:
yum install phpmyadmin -y
配置phpMyAdmin

默认,phpMyAdmin只能由本机访问。为了能够远程访问,编辑phpmyadmin.conf file:
vi /etc/httpd/conf.d/phpMyAdmin.conf
查找/<Directory> ,注释掉或删除如下内容
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8

<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
添加
<Directory /usr/share/phpMyAdmin/>
Options none
AllowOverride Limit
Require all granted
</Directory>
编辑“config.inc.php” 改变phpMyAdmin的authentication,修改“cookie” 为 “http”
vi /etc/phpMyAdmin/config.inc.php
Change ‘cookie’ to ‘http’.
cookie.png

重启the Apache service:
systemctl restart httpd
访问 phpmyadmin 的控制台 http://server-ip-address/phpmyadmin/
phpmyadmin.png

输入MySQL username and password,将重定向到PhpMyAdmin main web interface.
madmin.png

现在你可以通过phpMyAdmin web interface 管理你的MariaDB数据库了。

腾讯云正式成为MariaDB基金会白金会员

图灵之歌 发表了文章 • 0 个评论 • 141 次浏览 • 2017-06-16 16:35 • 来自相关话题

6月16日,全球开源组织MariaDB基金会宣布,腾讯云正式成为MariaDB基金会白金会员,这是基金会最高级别会员。这也是腾讯云继上个月加入CNCF基金会和Linux基金会后,在开源界的又一项新动作,意味腾讯云在开源领域的步伐正在不断深入,从IaaS的开源进入到PaaS的开源。
 


腾讯云将输出腾讯在MariaDB数据库上的经验和技术。腾讯云专家工程师程彬加入基金会成员组,成为全球仅有的7位官方成员之一。程彬负责腾讯云数据库CDB以及内核TXSQL的研发,专注于数据库和分布式存储领域相关技术和产品。他将代表腾讯云的数据库团队参加基金会每周的技术会议,提供MariaDB数据库的意见和建议,并在内部推动腾讯云MariaDB的开源进程,推动MariaDB在中国的开源工作。  
 
MariaDB基金会主席高度评价腾讯云
 
MariaDB基金会主席 Otto Kekäläinen表示:“MariaDB是未来的IT基础设施的一个基本组成部分,腾讯云在这个领域不断的思考和布局,具备锐意开创未来的主宰领导力。”他同时指出,强大的开源文化生长在中国以及亚洲,基金会的目标是将来在亚洲发起更多的活动。我们下一个MariaDB 开发者大会将在中国深圳举行。
 
MariaDB基金会官方同时评价,腾讯云的加入为基金会的发展提供强有力的资源支持,保障MariaDB开源生态的良好运转,为不断成长的用户和开发者提供服务。
 
MariaDB是由MySQL之父Michael Widenius于2009年开创的一个MySQL分支,在MySQL被商业企业收购后,为保证行业仍有开源可用的兼容MySQL的分支可用,Michael Widenius在创立了 MariaDB的同时,还成立了非赢利组织 MariaDB 基金会为MariaDB 项目、用户和开发者社区提供基础架构支持。目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了商用的MySQL版本,在开源数据库领域拥有较强的技术影响力。
 
腾讯云将重点开源MariaDB内核积累
 
在腾讯内部,一直有一个数据库内核团队,在MySQL和MariaDB基础上之上做出改进优化,重点排出一些平时难以触发的bug,并在此基础上打造出了腾讯云的数据库产品。
 
在参与MySQL和MariaDB优化的过程中,腾讯云完成了主备节点锁拆分、动态调整各种级别复制参数,以及binlog写优化等;发现并解决了刷脏死锁引起的 innodb 600S crash 问题、memory barrier 引起的 hang 问题以及字符串问题等影响数据库稳定的问题。
 
未来,腾讯云还将投入更多精力到内核研发上,并会合并之前的一些内部稳定使用功能发布开源版本,尤其是适合云环境的功能的开源版本,为开源组织贡献自己的一份力量。
 
腾讯云深度拥抱全球开源生态圈
 
近年来,腾讯云大力拥抱开源事业。今年5月,腾讯云以金牌会员的身份正式加入CNCF基金会,为CNCF开源社区开放自身的Kubernetes相关特性,释放自身在容器服务、KVM虚拟化等方面的优势积累。同时基于腾讯云在Linux领域的积极贡献,腾讯云获CNCF基金会邀请加入Linux基金会。
 
此次腾讯云加入MariaDB基金会,将在数据库内核研发和功能开发方面开放助力开源,与国际的数据库专家团体建立更密切的联系,推动开放更多的技术开源。
 
未来腾讯云继续加大在开源领域的步伐,深度拥抱全球开源生态圈,从产品出发,基于大量用户在产品使用的感受和腾讯云的服务实践,将有价值的特性反馈给社区,与社区一起完善相关特性,同时从社区获得广泛的用户反馈,再次回到产品,提升腾讯云的产品体验。
 
 
延伸阅读:
腾讯云加入MariaDB基金会的官方消息:
https://mariadb.org/tencent-cloud-becomes-platinum-sponsor-mariadb-foundation/ 查看全部
6月16日,全球开源组织MariaDB基金会宣布,腾讯云正式成为MariaDB基金会白金会员,这是基金会最高级别会员。这也是腾讯云继上个月加入CNCF基金会和Linux基金会后,在开源界的又一项新动作,意味腾讯云在开源领域的步伐正在不断深入,从IaaS的开源进入到PaaS的开源。
 


腾讯云将输出腾讯在MariaDB数据库上的经验和技术。腾讯云专家工程师程彬加入基金会成员组,成为全球仅有的7位官方成员之一。程彬负责腾讯云数据库CDB以及内核TXSQL的研发,专注于数据库和分布式存储领域相关技术和产品。他将代表腾讯云的数据库团队参加基金会每周的技术会议,提供MariaDB数据库的意见和建议,并在内部推动腾讯云MariaDB的开源进程,推动MariaDB在中国的开源工作。  
 
MariaDB基金会主席高度评价腾讯云
 
MariaDB基金会主席 Otto Kekäläinen表示:“MariaDB是未来的IT基础设施的一个基本组成部分,腾讯云在这个领域不断的思考和布局,具备锐意开创未来的主宰领导力。”他同时指出,强大的开源文化生长在中国以及亚洲,基金会的目标是将来在亚洲发起更多的活动。我们下一个MariaDB 开发者大会将在中国深圳举行。
 
MariaDB基金会官方同时评价,腾讯云的加入为基金会的发展提供强有力的资源支持,保障MariaDB开源生态的良好运转,为不断成长的用户和开发者提供服务。
 
MariaDB是由MySQL之父Michael Widenius于2009年开创的一个MySQL分支,在MySQL被商业企业收购后,为保证行业仍有开源可用的兼容MySQL的分支可用,Michael Widenius在创立了 MariaDB的同时,还成立了非赢利组织 MariaDB 基金会为MariaDB 项目、用户和开发者社区提供基础架构支持。目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了商用的MySQL版本,在开源数据库领域拥有较强的技术影响力。
 
腾讯云将重点开源MariaDB内核积累
 
在腾讯内部,一直有一个数据库内核团队,在MySQL和MariaDB基础上之上做出改进优化,重点排出一些平时难以触发的bug,并在此基础上打造出了腾讯云的数据库产品。
 
在参与MySQL和MariaDB优化的过程中,腾讯云完成了主备节点锁拆分、动态调整各种级别复制参数,以及binlog写优化等;发现并解决了刷脏死锁引起的 innodb 600S crash 问题、memory barrier 引起的 hang 问题以及字符串问题等影响数据库稳定的问题。
 
未来,腾讯云还将投入更多精力到内核研发上,并会合并之前的一些内部稳定使用功能发布开源版本,尤其是适合云环境的功能的开源版本,为开源组织贡献自己的一份力量。
 
腾讯云深度拥抱全球开源生态圈
 
近年来,腾讯云大力拥抱开源事业。今年5月,腾讯云以金牌会员的身份正式加入CNCF基金会,为CNCF开源社区开放自身的Kubernetes相关特性,释放自身在容器服务、KVM虚拟化等方面的优势积累。同时基于腾讯云在Linux领域的积极贡献,腾讯云获CNCF基金会邀请加入Linux基金会。
 
此次腾讯云加入MariaDB基金会,将在数据库内核研发和功能开发方面开放助力开源,与国际的数据库专家团体建立更密切的联系,推动开放更多的技术开源。
 
未来腾讯云继续加大在开源领域的步伐,深度拥抱全球开源生态圈,从产品出发,基于大量用户在产品使用的感受和腾讯云的服务实践,将有价值的特性反馈给社区,与社区一起完善相关特性,同时从社区获得广泛的用户反馈,再次回到产品,提升腾讯云的产品体验。
 
 
延伸阅读:
腾讯云加入MariaDB基金会的官方消息:
https://mariadb.org/tencent-cloud-becomes-platinum-sponsor-mariadb-foundation/

Centos6下安装PHP7和Nginx

Geek小A 发表了文章 • 0 个评论 • 144 次浏览 • 2017-06-15 22:29 • 来自相关话题

一、安装PHP

PHP源码包下载地址:
# wget http://cn2.php.net/distributions/php-5.6.22.tar.bz2
# wget http://cn2.php.net/distributions/php-7.0.7.tar.bz2
更新yum源
这里将Centos的yum源更换为国内的阿里云源。yum安装正常的可以跳过本步骤, 阿里云Linux安装镜像源地址: http://mirrors.aliyun.com/  
 
1、备份你的原镜像文件,以免出错后可以恢复:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/ 
# CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

# CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

# CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、生成缓存
yum clean all
yum makecache
安装依赖yum install -y gcc gcc-c++ make cmake bison autoconf wget lrzsz
yum install -y libtool libtool-ltdl-devel
yum install -y freetype-devel libjpeg.x86_64 libjpeg-devel libpng-devel gd-devel
yum install -y python-devel patch sudo
yum install -y openssl* openssl openssl-devel ncurses-devel
yum install -y bzip* bzip2 unzip zlib-devel
yum install -y libevent*
yum install -y libxml* libxml2-devel
yum install -y libcurl* curl-devel
yum install -y readline-devel需要编译libmcrypt、mhash、mcrypt库
tar zxvf /libmcrypt-2.5.8.tar.gz \
&& cd /libmcrypt-2.5.8 && ./configure && make && make install && cd - / && rm -rf /libmcrypt* \
&& tar zxvf /mhash-0.9.9.9.tar.gz && cd mhash-0.9.9.9 && ./configure && make && make install && cd - / && rm -rf /mhash* \
&& tar zxvf /mcrypt-2.6.8.tar.gz && cd mcrypt-2.6.8 && LD_LIBRARY_PATH=/usr/local/lib ./configure && make && make install && cd - / && rm -rf /mcrypt*
开始安装
使用./configure --help查看编译支持的选项。如果写了不支持的选项,如php7里不支持--with-mysql=mysqlnd会提示:
configure: WARNING: unrecognized options: --with-mysqlwget http://cn2.php.net/distributions/php-7.0.7.tar.bz2
tar jxvf php-7.0.7.tar.bz2
cd php-7.0.7

$ ./configure --prefix=/usr/local/php --with-config-file-scan-dir=/usr/local/php/etc/ --enable-inline-optimization --enable-opcache --enable-session --enable-fpm --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --with-sqlite3 --with-gettext --enable-mbregex --enable-mbstring --enable-xml --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-xmlrpc --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-curlwrappers --with-zlib --enable-zip --with-bz2 --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-readline

$ make
$ make install 可选项:
--with-fpm-user=www --with-fpm-group=www这里面开启了很多扩展。如果这时候忘了开启,以后还能加上吗?答案是可以的。以后只需要进入源码的ext目录,例如忘了pdo_mysql,进入ext/pdo_mysql,使用phpize工具,像安装普通扩展一样即可生成pdo_mysql.so。

关于:--enable-safe-mode
开启的话php可以执行一下系统函数,建议关闭(可搜索受此函数影响的php函数)
#如果只需要配置某一个目录可以执行则 设置为on并指定 safe_mode_exec_dir=string目录来执行系统函数。
#本特性已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。
safe_mode = offphp7编译不用加这个配置。

编译比较耗内存和CPU。等待半小时左右,编译完成:
Build complete.
Don't forget to run 'make test'.

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/
Installing PHP CLI binary: /usr/local/php/bin/
Installing PHP CLI man page: /usr/local/php/php/man/man1/
Installing PHP FPM binary: /usr/local/php/sbin/
Installing PHP FPM config: /usr/local/php/etc/
Installing PHP FPM man page: /usr/local/php/php/man/man8/
Installing PHP FPM status page: /usr/local/php/php/php/fpm/
Installing phpdbg binary: /usr/local/php/bin/
Installing phpdbg man page: /usr/local/php/php/man/man1/
Installing PHP CGI binary: /usr/local/php/bin/
Installing PHP CGI man page: /usr/local/php/php/man/man1/
Installing build environment: /usr/local/php/lib/php/build/
Installing header files: /usr/local/php/include/php/
Installing helper programs: /usr/local/php/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php/lib/php/
[PEAR] Archive_Tar - installed: 1.4.0
[PEAR] Console_Getopt - installed: 1.4.1
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util - installed: 1.3.0
[PEAR] PEAR - installed: 1.10.1
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/php-7.0.7/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers: /usr/local/php/include/php/ext/pdo/

[root@e8ed9b00e80c php-7.0.7]# /usr/local/php/bin/php -m
[PHP Modules]
bcmath
bz2
Core
ctype
curl
date
dom
fileinfo
filter
gd
gettext
hash
iconv
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
zip
zlib

[Zend Modules]
配置文件
需要从安装包里复制php.ini、php-fpm.conf到安装目录:$ cp php-7.0.7/php.ini* /usr/local/php/etc/

$ cd /usr/local/php/etc/

$ cp php.ini-production php.ini
$ cp php-fpm.conf.default php-fpm.conf

$ cp php-fpm.d/www.conf.default php-fpm.d/www.conf

$ ls
pear.conf php-fpm.conf.default php.ini-development php.ini-production
 配置php.ini
# 不显示错误,默认
display_errors = Off

# 在关闭display_errors后开启PHP错误日志(路径在php-fpm.conf中配置),默认
log_errors = On

# 字符集,默认
default_charset = "UTF-8"

# 文件上传大小,默认
upload_max_filesize = 2M

# 设置PHP的扩展库路径,,默认被注释了。
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
# 如果不设置extension_dir,也可以直接写绝对位置:
# extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so


# 设置PHP的时区
date.timezone = PRC

# 开启opcache,默认是0
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1
配置php-fpm.conf​
; 去掉里分号,方便以后重启。建议修改
; Default Value: none
; 下面的值最终目录是/usr/local/php/var/run/php-fpm.pid
; 开启后可以平滑重启php-fpm
pid = run/php-fpm.pid

; 设置错误日志的路径,可以默认值
; Note: the default prefix is /usr/local/php/var
; Default Value: log/php-fpm.log, 即/usr/local/php/var/log/php-fpm.log
error_log = /var/log/php-fpm/error.log

; Log等级,可以默认值
; Possible Values: alert, error, warning, notice, debug
; Default Value: notice
log_level = notice

; 后台运行,默认yes,可以默认值
; Default Value: yes
;daemonize = yes

; 引入www.conf文件中的配置,可以默认值
include=/usr/local/php/etc/php-fpm.d/*.conf
配置www.conf(在php-fpm.d目录下)
www.conf这是php-fpm进程服务的扩展配置文件:
; 设置用户和用户组,默认都是nobody。可以默认值
user = nginx
group = nginx

; 设置PHP监听
; 下面是默认值,不建议使用。可以默认值
; listen = 127.0.0.1:9000
; 根据nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
listen = /var/run/php-fpm/php-fpm.sock

######开启慢日志。可以默认值
slowlog = /var/log/php-fpm/$pool-slow.log
request_slowlog_timeout = 10s保存配置文件后,检验配置是否正确的方法为:/usr/local/php/sbin/php-fpm -t如果出现诸如 test is successful 字样,说明配置没有问题。另外该命令也可以让我们知道php-fpm的配置文件在哪。
 
建立软连接:
ln -sf /usr/local/php/sbin/php-fpm /usr/bin/
ln -sf /usr/local/php/bin/php /usr/bin/
ln -sf /usr/local/php/bin/phpize /usr/bin/
ln -sf /usr/local/php/bin/php-config /usr/bin/
ln -sf /usr/local/php/bin/php-cig /usr/bin/或者将php编译生成的bin目录添加到当前Linux系统的环境变量中:echo -e '\nexport PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATH\n' >> /etc/profile && source /etc/profile
启动php-fpm
/usr/local/php/sbin/php-fpm 如果提示没有www用户(www.conf里填写了www而不是nobody),则新增:useradd www
chown -R www:www /www检测是否启动:ps aux |grep php-fpm # 另外该命令也可以让我们知道fpm的配置文件在哪。
netstat -ant |grep 9000查看php-fpm进程数:
ps aux | grep -c php-fpmphp-fpm操作汇总:/usr/local/php/sbin/php-fpm # php-fpm启动
kill -INT `cat /usr/local/php/var/run/php-fpm.pid` # php-fpm关闭
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` #php-fpm重启重启方法二:
killall php-fpm
/usr/local/php/sbin/php-fpm &如果无法平滑启动,那就终止进程id:
ps aux | grep php-fpm
kill -9 1210 #1210指php-fpm进程id

二、安装Nginx

安装包下载地址: http://nginx.org/download/nginx-1.11.1.tar.gz 
 
依赖:
# 为了支持rewrite功能,我们需要安装pcre
yum install pcre-devel

# 需要ssl的支持,如果不需要ssl支持,请跳过这一步
# yum install openssl*

# gzip 类库安装,按需安装
# yum install zlib zlib-devel配置编译参数$ tar -zxvf nginx-1.11.1.tar.gz
$ cd nginx-1.11.1
$ ./configure \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_sub_module \
--with-http_gzip_static_module \
--with-pcre配置ok:
Configuration summary
+ using system PCRE library
+ using system OpenSSL library
+ md5: using OpenSSL library
+ sha1: using OpenSSL library
+ using system zlib library

nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"编译安装nginx
make
make install设置软连接:ln -sf /usr/local/nginx/sbin/nginx /usr/sbin 检测nginx:nginx -t显示:nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

成功了。我们重新配置下nginx.conf:
#user nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

# 解决虚拟主机名字过长 http://www.jb51.net/article/26412.htm
server_names_hash_bucket_size 128;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

autoindex on;# 显示目录
autoindex_exact_size on;# 显示文件大小
autoindex_localtime on;# 显示文件时间

include vhosts/*.conf;

}配置localhost:
vim ./vhosts/localhost.conf
server {
listen 80;
server_name localhost;

#charset utf-8;

#access_log logs/host.access.log main;

location / {
root /www/www/;
index index.php index.html index.htm;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /www/www/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}启动nginx:/usr/local/nginx/sbin/nginx

# 或者
nginx重启:/usr/local/nginx/sbin/nginx -s reload

# 或者
nginx -s reload停止:
/usr/local/nginx/sbin/nginx -s stop

# 或者
nginx -s stop如果提示80端口被占用了,可以使用ps aunx | grep 80查看。一般是apache占用了。可以使用:chkconfig --list
chkconfig nginx on
service apache off禁止apache启动并关闭apache服务。


三、安装扩展

1、安装swoole
Swoole: PHP的异步、并行、高性能网络通信引擎:http://www.swoole.com/  
wget https://github.com/swoole/swoole-src/archive/swoole-1.8.5-stable.zip
unzip swoole-1.8.5-stable.zip
cd swoole-1.8.5-stable
phpize
./configure
make && make install
2、安装redis
wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
tar -zxvf 2.2.4
cd phpredis-2.2.4/
phpize
./configure
make && make install

四、信号管理

不重载配置启动新/旧工作进程kill -HUP 旧/新版主进程号从容关闭旧/新进程kill -QUIT 旧/新主进程号如果此时报错,提示还有进程没有结束就用下面命令先关闭旧/新工作进程,再关闭主进程号:kill -TERM 旧/新工作进程号升级、添加或删除模块时,我们需要停掉服务器kill -USR2 旧版程序的主进程号或进程文件名 查看全部


一、安装PHP


PHP源码包下载地址:
# wget http://cn2.php.net/distributions/php-5.6.22.tar.bz2
# wget http://cn2.php.net/distributions/php-7.0.7.tar.bz2

更新yum源
这里将Centos的yum源更换为国内的阿里云源。yum安装正常的可以跳过本步骤, 阿里云Linux安装镜像源地址: http://mirrors.aliyun.com/  
 
1、备份你的原镜像文件,以免出错后可以恢复:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/ 
# CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

# CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

# CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、生成缓存
yum clean all
yum makecache

安装依赖
yum install -y gcc gcc-c++ make cmake bison autoconf wget lrzsz
yum install -y libtool libtool-ltdl-devel
yum install -y freetype-devel libjpeg.x86_64 libjpeg-devel libpng-devel gd-devel
yum install -y python-devel patch sudo
yum install -y openssl* openssl openssl-devel ncurses-devel
yum install -y bzip* bzip2 unzip zlib-devel
yum install -y libevent*
yum install -y libxml* libxml2-devel
yum install -y libcurl* curl-devel
yum install -y readline-devel
需要编译libmcrypt、mhash、mcrypt库
tar zxvf /libmcrypt-2.5.8.tar.gz \
&& cd /libmcrypt-2.5.8 && ./configure && make && make install && cd - / && rm -rf /libmcrypt* \
&& tar zxvf /mhash-0.9.9.9.tar.gz && cd mhash-0.9.9.9 && ./configure && make && make install && cd - / && rm -rf /mhash* \
&& tar zxvf /mcrypt-2.6.8.tar.gz && cd mcrypt-2.6.8 && LD_LIBRARY_PATH=/usr/local/lib ./configure && make && make install && cd - / && rm -rf /mcrypt*

开始安装
使用./configure --help查看编译支持的选项。如果写了不支持的选项,如php7里不支持--with-mysql=mysqlnd会提示:
configure: WARNING: unrecognized options: --with-mysql
wget http://cn2.php.net/distributions/php-7.0.7.tar.bz2
tar jxvf php-7.0.7.tar.bz2
cd php-7.0.7

$ ./configure --prefix=/usr/local/php --with-config-file-scan-dir=/usr/local/php/etc/ --enable-inline-optimization --enable-opcache --enable-session --enable-fpm --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --with-sqlite3 --with-gettext --enable-mbregex --enable-mbstring --enable-xml --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-xmlrpc --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-curlwrappers --with-zlib --enable-zip --with-bz2 --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-readline

$ make
$ make install
可选项:
--with-fpm-user=www --with-fpm-group=www
这里面开启了很多扩展。如果这时候忘了开启,以后还能加上吗?答案是可以的。以后只需要进入源码的ext目录,例如忘了pdo_mysql,进入ext/pdo_mysql,使用phpize工具,像安装普通扩展一样即可生成pdo_mysql.so。

关于:--enable-safe-mode
开启的话php可以执行一下系统函数,建议关闭(可搜索受此函数影响的php函数)
#如果只需要配置某一个目录可以执行则 设置为on并指定 safe_mode_exec_dir=string目录来执行系统函数。
#本特性已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。
safe_mode = off
php7编译不用加这个配置。

编译比较耗内存和CPU。等待半小时左右,编译完成:
Build complete.
Don't forget to run 'make test'.

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/
Installing PHP CLI binary: /usr/local/php/bin/
Installing PHP CLI man page: /usr/local/php/php/man/man1/
Installing PHP FPM binary: /usr/local/php/sbin/
Installing PHP FPM config: /usr/local/php/etc/
Installing PHP FPM man page: /usr/local/php/php/man/man8/
Installing PHP FPM status page: /usr/local/php/php/php/fpm/
Installing phpdbg binary: /usr/local/php/bin/
Installing phpdbg man page: /usr/local/php/php/man/man1/
Installing PHP CGI binary: /usr/local/php/bin/
Installing PHP CGI man page: /usr/local/php/php/man/man1/
Installing build environment: /usr/local/php/lib/php/build/
Installing header files: /usr/local/php/include/php/
Installing helper programs: /usr/local/php/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php/lib/php/
[PEAR] Archive_Tar - installed: 1.4.0
[PEAR] Console_Getopt - installed: 1.4.1
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util - installed: 1.3.0
[PEAR] PEAR - installed: 1.10.1
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/php-7.0.7/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers: /usr/local/php/include/php/ext/pdo/

[root@e8ed9b00e80c php-7.0.7]# /usr/local/php/bin/php -m
[PHP Modules]
bcmath
bz2
Core
ctype
curl
date
dom
fileinfo
filter
gd
gettext
hash
iconv
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
zip
zlib

[Zend Modules]

配置文件
需要从安装包里复制php.ini、php-fpm.conf到安装目录:
$ cp php-7.0.7/php.ini* /usr/local/php/etc/

$ cd /usr/local/php/etc/

$ cp php.ini-production php.ini
$ cp php-fpm.conf.default php-fpm.conf

$ cp php-fpm.d/www.conf.default php-fpm.d/www.conf

$ ls
pear.conf php-fpm.conf.default php.ini-development php.ini-production

 配置php.ini
# 不显示错误,默认
display_errors = Off

# 在关闭display_errors后开启PHP错误日志(路径在php-fpm.conf中配置),默认
log_errors = On

# 字符集,默认
default_charset = "UTF-8"

# 文件上传大小,默认
upload_max_filesize = 2M

# 设置PHP的扩展库路径,,默认被注释了。
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
# 如果不设置extension_dir,也可以直接写绝对位置:
# extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so


# 设置PHP的时区
date.timezone = PRC

# 开启opcache,默认是0
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1

配置php-fpm.conf​
; 去掉里分号,方便以后重启。建议修改
; Default Value: none
; 下面的值最终目录是/usr/local/php/var/run/php-fpm.pid
; 开启后可以平滑重启php-fpm
pid = run/php-fpm.pid

; 设置错误日志的路径,可以默认值
; Note: the default prefix is /usr/local/php/var
; Default Value: log/php-fpm.log, 即/usr/local/php/var/log/php-fpm.log
error_log = /var/log/php-fpm/error.log

; Log等级,可以默认值
; Possible Values: alert, error, warning, notice, debug
; Default Value: notice
log_level = notice

; 后台运行,默认yes,可以默认值
; Default Value: yes
;daemonize = yes

; 引入www.conf文件中的配置,可以默认值
include=/usr/local/php/etc/php-fpm.d/*.conf

配置www.conf(在php-fpm.d目录下)
www.conf这是php-fpm进程服务的扩展配置文件:
; 设置用户和用户组,默认都是nobody。可以默认值
user = nginx
group = nginx

; 设置PHP监听
; 下面是默认值,不建议使用。可以默认值
; listen = 127.0.0.1:9000
; 根据nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
listen = /var/run/php-fpm/php-fpm.sock

######开启慢日志。可以默认值
slowlog = /var/log/php-fpm/$pool-slow.log
request_slowlog_timeout = 10s
保存配置文件后,检验配置是否正确的方法为:
/usr/local/php/sbin/php-fpm -t
如果出现诸如 test is successful 字样,说明配置没有问题。另外该命令也可以让我们知道php-fpm的配置文件在哪。
 
建立软连接:
ln -sf /usr/local/php/sbin/php-fpm /usr/bin/
ln -sf /usr/local/php/bin/php /usr/bin/
ln -sf /usr/local/php/bin/phpize /usr/bin/
ln -sf /usr/local/php/bin/php-config /usr/bin/
ln -sf /usr/local/php/bin/php-cig /usr/bin/
或者将php编译生成的bin目录添加到当前Linux系统的环境变量中:
echo -e '\nexport PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATH\n' >> /etc/profile && source /etc/profile

启动php-fpm
/usr/local/php/sbin/php-fpm 
如果提示没有www用户(www.conf里填写了www而不是nobody),则新增:
useradd www
chown -R www:www /www
检测是否启动:
ps aux |grep php-fpm # 另外该命令也可以让我们知道fpm的配置文件在哪。
netstat -ant |grep 9000
查看php-fpm进程数:
ps aux | grep -c php-fpm
php-fpm操作汇总:
/usr/local/php/sbin/php-fpm         # php-fpm启动
kill -INT `cat /usr/local/php/var/run/php-fpm.pid` # php-fpm关闭
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` #php-fpm重启
重启方法二:
killall php-fpm
/usr/local/php/sbin/php-fpm &
如果无法平滑启动,那就终止进程id:
ps aux | grep php-fpm
kill -9 1210 #1210指php-fpm进程id


二、安装Nginx


安装包下载地址: http://nginx.org/download/nginx-1.11.1.tar.gz 
 
依赖:
# 为了支持rewrite功能,我们需要安装pcre
yum install pcre-devel

# 需要ssl的支持,如果不需要ssl支持,请跳过这一步
# yum install openssl*

# gzip 类库安装,按需安装
# yum install zlib zlib-devel
配置编译参数
$ tar -zxvf nginx-1.11.1.tar.gz
$ cd nginx-1.11.1
$ ./configure \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_sub_module \
--with-http_gzip_static_module \
--with-pcre
配置ok:
Configuration summary
+ using system PCRE library
+ using system OpenSSL library
+ md5: using OpenSSL library
+ sha1: using OpenSSL library
+ using system zlib library

nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
编译安装nginx
make
make install
设置软连接:
ln -sf /usr/local/nginx/sbin/nginx /usr/sbin 
检测nginx:
nginx -t
显示:nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

成功了。我们重新配置下nginx.conf:
#user  nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

# 解决虚拟主机名字过长 http://www.jb51.net/article/26412.htm
server_names_hash_bucket_size 128;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

autoindex on;# 显示目录
autoindex_exact_size on;# 显示文件大小
autoindex_localtime on;# 显示文件时间

include vhosts/*.conf;

}
配置localhost:
vim ./vhosts/localhost.conf
server {
listen 80;
server_name localhost;

#charset utf-8;

#access_log logs/host.access.log main;

location / {
root /www/www/;
index index.php index.html index.htm;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /www/www/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
启动nginx:
/usr/local/nginx/sbin/nginx

# 或者
nginx
重启:
/usr/local/nginx/sbin/nginx -s reload

# 或者
nginx -s reload
停止:
/usr/local/nginx/sbin/nginx -s stop

# 或者
nginx -s stop
如果提示80端口被占用了,可以使用ps aunx | grep 80查看。一般是apache占用了。可以使用:
chkconfig --list
chkconfig nginx on
service apache off
禁止apache启动并关闭apache服务。


三、安装扩展


1、安装swoole
Swoole: PHP的异步、并行、高性能网络通信引擎:http://www.swoole.com/  
wget https://github.com/swoole/swoole-src/archive/swoole-1.8.5-stable.zip
unzip swoole-1.8.5-stable.zip
cd swoole-1.8.5-stable
phpize
./configure
make && make install

2、安装redis
wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
tar -zxvf 2.2.4
cd phpredis-2.2.4/
phpize
./configure
make && make install


四、信号管理


不重载配置启动新/旧工作进程
kill -HUP 旧/新版主进程号
从容关闭旧/新进程
kill -QUIT 旧/新主进程号
如果此时报错,提示还有进程没有结束就用下面命令先关闭旧/新工作进程,再关闭主进程号:
kill -TERM 旧/新工作进程号
升级、添加或删除模块时,我们需要停掉服务器
kill -USR2 旧版程序的主进程号或进程文件名

安装PHP编译出错合集记录

push 发表了文章 • 0 个评论 • 112 次浏览 • 2017-06-15 19:08 • 来自相关话题

情况一:

-liconv -o sapi/fpm/php-fpm

/usr/bin/ld: cannot find -liconv

collect2: ld returned 1 exit status

make: *** [sapi/fpm/php-fpm] Error 1

初步定位是iconv的问题,解决方法 把libiconv卸载掉,进入libiconv源码目录执行:
# make uninstall
# make clean

# ./configure –prefix=/usr/local/libiconv
# make
# make install再进入php源码目录:
./configure php 时加上参数 --with-iconv=/usr/local/libiconv
情况二:

/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1

解决办法安装包如下:
# yum install libtool-ltdl.x86_64 libtool-ltdl-devel.x86_64
情况三:

collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1

解决办法, 请安装lib所需的安装包:
yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel pam-devel kernel执行安装完以后即可解决问题make && make install
情况四:
ext/iconv/iconv.o: In function `php_iconv_stream_filter_ctor’:
/usr/local/soft/php-5.2.14/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open’
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1编译参数如下:
./configure –prefix=/usr/local/php –with-gd=/usr/local/gd –with-jpeg-dir=/usr/local/jpeg –with-png-dir=/usr/local/png –with-freetype-dir=/usr/local/freetype –with-mysql=/usr/local/mysql –enable-fastcgi –enable-fpm解决办法:
增加   --disable-cli 编译参数。
 
情况五:

ext/xmlreader/php_xmlreader.o: In function `zim_xmlreader_XML':
/usr/local/src/php-5.2.8/ext/xmlreader/php_xmlreader.c:1109: undefined reference to `xmlTextReaderSetup'
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1

解决办法:折腾了半天,最后先make clean 一下,然后把所有libxml2相关的包都装上重新编译就ok了。
 
情况六:
运行可能报错 :我遇到xsl和mcrypt两个库报错,重新安装一下xsl的dev包就可以:CentOS : yum install libxslt-devel libmcrypt-devel
Debian : apt-get install libxslt1-dev libmcrypt-dev 如果你有其他的库不满足,搜索一下该库,安装一下即可,这一步应该没有太多问题。
编译:make 
 
我在Debian下make正常,但在CentOS下却提示make错误,
make: *** [sapi/fpm/php-fpm] Error 1 错误中出现 libiconv,应该是iconv包问题,
使用下面的命令替换即可:
make ZEND_EXTRA_LIBS='-liconv' 
完成后:make test
make install 查看全部
情况一


-liconv -o sapi/fpm/php-fpm

/usr/bin/ld: cannot find -liconv

collect2: ld returned 1 exit status

make: *** [sapi/fpm/php-fpm] Error 1


初步定位是iconv的问题,解决方法 把libiconv卸载掉,进入libiconv源码目录执行:
# make uninstall
# make clean

# ./configure –prefix=/usr/local/libiconv
# make
# make install
再进入php源码目录:
./configure php 时加上参数 --with-iconv=/usr/local/libiconv

情况二:


/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1


解决办法安装包如下:
# yum install libtool-ltdl.x86_64 libtool-ltdl-devel.x86_64

情况三:


collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1


解决办法, 请安装lib所需的安装包:
yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel pam-devel kernel
执行安装完以后即可解决问题
make  && make install

情况四:
ext/iconv/iconv.o: In function `php_iconv_stream_filter_ctor’:
/usr/local/soft/php-5.2.14/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open’
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1
编译参数如下:
./configure –prefix=/usr/local/php –with-gd=/usr/local/gd –with-jpeg-dir=/usr/local/jpeg –with-png-dir=/usr/local/png –with-freetype-dir=/usr/local/freetype –with-mysql=/usr/local/mysql –enable-fastcgi –enable-fpm
解决办法:
增加   --disable-cli 编译参数。
 
情况五:


ext/xmlreader/php_xmlreader.o: In function `zim_xmlreader_XML':
/usr/local/src/php-5.2.8/ext/xmlreader/php_xmlreader.c:1109: undefined reference to `xmlTextReaderSetup'
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1


解决办法:折腾了半天,最后先make clean 一下,然后把所有libxml2相关的包都装上重新编译就ok了。
 
情况六:
运行可能报错 :我遇到xsl和mcrypt两个库报错,重新安装一下xsl的dev包就可以:
CentOS : yum install libxslt-devel libmcrypt-devel 
Debian : apt-get install libxslt1-dev libmcrypt-dev
如果你有其他的库不满足,搜索一下该库,安装一下即可,这一步应该没有太多问题。
编译:make 
 
我在Debian下make正常,但在CentOS下却提示make错误,
make: *** [sapi/fpm/php-fpm] Error 1 错误中出现 libiconv,应该是iconv包问题,
使用下面的命令替换即可:
make ZEND_EXTRA_LIBS='-liconv' 
完成后:
make test
make install

单独编译添加PHP的pdo_mysql模块

being 发表了文章 • 0 个评论 • 121 次浏览 • 2017-06-14 22:53 • 来自相关话题

原来编译php的时候,没有把pdo_mysql相关的参数带上,安装完后才发现。再重新编译有点费时间,所以决定单独来安装。
 
先找需要的版本,我用的是稳定的版本。要先看看说明,特别是要注意mysql的php的版本
# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
# tar xzvf PDO_MYSQL-1.0.2.tgz
# cd PDO_MYSQL-1.0.2
# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
# ./configure执行完以后,报如下错误:
checking for mysql_config... not found
configure: error: Cannot find MySQL header files under这个错误表明系统缺省没有找到你的mysql安装目录,因此可以使用这个命令解决:ln -s /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config这样建立了你的实际msyql安装目录和mysql_config命令的管理

经过configure就可以make了

在执行:./configure 时,又出现了一个问题:
checking for PDO includes... checking for PDO includes...
configure: error: Cannot find php_pdo_driver.h.检查的时候,不能找到php_pdo_driver.h,经过检查,发现在读php-config的时候,在读以前的配置。

解决方法:
./configure –with-php-config=/usr/local/php/bin/php-config (根据实际的路径的来指定)在执行./configure --with-php-config=/usr/local/php/bin/php-config,又出现了一个问题:
error: mysql_query missing!?解决方法:
./configure --with-php-config=/opt/php5/bin/php-config --with-pdo-mysql=/usr/local/mysql(根据自己的实际路径,设定编译安装mysql的位置).
make && make install注意pdo_mysql的全路径,我的是:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so

然后在/usr/local/lib/php.ini加上一句:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so重新启动apache即可看到已经加载pdo_mysql成功。 查看全部
原来编译php的时候,没有把pdo_mysql相关的参数带上,安装完后才发现。再重新编译有点费时间,所以决定单独来安装。
 
先找需要的版本,我用的是稳定的版本。要先看看说明,特别是要注意mysql的php的版本
# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz   
# tar xzvf PDO_MYSQL-1.0.2.tgz
# cd PDO_MYSQL-1.0.2
# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
# ./configure
执行完以后,报如下错误:
checking for mysql_config... not found  
configure: error: Cannot find MySQL header files under
这个错误表明系统缺省没有找到你的mysql安装目录,因此可以使用这个命令解决:
ln -s /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config
这样建立了你的实际msyql安装目录和mysql_config命令的管理

经过configure就可以make了

在执行:./configure 时,又出现了一个问题:
checking for PDO includes... checking for PDO includes...  
configure: error: Cannot find php_pdo_driver.h.
检查的时候,不能找到php_pdo_driver.h,经过检查,发现在读php-config的时候,在读以前的配置。

解决方法:
./configure –with-php-config=/usr/local/php/bin/php-config (根据实际的路径的来指定)
在执行./configure --with-php-config=/usr/local/php/bin/php-config,又出现了一个问题:
error: mysql_query missing!?
解决方法:
./configure --with-php-config=/opt/php5/bin/php-config --with-pdo-mysql=/usr/local/mysql
(根据自己的实际路径,设定编译安装mysql的位置).
make && make install
注意pdo_mysql的全路径,我的是:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so

然后在/usr/local/lib/php.ini加上一句:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so
重新启动apache即可看到已经加载pdo_mysql成功。

​【直播预告】别再成为勒索软件的“盘中餐”,网络安全刻不容缓!

OT学习平台 发表了文章 • 0 个评论 • 87 次浏览 • 2017-06-14 11:02 • 来自相关话题

说到勒索病毒,大家都会不自觉的想到WannaCry。是的,因为,它的爆发真的让好多人哭晕在厕所,而这次网络攻击也达到了“史无前例的级别”。此次勒索病毒,是通过互联网端口输入病毒程序,对重要文件进行加密然后敲诈,攻击目标直接锁定用户的数据,攻击手段竟是原本为了保护数据安全的密码技术,这些都提醒人们保护网络安全刻不容缓。
此外,网络病毒存在巨大的获利空间,在一段时间内,可能还会出现更多的变种病毒。因此,我们完全有理由相信,WannaCry只是一个开始。
知己知彼,才能百战不殆,下面O宝就为大家总结下,勒索软件的传播都有哪些途径。
网络钓鱼和垃圾邮件
网络罪犯在邮件正文中加入钓鱼网址链接。 借助网页木马传播,当用户不小心访问恶意网站时,勒索软件会被浏览器自动下载并在后台运行。
水坑式攻击
网络罪犯会将恶意软件植入到企业或个人经常访问的网站之中,一旦访问了这些网站,恶意程序会利用设备上的漏洞对其进行感染。 
捆绑传播发布
借助其他恶意软件传播渠道,与其他恶意软件捆绑发布传播;或者捆绑正常的软件进行传播。
借助移动存储传播
借助U盘、移动硬盘、闪存卡等可移动存储介质传播。
知道了勒索病毒的“套路”,我们要如何“对症下药”当然靠它
Sophos Intercept X下一代端点安全技术,Sophos致力于为企业提供整体安全解决方案,Intercept X 这么牛,还有哪些我们不知道的?想了解更多,看直播!
6月15日14 : 00“眼泪拯救不了企业安全对勒索软件下手就要‘稳、准、狠’”直播活动即将开启,Sophos Intercept X,何止看上去这么简单!
活动日程
14 : 00-14 : 05  嘉宾介绍
14 : 05-14 : 20  wannaCry带来的思考
14 : 20-14 : 40  如何从根本防御勒索软件
14 : 40-14 : 50  如何面对更复杂的威胁
14 : 50-15 : 00  互动答疑
点击报名观看直播>>>“眼泪拯救不了企业安全对勒索软件下手就要‘稳、准、狠’” 查看全部
说到勒索病毒,大家都会不自觉的想到WannaCry。是的,因为,它的爆发真的让好多人哭晕在厕所,而这次网络攻击也达到了“史无前例的级别”。此次勒索病毒,是通过互联网端口输入病毒程序,对重要文件进行加密然后敲诈,攻击目标直接锁定用户的数据,攻击手段竟是原本为了保护数据安全的密码技术,这些都提醒人们保护网络安全刻不容缓。
此外,网络病毒存在巨大的获利空间,在一段时间内,可能还会出现更多的变种病毒。因此,我们完全有理由相信,WannaCry只是一个开始。
知己知彼,才能百战不殆,下面O宝就为大家总结下,勒索软件的传播都有哪些途径。
网络钓鱼和垃圾邮件
网络罪犯在邮件正文中加入钓鱼网址链接。 借助网页木马传播,当用户不小心访问恶意网站时,勒索软件会被浏览器自动下载并在后台运行。
水坑式攻击
网络罪犯会将恶意软件植入到企业或个人经常访问的网站之中,一旦访问了这些网站,恶意程序会利用设备上的漏洞对其进行感染。 
捆绑传播发布
借助其他恶意软件传播渠道,与其他恶意软件捆绑发布传播;或者捆绑正常的软件进行传播。
借助移动存储传播
借助U盘、移动硬盘、闪存卡等可移动存储介质传播。
知道了勒索病毒的“套路”,我们要如何“对症下药”当然靠它
Sophos Intercept X下一代端点安全技术,Sophos致力于为企业提供整体安全解决方案,Intercept X 这么牛,还有哪些我们不知道的?想了解更多,看直播!
6月15日14 : 00“眼泪拯救不了企业安全对勒索软件下手就要‘稳、准、狠’”直播活动即将开启,Sophos Intercept X,何止看上去这么简单!
活动日程
14 : 00-14 : 05  嘉宾介绍
14 : 05-14 : 20  wannaCry带来的思考
14 : 20-14 : 40  如何从根本防御勒索软件
14 : 40-14 : 50  如何面对更复杂的威胁
14 : 50-15 : 00  互动答疑
点击报名观看直播>>>“眼泪拯救不了企业安全对勒索软件下手就要‘稳、准、狠’

【直播预告】告别平庸,数据时代就要不一样!

OT学习平台 发表了文章 • 0 个评论 • 119 次浏览 • 2017-06-05 15:44 • 来自相关话题

大数据时代,数据分析对于业务决策的帮助越来越大,它帮助企业中的业务人员在保证数据时效性的前提下,通过自助式数据分析,帮助企业从上到下实现数据化运营。
那么,我们的数据来源于何处呢?流程数据、机器生成数据,当然还有我们产生的数据,因此,无论是从市场环境还是评测机构报告来看,大数据时代已经启动,数据分析也更为重要。

传统报表
无交互、格式固定、实施缓慢






蜕变后的报表
可交互、生成快、可分享






让数据生动起来,左右逢源?Tableau都能帮您实现!

Tableau 整合了您的数据架构,让您用能理解的方式从视觉上分析您的数据。

 Tableau Server
可提供基于浏览器和移动分析的商业智能应用程序。无需编程,即可创建报告和仪表板。






 Tableau Desktop
实时可视化分析实现随心所欲的数据探索,交互式仪表板帮助用户即时发现隐藏的见解。






想深入了解Tableau
机会来了
6月6日14 : 00
“人人都是数据分析师”
直播活动即将开启
技术大神亲授数据分析大法

讲师介绍
林旭
从事Tableau售前工作
通过Tableau银牌和QA等级认证


活动日程
14 : 00-14 : 10 讲师介绍
14 : 10-14 : 30 Tableau如何让数据生动起来
14 : 30-15 : 40 Tableau功能展示及使用技巧
15 : 40-16 : 00 互动答疑
 
点击此处报名观看直播>>> 查看全部
大数据时代,数据分析对于业务决策的帮助越来越大,它帮助企业中的业务人员在保证数据时效性的前提下,通过自助式数据分析,帮助企业从上到下实现数据化运营。
那么,我们的数据来源于何处呢?流程数据、机器生成数据,当然还有我们产生的数据,因此,无论是从市场环境还是评测机构报告来看,大数据时代已经启动,数据分析也更为重要。

传统报表
无交互、格式固定、实施缓慢

【直播预告】告别平庸,数据时代就要不一样!.webp_.jpg


蜕变后的报表
可交互、生成快、可分享

【直播预告】告别平庸,数据时代就要不一样!2.webp_.jpg


让数据生动起来,左右逢源?Tableau都能帮您实现!

Tableau 整合了您的数据架构,让您用能理解的方式从视觉上分析您的数据。

 Tableau Server
可提供基于浏览器和移动分析的商业智能应用程序。无需编程,即可创建报告和仪表板。

【直播预告】告别平庸,数据时代就要不一样!3.webp_.jpg


 Tableau Desktop
实时可视化分析实现随心所欲的数据探索,交互式仪表板帮助用户即时发现隐藏的见解。

【直播预告】告别平庸,数据时代就要不一样!4.webp_.jpg


想深入了解Tableau
机会来了
6月6日14 : 00
“人人都是数据分析师”
直播活动即将开启
技术大神亲授数据分析大法


讲师介绍
林旭
从事Tableau售前工作
通过Tableau银牌和QA等级认证


活动日程
14 : 00-14 : 10 讲师介绍
14 : 10-14 : 30 Tableau如何让数据生动起来
14 : 30-15 : 40 Tableau功能展示及使用技巧
15 : 40-16 : 00 互动答疑
 
点击此处报名观看直播>>>

Centos6.8下编译安装Apache 2.4.25详细过程

Ansible 发表了文章 • 0 个评论 • 144 次浏览 • 2017-06-02 19:34 • 来自相关话题

一、下载源码安装包# cd /usr/local/src
# wget 'http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.25.tar.gz'
二、解压安装# tar zxf httpd-2.4.25.tar.gz
# cd httpd-2.4.25
# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --with-mpm=worker在这过程中报错如下:

checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... no
configure: error: APR not found.  Please read the documentation.

解决APR not found 过程如下:# cd /usr/local/src
# wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
# tar zxf apr-1.5.2.tar.gz
# ./configure --prefix=/usr/local/apr
# make && make install
在编译apr的的过程中报错如下:

configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/apr.h
config.status: creating build/apr_rules.mk
config.status: creating build/pkg/pkginfo
config.status: creating apr-1-config
config.status: creating apr.pc
config.status: creating test/Makefile
config.status: creating test/internal/Makefile
config.status: creating include/arch/unix/apr_private.h
config.status: executing libtool commands
rm: cannot remove `libtoolT': No such file or directory
config.status: executing default commands

解决方法如下:
在configure里面 RM='$RM  -f'   这里的$RM后面一定有一个空格。 如果后面没有空格,直接连接减号,就依
然会报错。把RM='$RM'改为RM='$RM  -f'
 
接着重新编译Apache:./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --with-mpm=worker --with-apr=/usr/local/apr报错如下:

checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... yes
  setting CC to "gcc"
  setting CPP to "gcc -E"
  setting CFLAGS to " -g -O2 -pthread"
  setting CPPFLAGS to " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
  setting LDFLAGS to " "
configure: 
configure: Configuring Apache Portable Runtime Utility library...
configure: 
checking for APR-util... no
configure: error: APR-util not found.  Please read the documentation.

解决APR-util not found过程:# wget 'http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz'
# tar zxf apr-util-1.5.2.tar.gz
# cd apr-util-1.5.2
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
# make && make install
编译完成后,我们再次重新编译Apache:# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --with-mpm=worker --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-utilenable-so 允许apache支持动态模块 enable-rewrite 支持URL重定向  with-mpm=worker apache进程模型为worker 默认为prefork
 
最后:# make && make install到这编译就算完成了。 查看全部
一、下载源码安装包
# cd /usr/local/src
# wget 'http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.25.tar.gz'

二、解压安装
# tar zxf httpd-2.4.25.tar.gz
# cd httpd-2.4.25
# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --with-mpm=worker
在这过程中报错如下:


checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... no
configure: error: APR not found.  Please read the documentation.


解决APR not found 过程如下
# cd /usr/local/src
# wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
# tar zxf apr-1.5.2.tar.gz
# ./configure --prefix=/usr/local/apr
# make && make install

在编译apr的的过程中报错如下:


configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/apr.h
config.status: creating build/apr_rules.mk
config.status: creating build/pkg/pkginfo
config.status: creating apr-1-config
config.status: creating apr.pc
config.status: creating test/Makefile
config.status: creating test/internal/Makefile
config.status: creating include/arch/unix/apr_private.h
config.status: executing libtool commands
rm: cannot remove `libtoolT': No such file or directory
config.status: executing default commands


解决方法如下
在configure里面 RM='$RM  -f'   这里的$RM后面一定有一个空格。 如果后面没有空格,直接连接减号,就依
然会报错。把RM='$RM'改为RM='$RM  -f'
 
接着重新编译Apache:
./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --with-mpm=worker --with-apr=/usr/local/apr
报错如下:


checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... yes
  setting CC to "gcc"
  setting CPP to "gcc -E"
  setting CFLAGS to " -g -O2 -pthread"
  setting CPPFLAGS to " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
  setting LDFLAGS to " "
configure: 
configure: Configuring Apache Portable Runtime Utility library...
configure: 
checking for APR-util... no
configure: error: APR-util not found.  Please read the documentation.


解决APR-util not found过程:
# wget 'http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz'
# tar zxf apr-util-1.5.2.tar.gz
# cd apr-util-1.5.2
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
# make && make install

编译完成后,我们再次重新编译Apache
# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --with-mpm=worker --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
enable-so 允许apache支持动态模块 enable-rewrite 支持URL重定向  with-mpm=worker apache进程模型为worker 默认为prefork
 
最后:
# make && make install
到这编译就算完成了。

Sudo本地提权漏洞安全预警

OS小编 发表了文章 • 0 个评论 • 231 次浏览 • 2017-05-31 15:53 • 来自相关话题

linux 系统sudo存在本地提权高危漏洞,本地攻击者可以利用此漏洞提权至root。请检查您所使用的sudo是否在影响范围之内,并及时进行升级。
影响范围

       Centos 5、6、7

       Redhat Enterprise Linux 5、6、7

       Ubuntu 14.04、15.04、16.04、16.10、17.04、17.10

       Debian wheezy、jessie、jessie、sid

       SUSE Linux Enterprise Software Development Kit 12 SP1、SP2

       SUSE Linux Enterprise Server for SAP 12

       SUSE Linux Enterprise Server 12 SP1 、SP2

       SUSE Linux Enterprise Server 12-LTSS

       SUSE Linux Enterprise Desktop 12 SP1 、SP2

       SUSE Linux Enterprise Server for Raspberry Pi 12 SP2

       OpenSuse
 
修复方案

       【CentOS/RHEL】

       yum update

       或 yum install sudo

       【Ubuntu/Debian】

       sudo apt update $ sudo apt upgrade

       或sudo apt-get install sudo

       备注:部分官方版本还未发布可用修复包,请时刻关注,官网发布后UCloud软件源也会在第一时间更新。

       【修复版本】

       1、Centos /Redhat

       Centos /RHEL 7 :1.8.6p7-22.el7_3

       Centos /RHEL 6 :1.8.6p3-28.el6_9

       Centos /RHEL 5 :1.7.2p1-30.el5_11

       2、Ubuntu

       Ubuntu 14.04:1.8.9p5-1ubuntu1.4

       Ubuntu 16.04:1.8.16-0ubuntu1.4

       Ubuntu 16.10:1.8.16-0ubuntu3.2

       Ubuntu 17.04:1.8.19p1-1ubuntu1.1

       3、Debian

       Debian wheezy:1.8.5p2-1+nmu3+deb7u3

       Debian jessie:1.8.10p3-1+deb8u4

       4、SUSE /OpenSuse

       1.8.10p3-2.11.1

       1.8.10p3-10.5.1
 
漏洞详情

       CVE-2017-1000367:当确定tty时,Sudo没有正确解析/ proc / [pid] / stat的内容,本地攻击者可能会使用此方法来覆盖文件系统上的任何文件,从而绕过预期权限或获取root shell。

       sudo版本查看方法:

       Centos /RHEL /SUSE /OpenSuse:rpm -qa|grep sudo

       Ubuntu /Debian:dpkg -l sudo 查看全部
linux 系统sudo存在本地提权高危漏洞,本地攻击者可以利用此漏洞提权至root。请检查您所使用的sudo是否在影响范围之内,并及时进行升级。
影响范围

       Centos 5、6、7

       Redhat Enterprise Linux 5、6、7

       Ubuntu 14.04、15.04、16.04、16.10、17.04、17.10

       Debian wheezy、jessie、jessie、sid

       SUSE Linux Enterprise Software Development Kit 12 SP1、SP2

       SUSE Linux Enterprise Server for SAP 12

       SUSE Linux Enterprise Server 12 SP1 、SP2

       SUSE Linux Enterprise Server 12-LTSS

       SUSE Linux Enterprise Desktop 12 SP1 、SP2

       SUSE Linux Enterprise Server for Raspberry Pi 12 SP2

       OpenSuse
 
修复方案

       【CentOS/RHEL】

       yum update

       或 yum install sudo

       【Ubuntu/Debian】

       sudo apt update $ sudo apt upgrade

       或sudo apt-get install sudo

       备注:部分官方版本还未发布可用修复包,请时刻关注,官网发布后UCloud软件源也会在第一时间更新。

       【修复版本】

       1、Centos /Redhat

       Centos /RHEL 7 :1.8.6p7-22.el7_3

       Centos /RHEL 6 :1.8.6p3-28.el6_9

       Centos /RHEL 5 :1.7.2p1-30.el5_11

       2、Ubuntu

       Ubuntu 14.04:1.8.9p5-1ubuntu1.4

       Ubuntu 16.04:1.8.16-0ubuntu1.4

       Ubuntu 16.10:1.8.16-0ubuntu3.2

       Ubuntu 17.04:1.8.19p1-1ubuntu1.1

       3、Debian

       Debian wheezy:1.8.5p2-1+nmu3+deb7u3

       Debian jessie:1.8.10p3-1+deb8u4

       4、SUSE /OpenSuse

       1.8.10p3-2.11.1

       1.8.10p3-10.5.1
 
漏洞详情

       CVE-2017-1000367:当确定tty时,Sudo没有正确解析/ proc / [pid] / stat的内容,本地攻击者可能会使用此方法来覆盖文件系统上的任何文件,从而绕过预期权限或获取root shell。

       sudo版本查看方法:

       Centos /RHEL /SUSE /OpenSuse:rpm -qa|grep sudo

       Ubuntu /Debian:dpkg -l sudo