用群晖WebStation搭建另一个youtube-dl的webui汉化版下载youtube视频

项目地址:https://github.com/oldiy/youtube-dl-webui-cn

下载地址:https://github.com/oldiy/youtube-dl-webui-cn/archive/master.zip

群晖安装WebStation

之后会多出一个web文件夹,下载后上面的项目,解压放到web文件夹里

打开 webstation,如图设置

新建虚拟主机,如图设置

修改配置文件,如图设置

打开网页 http://<群晖IP>:260 即可下载

本项目可以放到任何linux服务器上使用,如果遇到不能下载问题,直接更新目录下的youtube-dl文件即可。

用群晖玩游戏?没错!快使用Docker自建一个web版的dos游戏库!

DOS游戏网页版项目:https://github.com/rwv/chinese-dos-games

官方体验地址:https://dos.zczc.cz/

目前发现一个问题,载入游戏时候部分下载软件会监控下载,自动拦截载入游戏,所以遇到这种问题时,请关闭下载软件的监视功能,或者设置你的网站域名为不监视即可!如果遇到这种情况不能进入游戏,可以关闭下载软件监控后,按ctrl+F5 强制刷新网页即可!

该项目可以在web页面运行dos游戏,后来没事做放到docker里面来跑,也成功了,只是源文件包含1900个左右的游戏,大小36G左右,由于太大做成docker不现实,所以fork出来精简了一部分,只保留了40多个经典的DOS游戏,现在已经上传到docker hub,喜欢怀旧的小伙伴可以去玩耍一下了!支持存档!

好了,我也不会说话,下面开始群晖使用教程

群晖打开注册表,搜索oldiy

找到dosgame-web-docker双击下载

之后到镜像内双击安装,如图操作

映射端口——应用即可

如果群晖有防火墙,记得防火墙放行端口262

之后打开网页  http://<群晖IP or 域名>:262

开始玩耍吧!

到这里已经足够普通玩家体验了!

高级内容请继续


如果你觉得40多个游戏不够玩,或者有收集癖好,那么我提供一下完整的游戏下载列表,大家可以自己把游戏下载之后,放到docker里面

现在讲一下方法,游戏文件保存在docker容器的 /app/static/games 里面

首先我们需要把games目录拷贝到你的群晖里

那么讲一下用法吧,以下教程全部在群晖内实现

首先ssh登录群晖

1sudo -i

获取管理员权限

1docker ps

列出全部docker容器

记住dosgame-web-docker的ID 前4位

回到群晖,新建一个文件夹

右键属性

查看文件夹真实地址,并记住

回到SSH

1docker cp 2197:/app/static/games /volume1/docker/dosgame

输入以上命令,拷贝容器内文件到本机

回到群晖查看文件,具体文件作用看图

打开群晖docker,容器关闭,然后编辑,映射一个目录,如下图

应用后,重启容器就可以了

群晖NAS能做什么?

一、NAS是什么
NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上具备资料存储功能的装置,为网络中的Windows / Linux / Mac OS 等各种不同操作系统的设备提供文件共享和数据备份等功能。

二、关于群晖(Synology)
群晖公司(Synology)于2000年创立于台湾,一家提供网络附加存储设备 (NAS)、IP 监控解决方案以及网络设备的企业。(黑群)常见的型号有:DS3615xs、DS3617xs、DS916+、DS918+等型号。

三、群晖能做什么
1、下载类:
①http、BT和电驴下载:安装Download Station套件。
※移动端:手机可装DS Get应用远程推送下载。

②迅雷远程下载:套件中心安装“玩物下载”,安装后在浏览器打开http://群晖:8283/owdl/index.html这个地址,在网页里添加下载。

③百度云下载:通过docker安装相应的容器来实现,经测试:百度超级会员可以满速,非超级会员下载比用百度自家的客户端要快多了。

④BitTorrent Sync(Resilio Sync)下载:BitTorrent Sync已改名Resilio Sync,可以直接在套件中心安装,传说中的神Key在手,资源我有,最新的电影、电视剧都可以通过它下载。

⑤Aria2下载:Docker装Aria2 With WebUI实现,可以批量下载115网盘,BT种子等。
※浏览器衍生玩法:火狐可装115助手、网盘助手、Aria2、Send to Aria2等拓宽Aria2的玩法;
※移动端:安卓手机可装Aria2App远程推送下载。

⑥91下载:91是神马?哈哈,作为老司机的你肯定懂的!

⑦人人影视下载:通过Docker安装容器实现,可下载人人影视的最新影视资源。

⑧FlexGet的RSS订阅:想全自动通过RSS订阅进行PT下载一定要看的!

2、RSS抓取类
①Selfoss:通过Docker安装容器实现,可以添加RSS源以web方式阅读。

3、影音娱乐类
①Audio Station:套件装Audio Station实现,用于远程在线播放群晖里的歌曲。
※手机/电视衍生玩法:手机装DS Audio应用在线听。

②Video Station:套件装Video Station实现,用于远程在线播放群晖里的视频;
※PC衍生玩法:在Windows系统安装DS Video应用在线看;
※手机/电视衍生玩法:安装DS Video的APP(有安卓手机版、苹果手机版、苹果ipad版和安卓TV版)在线看。

③Photo Station/Moments:套件装Photo Station/Moments实现,用于远程在线浏览群晖里的图片;
※PC衍生玩法:Windows安装DS Photo应用或网页登录Moments在线看;
※手机/电视衍生玩法:手机装DS Photo/Moments应用在线看。 

④Kodi:电视装Kodi应用通过Samba等方式,可以用海报浏览的方式显示并播放群晖里的视频。

⑤Youtube-DL:Docker装Youtube-dl实现,下载Youtube视频网站的视频。

⑥emby:一个相当于汇集Audio Station+Video Station+Photo Station+IPTV于一身的视频伺服中心。

4、办公类
①Cloud / Driver:套件中心安装Cloud / Driver实现,可让群晖与电脑、云盘、手机互相备份和同步数据。
※PC衍生玩法:电脑装Cloud / Driver,从此不用再把公司里的笔记本搬回家;
※移动端:手机装DS Cloud/Driver,主要用于同步手机里的照片和数据备份等。

②Note Station:套件装Note Station实现,可以理解为本地搭建版的印象笔记,完全免费;
※浏览器衍生玩法:谷歌浏览器装Synology Web Clipper和Synology Web Station;
※移动端:手机装DS Note。
③Surveillance Station:套件装Surveillance Station实现,可通过家里的摄像头(需要群晖支持的摄像头)实时监控家里的情况。
※移动端:手机装DS Cam。
④Active Backup for Business:可以把你的电脑、服务器以及ESXI虚拟机进行备份和还原。备份的过程中备份机不需要关机,可以保留多个备份版本并且不占用过多的存储空间。
⑤MailPlus Server邮箱系统:利用群晖搭建一个属于自己的邮箱系统,配合自己的域名开设一个“企业邮箱”。

5、网站搭建类
①博客系统:可以利用群晖WebStation套件,架设Wordpress、Typecho、Zblog等博客系统源代码进行安装,建立个人网站或者博客;
②论坛系统:架设Discuz!、PHPWind、phpBB等论坛;
③CMS系统:架设帝国、织梦等内容管理系统;
④影视系统:架设米酷、海洋、苹果等影视系统;
⑤图书系统:架设Calibre等图书管理系统或者小说在线阅读系统;
⑥导航页:开设的网站多了,还有加上群晖自己的应用外网访问,记不住怎么办?可以搭建一个导航页!;
⑦网盘系统:利用群晖搭建一个属于自己的网盘系统,可以利用NAS的空间或者利用微软OneDrive网盘的空间,建立自己的下载站;
⑧小程序类:搭建微信小程序、QQ小程序、支付宝小程序、头条小程序、抖音小程序等等各种各类的小程序。

6、智能家居类
①HomeKit:苹果的智能家居系统;
②HomeAssistant:一款基于 Python 的智能家居开源系统。
③远程监控:添加USB摄像头或者网络摄像头,甚至添加一台安卓智能手机,都可以实现监控和录像的目的。

7、玩游戏类
①网络游戏:架设“传奇”、“御剑情缘”、“新蜀山”等等,拉上三五好友、几个同事、几个同学找回当年“江湖争霸”的雄风!
②休闲游戏:架设棋牌类等益智休闲游戏,无聊的时候打发时间。

在PVE下用 AdGuard Home搭建一个带广告过滤的私有DNS服务器及优化部署

很多人可能会问:AdGuard Home是干嘛用的?假如我们把整个互联网比喻成一个城市的供水,每个地区自来水厂提供的水质和你所在管网末端位置的不同,有些家庭会明智的选择使用前置净水器,可以解决管道中的二次污染、软化水质、阻止水垢、防止锈蚀、保护净水器,当然还有太阳能和燃气热水器等等,但最终享受干净水的是人。精致的家庭还会使用厨下式厨余垃圾处理器,而很多的家庭也许都不知道什么是前置净水器、什么是厨余处理器。互联网和供水一样,有大带宽和小带宽,有管网污染的问题,有被政府监控和被黑客偷窥的问题,还有烦人的广告问题,无论是视频前和视频中的广告,所以在入户光猫之后的主路由器上安装并使用私有DNS服务器(AdGuard Home),就可以有助于“清洗流量”。
       根据AdGuard Home 官网介绍,AdGuard Home 是一款全网广告拦截与反跟踪软件。在您将其安装完毕后,它将保护您所有家用设备,同时您不再需要安装任何客户端软件。随着物联网与连接设备的兴起,掌控您自己的整个网络环境变得越来越重要。
       简单的点讲就比如Google的8.8.8.8,阿里云的223.5.5.5,114的114.114.114.114,还有Cloudflare的1.1.1.1,这些都是提供DNS服务的公共DNS服务器。而AdGuard Home在给我们提供DNS服务的同时还提供去广告的功能,这就有点意思了吧~~

       博主是用PVE作为宿主机的环境,所以就在PVE系统里面安装了这个AdGuard Home,来看看怎么安装和使用吧。

一、安装教程

1、下载AdGuardHome_PVE-LXC.tar.gz镜像文件:打开下载地址https://dl.gxnas.com,进入“Proxmox-VE(PVE虚拟平台)”文件夹,找到“AdGuardHome_PVE-LXC.tar.gz”,右键复制下载链接到迅雷下载;

2、通过SSH工具(本教程采用WinSCP),把下载的“AdGuardHome_PVE-LXC.tar.gz”,上传到PVE系统下的“/var/lib/vz/template/cache”里面;

3、通过网页访问PVE后台,点击右上角“创建CT”;

4、创建:LXC容器,“一般”标签栏的输入以下信息:
主机名称:自己随便写
密码:自己设置
确认密码:同上
然后点下一步

5、点“模板”标签栏的“模版”下拉菜单,选择“AdGuardHome_PVE-LXC.tar.gz”,下一步;

6、“根磁盘“标签设置磁盘大小2G,下一步;

7、”CPU“标签设置1核,下一步;

8、”内存“标签设置内存1024M ,交换分区用默认的512,下一步;

9、”网络“标签的IPv4可以根据自己的内网设置静态IP(本教程内网是192.168.1.X的号段,所以设置192.168.1.2/24),IPv6设置DHCP,下一步;

10、“DNS”标签这里不需要设置,直接下一步;

11、“确认”标签,最后确认一下信息,如果正确无误就勾选左下角的“创建后启动”再点“完成”。

二、相关的设置
1、回到PVE系统的“数据中心”,找到刚刚建立的AdGuard容器,点它进入控制台,输入登录的用户名root,回车,再输入之前设置的密码,输入ip addr回车,检查一下显示的IP地址是否与刚才安装时设置的IP地址一致;

2、输入ping baidu.com,回车,检查容器能否连通外网;有外网IP地址返回的表示外网连接正常,按一下Ctrl+C结束测试。

3、在局域网电脑的浏览器地址栏输入刚才安装AdGuardHome设置的IP:3000(比如我的是192.168.1.2:3000);

4、开始配置;

5、网页管理界面,我们用默认的端口,不需要更改,下一步;

6、身份认证,需要自己设置用户名和密码,下一步;

7、下一步;

8、打开仪表盘;

9、主界面是这样的;

