利用开源软件打造一个团队贡献平台

简介: 0x00 前言   最初的想法是打造一个团队内部社区,方便进行技术交流、沉淀、分享。在网络上,找到了一款开源系统,开源团队内部贡献平台Mooder,很大程度上满足了这样一个需求。Mooder的核心理念的“贡献知识“,是我最认可的地方,系统简约、强大,以及它的邀请码机制、奖励机制,一句话来说,就是很wooyun的样子。

0x00 前言

  最初的想法是打造一个团队内部社区,方便进行技术交流、沉淀、分享。在网络上,找到了一款开源系统,开源团队内部贡献平台Mooder,很大程度上满足了这样一个需求。Mooder的核心理念的“贡献知识“,是我最认可的地方,系统简约、强大,以及它的邀请码机制、奖励机制,一句话来说,就是很wooyun的样子。

 

0x01 源码安装

  Mooder是一款开源、安全、简洁、强大的团队内部知识分享平台。

  github地址:https://github.com/phith0n/mooder.git

  源码安装说明:https://phith0n.github.io/mooder/install/install-from-source/

  基本上参考源码安装说明安装即可,后面重点说一下部署,生产环境下不建议直接使用Django自带的Webserver,之前没部署过Django,其实也不难,但就是折腾了两天才搞定。。

使用Django自带的Webserver试运行一下:

sudo python ./manage.py runserver 0.0.0.0:80
#以上命令会将mooder运行在80端口。

0x02 使用nginx+uwsgi部署

1、uwsgi安装

sudo apt-get install python3-dev

sudo pip  install uwsgi

测试uwsgi,创建test.py文件:

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"]

通过uwsgi运行该文件

sudo uwsgi --http :8000 --wsgi-file test.py

这时候,可以通过这条命令来试运行mooder项目:

sudo uwsgi --http :8090 --chdir /mooder  --module mooder.wsgi

另外也可以通过配置文件来运行,创建myweb_uwsgi.ini配置文件:

[uwsgi]
socket = :8022
chdir = /mooder
module = mooder.wsgi
master = true
processes = 4
vacuum = true

sudo uwsgi --ini myweb_uwsgi.ini  #启动uwsgi

2、nginx安装部署

sudo apt-get install nginx #安装
sudo service nginx start #启动

修改nginx.conf,这边的代理端口与上面配置文件要一致。
server {
    listen         80; 
    server_name    127.0.0.1 
    charset UTF-8;
    access_log      /var/log/nginx/myweb_access.log;
    error_log       /var/log/nginx/myweb_error.log;

    client_max_body_size 75M;

    location / { 
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:8022;
        uwsgi_read_timeout 2;
    }   
    location /static {
        expires 30d;
        autoindex on; 
        add_header Cache-Control private;
        alias /mooder/mooder/static_cdn/;
     }
 }

3、部署完成 

  sudo service nginx restart #重启nginx

查看后台管理

0x03 END

  团队贡献平台搭建起来,运行和维护就很简单了,但最重要的是运营,如何能够凝聚每一个团队成员,营造一个良好的技术氛围,一个良好的氛围是培养人才最好的土壤,这才是值得思考的问题。

 

参考链接:通过Nginx部署Django(基于ubuntu)   https://www.cnblogs.com/fnng/p/5268633.html

目录
相关文章
|
Cloud Native Linux Go
如何从开源项目中受益?
如何从开源项目中受益?
76 0
|
8月前
|
程序员 项目管理 开发工具
gitt开源项目的意义,公司为什么会对在gitt上有开源项目的人更大机会
gitt开源项目的意义,公司为什么会对在gitt上有开源项目的人更大机会
95 0
|
Linux 持续交付 开发者
开源项目的社区建设与管理
开源项目的社区建设与管理
281 0
开源项目的社区建设与管理
|
机器学习/深度学习 人工智能 达摩院
隐语开源社区「2022年度开源报告」
隐语开源社区「2022年度开源报告」
401 1
|
开发者
开发者投身开源项目的能够获得什么?
作为开发者,编程不仅是工作和饭碗,也是兴趣爱好的体现。虽然说有一部分是为了生活才选择了编程开发,但是大部分开发者是因为兴趣和爱好才加入编程队伍中的。不知不觉IT互联网行业已经发展了二十多年,基于开源的软件及应用也是有了快速的发展,越来越多的开发者投入到了开源项目的贡献中来,这让开发者和开源项目建立了很好的连接。
392 1
开发者投身开源项目的能够获得什么?
|
Apache 开发者
成功打造一个开源软件的秘诀在于开源社区
成功打造一个开源软件的秘诀在于开源社区
204 0
|
消息中间件 Kubernetes Oracle
2022 年之后的开源愿景
  在开源领域工作了十多年之后,经历了从初创公司到世界上最大的开源公司,并推出了我的开源项目资助平台,我终于有了一个想法。“开源”一词并不足以涵盖现代开放软件所有可感知的价值,开源需要一个更广阔的视野,以及一个支持开放治理和开放资金的基础设施。   在过去,开源的价值在于源代码,我们可以从自由软件的自由度和开源定义的发布标准中感知到这一点。但现在情况不一样了。现如今,开源产品的生产速度很快,但腐烂和过时的速度更快。除了源代码提供的价值之外,开源项目还有其他重要的特征。开源的价值在于项目被采用,有时候一个项目会成为某种技术事实上的标准(比如用于消息传递的 Apache Kafka)。开源的价值
249 0
|
消息中间件 运维 前端开发
做一个优秀的开源项目,需要注意哪些方面?
如果你想发布一个开源库,请确保它有以下特点: 清晰的依赖性和安装说明 至少有一个简要的文档指南 修改日志和仓库中的标签 关于支持的语言、运行时、工具版本的信息和项目的成熟度 一个可以让用户提问和交流的邮件列表 缺少任何一项都会造成一些用户的愤怒和沮丧,当然同时也浪费了时间。
367 0
|
运维 数据可视化 Cloud Native
阿里巴巴专家教你如何在家安全高效开发软件
为响应国家号召,各“大厂”纷纷发出在家办公,延迟上班的通知,一时间“在线协同办公”成为热点。不同于大型集团公司,有足够财力和能力构建远程办公系统,中小企业既缺乏足够的预算又缺乏相应的经验。阿里云云效一直致力于成为数字企业的研发效能引擎,在这个特殊时期,我们希望可以将自己的经验和工具分享给中小企业,让他们在家也能安全高效地开发软件。
阿里巴巴专家教你如何在家安全高效开发软件
|
编解码 Apache 项目管理
揭秘!开源软件背后的神秘组织
Flink 社区将分享“走进 ASF”系列内容,先从宏观介绍 ASF 是如何运作的,然后详细解说如何参与 Apache 具体项目做贡献,如何成为某个项目的 Committer、PMC 成员,如何选择多个 Apache 项目进行多领域贡献并成为 ASF Member 等,希望有助于你真正了解开源、参与开源。