使用阿里云镜像源安装Docker

#阿里云镜像源
#yum-config-manager  – -add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#rpm  – -import http://mirrors.aliyun.com/docker-ce/linux/centos/gpg
#yum makecache fast
#yum -y install docker-ce
启动docker
#systemctl start docker
#systemctl status docker
你这样装,100%秒装上

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

如题,编译安装php出现此报错,需要便宜安装libmcrypt。

libmcrypt源码安装过程:

cd /usr/local/src
wget http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz
tar -zxvf libmcrypt-2.5.8.tar.gz
cd /usr/local/src/libmcrypt-2.5.8
./configure --prefix=/usr/local
make
make install

CentOS 7.2 下安装部署 LAMP 详解

简介

LAMP指Linux+Apache+Mysql/MariaDB+Perl/PHP/Python是一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

部署方式

在云服务器下部署LAMP通常有三种部署方式,镜像部署、一键安装包部署和手动部署(源码编译安装/YUM安装),一般推荐镜像部署适合新手使用更加快捷方便,安装包部署以及手动部署适合对Linux命令有基本了解的用户,可以满足用户个性化部署的要求。本教程主要介绍手动部署的方式。

手动部署

系统平台:CentOS 7.2

Apache版本:2.4.23

Mysql 版本:5.7.17

Php版本:7.0.12

安装前准备

CentOS 7.2系统默认开启了防火墙,需关闭后外部才可访问本机的80、21等端口,如需做安全类配置可自行参考官方文档。

关闭防火墙:

  1. systemctl stop firewalld.service

关闭防火墙开机自启动:

  1. systemctl disable firewalld.service

安装vim及unzip:

  1. yum install -y vim unzip

编译安装apache准备

编译安装apache前需要安装apr、apr-util和pcre软件包和相关依赖包。

  1. yum install -y gcc gcc-c++ autoconf libtool
安装apr
  1. cd /usr/local/src/
  2. wget http://oss.aliyuncs.com/aliyunecs/onekey/apache/apr-1.5.0.tar.gz
  3. tar zxvf apr-1.5.0.tar.gz
  4. cd apr-1.5.0
  5. ./configure --prefix=/usr/local/apr
  6. make && make install
安装apr-util
  1. cd /usr/local/src/
  2. wget http://oss.aliyuncs.com/aliyunecs/onekey/apache/apr-util-1.5.3.tar.gz
  3. tar zxvf apr-util-1.5.3.tar.gz
  4. cd apr-util-1.5.3
  5. ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
  6. make && make install
安装pcre
  1. cd /usr/local/src/
  2. wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/pcre/pcre-8.38.tar.gz
  3. tar zxvf pcre-8.38.tar.gz
  4. cd pcre-8.38
  5. ./configure --prefix=/usr/local/pcre
  6. make && make install
编译安装Apache
  1. cd /usr/local/src/
  2. wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/apache/httpd-2.4.23.tar.gz
  3. tar zxvf httpd-2.4.23.tar.gz
  4. cd httpd-2.4.23
  5. ./configure \
  6. --prefix=/usr/local/apache --sysconfdir=/etc/httpd \
  7. --enable-so --enable-cgi --enable-rewrite \
  8. --with-zlib --with-pcre=/usr/local/pcre \
  9. --with-apr=/usr/local/apr \
  10. --with-apr-util=/usr/local/apr-util \
  11. --enable-mods-shared=most --enable-mpms-shared=all \
  12. --with-mpm=event
  13. make && make install
修改httpd.conf配置文件参数
  1. cd /etc/httpd/
  2. vim httpd.conf

1.找到Directory参数,注释掉Require all denied添加Require all granted。

1

2.找到ServerName参数,添加ServerName localhost:80 然后,按Esc键后输入:wq保存退出。

2

设置PidFile路径
  1. vim /etc/httpd/httpd.conf

在配置文件最后添加以下内容:

  1. PidFile"/var/run/httpd.pid"
启动Apache服务并验证
  1. cd /usr/local/apache/bin/
  2. ./apachectl start
  3. netstat -tnlp #查看服务是否开启

3

在本地浏览器中输入云服务器的公网IP地址验证,出现下图表示安装成功。

4

设置开机自启

在rc.local文件中添加/usr/local/apache/bin/apachectl start,然后输入:wq保存退出。

  1. vim /etc/rc.d/rc.local

