基于Python + Django的AD管理系统,系统主要提供以下功能:
- 丰富的API接口,便于内部系统的集成
- 在线邮件流查询
- 常规AD、Exchange操作的WEB化,更友好的交互体验
- 2FA认证登陆,角色权限分层。增强系统安全性的同时,提升HelpDesk同学解决问题的效率
- 丰富的报表功能和批量操作功能
- 详细的日志功能
详细功能可参见基于web的AD、Exchange管理平台
- 系统要求
- centos安装python3
- 安装程序
- 运行程序
- 系统配置并开始使用
# 容器镜像下载
docker pull openitsystem/itops:1.0.1
# 启动容器
docker run -d -p 8080:8080 openitsystem/itops:1.0.1
- Active directory 2008R2
- DC 2008R2
- PowerShell 版本 4.0 以上
- Exchange 2010 & 2016
- 在Exchange服务器上执行以下操作
- 在链接邮箱服务器右键已管理员身份运行powershell,输入以下命令,按Y确认:
Set-ExecutionPolicy RemoteSigned
- 在链接邮箱服务器依次点击:开始——管理工具——Internet Information Services (IIS)管理器,进入iis管理器。依次展开:计算机名——网站——Default Web Site——PowerShell,双击“身份验证”,右键启用“基本身份验证”
- centos:7.x
- python:3.5.x
- MySQL 5.7
基于提供的虚拟机部署,直接跳至5.系统配置
systemctl stop firewalld (停用防火墙)
yum update
yum groupinstall 'Development Tools' -y
yum install zlib-devel openssl-devel ncurses-devel bzip2-devel \
expat-devel gdbm-devel readline-devel sqlite-devel -y
tar -xf Python-3.5.2.tgz
解压之后生成Python-3.5.2目录,并进入
cd Python-3.5.2
开始安装,使用编译的方法进行安装,在python的目录中有一个README文件,他介绍了如何安装python。 但是我们要指定这个安装目录
mkdir /usr/python35
./configure --prefix=/usr/python35
make
make install
[root ~]# /usr/python35/bin/python3.5
Python 3.5.2 (default, May 27 2020, 16:58:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
[root ~]#
/usr/python35/bin/python3.5 -m pip list #查看已安装的包
[root ~]# /usr/python35/bin/python3.5 -m pip list
Package Version
----------------------- ----------
appdirs 1.4.3
APScheduler 2.1.2
asn1crypto 0.24.0
cached-property 1.3.0
cffi 1.12.3
...
[root ~]#
将itops文件夹拷贝到 /usr/local/ 下(注意不要改文件名)
拷贝完成后路径为 /usr/local/itops/
使用 xftp 5 或其他方式拷贝均可
更新pip
/usr/python35/bin/python3.5 -m pip install -i https://pypi.mirrors.ustc.edu.cn/simple --upgrade pip
进入代码目录
cd /usr/local/itops/
确认目录中有requirements.txt文件(此文件中放了所必须的包名)
ls
安装所有的包
/usr/python35/bin/python3.5 -m pip install -i https://pypi.mirrors.ustc.edu.cn/simple -r requirements.txt
安装完成后,再次检查
/usr/python35/bin/python3.5 -m pip list
cd /usr/local/ \
&& chmod 777 itops/
cd /usr/local/itops/ \
&& chmod 777 db.sqlite3 \
&& chmod 777 upload/
cd /usr/local/itops/dbinfo/ \
&& chmod 777 config.ini
运行下列命令启动平台服务
/usr/python35/bin/uwsgi --http-socket 0.0.0.0:8080 --chdir /usr/local/itops/ --plugin python --wsgi-file /usr/local/itops/itops/wsgi.py --master --static-map /static=/usr/local/itops/static/ --static-map /static=/usr/local/itops/frontend/dist/static/ --static-map /static=/usr/python35/lib/python3.5/site-packages/rest_framework/static/ --processes 2 --threads 2 --static-gzip-dir=/usr/local/itops/frontend/
关闭uwsgi
pkill -9 uwsgi
虚拟机默认自启动了uwsgi服务,即可以直接通过http://IP:8080 访问系统,并且每次重启centos系统都会自动启动uwsgi ,你也可以通过以下命令对uwsgi进行管理
supervisord 客户端管理命令
supervisorctl status #状态
supervisorctl stop uwsgi #停止 uwsgi
supervisorctl start uwsgi #启动 uwsgi
supervisorctl restart uwsgi #重启 uwsgi
centos账户:root
centos密码:QW*963.(注意最后有个点)
mysql账户:root
mysql密码:tcQW*963@2019
mysql端口:3306
mysql数据库名称:ops
mysqip:centos服务器IP
平台登录路径 http://IP:8080
平台配置管理员账户:adminportal
平台配置管理员密码:tcQW*963@2019
初次登录请使用 http://Ip:8080访问,并使用内置配置管理账号登录,进行系统配置
平台配置管理员账户:adminportal
平台配置管理员密码:tcQW*963@2019
请牢记此密码,以后每次更新配置,都需用adminportal账号进入
虚拟机中已内置安装了mysql 无需单独安装
mysql账户:root
mysql密码:tcQW*963@2019
mysql端口:3306
mysql数据库名称:ops
mysqip:虚拟机IP
配置完成请点击提交
AD服务器地址:除RODC外的任意DCIP
域名:AD域名
账号密码:具有管理员权限的账号,账号格式 contoso\administrator(账号前去除域名后缀如:.com、.cn等)
默认查找起始:建议根目录 示例 dc=contoso,dc=com
是否开启加密连接:强烈建议启用加密链接,否则无法进行密码相关操作
配置完成请点击提交
EXChange服务器地址:具有powershell4.0 的CAS服务器
账号密码:具有exchange管理员的账号 账号格式:exadmin 注意此处不要用domain\account的形式,直接填写账号
域名:AD域名
配置完成请点击提交
配置此项前,请先点击页面左下角重载配置,然后再用adminportal登录后进行配置
组名定义:AD组属性sAMAccountName中的名称。
当赋予AD中某个组具有相应的权限后,即该组中的成员就具有相同的权限。
注意:登录判断是通过组嵌套实现,即其余3个组必须是 具有登录权限的组的成员,否则无法登录。但是我们在您点击提交时,会自动将其余3个组加入到登录组的成员。但需要您保证组嵌套的合规性。例如 通用组不能是全局组的成员。如嵌套失败,请您手动修改组属性合规并手动嵌套
各组权限定义:
具有登录权限的 | 具有修改密码的组 | 具有修改栏位的组 | 具有操作权限的组 |
---|---|---|---|
IT记录管理(增删改查 | IT记录管理(增删改查) | IT记录管理(增删改查) | 所有权限 |
搜索,查看用户,计算机等属性 | 搜索,查看用户,计算机等属性 | 搜索,查看用户,计算机等属性 | 所有权限 |
邮件流查询 | 邮件流查询 | 邮件流查询 | 所有权限 |
查看文档、新建文档、可以修改删除自己的文档 | 查看文档、新建文档、可以修改删除自己的文档 | 查看文档、新建文档、可以修改删除自己的文档 | 所有权限 |
API文档查看 | API文档查看 | API文档查看 | 所有权限 |
--- | 修改用户密码 | 可以修改账户,组织选项卡中的: 电话号码,主页, 移动电话号码,传真,寻呼机, IP电话字段 | 所有权限 |
组名请填写组的sAMAccountName中的名称
配置完成请点击提交
当您所有属性配置完成并确认无误后,请点击 配置已全部完成,点击返回使用
此时可以使用域账号登录并管理了
每次更新MySQL数据库配置、LDAP 配置,必须重载配置才能生效(重载配置时,服务暂时不可用)
平台管理员账户:adminportal
平台管理员密码:tcQW*963@2019
启动服务的方式请参照 请参照 4.1.启动uwsgi服务 启动和关闭程序,并且每次重启centos程序都不会自动运行,需手动运行命令(或者自行使用supervisor实现5.1.启动uwsgi服务的方式)
参照5.1.3.平台配置 开始至 5.1.9.开始使用 ,并将 5.1.5.数据库配置 中的信息换成自己的数据库信息