10、点最上面的菜单栏“设置”-“常规设置”,这四个选项根据自己要求设置(博主勾了1、2、4),然后拉到下面,点保存;

11、点最上面的菜单栏“设置”-“DNS设置”,上游DNS这栏输入(由于每个人使用的宽带不同,所以上游DNS使用哪个,请根据自己的情况填写,后面会讲):

tls://dns.google
tls://1.1.1.1
tls://1.0.0.1

然后拉到下面点应用,会看到系统提示“上游DNS已更新”;

12、点最上面的菜单栏“过滤器”,“添加过滤器”,名称随意设置,地址输入https://hosts.nfz.moe/127.0.0.1/full/hosts,点“添加过滤器”;

13、看到系统提示“网址添加成功”后,点打叉关掉提示;

14、点“检查更新”;

15、系统更新完成会提示“所有过滤器已更新到最新”;

三、更改网关/路由的DNS
由于每个人使用的网关/路由都各有不同,因此这里不做具体描述。请自行把内网的DNS主服务器IP地址设置成我们刚刚安装的AdGuardHome的内网IP地址,DNS副服务器设置为了其他公共的DNS服务器IP(拒绝使用运营商的DNS)。博主的网关是自己编译的软路由openwrt X64的版本,具体的设置如下,大家借鉴一下吧。

四、最后来看看效果如何

五、官方网站及项目地址
1、AdGuard官网:https://adguard.com/
2、AdGuardHome项目地址:https://github.com/AdguardTeam/AdGuardHome


AdGuard Home 优化部署

一、上游DNS设置

1、不使用ISP默认DNS的好处是可以避免ISP通过DNS分析和掌握你的上网行为。我们把上游DNS更换成DNS over TLS的:

tls://dns.adguard.com
tls://dns.quad9.net
tls://dns.google
tls://1.1.1.1
tls://1.0.0.1

2、当然,你也可以使用其他的公共DNS,不过国内公共的DNS暂不支持DNS over TLS(博主用的是223.5.5.5),比如:

223.5.5.5
223.6.6.6
114.114.114.114
114.114.115.115
119.29.29.29
119.28.28.28

3、如果你想启用ipv6的DNS,可以添加以下几个(但是启用ipv6后,不能过滤视频中的广告):

2409:8028:2000::1111
2409:8028:2000::2222
2620:0:ccc::2
2620:0:ccd::2

二、过滤器

虽然AdGuardHome内置了几条广告过滤规则,但在这些规则在中国感觉有点水土不服。如果要想完美的实现广告过滤,还需要自己添加规则。AdGuard Home 兼容 Adblock 过滤规则语法,你可以使用一些比较知名的 Adblock 过滤规则。目前好用的过滤规则还是有很多的,请酌情选择(1-4为系统自带的):

1、AdGuard Simplified Domain Names filter(系统自带)

https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt

2、AdAway(系统自带)

https://adaway.org/hosts.txt

3、hpHosts – Ad and Tracking servers only(系统自带)

https://hosts-file.net/ad_servers.txt

4、MalwareDomainList.com Hosts List(系统自带)

https://www.malwaredomainlist.com/hostslist/hosts.txt

5、hosts.nfz.moe

https://hosts.nfz.moe/127.0.0.1/full/hosts

6、EasyList China

https://easylist-downloads.adblockplus.org/easylistchina.txt

7、EasyPrivacy

https://easylist-downloads.adblockplus.org/easyprivacy.txt

8、CJX’s Annoyance List

https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjx-annoyance.txt

9、CJX’s EasyList Lite

https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjxlist.txt

10、Adblock-Plus-Rule

https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/ABP-FX.txt

11、ChinaList

http://tools.yiclear.com/ChinaList2.0.txt

如果你觉得过滤得还不够,也可以在“自定义过滤器规则”按照以下过滤规则自己编写:

||example.org^ – 拦截 example.org 域名及其所有子域名
@@||example.org^ – 放行 example.org 及其所有子域名
127.0.0.1 example.org – 将会把 example.org(但不包括它的子域名)解析到 127.0.0.1
! 注释符号,表示这是一行注释
# 这也是注释符号,同样表示这是一行注释
/REGEX/ – 正则表达式模式

具体请参考《官方说明

三、配置文件调整

AdGuard Home 所有的参数配置都保存在一个名为 AdGuardHome.yaml 的配置文件中。这个配置文件默认路径通常为 AdGuard Home 二进制文件 AdGuardHome 所在的目录,比如:/root/AdGuardHome/AdGuardHome.yaml。这里我们只需调整以下两个参数,就是可以明显提升 AdGuard Home 的 QPS 能力。

ratelimit : DDoS 保护,客户端每秒接收的数据包数。默认值是 20,建议禁用该参数(将值改为 0)。
blockedresponsettl : TTL 缓存时间,默认值是 10,建议设置为 60 。

Proxmox Virtual Environment(PVE)完美的更改IP地址

一、在局域网的电脑浏览器输入PVE的IP地址登录后台,从左边的菜单找到“PVE”—“_Shell”菜单,进入网页版的ssh界面下;或者在主机的控制台下输入root密码后登录到ssh下;

二、输入以下命令回车:

vi /etc/network/interfaces

通过键盘上下左右移动到address这行的IP地址,按一次i进入修改状态,修改为新的IP地址,如果需要网关则修改gateway这行,修改完成确认无误后按一次ESC键输入:wq!回车保存退出。

三、输入以下命令回车:

vi /etc/issue

通过键盘上下左右移动到https://这行的IP地址,按一次i进入修改状态,修改为新的IP地址,端口8006不要改,修改完成确认无误后按一次ESC键输入:wq!回车保存退出。

四、输入以下命令回车:

vi /etc/hosts

通过键盘上下左右移动到第2行的IP地址,按一次i进入修改状态,修改为新的IP地址,修改完成确认无误后按一次ESC键输入:wq!回车保存退出。

五、重启PVE,完美解决!

查水表的原理,来了解一下

我们来假设一个案例,在一个月黑风高的晚上,小明在某论坛大肆批评政府,第二天小明刚一睡醒就听见咚咚咚,开门查水表,于是乎小明神秘消失了。

好了,再以网监的角度来看看:

一天,网监局的小红看到了一个网民在网上发了个大肆批判ZF的帖子,心想,这哥们胆子挺大啊?于是联系了那个网络公司,要求调取发帖人IP地址,IP调取结果为122.224.54.112,IPWHOIS登记的所有人为中国电信,好了,网监局小红联系了中国电信,要求查在2019-06-02 03:30使用122.224.54.112的人,之后中国电信乖乖的配合网监局,交出了小明的家庭地址,浙江省绍兴市XXXXXX ,然后水表就没了。

再切换会小明的角度:小明心想,老子明明用的是ADSL,动态IP,发完贴就断开了,怎么还tm被查到了,WTF?
老衲的解释:在各级ISP的日志服务器上都有留存日志,日志留存时间大概是6个月左右,在AAA服务器上留有你登录认证的用户名,时间,分配的IP地址。依靠这个就能找到谁在哪个时间段使用过哪个IP地址。

被拘留15天后的小明终于出来了,他心想,老子就要跟你们这群网监局的人干到底,小明就在网上找到了个代理VPN,继续上网发帖,继续在另一个网站上批评政府,这是个小网站啊,日志留存期内肯定查不到了,而且还挂了个VPN,第二天,小明又被查水表了。

以网监局的小红的角度再看看:诶呀?根据”与情控制系统”的报告,有人在某个小型网站发了个反ZF的文章,小红又火速要求网站提供发帖人IP地址,结果小红一看 175.45.176.11 这是尼玛是我大朝鲜IP啊,难不成是金三胖子发的帖子么?小红想了想,金三胖子不会说中文啊,于是,小红上报了此次事件,上级表示一定要查到,然后小红就去各大出口运营商调取路由日志了,于是小明发现,在2019年6月18日01:38,122.224.250.38链接到了175.45.176.11的某个端口,于是乎小红查了查122.224.250.38在那个时间段是属于谁的?一查,又是小明干的。

小红第二天火速赶往小明家,把正在看电视的小明抓捕归案。小明又被小红胖揍一顿。

小明心想:老子明明挂了VPN了啊,又在小型网站上发帖,怎么又尼玛被抓了。

其实他根本不知道:各级公安系统均配备了舆情控制系统,能采集几乎所有的国内网站的发帖信息,检测到关键字就被单独列出。而且单层VPN很不保险,查路由日志就查到了。

又是蹲了15天拘留。

小明肯定心里很不爽啊,于是苦修黑阔技术。同时中国电信也拒绝继续向小明提供服务,他换成了广电网络(二级ISP,出口IP都一样,几千人共用一个IP)之后又学会了一招,双层VPN/变换出口IP的VPN(就比如链接用175.45.176.11,但是访问网站的时候出口IP就变成了175.45.179.244,这样就没法靠路由日志查了),于是乎小明又继续批评ZF

网监局的小红看到后,这怎么又有人发帖了,查吧。一看,IP是175.45.179.244,这尼玛又是我大朝鲜的IP,是不是小明干的啊?但是没证据啊,于是又查了查路由日志,这回什么都没有,小红心想,这小明技术提高了啊。于是乎小红要求国内各大网络公司提供175.45.179.244这个IP的访问记录,于是某企鹅公司说了,这个IP登录过我们公司的服务,号码是12345668,小红又要求某企鹅公司提供这个号码的历史登录记录,于是乎小红看到了,看IP是二级ISP的,几千人共用一个ip啊,怎么办呢?小红又要求企鹅公司提供登录端口号,然后又同时根据二级ISP内网审计设备查到了登录该qq的内网IP,于是根据内网记录,查到了网络开户人就是小明。
小红火速赶到了小明的家,又把小明抓走了。这是小明的三进宫了,小红也表示很无奈,渐渐的,单身的小红和小明互相就有了好感(>.<尼玛)

小明想:老子都用二级ISP了,也用双重VPN了,怎么又尼玛被抓了,wr!!

小明又没想到:首先二级ISP有更严格的内网审计功能,你要是直接登录QQ,他们的内网审计就能直接看到你登录的QQ帐号但是看不到你的聊天记录,因为加密的。某局实验室的设备可以直接看到你的聊天记录(有QQ的解密密钥,还能解飞信,YY之类的,毕竟中国的企业必须给WJ部门提供方便)。虽然是几千人共用一个IP,但是端口号是唯一的,可以通过端口号查内网路由日志。而且这种VPN甚至IPSecVPN能在某墙的干扰下变成纯明文VPN,因为windows系统中可能有bug,即使开启了必须加密也能链接成功,但是却没加密。这就是为什么有时候你开VPN上网,DNS都设置好了,还是打不开非死不可之类的网站。即使这些情况都没有,你也不能保证VPN服务商跟WJ部门没有合作的。而且电脑上有很多国产软件是和WJ部门有合作的,比如搜狗拼音,腾讯qq啊之类的,这些软件的特征是 开启时间长,可长时间驻留,每日必备。在你开全局VPN的时候,你的qq,搜狗拼音等也会被代理上,比如qq会断线重链,根据每个人的唯一码,很简单找到你。

是15天的拘留,小明很不爽啊,出来后苦苦学习黑阔技术,之后又学会了一招
小明用了个Linux LiveCD,把电脑网卡MAC都改了,然后破解了邻居的一个WiFi,然后用I2P作为前置代理链接上了TOR网络,然后继续发帖。第二天,咚咚咚,小明又被小红带走了。

网监局小红:还是有人发帖批评ZF啊,于是小红查了下发帖IP,是个欧洲的TOR出口,小红心想,这怎么办呢,TOR网络,不可能继续追查下去了。小红看了看发帖的用户名:laozishixiaoming,这个用户名。。。
然后百度谷歌搜索了下这个用户名,发现这个用户名注册过很多网站,于是乎联系这些网站要求提供IP,拿到IP后查AAA服务器记录,一看,是小明。于是小红气呼呼的奔向了小明家…………….
小明心想:又尼玛栽了。
小红说:想见我不要用这种方法吧?

总结:
这是社会工程学的一种手段,小明犯的致命错误就是用了自己的常用用户名发帖。