5

设置环境变量
  1. vi /root/.bash_profile

在PATH=$PATH:$HOME/bin添加参数为:

  1. PATH=$PATH:$HOME/bin:/usr/local/apache/bin

然后输入:wq保存退出,执行:

  1. source /root/.bash_profile

编译安装MySQL前预准备

首先检查系统中是否存在使用rpm安装的mysql或者mariadb,如果有需要先删除后再编译安装。

  1. rpm -qa | grep mysql #由下至上依次卸载
  2. rpm -qa | grep mariadb
  3. rpm -e xxx #一般使用此命令即可卸载成功
  4. rpm ---nodeps xxx #卸载不成功时使用此命令强制卸载

卸载完以后用 rpm -qa|grep mariadb 或者 rpm -qa|grep mysql 查看结果。

安装mysql
  1. yum install -y libaio-*#安装依赖
  2. mkdir -/usr/local/mysql
  3. cd /usr/local/src
  4. wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/mysql/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
  5. tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
  6. mv mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql/
建立mysql组和用户,并将mysql用户添加到mysql组
  1. groupadd mysql
  2. useradd -g mysql -/sbin/nologin mysql
初始化mysql数据库
  1. /usr/local/mysql/bin/mysqld --initialize-insecure --datadir=/usr/local/mysql/data/--user=mysql
更改mysql安装目录的属主属组
  1. chown -R mysql:mysql /usr/local/mysql
  2. chown -R mysql:mysql /usr/local/mysql/data/
  3. chown -R mysql:mysql /usr/local/mysql
设置开机自启
  1. cd /usr/local/mysql/support-files/
  2. cp mysql.server /etc/init.d/mysqld
  3. chmod +/etc/init.d/mysqld # 添加执行权限
  4. vim /etc/rc.d/rc.local

添加/etc/init.d/mysqld start到rc.local文件中,然后输入:wq保存退出。

设置环境变量
  1. vi /root/.bash_profile

在PATH=$PATH:$HOME/bin添加参数为:

  1. PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

然后输入:wq保存退出,输入:

  1. source /root/.bash_profile
启动MySQL数据库
  1. /etc/init.d/mysqld start

7

修改Mysql的root用户密码

初始化后mysql为空密码可直接登录,为了保证安全性需要修改mysql的root用户密码。

  1. mysqladmin -u root password 'xxxx'
测试登录MySQL数据库
  1. mysql -uroot -p密码#-p和密码之间无空格

8

编译安装php

依赖安装:

  1. yum install php-mcrypt libmcrypt libmcrypt-devel libxml2-devel openssl-devel libcurl-devel libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 libjpeg-turbo-devel libmcrypt-devel mysql-devel -y
  2. wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/php/php-7.0.12.tar.gz
  3. tar zxvf php-7.0.12.tar.gz
  4. cd php-7.0.12
  5. ./configure \
  6. --prefix=/usr/local/php \
  7. --with-mysql=mysqlnd --with-openssl \
  8. --with-mysqli=mysqlnd \
  9. --enable-mbstring \
  10. --with-freetype-dir \
  11. --with-jpeg-dir \
  12. --with-png-dir \
  13. --with-zlib --with-libxml-dir=/usr \
  14. --enable-xml --enable-sockets \
  15. --with-apxs2=/usr/local/apache/bin/apxs \
  16. --with-mcrypt --with-config-file-path=/etc \
  17. --with-config-file-scan-dir=/etc/php.d \
  18. --enable-maintainer-zts \
  19. --disable-fileinfo
  20. make && make install
复制配置文件
  1. cd php-7.0.12
  2. cp php.ini-production /etc/php.ini
编辑apache配置文件httpd.conf,以apache支持php
  1. vim /etc/httpd/httpd.conf

在配置文件最后添加如下二行:

  1. AddType application/x-httpd-php .php
  2. AddType application/x-httpd-php-source .phps

定位到 DirectoryIndex index.html

修改为:

  1. DirectoryIndex index.php index.html
重启apache服务
  1. /usr/local/apache/bin/apachectl restart
测试是否能够正常解析PHP
  1. cd /usr/local/apache/htdocs/
  2. vim index.php #添加如下内容
  3. <?php
  4. phpinfo();
  5. ?>

