Hipchat Server 2.4.5 的安装方法介绍

最近在搞这个,众所周知的原因,内部使用的话,还是推荐 Atlassian 公司的 Hipchat Server

Hipchat Server 的好处显而易见,就是可以绕过公用的服务器,现在各国越来越严格的监管措施,可能也会对这个软件的未来产生很大影响,不过目前还是支持Server软件下载,只不过地址隐藏起来了。目前我们能下载到的地址是:
https://hipchat-server-stable.s3.amazonaws.com/HipChat.ova
版本是 Atlassian HipChat 2.4.5 (2019.06.24.115346)

OVA软件包下载后我们把它导入虚拟机里即可。需要注意的地方是,在导入OVF模板的时候,选择网络里会让你选择IP分配,默认是DHCP,这个地方就保留DHCP,否则会报
无法初始化属性“vami.DNS0.HipChat_Server_2.0”。网络 “*”不具有关联的网络协议配置文件的错误。

部署完成后启动Hipchat服务器,在服务器界面中使用默认用户名 admin 密码 hipchat 登陆服务器后用如下命令修改网络配置
hipchat network -m static -i IPADDR -s NETMASK -g GATEWAY -r DNS_Address

设置好网络,并确定网络可正常使用的前提下,需重置hipchat服务器ubantu的root密码,这个网上有很多介绍,我就不在这里过多提了,如果确实你无法重置密码,可以发邮件给我(xu1701@hotmail.com)探讨。

修改完Root密码后,我们进入系统,要做一些简单的安全,首先我们要修改默认用户admin的密码
passwd admin
其次,我们需要修改SSH登陆的安全选项
vi /etc/ssh/sshd_config
vi /hipchat-scm/chef-repo/cookbooks/openssh/templates/default/sshd_config.erb
确认
PermitRootLogin 为 No
确保用admin登陆后,只能su成root权限,而不能用root用户直接登陆。重启服务器后,我们就可以用WEB浏览器来安装Hipchat了。

继续阅读Hipchat Server 2.4.5 的安装方法介绍

等Centos8等的都没耐心了,下午写了个判断脚本

一直在测试 RHEL8,总的来说,还是比较符合预期的,就是非注册版本,诸多限制,等 Centos8 出来后,要在内网部署,做小程序测试,等到现在,快没耐心了 :(

一直登陆centos.org网站,麻烦,写个python3脚本跑吧,每天对比一下版本号。


#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Filename:centosversion.py

import requests
import re
import operator
from bs4 import BeautifulSoup

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}

page = requests.get('https://www.centos.org', headers)

html = page.content

soup = BeautifulSoup(html, 'html.parser')
for k in soup.find_all(href=re.compile("https://wiki.centos.org/Manuals/ReleaseNotes/"), limit=1):
        data = k['href']
        if operator.eq(data[-1], 8):
                print("OK")
        else:
                print("FALSE")

Linux系统用bash制作录制回放功能脚本

今天看到一个有趣的脚本,放在这里分享一下

转子:https://www.jb51.net/article/130973.htm


#!/bin/bash
# Filename:Record.sh

read -p "Please input the sesson filename you want to creat: " filename;

sesfile="$filename.session"
logfile="$filename.timing.log"

if [ -e $sesfile ];then
  echo "$sesfile is Exsit,Creat session file fault!";
  read -p "If you want to reload the file? [Y/N]: " flag;
  if [ "$flag" = "Y" ];then
    rm $sesfile $logfile;
    script -t 2> $logfile -a $sesfile;
  else
    echo "Nothing to do!";
  fi

else
  script -t 2> $logfile -a $sesfile;
fi

#!/bin/bash
# Filename:Replay.sh

read -p "Please input the session filename: " filename
logfile="$filename.timing.log"
sesfile="$filename.session"
if [ -e $sesfile ]; then
  scriptreplay $logfile $sesfile
  echo
else
  echo "$filename is NOT Exsit!"
fi

再补一个TermRecord方法,TermRecord是python编写的脚本,所以,linux环境里必须有python及web环境