首先,要做到匿名发帖就要保证自己的电脑没有”后门”,这里的”后门”指不经自己授权就随意发送接受自己不想被发送或接收的数据。在这个条件下,腾讯qq,搜狗拼音,暴风影音,迅雷等就是”后门”。

其次要应用的安全,比如VPN总不能被干扰成明文了你还在网上狂吧? IP藏匿手段要好,最好用I2P+TOR代理。

最重要的也是要保证社会工程学的防御,很多发帖人就栽在这上面了……

这个故事的结局是:

小明被政府以高薪聘用成为网监局的一名专家,在职期间抓了无数中二,最后他和小红结了婚,从此他们过上了幸福的生活。。。(这是篇教大家如何泡网警妹子的攻略。)

CentOS 8.x编译安装Nginx1.16.x+MySQL8.0.x+PHP7.4.x 7.3.x 7.2.x 7.1.x 7.0.x 5.6.x 5.5.x 5.3.x 多版本全能环境

CentOS 8.x编译安装Nginx1.16.x+MySQL8.0.x+PHP7.4.x 7.3.x 7.2.x 7.1.x 7.0.x 5.6.x 5.5.x 5.3.x 多版本全能环境 | 系统运维

准备篇

一、防火墙配置

CentOS 8.x默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

systemctl mask firewalld

systemctl stop firewalld

yum remove firewalld

2、安装iptables防火墙

yum install iptables-services #安装

vi /etc/sysconfig/iptables #编辑防火墙配置文件

# sample configuration for iptables service

# you can edit this manually or use system-config-firewall

# please do not ask us to add additional ports/services to this default configuration

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT

-A INPUT -p tcp -m state –state NEW -m tcp –dport 80 -j ACCEPT

-A INPUT -p tcp -m state –state NEW -m tcp –dport 443 -j ACCEPT

-A INPUT -p tcp -m state –state NEW -m tcp –dport 3306 -j ACCEPT

-A INPUT -j REJECT –reject-with icmp-host-prohibited

-A FORWARD -j REJECT –reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

/usr/libexec/iptables/iptables.init restart #重启防火墙

二、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

三 、系统约定

软件源代码包存放位置:/usr/local/src

源码包编译安装位置:/usr/local/软件名字

四、下载软件包

1、下载nginx

http://nginx.org/download/nginx-1.16.1.tar.gz

2、下载MySQL

http://mirrors.sohu.com/mysql/MySQL-8.0/mysql-8.0.19.tar.gz

3、下载php

http://mirrors.sohu.com/php/php-7.4.4.tar.gz
http://mirrors.sohu.com/php/php-7.3.16.tar.gz
http://mirrors.sohu.com/php/php-7.2.29.tar.gz
http://mirrors.sohu.com/php/php-7.1.33.tar.gz
http://mirrors.sohu.com/php/php-7.0.33.tar.gz
http://mirrors.sohu.com/php/php-5.6.40.tar.gz
http://mirrors.sohu.com/php/php-5.5.38.tar.gz
http://mirrors.sohu.com/php/php-5.4.45.tar.gz
http://mirrors.sohu.com/php/php-5.3.29.tar.gz
http://museum.php.net/php5/php-5.2.17.tar.gz
http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz

4、下载cmake(MySQL编译工具)

https://github.com/Kitware/CMake/releases/download/v3.15.4/cmake-3.15.4.tar.gz

5、下载pcre (支持nginx伪静态)

http://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz

6、下载openssl(nginx扩展)

6.1下载最新稳定版本,适用于nginx扩展https

https://www.openssl.org/source/openssl-1.1.1e.tar.gz

6.2下载旧版本,适用于php5.6.x及其以下版本编译安装openssl扩展

https://www.openssl.org/source/old/1.0.2/openssl-1.0.2k.tar.gz

7、下载zlib(nginx扩展)

http://www.zlib.net/zlib-1.2.11.tar.gz

8、下载libmcrypt(php扩展)

https://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

9、下载yasm(php扩展)

http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

10、t1lib(php扩展)

http://download.freenas.org/distfiles/t1lib-5.1.2.tar.gz

11、下载gd库安装包

11.1适用于php 5.4.x及其以上版本

https://github.com/libgd/libgd/releases/download/gd-2.3.0/libgd-2.3.0.tar.gz

11.2适用于 php 5.3.x 5.2.x版本

https://jaist.dl.sourceforge.net/project/gd2/gd-2.0.35.tar.gz

12、libvpx(gd库需要)

https://github.com/webmproject/libvpx/archive/v1.8.2/libvpx-1.8.2.tar.gz

13、tiff(gd库需要)

http://download.osgeo.org/libtiff/tiff-4.0.7.tar.gz

14、libpng(gd库需要)

ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.37.tar.gz

15、freetype(gd库需要)

https://download.savannah.gnu.org/releases/freetype/freetype-2.10.1.tar.gz

16、jpegsrc(gd库需要)

http://distfiles.macports.org/jpeg/jpegsrc.v9d.tar.gz

17、Boost(编译mysql需要)

https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz

18、libzip(编译php需要)

https://libzip.org/download/libzip-1.2.0.tar.gz

19、rpcsvc-proto(编译MySQL需要)

https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.gz

20、oniguruma(编译安装php7.4.x需要)

https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz

21、curl库(编译php需要)

https://curl.haxx.se/download/curl-7.29.0.tar.gz

五、安装编译工具及库文件(使用yum命令安装)

yum install apr* autoconf automake bison bzip2 bzip2* cpp curl curl-devel fontconfig fontconfig-devel freetype-devel gcc gcc-c++ gd gd-devel gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libxml* libXaw-devel libXmu-devel libtiff libtiff* make openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet wget zlib-devel ncurses-devel libtirpc-devel gtk* ntpstat bison* sqlite-devel oniguruma libzip-devel

安装篇

以下是用putty工具远程登录到服务器,在命令行下面操作的

一、安装MySQL

1、安装rpcsvc-proto

cd /usr/local/src

tar zxvf rpcsvc-proto-1.4.tar.gz

cd rpcsvc-proto-1.4

./configure

make

make install

2、安装cmake

cd /usr/local/src

tar zxvf cmake-3.15.4.tar.gz

cd cmake-3.15.4

./configure

make

make install

3、安装MySQL

cd /usr/local/src

mkdir -p /usr/local/boost

cp boost_1_70_0.tar.gz /usr/local/boost

groupadd mysql #添加mysql组

useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统

mkdir -p /data/mysql #创建MySQL数据库存放目录

chown -R mysql:mysql /data/mysql #设置MySQL数据库存放目录权限

mkdir -p /usr/local/mysql #创建MySQL安装目录

cd /usr/local/src #进入软件包存放目录

tar zxvf mysql-8.0.19.tar.gz #解压

cd mysql-8.0.19 #进入目录

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DINSTALL_DATADIR=/data/mysql -DMYSQL_USER=mysql -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_EMBEDDED_SERVER=1 -DFORCE_INSOURCE_BUILD=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DWITH_BOOST=/usr/local/boost

make #编译

make install #安装

编译出错, 重新编译前要删除编译失败的文件,重新编译时,需要清除旧的对象文件和缓存信息。

make clean

rm -f CMakeCache.txt

rm -rf /etc/my.cnf #删除系统默认的配置文件(如果默认没有就不用删除)

cd /usr/local/mysql #进入MySQL安装目录

./bin/mysqld –user=mysql –initialize –basedir=/usr/local/mysql –datadir=/data/mysql #生成mysql系统数据库

–initialize表示默认生成密码, –initialize-insecure 表示不生成密码, 密码为空。

