打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在Archlinux上部署gitit Wiki
最近将blog更换成支持markdown的octopress后,又继续将wiki也一并更换了。原因很简单,dokuwiki对markdown支持的不好,我也懒得在一堆Lightweight markup language语法中切换了(markdown,dokuwiki,moinmoin),索性将一切markdown化。
开始时寻找了一堆dokuwiki的替代方案,evernote没代码高亮,不支持markdown,国内的服务可以直接无视,于是期间wiki就中断了,后来在zzy师兄(zzz的好基友!)的推荐下尝试了gitit,大有相见恨晚之意!总的来说他有如下优点:
支持markdown
没有数据库
可以利用git进行离线管理
haskell写的wiki,折腾起来会比较有意思
然后我就在我Linode的vps上开始折腾了,linux的发行版是archlinux,我在后面的讲述中会尽量让适用情况变得generic。
准备
gitit需要自己编译安装,如果你的vps撑不住,可以在本地编译后scp到服务器上。
首先安装ghc和cabal-install
12yaourt -S ghc abal-install # Archlinuxsudo apt-get install ghc abal-install # Ubuntu
更新源,开始编译安装
123cabal updatecabal install pandoc -fhighlightingcabal install gitit
编译过程中会出现各种蛋疼问题,一般重新编译一下就就没问题了(我在vps上出现过,可能是文件io限制引起的吧),千万不要用aur源里面的安装,依赖问题会让你蛋碎的!
搭建
新建一个名为gitit的目录,在里面执行gitit &就可以让wiki开始工作了,利用服务器的ip+5001端口就可以访问到wiki了。
但是更好的方法是利用配置文件,很多不错的功能只能通过配置文件来定制。先在终端用gitit --print-default-config > gitit.conf输出默认的配置文件,然后开始修改配置:
123456789101112131415161718wiki-title: Maple's Wiki# the title of the wiki. require-authentication: modify# if 'none', login is never required, and pages can be edited anonymously. # if 'modify', login is required to modify the wiki (edit, add, delete # pages, upload files). # if 'read', login is required to see any wiki pages. access-question: What's my name?access-question-answers: Maple# specifies a question that users must answer when they attempt to create# an account, along with a comma-separated list of acceptable answers.# This can be used to institute a rudimentary password for signing up as# a user on the wiki, or as an alternative to reCAPTCHA.# Example:# access-question: What is the code given to you by Ms. X?# access-question-answers: RED DOG, red dog
第一处修改wiki的标题,第二处更改wiki的类型,公开的/注册才可以编辑的或者是其他。 第三处是知道你问题的答案才可以注册,这样就可以让别人不能随意注册了。
然后gitit -f gitit.conf就可以按照配置文件来运行我们的wiki了。
绑定域名
如果想要绑定自己的域名可以用nginx做一个反向代理,配置的方法十分简单:
1234567891011# gitit wikiserver{ listen 80; server_name wiki.lovemaple.info; location / { proxy_redirect off; proxy_pass http://localhost:5001; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}
使用git进行离线管理
这里只需要将你远程的vps中gitit的wikidata文件夹添加到本地repo的remote address既可,方法如下:
123456789101112# 为gitit在本地创建新的文件夹mkdir gititcd gitit# 为gitit创建新的git repogit init# 添加名为gitit的远程仓库git remote add gitit maple@lovemaple.info:~/gitit/wikidata# 从远程仓库中拉取文件到本地git pull gitit master:master
基本工作已经ok,域名绑定,离线管理,在线编辑的功能都有了。Enjoy it!
我的下一步工作是针对gitit的wiki修改一个主题,因为自带的太难看了,代码和正文完全无法区分,暂时打算继续使用bootstrap。
参考
gitit readme
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Markdown写作进阶:Pandoc入门浅谈 ← 阳志平的个人网站::技术
超级强大的vim配置(vimplus)
gollum笔记
你会用gitlab的wiki了吗
markdown + git 最适合程序员的wiki系统 · Example Code
用这样的 Vi 配置来保存和组织你的笔记
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服