![通过命令行使用 ikiwiki:工作流程和权限问题](https://linux22.com/image/116900/%E9%80%9A%E8%BF%87%E5%91%BD%E4%BB%A4%E8%A1%8C%E4%BD%BF%E7%94%A8%20ikiwiki%EF%BC%9A%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B%E5%92%8C%E6%9D%83%E9%99%90%E9%97%AE%E9%A2%98.png)
我仅在本地笔记本电脑上使用 ikiwiki 作为个人笔记(html 页面位于~/public_html/mywiki
),现在我尝试使用 emacs 编辑它并从命令行推送。
我对此有一些疑问:
- 以下工作流程是否正确:
cd ~/mywiki
编辑并~/mypage.mdwm
保存emacs
git add ~/mypage.mdwm
git commit -m "mypage edit"
git push
由于我有时也想从网络界面对其进行编辑,因此我对其进行了测试,并注意到似乎不需要在编辑之前进行拉取。如果我从网络界面保存编辑,目录~/mywiki
会神奇地更新,而无需使用git pull
.
到目前为止这是正确的还是有更好的工作流程?
- 从网络界面编辑并保存页面后,它会以 root 权限保存,
~/mywiki
如何让 ikiwiki 以我的用户名作为组和所有者保存所有内容?
答案1
广告问题1:
这似乎是正确的。如果您设置git_wrapper
为git_wrapper: /home/user/mywiki/.git/hooks/post-commit
(而不是git_wrapper: /home/user/mywiki.git/hooks/post-update
您不需要推送步骤。
您还可以考虑您的 wiki 的另一个工作克隆。但只要您有一个用户设置,并且您不同时通过 Web 界面和编辑器进行编辑,那么scrdir
按照您所描述的方式在内部工作应该没问题。另请参阅这个问题:如果我想在本地提交,为什么 ikiwiki 需要 3 个 git 存储库)
广告问题2:
我不太确定问题来自哪里,也许您在安装过程中确实运行ikiwiki
过sudo
。我建议采取以下措施来修复它:
确保它
public_html
归您所有 (sudo chmod myuser:myuser ~/public_html
)通过克隆重置 wiki:
- 克隆裸存储库:(
git clone --bare ~/mywiki.git ~/newiki.git
即使 中的文件由中的文件mywiki.git
拥有)root
~/newiki.git
myuser
cp ~/mywiki.git/config ~/newiki.git/config
- 制作新的
srcdir
:(git clone ~/newiki.git ~/newiki
将~/newiki
是你的新的srcdir
)
- 克隆裸存储库:(
制作新的配置文件:
cp ~/mywiki.setup ~/newiki.setup
并重命名所有出现mywiki
的newiki
.然后运行(无需 sudo):
ikiwiki --setup newiki.setup --getctime
在浏览器中测试:
127.0.0.1/~myuser/newiki
如果一切正常,您可以(备份后)删除mywiki
并重命名newiki
为(mywiki
如果您愿意)。