在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Wizard 开源文档管理系统概述Wizard是一款开源文档管理系统,目前支持三种类型的文档管理
目前主要包含以下功能
如果想快速体验一下Wizard的功能,可以使用Docker来创建一个完整的Wizard服务
起源为了鼓励大家在开发过程中写开发文档,最开始我们选择了 ShowDoc 项目来作为文档管理工具,当时团队规模也非常的小,大家都是直接用 Markdown 写一些简单的开发文档。后来随着团队的壮大,前后端分离,团队分工的细化,仅仅采用 Markdown 开始变得捉襟见肘,这时候,我们首先想到了使用开源界比较流行的 Swagger 来创建开发文档。但是 Swagger 文档多了,总得有个地方维护起来吧? 项目中的文档仅仅用Swagger也是不够的,它只适应于API文档的管理,还有很多其它文档,比如设计构想,流程图,架构文档,技术方案,数据库变更等各种文档需要一起维护起来。因此,我决定利用业余时间开发一款 集成 Markdown 和 Swagger 文档的管理工具,也就是 Wizard 项目了。 起初Wizard项目的想法比较简单,只是用来将 Markdown 文档和 Swagger 文档放在一起,提供一个简单的管理界面就足够了,但是随着在团队中展开使用后,发现在企业中作为一款文档管理工具来说,只提供简单的文档管理功能是不够的,比如说权限控制,文档修改历史,文档搜索,文档分类等功能需求不断的被提出来,因此也促成了 Wizard 项目的功能越来越完善。
功能演示请查看项目的 Wiki 文档。 关于代码项目采用了 Laravel 开发框架开发,目前框架的版本已经升级到最新的 5.8(最开始为5.4,一路升级过来)。为了提高开发效率,保持架构的简洁,在开发过程中,一直避免引入过多的外部组件,尽可能的利用 Laravel 提供的各种组件,比如 Authentication,Authorization,Events,Mail,Notifications 等,非常适合Laravel新手利用该项目来学习Laravel开发框架。 安装目前支持两种安装方式,如果你熟悉Docker,可以直接使用Docker容器的方式来运行该项目,这也是最简单的方式了。如果你没有使用Docker或者不知道什么是Docker,那么请直接参考手动安装部分。 通过 Docker 安装详细安装方法参考 Docker Hub mylxsw/wizard。 方法一首先对于新安装用户,需要执行数据库的初始化 docker run -it --rm --name wizard \ -e DB_HOST=host.docker.internal \ -e DB_PORT=3306 \ -e DB_DATABASE=wizard \ -e DB_USERNAME=wizard \ -e DB_PASSWORD=wizard \ mylxsw/wizard 初始化命令 这里的 初始化命令 包含两个,依次执行即可
最后,直接运行下面的 Docker 命令即可 docker run -d --name wizard \ -e DB_HOST=host.docker.internal \ -e DB_PORT=3306 \ -e DB_DATABASE=wizard \ -e DB_USERNAME=wizard \ -e DB_PASSWORD=wizard \ -p 8080:80 \ -v /Users/mylxsw/Downloads:/webroot/storage/app/public \ mylxsw/wizard 简要说明:
方法二我们需要创建一个Dockerfile,在Dockerfile中添加环境配置,比如我采用了宿主机上安装的MySQL服务器,就有了下面的这段Dockerfile配置 FROM mylxsw/wizard:latest# 数据库连接配置# 这里可以根据需要添加其它的Env配置,可用选项参考项目的.env.example文件ENV DB_CONNECTION=mysqlENV DB_HOST=host.docker.internalENV DB_PORT=3306ENV DB_DATABASE=wizard_2ENV DB_USERNAME=wizardENV DB_PASSWORD=wizardENV WIZARD_NEED_ACTIVATE=false# 访问地址,只有正确配置后,导出的 markdown 文档图片才能正常展示ENV APP_URL=http://localhost:8080# 文件上传存储目录VOLUME /webroot/storage/app/publicRUN php artisan config:cache 执行构建 docker build -t my-wizard . 数据库初始化 docker run -it --rm --name my-wizard my-wizard php artisan migrate:installdocker run -it --rm --name my-wizard my-wizard php artisan migrate 运行 docker run -d --name my-wizard -p 8080:80 my-wizard 然后就可以通过 http://localhost:8080 访问 Wizard 了。 手动安装手动安装方式需要先安装配置好PHP环境,建议采用 PHP-FPM/Nginx 的方式来运行,具体配置参考 环境依赖 部分。 环境依赖以下组件的安装配置这里就不做详细展开,可以自行 百度/Google 安装方法。
下载代码推荐使用 git 来下载项目代码到服务器,我们假定将该项目放在服务器的 cd /data/webrootgit clone https://github.com/mylxsw/wizard.gitcd wizard 下载代码之后,使用 composer 安装项目依赖 composer install --prefer-dist --ignore-platform-reqs composer 会在在项目目录中创建 vender 目录,其中包含了项目所依赖的所有第三方代码库。
配置复制一份配置文件 cp .env.example .env 修改 接下来创建数据库,提前在MySQL中创建好项目的数据库,然后在项目目录执行下面的命令 php artisan migrate:installphp artisan migrate 接下来配置文件上传目录 php artisan storage:link 执行该命令后会在 public 目录下创建 在Nginx中配置项目的访问地址 server { listen 80; server_name wizard.example.com; root /data/webroot/wizard/public; index index.php; location / { index index.php index.html index.htm; try_files $uri $uri/ /index.php?$query_string; } location ~ .*\.(gif|jpg|png|bmp|swf|js|css)$ { try_files $uri =302; } location ~ .*\.php$ { # php-fpm 监听地址,这里用了socket方式 fastcgi_pass unix:/usr/local/php/var/run/php-cgi.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; }} 升级项目升级过程非常简单,只需要使用git拉取最新代码(git pull),然后执行下面的命令完成数据库迁移和依赖更新就OK了。 composer install --prefer-dist --ignore-platform-reqsphp artisan migrate 如果是用 Docker 部署的话,在重新拉取最新镜像之后,执行下面的命令就可以了 docker run -it --rm my-wizard php artisan migrate 初始化安装完成后,Wizard项目就可以通过浏览器访问了,接下来需要访问注册页面创建初始用户 http://项目地址/register 在系统中注册的第一个用户为默认管理员角色。 FAQ
Stargazers over time |
请发表评论