看到这一行[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: LZrRpp40AG*-

记录下自动生成的mysql管理员root账号登录密码LZrRpp40AG*-

vi /usr/local/mysql/my.cnf #mysql 8.0.x默认没有配置文件,我们自己创建一个。

[client]

port=3306

socket=/tmp/mysql.sock

[mysqld]

port=3306

user = mysql

socket=/tmp/mysql.sock

tmpdir = /tmp

key_buffer_size=16M

max_allowed_packet=128M

default_authentication_plugin=mysql_native_password #设置加密方式为mysql_native_password,MySQL 8.0.x默认使用caching_sha2_password加密。

open_files_limit = 60000

explicit_defaults_for_timestamp

server-id = 1

character-set-server = utf8

federated

max_connections = 1000

max_connect_errors = 100000

interactive_timeout = 86400

wait_timeout = 86400

sync_binlog=0

back_log=100

default-storage-engine = InnoDB

log_slave_updates = 1

[mysqldump]

quick

[client]

# The following password will be sent to all standard MySQL clients

password=”my password”

[mysqld-8.0]

sql_mode=TRADITIONAL

[mysqladmin]

force

[mysqld]

key_buffer_size=16M

:wq! #保存退出

ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目录的软连接

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动

chmod 755 /etc/init.d/mysqld #增加执行权限

chkconfig mysqld on #加入开机启动

vi /etc/rc.d/init.d/mysqld #编辑

basedir=/usr/local/mysql #MySQL程序安装路径

datadir=/data/mysql #MySQl数据库存放目录

:wq! #保存退出

service mysqld start #启动

vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行

export PATH=$PATH:/usr/local/mysql/bin

:wq! #保存退出

source /etc/profile #使配置立刻生效

下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。

ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

ln -s /usr/local/mysql/include/mysql /usr/include/mysql

mkdir /var/lib/mysql #创建目录

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加软链接

mysql -u root -p #输入之前生成的密码LZrRpp40AG*-回车

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123456’ PASSWORD EXPIRE NEVER; #修改密码,NEVER表示密码永不过期

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’ PASSWORD EXPIRE NEVER; #使用WITH mysql_native_password加密

#MySQL 8.0.x加密方式从mysql_native_password 更改为 caching_sha2_password,mysql8.0.x之前的客户端远程连接可能报错:authentication plugin caching_sha2

flush privileges; #刷新系统授权表

exit #退出mysql控制台

4、创建MySQL数据库、添加用户并授权

数据库名称:www.osyunwei.com

数据库用户名:osyunwei.com

数据库密码:osyunwei

授权osyunwei.com用户对www.osyunwei.com具有全部操作权限

继续在mysql控制台操作

mysql -u root -p #输入刚刚修改过的密码123456,回车

4.1、Create DATABASE IF NOT EXISTS www.osyunwei.com default charset utf8 COLLATE utf8_general_ci; #创建数据库

4.2、CREATE USER ‘osyunwei.com’@’localhost’ IDENTIFIED BY ‘osyunwei’; #创建用户

CREATE USER ‘osyunwei.com’@’127.0.0.1’ IDENTIFIED WITH mysql_native_password BY ‘osyunwei’; #加密方式为mysql_native_password

4.3、grant all privileges on www.osyunwei.com.* to ‘osyunwei.com’@’localhost’; #授权用户osyunwei.com对数据库www.osyunwei.com具有全部操作权限

grant all privileges on www.osyunwei.com.* to ‘osyunwei.com’@’127.0.0.1’; #授权用户

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’localhost’ WITH GRANT OPTION; #授权root用户具有全部数据库本地权限

4.4、MySQL5.7版本后要授权用户对所有数据库有SUPER权限,否则上一步对用户的授权只能连接但无任何操作权限。

grant SUPER on *.* to ‘osyunwei.com’@’localhost’ ; #授予用户对所有数据库有SUPER权限,否则只能连接无任何操作权限。

grant SUPER on *.* to ‘osyunwei.com’@’127.0.0.1’ ;

flush privileges; #刷新系统授权表

exit #退出mysql控制台

service mysqld restart #重启mysql数据库

二、安装Nginx

1、安装pcre

cd /usr/local/src

mkdir /usr/local/pcre

tar zxvf pcre-8.44.tar.gz

cd pcre-8.44

./configure –prefix=/usr/local/pcre

make

make install

2、安装openssl

cd /usr/local/src

mkdir /usr/local/openssl

tar zxvf openssl-1.1.1e.tar.gz

cd openssl-1.1.1e

./config  -fPIC shared  zlib –prefix=/usr/local/openssl

make

make install

3、安装zlib

cd /usr/local/src

mkdir /usr/local/zlib

tar zxvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

./configure –prefix=/usr/local/zlib

make

make install

4、安装Nginx

groupadd www

useradd -g www www -s /bin/false

cd /usr/local/src

tar zxvf nginx-1.16.1.tar.gz

cd nginx-1.16.1

./configure –prefix=/usr/local/nginx –without-http_memcached_module –user=www –group=www –with-http_stub_status_module –with-http_ssl_module –with-http_gzip_static_module –with-openssl=/usr/local/src/openssl-1.1.1e –with-zlib=/usr/local/src/zlib-1.2.11 –with-pcre=/usr/local/src/pcre-8.44

注意:–with-openssl=/usr/local/src/openssl-1.1.1e –with-zlib=/usr/local/src/zlib-1.2.11 –with-pcre=/usr/local/src/pcre-8.44指向的是源码包解压的路径,而不是安装的路径,否则会报错

make

make install

/usr/local/nginx/sbin/nginx #启动Nginx

设置nginx开机启动

vi /lib/systemd/system/nginx.service #添加以下代码

[Unit]

Description=The NGINX HTTP and reverse proxy server

After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStartPre=/usr/local/nginx/sbin/nginx -t

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/bin/kill -s QUIT $MAINPID

ExecStartPost=/bin/sleep 0.1

PrivateTmp=true

[Install]

WantedBy=multi-user.target

:wq! #保存退出

/usr/local/nginx/sbin/nginx -s stop #停止

systemctl enable nginx.service #设置开机自启动

systemctl start nginx.service #启动

systemctl stop nginx.service #关闭

systemctl restart nginx.service #重启

systemctl reload nginx.service #重新加载配置文件

在浏览器中打开服务器IP地址,会看到下面的界面,说明Nginx安装成功。

扩展阅读:

Nginx配置txt、pdf、doc、xls等文件直接下载的方法

在nginx配置文件中添加以下代码

location / {

if ($request_filename ~* ^.*?\.(txt|pdf|doc|xls)$){

add_header Content-Disposition: ‘attachment;’;

}

}

三、安装php

(一):安装php依赖包

1、安装yasm

cd /usr/local/src

tar zxvf yasm-1.3.0.tar.gz

cd yasm-1.3.0

./configure

make

make install

2、安装libmcrypt

cd /usr/local/src

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure

make

make install

3、安装libvpx

cd /usr/local/src

tar zxvf libvpx-1.8.2.tar.gz

cd libvpx-1.8.2

./configure –prefix=/usr/local/libvpx –enable-shared –enable-vp9

make

make install

4、安装tiff

cd /usr/local/src

tar zxvf tiff-4.0.7.tar.gz

cd tiff-4.0.7

./configure –prefix=/usr/local/tiff –enable-shared

make

make install

5、安装libpng

cd /usr/local/src

tar zxvf libpng-1.6.37.tar.gz #解压

xz -d libpng-1.6.37.tar.xz #先解压xz

tar xvf libpng-1.6.37.tar #再解压tar

或者

tar xvJf libpng-1.6.37.tar.xz #直接解压

cd libpng-1.6.37

./configure –prefix=/usr/local/libpng –enable-shared

make

make install

6、安装freetype

cd /usr/local/src

tar zxvf freetype-2.10.1.tar.gz

cd freetype-2.10.1

./configure –prefix=/usr/local/freetype –enable-shared

make

make install

7、安装jpeg

cd /usr/local/src

tar zxvf jpegsrc.v9d.tar.gz

cd jpeg-9d

./configure –prefix=/usr/local/jpeg –enable-shared

make

make install

8、安装GD库

8.1安装新版本libgd,适用于php5.4.x及其以上版本

cd /usr/local/src

tar zxvf libgd-2.3.0.tar.gz

cd libgd-2.3.0

./configure –prefix=/usr/local/libgd –enable-shared –with-jpeg=/usr/local/jpeg –with-png=/usr/local/libpng –with-freetype=/usr/local/freetype –with-fontconfig=/usr/local/freetype –with-xpm=/usr/lib64 –with-tiff=/usr/local/tiff

make

make install

8.2安装旧版本gd库,适用于php5.3x及其以下版本

cd /usr/local/src

tar zxvf gd-2.0.35.tar.gz

cd gd-2.0.35

./configure –prefix=/usr/local/gd –enable-shared –with-jpeg=/usr/local/jpeg –with-png=/usr/local/libpng –with-freetype=/usr/local/freetype –with-fontconfig=/usr/local/freetype –with-xpm=/usr/lib64 –with-tiff=/usr/local/tiff –with-vpx=/usr/local/libvpx

make

make install

9、安装t1lib

cd /usr/local/src

tar zxvf t1lib-5.1.2.tar.gz

cd t1lib-5.1.2

./configure –prefix=/usr/local/t1lib –enable-shared

make without_doc

make install

10、安装libzip

cd /usr/local/src

tar -zxvf libzip-1.2.0.tar.gz

cd libzip-1.2.0

./configure

make

make install

cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h

#拷贝文件,否则安装php可能会报错 /usr/local/include/zip.h:59:21: fatal error: zipconf.h: No such file or dire

11、安装oniguruma #编译安装php7.4.x需要

cd /usr/local/src

tar -zxf oniguruma-6.9.4.tar.gz

cd oniguruma-6.9.4

./autogen.sh

./configure –prefix=/usr

make

make install

12、安装低版本openssl #适用于编译php5.6.x及其以下版本

CentOS 8.x默认的openssl版本太高,与php 5.6.x不兼容,需要降低openssl版本才能编译成功

which openssl #查询openssl目录,如/usr/include/openssl

openssl version #查看openssl版本

cd /usr/local/src

mkdir /usr/local/ssl

tar zxvf openssl-1.0.2k.tar.gz

cd openssl-1.0.2k

./config -fPIC  shared  zlib  –prefix=/usr/local/ssl

make

make install

mv /usr/bin/openssl   /usr/bin/openssl.old

mv /usr/include/openssl   /usr/include/openssl.old

mv /usr/lib64/libssl.so     /usr/lib64/libssl.so.old

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/ssl/include/openssl /usr/include/openssl

ln -s /usr/local/ssl/lib/libssl.so /usr/lib64/libssl.so

echo “/usr/local/ssl/lib” >> /etc/ld.so.conf

ldconfig -v #建立动态链接

openssl version

注意:带shared参数才能生成libssl.so动态链接库文件,安装curl时, –with-ssl=/usr/local/ssl 才能找到动态链接库,curl才能开启ssl模块

13、安装curl模块

cd /usr/local/src

mkdir /usr/local/curl

tar zxvf curl-7.29.0.tar.gz

cd curl-7.29.0

./configure –without-nss –prefix=/usr/local/curl –with-ssl=/usr/local/ssl

make

make install

(二):编译安装php

注意:如果系统是64位,请执行以下两条命令,否则安装php会出错。

\cp -frp /usr/lib64/libltdl.so* /usr/lib/

\cp -frp /usr/lib64/libXpm.so* /usr/lib/

1.53、安装php5.3.x

cd /usr/local/src

tar -zvxf php-5.3.29.tar.gz

cd php-5.3.29

./configure –prefix=/usr/local/php53 –with-config-file-path=/usr/local/php53/etc –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/gd –with-png-dir=/usr/lib –with-jpeg-dir=/usr/lib –with-freetype-dir=/usr/lib –with-iconv –with-zlib-dir=/usr/local/zlib –enable-xml –enable-magic-quotes –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curlwrappers –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd

make #编译

make install #安装

cp php.ini-production /usr/local/php53/etc/php.ini #复制php配置文件到安装目录

#rm -rf /etc/php.ini #删除系统自带配置文件

#ln -s /usr/local/php53/etc/php.ini /etc/php.ini #添加软链接

cp /usr/local/php53/etc/php-fpm.conf.default /usr/local/php53/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件

vi /usr/local/php53/etc/php-fpm.conf #编辑

user = www #设置php-fpm运行账号为www

group = www #设置php-fpm运行组为www

pid = run/php-fpm.pid #取消前面的分号

listen = 127.0.0.1:9053

:wq! #保存退出

设置 php-fpm开机启动

cp /usr/local/src/php-5.3.29/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php53-fpm #拷贝php-fpm到启动目录

chmod +x /etc/rc.d/init.d/php53-fpm #添加执行权限

chkconfig php53-fpm on #设置开机启动

vi /etc/rc.d/init.d/php53-fpm

prefix=/usr/local/php53

php_fpm_BIN=${exec_prefix}/sbin/php53-fpm

:wq! #保存退出

mv /usr/local/php53/sbin/php-fpm /usr/local/php53/sbin/php53-fpm

service php53-fpm start #启动

vi /usr/local/php53/etc/php.ini #编辑配置文件

找到:disable_functions =

修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用

找到:;date.timezone =

修改为:date.timezone = PRC #设置时区

找到:expose_php = On

修改为:expose_php = OFF #禁止显示php版本的信息

找到:short_open_tag = Off

修改为:short_open_tag = ON #支持php短标签

1.55、安装php5.5.x

cd /usr/local/src

tar -zvxf php-5.5.38.tar.gz

cd php-5.5.38

export LD_LIBRARY_PATH=/usr/local/libgd/lib

./configure –prefix=/usr/local/php55 –with-config-file-path=/usr/local/php55/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/libgd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/lib64 –with-vpx-dir=/usr/local/libvpx/ –with-zlib-dir=/usr/local/zlib –with-t1lib=/usr/local/t1lib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd

make #编译

make install #安装

cp php.ini-production /usr/local/php55/etc/php.ini #复制php配置文件到安装目录

#rm -rf /etc/php.ini #删除系统自带配置文件

#ln -s /usr/local/php55/etc/php.ini /etc/php.ini #添加软链接到 /etc目录

cp /usr/local/php55/etc/php-fpm.conf.default /usr/local/php55/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件

#ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf #添加软连接到 /etc目录

vi /usr/local/php55/etc/php-fpm.conf #编辑

user = www #设置php-fpm运行账号为www

group = www #设置php-fpm运行组为www

pid = run/php-fpm.pid #取消前面的分号

listen = 127.0.0.1:9055

:wq! #保存退出

设置 php-fpm开机启动

cp /usr/local/src/php-5.5.38/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php55-fpm #拷贝php-fpm到启动目录

chmod +x /etc/rc.d/init.d/php55-fpm #添加执行权限

chkconfig php55-fpm on #设置开机启动

vi /etc/rc.d/init.d/php55-fpm

prefix=/usr/local/php55

php_fpm_BIN=${exec_prefix}/sbin/php55-fpm

:wq! #保存退出

mv /usr/local/php55/sbin/php-fpm /usr/local/php55/sbin/php55-fpm

vi /usr/local/php55/etc/php.ini #编辑配置文件

找到:disable_functions =

修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

找到:;date.timezone =

修改为:date.timezone = PRC #设置时区

找到:expose_php = On

修改为:expose_php = Off #禁止显示php版本的信息

找到:short_open_tag = Off

修改为:short_open_tag = ON #支持php短标签

找到opcache.enable=0

修改为opcache.enable=1 #php支持opcode缓存

找到:opcache.enable_cli=1 #php支持opcode缓存

修改为:opcache.enable_cli=0

在最后一行添加:zend_extension=opcache.so #开启opcode缓存功能

:wq! #保存退出

1.56、安装php5.6.x

cd /usr/local/src

tar -zvxf php-5.6.40.tar.gz

cd php-5.6.40

export LD_LIBRARY_PATH=/usr/local/libgd/lib

./configure –prefix=/usr/local/php56 –with-config-file-path=/usr/local/php56/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/libgd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/lib64 –with-vpx-dir=/usr/local/libvpx/ –with-zlib-dir=/usr/local/zlib –with-t1lib=/usr/local/t1lib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd

make

make install

如果编译错误,可以清理后在编译一次

make clean #清理

make #编译

cp php.ini-production /usr/local/php56/etc/php.ini #复制php配置文件到安装目录

#rm -rf /etc/php.ini #删除系统自带配置文件

#ln -s /usr/local/php56/etc/php.ini /etc/php.ini #添加软链接到 /etc目录

cp /usr/local/php56/etc/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件

#ln -s /usr/local/php56/etc/php-fpm.conf /etc/php-fpm.conf #添加软连接到 /etc目录

vi /usr/local/php56/etc/php-fpm.conf #编辑

user = www #设置php-fpm运行账号为www

group = www #设置php-fpm运行组为www

pid = run/php-fpm.pid #取消前面的分号

listen = 127.0.0.1:9056

:wq! #保存退出

设置 php-fpm开机启动

cp /usr/local/src/php-5.6.40/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php56-fpm #拷贝php-fpm到启动目录

chmod +x /etc/rc.d/init.d/php56-fpm #添加执行权限

chkconfig php56-fpm on #设置开机启动

vi /etc/rc.d/init.d/php56-fpm

prefix=/usr/local/php56

php_fpm_BIN=${exec_prefix}/sbin/php56-fpm

:wq! #保存退出

mv /usr/local/php56/sbin/php-fpm /usr/local/php56/sbin/php56-fpm

vi /usr/local/php56/etc/php.ini #编辑配置文件

找到:disable_functions =

修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

找到:;date.timezone =

修改为:date.timezone = PRC #设置时区

找到:expose_php = On

修改为:expose_php = Off #禁止显示php版本的信息

找到:short_open_tag = Off

修改为:short_open_tag = ON #支持php短标签

找到opcache.enable=0

修改为opcache.enable=1 #php支持opcode缓存

找到:;opcache.enable_cli=1 #php支持opcode缓存

修改为:opcache.enable_cli=0

在最后一行添加:zend_extension=opcache.so #开启opcode缓存功能

:wq! #保存退出

1.70、安装php7.0.x

cd /usr/local/src

tar -zvxf php-7.0.33.tar.gz

cd php-7.0.33

export LD_LIBRARY_PATH=/usr/local/libgd/lib

./configure –prefix=/usr/local/php70 –with-config-file-path=/usr/local/php70/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/libgd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/lib64 –with-zlib-dir=/usr/local/zlib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd

make #编译

make install #安装

cp php.ini-production /usr/local/php70/etc/php.ini #复制php配置文件到安装目录

#rm -rf /etc/php.ini #删除系统自带配置文件

#ln -s /usr/local/php70/etc/php.ini /etc/php.ini #添加软链接到 /etc目录

cp /usr/local/php70/etc/php-fpm.conf.default /usr/local/php70/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件

#ln -s /usr/local/php70/etc/php-fpm.conf /etc/php-fpm.conf #添加软连接到 /etc目录

vi /usr/local/php70/etc/php-fpm.conf #编辑

pid = run/php-fpm.pid #取消前面的分号

include=/usr/local/php70/etc/php-fpm.d/*.conf

:wq! #保存退出

cp /usr/local/php70/etc/php-fpm.d/www.conf.default /usr/local/php70/etc/php-fpm.d/www.conf

vi /usr/local/php70/etc/php-fpm.d/www.conf #编辑

user = www #设置php-fpm运行账号为www

group = www #设置php-fpm运行组为www

listen = 127.0.0.1:9070

:wq! #保存退出

设置 php-fpm开机启动

cp /usr/local/src/php-7.0.33/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php70-fpm #拷贝php-fpm到启动目录

chmod +x /etc/rc.d/init.d/php70-fpm #添加执行权限

chkconfig php70-fpm on #设置开机启动

vi /etc/rc.d/init.d/php70-fpm

prefix=/usr/local/php70

php_fpm_BIN=${exec_prefix}/sbin/php70-fpm

:wq! #保存退出

mv /usr/local/php70/sbin/php-fpm /usr/local/php70/sbin/php70-fpm

vi /usr/local/php70/etc/php.ini #编辑配置文件

找到:disable_functions =

修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

找到:;date.timezone =

修改为:date.timezone = PRC #设置时区

找到:expose_php = On

修改为:expose_php = Off #禁止显示php版本的信息

找到:short_open_tag = Off

修改为:short_open_tag = ON #支持php短标签

找到opcache.enable=0

修改为opcache.enable=1 #php支持opcode缓存

找到:;opcache.enable_cli=1 #php支持opcode缓存

修改为:opcache.enable_cli=0

在最后一行添加:zend_extension=opcache.so #开启opcode缓存功能

:wq! #保存退出

1.71、安装php7.1.x

cd /usr/local/src

tar -zvxf php-7.1.33.tar.gz

cd php-7.1.33

export LD_LIBRARY_PATH=/usr/local/libgd/lib

./configure –prefix=/usr/local/php71 –with-config-file-path=/usr/local/php71/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/libgd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/lib64 –with-zlib-dir=/usr/local/zlib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd

make #编译

make install #安装

cp php.ini-production /usr/local/php71/etc/php.ini #复制php配置文件到安装目录

rm -rf /etc/php.ini #删除系统自带配置文件

ln -s /usr/local/php71/etc/php.ini /etc/php.ini #添加软链接到 /etc目录

cp /usr/local/php71/etc/php-fpm.conf.default /usr/local/php71/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件

ln -s /usr/local/php71/etc/php-fpm.conf /etc/php-fpm.conf #添加软连接到 /etc目录

vi /usr/local/php71/etc/php-fpm.conf #编辑

pid = run/php-fpm.pid #取消前面的分号

include=/usr/local/php71/etc/php-fpm.d/*.conf

:wq! #保存退出

cp /usr/local/php71/etc/php-fpm.d/www.conf.default /usr/local/php71/etc/php-fpm.d/www.conf

vi /usr/local/php71/etc/php-fpm.d/www.conf #编辑

user = www #设置php-fpm运行账号为www

group = www #设置php-fpm运行组为www

listen = 127.0.0.1:9071

:wq! #保存退出

设置 php-fpm开机启动

cp /usr/local/src/php-7.1.33/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php71-fpm #拷贝php-fpm到启动目录

chmod +x /etc/rc.d/init.d/php71-fpm #添加执行权限

chkconfig php71-fpm on #设置开机启动

vi /etc/rc.d/init.d/php71-fpm

prefix=/usr/local/php71

php_fpm_BIN=${exec_prefix}/sbin/php71-fpm

:wq! #保存退出

mv /usr/local/php71/sbin/php-fpm /usr/local/php71/sbin/php71-fpm

vi /usr/local/php71/etc/php.ini #编辑配置文件

找到:disable_functions =

修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

找到:;date.timezone =

修改为:date.timezone = PRC #设置时区

找到:expose_php = On

修改为:expose_php = Off #禁止显示php版本的信息

找到:short_open_tag = Off

修改为:short_open_tag = ON #支持php短标签

找到opcache.enable=0

修改为opcache.enable=1 #php支持opcode缓存

找到:;opcache.enable_cli=1 #php支持opcode缓存

修改为:opcache.enable_cli=0

在最后一行添加:zend_extension=opcache.so #开启opcode缓存功能

:wq! #保存退出

1.72、安装php7.2.x

cd /usr/local/src

tar -zvxf php-7.2.29.tar.gz

cd php-7.2.29

export LD_LIBRARY_PATH=/usr/local/libgd/lib

./configure –prefix=/usr/local/php72 –with-config-file-path=/usr/local/php72/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/libgd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/lib64 –with-zlib-dir=/usr/local/zlib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd

make #编译

make install #安装

cp php.ini-production /usr/local/php72/etc/php.ini #复制php配置文件到安装目录

rm -rf /etc/php.ini #删除系统自带配置文件

ln -s /usr/local/php72/etc/php.ini /etc/php.ini #添加软链接到 /etc目录

cp /usr/local/php72/etc/php-fpm.conf.default /usr/local/php72/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件

ln -s /usr/local/php72/etc/php-fpm.conf /etc/php-fpm.conf #添加软连接到 /etc目录

vi /usr/local/php72/etc/php-fpm.conf #编辑

pid = run/php-fpm.pid #取消前面的分号

include=/usr/local/php72/etc/php-fpm.d/*.conf

:wq! #保存退出

cp /usr/local/php72/etc/php-fpm.d/www.conf.default /usr/local/php72/etc/php-fpm.d/www.conf

vi /usr/local/php72/etc/php-fpm.d/www.conf #编辑

user = www #设置php-fpm运行账号为www

group = www #设置php-fpm运行组为www

listen = 127.0.0.1:9072

:wq! #保存退出

设置 php-fpm开机启动

cp /usr/local/src/php-7.2.29/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php72-fpm #拷贝php-fpm到启动目录

chmod +x /etc/rc.d/init.d/php72-fpm #添加执行权限

chkconfig php72-fpm on #设置开机启动

vi /etc/rc.d/init.d/php72-fpm

prefix=/usr/local/php72

php_fpm_BIN=${exec_prefix}/sbin/php72-fpm

:wq! #保存退出

mv /usr/local/php72/sbin/php-fpm /usr/local/php72/sbin/php72-fpm

vi /usr/local/php72/etc/php.ini #编辑配置文件

找到:disable_functions =

修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

找到:;date.timezone =

修改为:date.timezone = PRC #设置时区

找到:expose_php = On

修改为:expose_php = Off #禁止显示php版本的信息

找到:short_open_tag = Off

修改为:short_open_tag = ON #支持php短标签

找到opcache.enable=0

修改为opcache.enable=1 #php支持opcode缓存

找到:;opcache.enable_cli=1 #php支持opcode缓存

修改为:opcache.enable_cli=0

在最后一行添加:zend_extension=opcache.so #开启opcode缓存功能

:wq! #保存退出

1.73、安装php7.3.x

1.73.1

cd /usr/local/src

tar -zvxf php-7.3.16.tar.gz

cd php-7.3.16

export LD_LIBRARY_PATH=/usr/local/libgd/lib

export PKG_CONFIG_PATH=”/usr/local/lib/pkgconfig/” #libzip库安装位置,否则安装php可能会报错

./configure –prefix=/usr/local/php73 –with-config-file-path=/usr/local/php73/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/libgd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/lib64 –with-zlib-dir=/usr/local/zlib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd –enable-pdo

make #编译

make install #安装

cp php.ini-production /usr/local/php73/etc/php.ini #复制php配置文件到安装目录

rm -rf /etc/php.ini #删除系统自带配置文件

ln -s /usr/local/php73/etc/php.ini /etc/php.ini #添加软链接到 /etc目录

cp /usr/local/php73/etc/php-fpm.conf.default /usr/local/php73/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件

ln -s /usr/local/php73/etc/php-fpm.conf /etc/php-fpm.conf #添加软连接到 /etc目录

vi /usr/local/php73/etc/php-fpm.conf #编辑

pid = run/php-fpm.pid #取消前面的分号

include=/usr/local/php73/etc/php-fpm.d/*.conf

:wq! #保存退出

cp /usr/local/php73/etc/php-fpm.d/www.conf.default /usr/local/php73/etc/php-fpm.d/www.conf

vi /usr/local/php73/etc/php-fpm.d/www.conf #编辑

user = www #设置php-fpm运行账号为www

group = www #设置php-fpm运行组为www

listen = 127.0.0.1:9073

:wq! #保存退出

1.73.2、设置 php-fpm开机启动(有两种设置方法,选择一种即可)

1.73.2.1 #chkconfig方式

cp /usr/local/src/php-7.3.16/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php73-fpm #拷贝php-fpm到启动目录

chmod +x /etc/rc.d/init.d/php73-fpm #添加执行权限

chkconfig php73-fpm on #设置开机启动

vi /etc/rc.d/init.d/php73-fpm

prefix=/usr/local/php73

php_fpm_BIN=${exec_prefix}/sbin/php73-fpm

:wq! #保存退出

mv /usr/local/php73/sbin/php-fpm /usr/local/php73/sbin/php73-fpm

service php73-fpm start #启动php71-fpm

service php73-fpm stop #停止php71-fpm

1.73.2.2 #systemctl方式

vi /usr/lib/systemd/system/php73-fpm.service #编辑添加以下代码

[Unit]

Description=The PHP FastCGI Process Manager

After=syslog.target network.target

[Service]

Type=simple

PIDFile=/run/php-fpm.pid

ExecStart=/usr/local/php73/sbin/php73-fpm –nodaemonize –fpm-config /usr/local/php73/etc/php-fpm.conf

ExecReload=/bin/kill -USR2 $MAINPID

ExecStop=/bin/kill -SIGINT $MAINPID

[Install]

WantedBy=multi-user.target

:wq! #保存退出

mv /usr/local/php73/sbin/php-fpm /usr/local/php73/sbin/php73-fpm

systemctl enable php73-fpm.service #设置开机自启动

systemctl daemon-reload #重新加载systemctll

systemctl start php73-fpm.service #启动

systemctl stop php73-fpm.service #停止

systemctl restart php73-fpm.service #重启

1.73.3 配置php配置文件

vi /usr/local/php73/etc/php.ini #编辑配置文件

找到:disable_functions =

修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

找到:;date.timezone =

修改为:date.timezone = PRC #设置时区

找到:expose_php = On

修改为:expose_php = Off #禁止显示php版本的信息

找到:short_open_tag = Off

修改为:short_open_tag = ON #支持php短标签

找到opcache.enable=0

修改为opcache.enable=1 #php支持opcode缓存

找到:;opcache.enable_cli=1

修改为:opcache.enable_cli=0 #php支持opcode缓存

在最后一行添加:zend_extension=opcache.so #开启opcode缓存功能

:wq! #保存退出

1.74、安装php7.4.x

#恢复CentOS 8.x自带的openssl和curl默认高版本

#php7.4.x中这2个库需要使用CentOS 8.x自带的高版本进行编译–with-openssl  –with-curl

rm -rf /usr/lib64/libssl.so

mv /usr/lib64/libssl.so.old /usr/lib64/libssl.so

rm -rf /usr/include/openssl

mv /usr/include/openssl.old /usr/include/openssl

rm -rf /usr/bin/openssl

mv /usr/bin/openssl.old /usr/bin/openssl

cd /usr/local/src

tar -zvxf php-7.4.4.tar.gz

cd php-7.4.4

export LD_LIBRARY_PATH=/usr/local/libgd/lib #设置libgd库环境变量

export PKG_CONFIG_PATH=”/usr/local/lib/pkgconfig/” #设置libzip环境变量

./configure –prefix=/usr/local/php74 –with-config-file-path=/usr/local/php74/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-gd –with-jpeg=/usr/local/jpeg –with-freetype=/usr/local/freetype –with-xpm=/usr/lib64 –with-zlib-dir=/usr/local/zlib –with-iconv –with-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –with-openssl –enable-pcntl –enable-sockets –with-xmlrpc –with-zip –enable-soap –without-pear –with-gettext –enable-session –with-curl –enable-ctype –enable-mysqlnd –enable-pdo

make #编译

make install #安装

./configure –help #可以查看编译参数的写法

cp php.ini-production /usr/local/php74/etc/php.ini #复制php配置文件到安装目录

rm -rf /etc/php.ini #删除系统自带配置文件

ln -s /usr/local/php74/etc/php.ini /etc/php.ini #添加软链接到 /etc目录

cp /usr/local/php74/etc/php-fpm.conf.default /usr/local/php74/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件

ln -s /usr/local/php74/etc/php-fpm.conf /etc/php-fpm.conf #添加软连接到 /etc目录

vi /usr/local/php74/etc/php-fpm.conf #编辑

pid = run/php-fpm.pid #取消前面的分号

include=/usr/local/php74/etc/php-fpm.d/*.conf

:wq! #保存退出

cp /usr/local/php74/etc/php-fpm.d/www.conf.default /usr/local/php74/etc/php-fpm.d/www.conf

vi /usr/local/php74/etc/php-fpm.d/www.conf #编辑

user = www #设置php-fpm运行账号为www

group = www #设置php-fpm运行组为www

listen = 127.0.0.1:9074

:wq! #保存退出

设置 php-fpm开机启动

cp /usr/local/src/php-7.4.4/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php74-fpm #拷贝php-fpm到启动目录

chmod +x /etc/rc.d/init.d/php74-fpm #添加执行权限

chkconfig php74-fpm on #设置开机启动

vi /etc/rc.d/init.d/php74-fpm

prefix=/usr/local/php74

php_fpm_BIN=${exec_prefix}/sbin/php74-fpm

:wq! #保存退出

mv /usr/local/php74/sbin/php-fpm /usr/local/php74/sbin/php74-fpm

vi /usr/local/php74/etc/php.ini #编辑配置文件

找到:disable_functions =

修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

找到:;date.timezone =

修改为:date.timezone = PRC #设置时区

找到:expose_php = On

修改为:expose_php = Off #禁止显示php版本的信息

找到:short_open_tag = Off

修改为:short_open_tag = ON #支持php短标签

找到opcache.enable=0

修改为opcache.enable=1 #php支持opcode缓存

找到:;opcache.enable_cli=1

修改为:opcache.enable_cli=0 #php支持opcode缓存

在最后一行添加:zend_extension=opcache.so #开启opcode缓存功能

:wq! #保存退出

#恢复openssl安装版本

mv /usr/bin/openssl /usr/bin/openssl.old

mv /usr/include/openssl /usr/include/openssl.old

mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/ssl/include/openssl /usr/include/openssl

ln -s /usr/local/ssl/lib/libssl.so /usr/lib64/libssl.so

ldconfig -v #建立动态链接

openssl version

四、配置nginx支持php

vi /usr/local/nginx/conf/nginx.conf

#修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改

user www www;  #首行user去掉注释,修改Nginx运行组为www www;必须与/usr/local/php/etc/php-fpm.conf中的user,group配置相同,否则php运行出错

index index.html index.htm index.php; #添加index.php

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9053;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

#取消FastCGI server部分location的注释,注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径

/etc/init.d/nginx restart #重启nginx

service php71-fpm start #启动php71-fpm

说明:

fastcgi_pass 127.0.0.1:9000;中使用端口号来区分php版本,需要使用哪个php版本就修改为相应的端口。

9074对应的php版本是php7.4.x

9073对应的php版本是php7.3.x

9072对应的php版本是php7.2.x

9071对应的php版本是php7.1.x

9070对应的php版本是php7.0.x

9056对应的php版本是php5.6.x

9055对应的php版本是php5.5.x

9053对应的php版本是php5.3.x

五、多版本php共存总结

1、规划php安装路径

/usr/local/php53

/usr/local/php55

/usr/local/php56

/usr/local/php70

/usr/local/php71

/usr/local/php72

/usr/local/php73

/usr/local/php74

2、编译php参数

./configure –prefix=/usr/local/php53 –with-config-file-path=/usr/local/php53/etc –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/gd –with-png-dir=/usr/lib –with-jpeg-dir=/usr/lib –with-freetype-dir=/usr/lib –with-iconv –with-zlib-dir=/usr/local/zlib –enable-xml –enable-magic-quotes –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curlwrappers –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd

./configure –prefix=/usr/local/php55 –with-config-file-path=/usr/local/php55/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/libgd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/lib64 –with-vpx-dir=/usr/local/libvpx/ –with-zlib-dir=/usr/local/zlib –with-t1lib=/usr/local/t1lib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd

./configure –prefix=/usr/local/php56 –with-config-file-path=/usr/local/php56/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/libgd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/lib64 –with-vpx-dir=/usr/local/libvpx/ –with-zlib-dir=/usr/local/zlib –with-t1lib=/usr/local/t1lib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd

./configure –prefix=/usr/local/php70 –with-config-file-path=/usr/local/php70/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/libgd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/lib64 –with-zlib-dir=/usr/local/zlib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd

./configure –prefix=/usr/local/php71 –with-config-file-path=/usr/local/php71/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/libgd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/lib64 –with-zlib-dir=/usr/local/zlib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd

./configure –prefix=/usr/local/php72 –with-config-file-path=/usr/local/php72/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/libgd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/lib64 –with-zlib-dir=/usr/local/zlib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd

./configure –prefix=/usr/local/php73 –with-config-file-path=/usr/local/php73/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-mysqlnd-compression-support –with-gd=/usr/local/libgd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/lib64 –with-zlib-dir=/usr/local/zlib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –with-openssl=/usr/local/ssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-curl=/usr/local/curl –enable-ctype –enable-mysqlnd –enable-pdo

./configure –prefix=/usr/local/php74 –with-config-file-path=/usr/local/php74/etc –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –enable-gd –with-jpeg=/usr/local/jpeg –with-freetype=/usr/local/freetype –with-xpm=/usr/lib64 –with-zlib-dir=/usr/local/zlib –with-iconv –with-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –with-openssl –enable-pcntl –enable-sockets –with-xmlrpc –with-zip –enable-soap –without-pear –with-gettext –enable-session –with-curl –enable-ctype –enable-mysqlnd –enable-pdo

3、php开机启动设置

cp /usr/local/src/php-5.3.29/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php53-fpm

vi /etc/rc.d/init.d/php53-fpm

prefix=/usr/local/php53

php_fpm_BIN=${exec_prefix}/sbin/php53-fpm

mv /usr/local/php53/sbin/php-fpm    /usr/local/php53/sbin/php53-fpm

4、php监听端口设置

vi /usr/local/php53/etc/php-fpm.conf #编辑

user = www #设置php-fpm运行账号为www

group = www #设置php-fpm运行组为www

pid = run/php-fpm.pid #取消前面的分号

listen = 127.0.0.1:9053

5、nginx结合php

修改nginx站点配置文件

/usr/local/nginx/conf/nginx.conf

fastcgi_pass 127.0.0.1:9053;

根据之前php的设置,选择相应的端口,例如9053对应的php版本是php5.3.x

那么此站点的php版本就为php5.3.x

fastcgi_pass 127.0.0.1:9055;

根据之前php的设置,选择相应的端口,例如9055对应的php版本是php5.5.x

那么此站点的php版本就为php5.5.x

测试篇

cd /usr/local/nginx/html/ #进入nginx默认网站根目录

rm -rf /usr/local/nginx/html/* #删除默认测试页

vi index.php #新建index.php文件

<?php

phpinfo();

?>

:wq! #保存退出

chown www.www /usr/local/nginx/html/ -R #设置目录所有者

chmod 700 /usr/local/nginx/html/ -R #设置目录权限

后记:

CentOS 8.x + MySQL8.0.x + php 7.4组合建议使用系统自带的GD库进行编译,php驱动只有mysqli和mysqlnd驱动。

CentOS 8.x + MySQL8.0.x + php 7.3/7.2/7.1/7.0/5.6/5.5组合建议使用libgd-2.3.0进行编译,php驱动包括mysqli和mysqlnd

CentOS 8.x + MySQL8.0.x + php 5.3组合建议使用gd-2.0.35进行编译,php驱动只有mysqlnd

CentOS 8.x + MySQL8.0.x + php 5.4/5.2,此组合目前编译安装php存在问题,不推荐。

推荐:CentOS 8.x + MySQL8.0.x使用php 7.3/7.2/7.1/7.0/5.6/5.5组合最佳。

php各个小版本的安装过程相同,如php 7.3.10和php 7.3.16安装过程一样。

至此,CentOS 8.x编译安装Nginx1.16.x+MySQL8.0.x+PHP7.4.x 7.3.x 7.2.x 7.1.x 7.0.x 5.6.x 5.5.x 5.3.x 多版本全能环境教程完成。

Huawei交换机配置Telnet登录

 Huawei交换机配置Telnet登录

一,交换机开启Telnet服务

<Huawei>system-view                                                               #进入系统视图

[Huawei]telnet server ?                                                            #查看有enable还是disable选项,选择对应的开启方式。

[Huawei]telnet server enable                                                     #enable选项开启Telnet服务 (普通系列一般为这个)

[Huawei]undo telnet server disable                                           #disable选项开启Telnet服务 (CE高端系列一般为这个)

二,配置VTY用户界面的最大个数(同时可以登录的最大数)

[Huawei]user-interface maximum-vty 15                                  #默认是5,这个可以不设置

三,配置VTY用户界面的终端属性

[Huawei]user-interface vty 0 14                                     #上面是15所有这里是0 14 如果选择默认这里是0 4

[Huawei-ui-vty0-14]protocol inbound telnet                          #配置VTY用户界面支持Telnet协议,缺省情况下,用户界面支持所有协议,这个可以不配

[Huawei-ui-vty0-14]user privilege level 3                           #设置用户级别。3为管理级,有最高权限。

四,配置VTY用户界面的用户验证方式

系统提供AAA验证、密码验证两种方式。配置用户验证方式可以增加设备的安全性。
操作步骤

1、设置AAA验证

[Huawei]user-interface vty 0 14                                         #进入VTY 用户界面视图。0 14表示15个用户,如果只输入14表示只进入14这个VTY

[Huawei-ui-vty0-14]authentication-mode aaa,                            #设置用户验证方式为AAA验证。

[Huawei-ui-vty0-14]quit                                                 #退出VTY用户界面视图

[Huawei]aaa                                                             #进入AAA视图

[Huawei-aaa]local-user admin1234 password ?                             #查看可以选择的密码选择

[Huawei-aaa]local-user admin1234 password simple Huawei12#$              #密码选项simple 账号admin1234 密码Huawei12#$ (普通系列一般为这个)

[Huawei-aaa]local-user admin1234 password irreversible-cipher Huawei12#$             #密码选项irreversible-cipher 账号admin1234 密码Huawei12#$ (CE高端系列一般为这个)
[Huawei-aaa]local-user admin1234 service-type  telnet                    #配置本地用户的接入类型为Telnet

[Huawei-aaa]quit                                                         #退出AAA视图。

[Huawei]commit                                                           #提交配置

2、设置密码验证

[Huawei]user-interface vty 0 14                                           #进入VTY用户界面视图

[Huawei-ui-vty0-14]authentication-mode password                           #设置用户验证方式为密码验证

[Huawei-ui-vty0-14]set authentication password  Huawei12#$                #设置验证密码,输入的密码可以是明文或密文

        说明:

        输入的密码可以是明文或者密文,当不指定cipher password参数时,将采用交互方式输入明文密码,当指定cipher password参数时,既可以输入明文密码也可以输入密文密码,但都将以密文形式保存在配置文件中。

<Huawei>save                                                                                                                         #保存配置

Huawei交换机VRP配置介绍

一、命令视图
• 用户视图<Huawei>
• 系统视图 [Huawei]
• 接口视图 [Huawei-GigabitEthernet0/0/1]
• 协议视图 [Huawei-rip-1]
• 用户界面(User-interface)视图 [Huawei-ui-vty0-4]
• 等
VRP分层的命令结构定义了很多命令行视图,每条命令只能在特定的视
图中执行。本例介绍了常见的命令行视图。每个命令都注册在一个或多
个命令视图下,用户只有先进入这个命令所在的视图,才能运行相应的
命令。进入到VRP系统的配置界面后,VRP上最先出现的视图是用户视
图。在该视图下,用户可以查看设备的运行状态和统计信息。若要修改系统参数,用户必须进入系统视图。用户还可以通过系统视图进入其他的功能配置视图,如接口视图和协议视图。通过提示符可以判断当前所处的视图,例如:“< >”表示用户视图,“[]”表示除用户视图以外的其它视图。
二、基本VRP命令结构
华为网络设备功能的配置和业务的部署都是通过VRP命令行来配置,命令行是在设备内部注册的,具有一定格式和功能的字符串。一条命令行由关键字和参数组成,关键字可以唯一确定一条命令行,参数是完善命令行的格式。

三、命令级别与用户权限级别
系统将命令进行分级管理,以增加设备的安全性。设备管理员可以设置
用户级别,一定级别的用户可以使用对应级别的命令行。缺省情况下命
令级别分为0~3级,用户级别分为0~15级。用户0级为访问级别,对应
网络诊断工具命令(ping、tracert)、从本设备出发访问外部设备的命
令(Telnet客户端)、部分display命令等。用户1级为监控级别,对应
命令级0、1级,包括用于系统维护的命令以及display等命令。用户2级
是配置级别,包括向用户提供直接网络服务,包括路由、各个网络层次
的命令。用户3-15级是管理级别,对应命令3级,该级别主要是用于系
统运行的命令,对业务提供支撑作用,包括文件系统、FTP、TFTP下载
、文件交换配置、电源供应控制,备份板控制、用户管理、命令级别设
置、系统内部参数设置以及用于业务故障诊断的debugging命令。
在具体使用中,如果我们有多个管理员帐号,但只允许某一个管理员保
存系统配置,则可以将save命令的级别提高到4级,并定义只有该管理
员有4级权限。这样,在不影响其他用户的情况下,可以实现对命令的
使用控制。默认情况下3级用户就可以操作VRP系统的所有命令。



四、用户界面
每类用户界面都有对应的用户界面视图。用户界面(User-interface)视
图是系统提供的一种命令行视图,用来配置和管理所有工作在异步交互
方式下的物理接口和逻辑接口,从而达到统一管理各种用户界面的目的
。在连接到设备前,用户要设置用户界面参数。系统支持的用户界面包
括Console用户界面和VTY用户界面。控制口(Console Port)是一种
通信串行端口,由设备的主控板提供。虚拟类型终端(Virtual Type
Terminal)是一种虚拟线路端口,用户通过终端与设备建立Telnet或
SSH连接后,也就建立了一条VTY,即用户可以通过VTY方式登录设备
。设备一般最多支持15个用户同时通过VTY方式访问。执行userinterface
maximum-vty number 命令可以配置同时登录到设备的VTY类型用户界面的最大个数。如果将最大登录用户数设为0,则任何用户都不能通过Telnet或者SSH登录到路由器。display user-interface 命令用来查看用户界面信息。
不同的设备,或使用不同版本的VRP软件系统,具体可以被使用的VTY接口的最大数量可能不同。



五、配置登录权限
如果没有权限限制,未授权的用户就可以使用设备获取信息并更改配置
。从设备安全的角度考虑,限制用户的访问和操作权限是很有必要的。
用户权限和用户认证是提升终端安全的两种方式。用户权限要求规定用
户的级别,一定级别的用户只能执行特定级别的命令。
配置用户界面的用户认证方式后,用户登录设备时,需要输入密码进行
认证,这样就限制了用户访问设备的权限。在通过VTY进行Telnet连接
时,所有接入设备的用户都必须要经过认证。
设备提供三种认证模式,AAA模式、密码认证模式和不认证模式。AAA
认证模式具有很高的安全性,因为登录时必须输入用户名和密码。密码
认证只需要输入登录密码即可,所以所有的用户使用的都是同一个密码
。使用不认证模式就是不需要对用户认证直接登陆到设备。需要注意的
是,Console界面默认使用不认证模式。
对于Telnet登录用户,授权是非常必要的,最好设置用户名、密码和指
定和帐号相关联的权限。
注:不同VRP版本执行set authentication password cipher命令有差异
:有些平台需要回车后输入密码,另外一些平台可直接在命令后输入密
码。故在操作具体产品时请查阅相应VRP产品文档。
六、相关配置
1、 进入用户视图,命令提示符是<>号(正常登陆设备CLI(command-line interface,命令行界面)后的第一个视图,查看运行状态或其他参数)
<Huawei>                                                      #Huawei默认的主机名
<Huawei>?
User view commands:
cd Change current directory
check Check information
clear Clear information
clock Specify the system clock
cluster Run cluster command
cluster-ftp FTP command of cluster
compare Compare function
configuration Configuration interlock
copy Copy from one file to another
debugging Enable system debugging functions
delete Delete a file
dir List files on a file system
display Display current system information
fixdisk Recover lost chains in storage device
format Format the device
ftp Establish an FTP connection
hwtacacs-user
kill Release a user terminal interface
language-mode Specify the language environment
lldp Link Layer Discovery Protocol
local-user Add/Delete/Set user(s)
lock Lock the current user terminal interface
mkdir Create a new directory
more Display the contents of a file
move Move the file
—- More —-
2、 输入system-view进入系统视图,命令提示符是[ ]号(从用户视图进入,配置设备的系统参数等)
<Huawei>system-view
[Huawei]
[Huawei]?
System view commands:
aaa AAA
acl Specify ACL configuration information
alarm Enter the alarm view
anti-attack Specify anti-attack configurations
application-apperceive Set application-apperceive information
arp ARP module
arp-miss Specify ARP MISS configuration information
arp-suppress Specify arp suppress configuration information,
default is disabled
authentication Authentication
autoconfig AutoConfig configuration information
bfd Bidirectional Forwarding Detection
bgp Border Gateway Protocol(BGP)
bootrom BootRom
bpdu BPDU message
btv Btv view
bulk-file Specify the file name of bulk statistics
bulk-stat Set bulk statistics
capture-packet Capture-packet
ccc Circuit cross connection
cfm Connectivity fault management
clear Cancel current configuration
cluster Specify the information for cluster configuration
command-privilege Specify the command level
—- More —-

3、 输入quit从系统视图退到用户视图
[Huawei]quit
<Huawei>

4、进入某个接口视图
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]

5、现在开始配置vlan 100 的管理ip 和子网掩码
[Huawei-Vlanif100]ip address 192.168.2.100 255.255.255.0
[Huawei-Vlanif100]

6、配置Console用户界面(用于限制人员通过控制台(Console)连接访问设备)
[Huawei]user-interface console 0                                                 #进入Console用户界面
[Huawei-ui-console0]authentication-mode password
#配置用户界面用户验证方式为密码认证
[Huawei-ui-console0]set authentication password cipher 1234
#配置密文密码为1234

7、配置VTY用户界面(用户可以与设备通过多种方式交互,不同的用户拥有各自不同的用户界面,例Console、AUX 或VTY等连接方式,这里VTY(Virtual Type Terminal) 是虚拟终端的意思)
[Huawei]user-interface vty 0 4                                                    #进入vty用户界面
[Huawei-ui-vty0-4]user privilege level 3                                     #配置用户级别为3
[Huawei-ui-vty0-4]authentication-mode aaa
#配置用户界面用户验证方式为aaa
[Huawei-ui-vty0-4]quit
[Huawei]aaa                                                                               #进入aaa视图
[Huawei-aaa]local-user admin12 password cipher 1234
#配置用户名为admin12 密文密码为1234
[Huawei-aaa]local-user admin12 service-type telnet
#配置用户的接入类型为telnet
[Huawei-aaa]quit
[Huawei]

CentOS 源设置

安装完CentOS后,系统默认的源可能有限满,这时我们需要添加国内比较好的源。

一、国内比较好的源
https://opsx.alibaba.com/mirror                   #阿里源,有帮助文档
https://mirrors.tuna.tsinghua.edu.cn/             #清华大学源,有帮助文档
http://mirrors.163.com/                           #网易源,有帮助文档

二、添加阿里源
进入阿里源官方网站,点开centos右侧的帮助如下:
CentOS
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

或者

curl -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

或者

curl -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

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、之后运行yum makecache生成缓存

4、通过这个帮助文件很容易添加5 6 7版本的阿里源,其他站点的源通过对应的帮助文件安装。
5、可以通过下面的命令先清除原来的缓存,在生成新的缓存
yum clean all     #生成前先清除原来的缓存
yum makecache

三、添加第三方EPEL源
CentOS自带的yum源中rpm包数量有限,很多时候找不到我们需的软件包,所以我们需要安装包含丰富的第三方YUM源来满足我们的需求。

1、EPEL(Extra Packages for Enterprise Linux中文翻译为 企业版 Linux 附加软件包,以下简称 EPEL)是一个 Fedora 特别兴趣小组,用以创建、维护以及管理针对企业版 Linux 的一个高质量附加软件包集,面向的对象包括但不限于 红帽企业版 Linux (RHEL)、 CentOS、Scientific Linux (SL)、Oracle Linux (OL) 。作为 Fedora 打包社区的一部分,EPEL 的所有软件包都是 100% 免费且自由的开源软件(FLOSS)。
EPEL 的软件包通常不会与企业版 Linux 官方源中的软件包发生冲突,或者互相替换文件。EPEL 项目与 Fedora 基本一致,包含完整的构建系统、升级管理器、镜像管理器等等。
更详细的内容可以查看官方WIKI:https://fedoraproject.org/wiki/EPEL/zh-cn  ,下载地址:http://dl.fedoraproject.org/pub/epel/

2、官方的EPEL源可能速度比较较慢,这里我们添加阿里的EPEL源,其他站点查看对应的帮助文件,阿里的EPEL源也有帮助文件,如下:
##epel 配置方法
###1、备份(如有配置其他epel源)

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup

2、下载新repo 到/etc/yum.repos.d/

epel(RHEL 7)

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

epel(RHEL 6)

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

epel(RHEL 5)

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-5.repo

3、可以通过下面的命令先清除原来的缓存,在生成新的缓存
yum clean all     #生成前先清除原来的缓存
yum makecache

4、我们也可以通过”epel-release”这个软件包,这个软件包会自动配置yum的软件仓库。不推荐用这种方法因为官方的epel源有可能慢,还是自己配置epel软件仓库。

四、添加第三方RepoForge源
RepoForge原名RPMforge是 RHEL 系统下的软件仓库,拥有 10000 多个软件包,被认为是最安全、最稳定的一个软件仓库。是由 Dag 及其它包装者合作维护的,包括 wine、vlc、mplayer、xmms-mp3 及其它受欢迎的媒体工具。它并不是 Red Hat 或 CentOS 的一部份,但却是为那些发行版本而设计的,可能与EPEL源冲突,使用要注意。

官方网站:http://repoforge.org/ ,通过官方网站的usage(用法)标签可以查看用法:在http://repoforge.org/use/用法网页,下载CentOS版本与CPU架构
的rpm安装包,下载后安装这个软件包,就完成了软件源的添加。

http://repoforge.org/use/网站源下载部分:
Using RepoForge
First download the appropriate rpmforge-release package for your distribution:

EL 7: x86_64
EL 6: i686, x86_64                #6版本对应的32位和64位,下载系统对应的
EL 5: i386, x86_64, ppc

上面官方的可能有点慢,可以去https://mirrors.tuna.tsinghua.edu.cn/help/repoforge/清华大学的repoforge源,有帮助文件,进行安装。

五、添加第三方RPMFusion源
如果您使用过Fedora ,相信对 RPMFusion一定不陌生吧,各种音频软件如MPlayer在标准源中是没有的,一般先安装RPMFusion源,之后就可以方便地yum install各种需要的软件啦。但CentOS官方说RPMFusion软件库里面的软件稳定性不如rpmforge。
RPMFusion官网:http://rpmfusion.org/

安装源:要添加rpmfusion软件源,首先要安装epel-release这个软件包,前面添加EPEL源时提到过,你可能会担心安装这个软件包会和添加的阿里的EPEL冲突,如果是先添加阿里源,问题不大。然后去RPMFusion官方网站Configuration标签页下载RPM Fusion free for RHEL 6 or compatible like CentOS(自由的)和RPM Fusion nonfree for RHEL 6 or compatible like CentOS(非自由的)这两个安装包进行源的安装,我的系统是6版本所以下这两个,如果不先安装epel-release这个软件包,在进行上面两个软件包安装时会错误。
软件源下载官方网址:
https://rpmfusion.org/Configuration

六、第三方ELRepo源

ELRepo项目侧重于硬件相关的包来增强你的经验与企业Linux。这包括文件系统驱动、显卡驱动、网络驱动程序、声音驱动、摄像头和视频驱动程序。Repoforge 是 RHEL 系统下的软件仓库,拥有 10000 多个软件包,被认为是最安全、最稳定的一个软件仓库。
官方网站:http://elrepo.org/ 
官网主页就有软件源的添加方法,按照上面的方法添加就可以了。
CentOS6为例:

1、导入公钥:
rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2、安装ELRepo 6        #对应我的CentOS6版本

rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm

七、 Remi源

Remi 源大家或许很少听说, 但是我们强烈推荐, 尤其对于不想编译最新版的 linux 使用者, 因为 Remi 源中的软件几乎都是最新稳定版.

或许您会怀疑稳定不?放心吧, 这些都是 Linux 骨灰级的玩家编译好放进源里的, 他们对于系统环境和软件编译参数的熟悉程度毋庸置疑.

Remi下载地址:https://rpms.remirepo.net/http://rpms.famillecollet.com/

安装源:打开Remi官网的Repository Configuration标签进入https://blog.remirepo.net/pages/Config-en网页 ,这里有安装说明,根据说明进行安装就可以了。
这个原需要EPEL源的支持,所以要先添加EPEL源,上面我们已经添加了,安装CentOS源如下:
1、下载源安装包
[root@CentOS ~]# wget https://rpms.remirepo.net/enterprise/remi-release-6.rpm
2、安装源安装包     
[root@CentOS ~]# rpm -Uvh remi-release-6.rpm
3、然后编辑  /etc/yum.repos.d/remi.repo 源文件,将其中 [remi] 下的enabled=0改为1,保存退出,从而启动源完成配置。

八、添加本地DVD源。
在服务器不允许联网的情况下经常会用到本地DVD安装光盘的源。
系统安装完默认会在/etc/yum.repos.d/的源目录下成才一个CentOS-Media.repo 的源文件,我们只要对这个源文件进行相应的设置就行
1、查看CentOS-Media.repo 文件内容:
[root@CentOS yum.repos.d]# cat CentOS-Media.repo
# CentOS-Media.repo
#
#  This repo can be used with mounted DVD media, verify the mount point for
#  CentOS-6.  You can use this repo and yum to install items directly off the
#  DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
#  yum –enablerepo=c6-media [command]
#  
# or for ONLY the media repo, do this:
#
#  yum –disablerepo=\* –enablerepo=c6-media [command]

[c6-media]                                                        #源名称,必填
name=CentOS-$releasever – Media                #源描述,可以不填,但是会有提示
baseurl=file:///media/CentOS/                         #挂载DVD光驱的可选目录/media/CentOS/ ,这个目录可以因个人方便改变成其他目录
        file:///media/cdrom/                                 #挂载DVD光驱的可选目录/media/cdrom/
        file:///media/cdrecorder/                         #挂载DVD光驱的可选目录/media/cdrecorder/
gpgcheck=1                                                   #是否开启校验,在yum.conf中已经定义它默认值为1
enabled=0                                                     #是否开启这个源,enabled=0为关闭,enabled=1为开启
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6             #如果开启yum源包校验,则需要导入RPM公钥。
[root@CentOS yum.repos.d]#

2、在/media/目录下新建CentOS目录,
[root@CentOS media]# mkdir CentOS
[root@CentOS media]# ls
CentOS

3、挂在DVD光驱到/media/CentOS/目录,一定要选择和系统版本号一样的系统镜像。
[root@CentOS ~]# mount /dev/cdrom1 /media/CentOS/

4、将CentOS-Media.repo 文件的enabled=0 给成enabled=1 ,删除或用#屏蔽file:///media/cdrom/和file:///media/cdrecorder/这两行,
如果不删除或屏蔽,生成源缓存时会因为找不到对应的文件而报错。

九、添加完源一定要记得生成缓存,通过下面的命令先清除原来的缓存,在生成新的缓存
yum clean all         #生成前先清除原来的缓存
yum makecache   #生成缓存

十、设置软件源的优先级

当系统有多个软件源时,要安装某一个软件,并且这个软件在多个源里面都有时,我们肯定希望用最优质的源来下载软件,而且不同的软件源之间并不能保证软件的完全兼容没有冲突。所以我们需要设置软件源的优先级。yum-plugin-priorities 插件可以用来强制保护源。它通过给各个源设定不同的优先级,使得系统管理员可以将某些源(比如官方源)设定为最高优先级,从而保证系统的稳定性(同时也可能无法更新到其它源上提供的软件最新版本)。您需要安装yum-plugin-priorities插件。

1、安装yum-plugin-priorities插件

[root@Fedora ~]# yum install yum-plugin-priorities.noarch

2、查看插件是否可用
yum-plugin-priorities 插件的配置文件是/etc/yum/pluginconf.d/priorities.conf,先确认其是否存在,后查看
其内容为:
[main]
enabled=1   # 0禁用 1启用

3、设置优先级
前两项完成后,您可以编辑/etc/yum.repos.d/目录下所有的.repo文件,给所有的源设置优先级(priority)。priority的优先级为1到99,设置为1即优先级最高,1-10为系统保留,第三方yum源的优先级从11-99 。一般官方的源文件CentOS-Base.repo下有[base],  [updates], [extras]三个源设置为 priority=1 另外两个[CentOSplus],[contrib] 源设置成 priority=2,一个源文件下面可以有多个源。
其他第三方软件源的源文件中的源源设置为:priority=N (推荐N>10,并且每个类型的源推荐从n0开始,n为1-9的数字,比如10,20,30,这样源下面的细分源以后也方便添加级别)

4、编辑官方源文件 /etc/yum.repos.d/CentOS-Base.repo 编辑如下:
——————————————————————————————————-
[root@CentOS yum.repos.d]# vi CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever – Base – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
priority=1                   #设置[base]源优先级为1

#released updates
[updates]
name=CentOS-$releasever – Updates – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
priority=1                  #设置[updates]源优先级为1

#additional packages that may be useful
[extras]
name=CentOS-$releasever – Extras – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
priority=1                  #设置[extras]源优先级为1

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever – Plus – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0                   #如果想开启这个源将enabled=0改为enabled=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
priority=2                  #设置[centosplus]源优先级为2

#contrib – packages by Centos Users
[contrib]
name=CentOS-$releasever – Contrib – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0                   #如果想开启这个源将enabled=0改为enabled=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
priority=2                  #设置[contrib]源优先级为2
[root@CentOS yum.repos.d]#
———————————————————————————————————-
5、编辑[epel]第三方源优先级
———————————————————————————————————-
[root@CentOS yum.repos.d]# vi epel.repo

[epel]
name=Extra Packages for Enterprise Linux 6 – $basearch
baseurl=http://mirrors.aliyun.com/epel/6/$basearch
        http://mirrors.aliyuncs.com/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=11                 #设置[epel]第三方源优先级为11            

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 – $basearch – Debug
baseurl=http://mirrors.aliyun.com/epel/6/$basearch/debug
        http://mirrors.aliyuncs.com/epel/6/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0

[epel-source]
name=Extra Packages for Enterprise Linux 6 – $basearch – Source
baseurl=http://mirrors.aliyun.com/epel/6/SRPMS
        http://mirrors.aliyuncs.com/epel/6/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0
[root@CentOS yum.repos.d]#
————————————————————————————————————–
6、其他第三方源的优先级设置这里就不介绍了,/etc/yum.repos.d/目录下文件名后缀为.repo的文件都是源文件,里面对应的源都需要设置,最好不要添加太多源
官方源和EPEL源就够了,如果这里没有想要的软件在进行其他源的添加,添加过多的源维护起来麻烦,还容易造成软件源的冲突。
7、特殊情况:在不同优先级的源中都含有同一个包时,它的行为可能就不是我们所需要的。例如,在官方源中有个包:bck.1.11.x86_64.rpm,官方源是最高优先级。在其他的多个源中也有bck这个包的不同版本,比如bck的版本为bck.1.21.x86_64.rpm,通过命令安装bck.1.21.x86_64.rpm
yum install bck.1.21.x86_64.rpm
就会出现下面的提示
    xx packages excluded due to repository priority protections
并且找不到所需要的包,这是因为在高优先级源中存在的包,会将其他低优先级中的包屏蔽掉,因此无法从低优先级的源中安装所需要的包。

解决办法是禁用yum-plugin-priorities插件,将/etc/yum/pluginconf.d/priorities.conf文件中的enabled=1改称enabled=0
默认是1;设置enabled = 0,这样就可以禁用priorities插件。从而能够安装任意源上的包。

或者把高优先级的软件源关闭,就是在对应源文件的源位置后面添加enabled=0,有的就将enabled=1改为enabled=0
例如关闭epel源
[root@CentOS yum.repos.d]# vi epel.repo

[epel]
name=Extra Packages for Enterprise Linux 6 – $basearch
baseurl=http://mirrors.aliyun.com/epel/6/$basearch
        http://mirrors.aliyuncs.com/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1                        #将enabled=1改为enabled=0关闭 [epel]源
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
……   

十一、显示当前可用源列表

[root@CentOS yum.repos.d]# yum repolist
已加载插件:fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
106 packages excluded due to repository priority protections
仓库标识                                          仓库名称                                                                                 状态
base                                              CentOS-6 – Base – mirrors.aliyun.com                                                          6,706
epel                                              Extra Packages for Enterprise Linux 6 – x86_64                                           12,391+106
extras                                            CentOS-6 – Extras – mirrors.aliyun.com                                                           53
updates                                           CentOS-6 – Updates – mirrors.aliyun.com                                                       1,185
repolist: 20,335
[root@CentOS yum.repos.d]#

所然上面添加了很多源,但是我把现在暂时不用的源都通过enabled=0关闭了,只留下一个EPEL第三方源,这样可以减少软件的冲突和软件搜索的速度。