Skip to content
基于Python + Django的AD\Exchange管理系统
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ADapi 修复BUG: Jul 2, 2019
apiusers Initial commit May 10, 2019
apps 修复无邮箱系统无法打开对象选项卡相关BUG Jun 5, 2019
dbinfo
frontend 修复BUG: Jul 2, 2019
itapi 修复BUG: Jul 2, 2019
itops
ops 修复无邮箱系统无法打开对象选项卡相关BUG Jun 5, 2019
permission Update therhasindexvalue.py May 24, 2019
sendmailapi Initial commit May 10, 2019
static 新增功能: May 17, 2019
templates
upload Initial commit May 10, 2019
utils Initial commit May 10, 2019
.gitignore Add ToDo List May 14, 2019
README.md Update README.md Jun 20, 2019
db.sqlite3 fix bug May 14, 2019
manage.py Initial commit May 10, 2019
requirements.txt Initial commit May 10, 2019
uwsgiconfig.ini 新增功能: May 17, 2019

README.md

系统介绍

基于Python + Django的AD管理系统,系统主要提供以下功能:

  • 丰富的API接口,便于内部系统的集成
  • 在线邮件流查询
  • 常规AD、Exchange操作的WEB化,更友好的交互体验
  • 2FA认证登陆,角色权限分层。增强系统安全性的同时,提升HelpDesk同学解决问题的效率
  • 丰富的报表功能和批量操作功能
  • 详细的日志功能

详细功能可参见基于web的AD、Exchange管理平台

ITOPS安装部署文档

  • 系统要求
  • centos安装python3
  • 安装程序
  • 运行程序
  • 系统配置并开始使用

1.系统要求:

基础环境

  • Active directory 2008R2
  • DC 2008R2
  • PowerShell 版本 4.0 以上
  • Exchange 2010
  • 在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.系统配置

2.centos安装python3

2.1.建议停用防火墙

systemctl  stop firewalld  (停用防火墙)

2.2.安装依赖关系:(更新下yum)

yum update

yum groupinstall 'Development Tools' -y

yum install zlib-devel openssl-devel ncurese-devel bzip2-devel \

expat-devel gdbm-devel readline-devel sqlite-devel -y

2.3.下载安装包

2.4.解压文件并安装python

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

2.5.检查python环境

[root ~]# python
Python 2.7.5 (default, Nov  6 2016, 00:28:07) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
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 ~]#

3.安装系统

3.1.把运行程序拷贝到指定目录

将itops文件夹拷贝到 /usr/local/ 下(注意不要改文件名)

拷贝完成后路径为 /usr/local/itops/

使用 xftp 5 或其他方式拷贝均可

3.2.安装项目运行所必须的包

更新pip

/usr/python35/bin/python3.5 -m pip install -i https://pypi.mirrors.ustc.edu.cn/simple --upgrade pip

进入代码目录

cd /usr/local/itops/

确认目录中有package.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

3.3.赋予权限

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

4.启动服务

4.1.启动uwsgi服务

运行下列命令启动平台服务

/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 8 --threads 8 --uid=99 --gid=99 --static-gzip-dir=/usr/local/itops/frontend/

关闭uwsgi

pkill -9 uwsgi 

5.系统配置

5.1.基于提供的vm虚拟机部署

5.1.1.启动uwsgi服务

虚拟机默认自启动了uwsgi服务,即可以直接通过http://IP:8080 访问系统,并且每次重启centos系统都会自动启动uwsgi ,你也可以通过以下命令对uwsgi进行管理

supervisord 客户端管理命令
supervisorctl status           #状态
supervisorctl stop uwsgi         #停止 uwsgi
supervisorctl start uwsgi        #启动 uwsgi
supervisorctl restart uwsgi       #重启 uwsgi

5.1.2.账号密码

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

5.1.3.平台配置

初次登录请使用 http://Ip:8080访问,并使用内置配置管理账号登录,进行系统配置
平台配置管理员账户:adminportal
平台配置管理员密码:tcQW*963@2019

5.1.4.更改平台配置管理员账户密码

请牢记此密码,以后每次更新配置,都需用adminportal账号进入

5.1.5.数据库配置

虚拟机中已内置安装了mysql 无需单独安装
mysql账户:root  
mysql密码:tcQW*963@2019  
mysql端口:3306  
mysql数据库名称:ops
mysqip:虚拟机IP

配置完成请点击提交

5.1.6.LDAP配置

AD服务器地址:除RODC外的任意DCIP
域名:AD域名
账号密码:具有管理员权限的账号,账号格式 contoso\administrator(账号前去除域名后缀如:.com、.cn等)
默认查找起始:建议根目录 示例 dc=contoso,dc=com
是否开启加密连接:强烈建议启用加密链接,否则无法进行密码相关操作

配置完成请点击提交

5.1.7.EXChange 配置

EXChange服务器地址:具有powershell4.0 的CAS服务器
账号密码:具有exchange管理员的账号  账号格式:exadmin 注意此处不要用domain\account的形式,直接填写账号
域名:AD域名

配置完成请点击提交

5.1.8.账号权限配置

配置此项前,请先点击页面左下角重载配置,然后再用adminportal登录后进行配置

组名定义:AD组属性sAMAccountName中的名称。

当赋予AD中某个组具有相应的权限后,即该组中的成员就具有相同的权限。

注意:登录判断是通过组嵌套实现,即其余3个组必须是 具有登录权限的组的成员,否则无法登录。但是我们在您点击提交时,会自动将其余3个组加入到登录组的成员。但需要您保证组嵌套的合规性。例如 通用组不能是全局组的成员。如嵌套失败,请您手动修改组属性合规并手动嵌套

各组权限定义:

具有登录权限的 具有修改密码的组 具有修改栏位的组 具有操作权限的组
IT记录管理(增删改查 IT记录管理(增删改查) IT记录管理(增删改查) 所有权限
搜索,查看用户,计算机等属性 搜索,查看用户,计算机等属性 搜索,查看用户,计算机等属性 所有权限
邮件流查询 邮件流查询 邮件流查询 所有权限
查看文档、新建文档、可以修改删除自己的文档 查看文档、新建文档、可以修改删除自己的文档 查看文档、新建文档、可以修改删除自己的文档 所有权限
API文档查看 API文档查看 API文档查看 所有权限
--- 修改用户密码 可以修改账户,组织选项卡中的: 电话号码,主页, 移动电话号码,传真,寻呼机, IP电话字段 所有权限

组名请填写组的sAMAccountName中的名称

配置完成请点击提交

5.1.9.开始使用

当您所有属性配置完成并确认无误后,请点击 配置已全部完成,点击返回使用

此时可以使用域账号登录并管理了

每次更新MySQL数据库配置、LDAP 配置,必须重载配置才能生效(重载配置时,服务暂时不可用)

5.2.基于源代码自行部署

平台管理员账户:adminportal

平台管理员密码:tcQW*963@2019

5.2.1

启动服务的方式请参照 请参照 4.1.启动uwsgi服务 启动和关闭程序,并且每次重启centos程序都不会自动运行,需手动运行命令(或者自行使用supervisor实现5.1.启动uwsgi服务的方式)

5.2.2

参照5.1.3.平台配置 开始至 5.1.9.开始使用 ,并将 5.1.5.数据库配置 中的信息换成自己的数据库信息

欢迎贡献代码或提issue

You can’t perform that action at this time.