pip install TermRecord
TermRecord -o /path/filename_html
停止录制,键入 exit

在web浏览器中打开filename_html就可以看到输出结果
做了个例子,大家可以看看
https://techlife.com.cn/190812.html

关于python3中文编码的问题的解决及一个方便查询whois的小程序

今天写了个查whois信息的小程序,在python3命令行测试,是正常的,但一用到print命令,就输出乱码,网上找了一些文章,还是觉得这篇写的最准确,共享出来

https://www.cnblogs.com/gjq168/p/9262559.html

说说这个程序,用到的是python-whois 0.7.1模块,之前查询whois信息,总是需要去网站输入,比较麻烦,现在用python3,方便多了,代码公开一下,名字是testwhois.py


#!/usr/bin/python3
# -*- coding: utf-8 -*-

import whois
import sys

w = whois.whois(sys.argv[1])
data = w.text.encode("utf-8").decode("utf-8")
print(data)

使用方法:
./testwhois.py www.163.com

用 Python3.6.9 搭建 HTTP 服务

本文讲述如何用python3.6.9创建基础的 HTTP SERVER,将Python版本写出是为了更准确描述。

(1) 命令行
假设我的HTML页面在/home/httpd下


cd /home/httpd
python3 -m http.server 8000 //8000是默认端口,可以修改为80

网站默认的主文件是 index.htm/inex.html,内容如下


<html>
<head>
<title>techlife.com.cn</title>
</head>
<body>
Techlife 开源/开放
</body>
</html>

用如下命令测试


python3 -m http.server 80

服务器提示
Serving HTTP on 0.0.0.0 port 80 (https://0.0.0.0:80/) …

用浏览器访问服务器IP,会发现是乱码,为了避免中文编码的问题,需要修改index.html,在 html 和 head 标签中间增加如下一行


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

继续访问,中文正常显示,简单的HTTP服务搭建成功。

有几个有用的命令,在这里一并给出


python3 -m http.server 80 --bind 127.0.0.1 //绑定IP地址,多用于一个服务器上有多个IP的情景
python3 -m http.server --directory /tmp/ //绑定目录,默认端口8000

如果想让页面支持程序交互(CGI),用命令行启动应如下编写


python3 -m http.server 80 --cgi

下面用一个不含参数的提交页面来举例说明
首先构建一个test.html,内容如下


<HTML>
<BODY>
<FORM ACTION = "/cgi-bin/test.py">
<INPUT TYPE = submit>
</FORM>
</BODY>
</HTML>

cgi-bin目录中的test.py,内容如下


#!/usr/bin/python3

import cgi
print('Content-Type:text/html\n\n')
print('hello cgi')

用不带CGI命令参数启动测试,点击提交按钮后,页面直接显示出test.py的内容,也就是说无法解析CGI,如下图

用带CGI命令参数启动测试,点击提交按钮后,页面直接显示test.py执行的结果,也就是说成功解析了cgi,如下图

(2)用Python程序编写简单的 HTTP 服务端
用python程序编写避免了使用命令时,执行窗口一旦关闭,HTTP 服务也随之关闭的问题

先构建一个简单的 Server.py 程序,这个是无法解析CGI的


#!/usr/bin/python3
#--coding:utf-8--

import http.server
import socketserver

PORT = 80

Handler = http.server.SimpleHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()

可以解析CGI的程序如下,我给它起名叫 run_server.py


#!/usr/bin/python3
#--coding:utf-8--

from http.server import HTTPServer, CGIHTTPRequestHandler

port = 80

httpd = HTTPServer(('', port), CGIHTTPRequestHandler)
print("Starting simple_httpd on port: " + str(httpd.server_port))
httpd.serve_forever()

如何让它们在SHELL窗口关闭以后还能继续运行呢,我在/etc/rc.local里加了如下一句话


nohup python3 -u /home/html/run_server.py params1 > nohup.out 2>&1 &

也可以直接在SHELL里执行,然后把窗口关闭,刷新页面试试。

至此,此篇结尾,以上这些例子,大家可以测试,多测试多掌握,有问题一起沟通。