访问云服务器的公网IP/index.php,出现如下页面表示解析成功。

9

安装phpmyadmin

  1. mkdir -/usr/local/apache/htdocs/phpmyadmin
  2. cd /usr/local/src/
  3. wget http://oss.aliyuncs.com/aliyunecs/onekey/phpMyAdmin-4.1.8-all-languages.zip
  4. unzip phpMyAdmin-4.1.8-all-languages.zip
  5. mv phpMyAdmin-4.1.8-all-languages/* /usr/local/apache/htdocs/phpmyadmin

访问ip/phpmyadmin即可访问到phpmyadmin登录页面,输入mysql的用户名以及密码即可登录。10

下面关于LAMP相关的内容你可能也喜欢

LAMP平台安装Xcache和Memcached加速网站运行  http://www.linuxidc.com/Linux/2015-06/118835.htm

CentOS 7下搭建LAMP平台环境  http://www.linuxidc.com/Linux/2015-06/118818.htm

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境 http://www.linuxidc.com/Linux/2014-12/111030.htm

CentOS 7.2 yum安装LAMP环境  http://www.linuxidc.com/Linux/2016-11/136766.htm

Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境  http://www.linuxidc.com/Linux/2014-10/107924.htm

Ubuntu 14.10 下安装 LAMP 服务图文详解  http://www.linuxidc.com/Linux/2014-12/110082.htm

LAMP结合NFS构建小型博客站点  http://www.linuxidc.com/Linux/2015-08/121029.htm

CentOS7下安装部署LAMP环境  http://www.linuxidc.com/Linux/2016-04/130653.htm

Ubuntu Server 14.04 LTS下搭建LAMP环境图文详解  http://www.linuxidc.com/Linux/2016-12/138758.htm

Ubuntu Server 16.04下配置LAMP环境 http://www.linuxidc.com/Linux/2016-12/138757.htm

Ubuntu 16.04搭建LAMP开发环境 http://www.linuxidc.com/Linux/2016-10/136327.htm

来源:Linux公社

服务器监控部署(agent端)

1.拷贝zabbix_agents

将zabbix服务器上zabbix_agents拷贝到需要安装zabbix_agents服务器
scp -r zabbix_agents root@cache04:/usr/local/

2.配置服务

修改zabbix_agent配置文件中Hostname地址
vim /usr/local/zabbix_agents/conf/zabbix_agentd.conf

3.启动服务

执行以下脚本,启动zabbix_agents
#!/bin/bash #关闭防火墙 service iptables stop service ip6tables stop service firewalld stop #关闭防火墙开机自启 chkconfig iptables off chkconfig ip6tables off chkconfig firewalld off #创建zabbix_agents日志目录 mkdir -p /data/logs/zabbix/ #设置日志目录属主、属组 chown -R zabbix.zabbix /data/logs/zabbix #添加zabbix运行用户与组 groupadd zabbix useradd zabbix -g zabbix -s /sbin/nologin #启动zabbix_agents /usr/local/zabbix_agents/sbin/zabbix_agentd -c /usr/local/zabbix_agents/conf/zabbix_agentd.conf #添加zabbix_agents到开机自启 echo "/usr/local/zabbix_agents/sbin/zabbix_agentd -c /usr/local/zabbix_agents/conf/zabbix_agentd.conf" >> /etc/rc.local

4.zabbix配置

登录zabbix页面,添加新增主机节点,根据需求配置监控项、模板等信息,启动监控。

5.grafana配置

登录grafana页面,根据需求将相应监控项进行展示配置

zabbix的net.tcp.listen不准确问题

zabbix正常配置net.tcp.listen端口在监听时候,经常会取值到0,判断端口已经宕掉,该问题为zabbix自身的一个bug,
zabbix的这个key(net.tcp,listen)是通过读取 /proc/net/tcp这个文件来进行数据采集的,而/proc/下的文件并不是线程安全的,因此会出现取值不准确的问题。
另外这种机制还存在另外一个隐患:当/proc/net/tcp文件的条目非常多的话,就会造成取值慢的情况,因此就有可能造成取值失败的问题。

那么来修改下
根据官方给出的解决方案是在zabbix下配置一条自定义的监控项,取代默认的项
修改zabbix_agentd配置文件
vim /usr/local/zabbix_agentd/conf/zabbix_agentd.conf
在最下面添加一行shell
UserParameter=net.tcp.listen.grep[*],grep -q $$(printf '%04X.00000000:0000.0A' $1) /proc/net/tcp && echo 1 || echo 0
先kill掉zabbix_agentd
启动zabbix_agentd
/usr/local/zabbix_agentd/bi/zabbix_agents -c /usr/local/zabbix_agentd/conf/zabbix_agentd.conf
在zabbix_server测试
/usr/local/zabbix/bin/zabbix_get -s 10.0.0.10 -k "net.tcp.listen.grep[22]"
取值为1,则为正常

参考文档:
https://support.zabbix.com/browse/ZBX-6790
https://www.oschina.net/question/224285_128311 

zabbix_server部署

1.初始化服务器
#!/bin/sh
yum clean all
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i 's/enforcing/disabled/g' /etc/selinux/config
yum -y install vim openssh* ntp wget screen bash-completion git
service ntpd stop
ntpdate time.nist.gov
sed -i 's/0.centos.pool.ntp.org/time.nist.gov/g' /etc/ntp.conf
chkconfig ntpd on
service ntpd restart
2.安装依赖包
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers gmp-devel mysql-devel net-snmp-devel perl-DBI libxml libxml-devel gd-devel mod_ssl mod_perl mod_auth_mysql libdbi-dbd-mysql net-snmp-devel curl-devel wget fping vim libssh2-devel net-snmp-devel OpenIPMI OpenIPMI-devel rpm-build screen
3.部署lnmp环境

搭建lnmp环境,php版本不低于5.4

4.安装zabbix_server
4.1 下载zabbix

根据需求下载对应版本zabbix,下载地址:http://www.zabbix.com/download
cd /usr/local/src wget http://ncu.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.5/zabbix-3.0.5.tar.gz

4.2 解压zabbix
tar zxvf zabbix-3.0.5.tar.gz
4.3 创建zabbix运行用户与组
groupadd zabbix
useradd zabbix -g zabbix
4.4 编译安装zabbix
cd /usr/local/src/zabbix-3.0.0/
 ./configure \
 --prefix=/usr/local/zabbix \
 --enable-server \
 --enable-proxy \
 --enable-agent \
 --enable-ipv6 \
 --with-mysql \
 --with-net-snmp \
 --with-libcurl \
 --with-libxml2 \
 --with-ldap \
 --with-ssh 
make &&make install

编译参数说明
--prefix=/usr/local/zabbix //服务安装路径 --enable-server //安装Zabbix Server --enable-angent //安装Zabbix Agent --enable-proxy //安装Zabbix Proxy --with-mysql //使用MySQL做数据库服务器 --with-net-snmp //支持SNMP --with-libcurl //支持curl,用于web监控 
服务端口定义
vim /etc/services zabbix-agent 10050/tcp # Zabbix Agent zabbix-agent 10050/udp # Zabbix Agent zabbix-trapper 10051/tcp # Zabbix Trapper zabbix-trapper 10051/udp # Zabbix Trapper

4.5 修改Zabbix Server配置文件
vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log  //日志位置,根据需求修改
PidFile=/tmp/zabbix_server.pid  //PID所在位置
DBHost=localhost  //数据库IP,如果不是本机,请修改
DBName=zabbix  //数据库名称
DBUser=zabbix  //数据库用户名
DBPassword=zabbix  //数据库密码
4.6 创建所需的数据库并授权用户
mysqi -u root -p
mysql>create database zabbix character set utf8;
mysql>grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
exit
4.7 导入Zabbix定义的表结构和数据
cd /usr/local/src/zabbix-3.0.5/database/mysql
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
4.8 安装zabbix启动脚本
cd /usr/local/src/zabbix-3.0.0/misc/init.d/fedora/core
cp zabbix_server /etc/init.d/
chmod +x /etc/init.d/zabbix_server
4.9 修改启动脚本
vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix  //修改Zabbix的安装目录
CONFILE=$BASEDIR/etc/zabbix_server.conf  //添加此行,定义配置文件位置
##搜索start,修改启动选项,默认是去/etc下去找配置文件
action $"Starting $BINARY_NAME: " $FULLPATH -c $CONFILE
4.10 启动服务
service zabbix_server start
4.11 安装zabbix web界面
复制Web代码到httpd配置文件指定目录下,默认为:/data/webroot
cd /usr/local/src/zabbix-3.0.0/frontends/
cp -r php /data/webroot/zabbix

根据提示修改php配置文件
memory_limit 128M post_max_size 16M upload_max_filesize 2M max_execution_time 300 ]max_input_time 300 date.timezone Asia/Shanghai
使用浏览器访问 http://ip/zabbix安装zabbix

4.12 zabbix设置中文

上传字体,修改配置文件
vim /var/www/html/zabbix/include/locales.inc.php 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true)

4.13 解决中文乱码问题
cd /data/webroot/zabbix/
sed -i 's/DejaVuSans/simkai/g' ./include/defines.inc.php

zabbix server 部署完成

事件:5722 NetLogon

 

Windows server 2012 R2 AD域控制器错误日志 5722 NetLogon:

从计算机 LEAGSOFT 设置的会话无法进行身份验证。 安全数据库中引用的帐户名称是 LEAGSOFT$。发生下列错误:
拒绝访问。

从计算机 LEAGSOFT 设置的会话无法进行身份验证。 安全数据库中引用的帐户名称是 LEAGSOFT$。发生下列错误:
拒绝访问。

解决方法:重命名计算机名称和新建域用户账户

微软官方的解释:Netdom.exe
每个成员都与域控制器有一个离散的通信通道(安全通道)。安全通道由成员及域控制器上的 Netlogon 服务用来进行通信。使用 Netdom 可以重置成员的安全通道。可通过以下命令重置成员安全通道:

netdom reset ‘machinename’ /domain:’domainname
其中,“machinename”是本地计算机名称,“domainname”是存储计算机/计算机帐户的域。

假定您在 MYDOMAIN 域中有一个名为 DOMAINMEMBER 的域成员。以下命令重置成员安全通道:

netdom reset domainmember /domain:mydomain
可在成员 DOMAINMEMBER、域的任何其他成员或域控制器上运行该命令,前提是必须以具有 DOMAINMEMBER 的管理员访问权限的帐户登录。

windows 挂载NFS服务器命令

 

 

例如:NFS服务器E盘上创建共享文件夹shares,在共享文件夹下有个xiaomaoshu的NFS共享,挂着本地为P盘,命令如下。

 

mount  \\服务器IP\E:\shares\xiaomaoshu  P:

 

 

 

如何查看AD域用户的密码到期时间

1、 查询单个账号是否过期:可以使用命令net user %USERNAME% /domain来进行查询。具体操作方式如下:

           

2.查询所有活动的AD账号密码过期时间:在AD域控上运行powershell工具。

第一步输入:

$maxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days

第二步输入:

Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties * |
Select-Object -Property “Displayname”, @{n=”ExpiryDate”;e={$_.PasswordLastSet.AddDays($maxPasswordAge)}}

回车后显示此域内AD所有账号过期日期。

3、通过脚本进行查询AD账号在一段时间内过期状态:

1、在C盘路径下创建Script文件夹内放置脚本GetADUserPasswordExpiration.psm1,文件在此文档附件内。通过管理员执行power shell后:

第一种方法:

第一步输入:Import-Module C:\Script\GetADUserPasswordExpiration.psm1

第二步输入:Get-OSCADUserPasswordExpiration -SamAccountName “doris”,”katrina” -NextDay 10

注:其中Doris,Katrina为AD域内用户账号信息,可以根据实际情况修改。

第二种方法:

在C盘路径下创建Script文件夹内创建一个名为SamAccountName.csv格式的文件,通过txt进行打开在文件夹内输入类似如下格式账号信息保存,具体账号名称以实际为准。

第一步输入:Import-Module C:\Script\GetADUserPasswordExpiration.psm1

二步输入:Get-OSCADUserPasswordExpiration –CsvFilePath C:\Script\SamAccountName.csv -NextDay 10

示例图如下:

资料来源:

1.查询单个账号是否过期,可以用以下命令: net user %USERNAME% /domain

2.查询所有活动的AD账号密码过期时间:

One-Liner: Get a List of AD Users Password Expiry Dates

http://blogs.technet.com/b/poshchap/archive/2014/02/21/get-a-list-of-ad-users-39-password-expiry-dates.asp

人生

活跃在夜深时分,早起于鸟醒之时。

不怕腹中肠辘辘,只怕人生庸碌碌