Deploy Dokuwiki to localhost
Docker 部署
- 保存挂载在外的volumes,来实现数据的保存、迁移和快速部署。
- 建议使用portainer,十分不建议使用
docker-compose的命令行命令。除非利用root用户执行docker-compose up -d,不然会有文件权限问题。各种问题,软件版本问题等,十分折磨。
1 | # docker-compose.yml |
Ubuntu下安装
测试机器 icarus0 http://222.195.72.221/
使用Nginx替换Apache
1 | # Ubuntu/Debian: |
简单修改配置文件/etc/nginx/nginx.conf:
- 在html块加上
root /var/www/html;, - 然后修改
/var/www/html/index.html,来check是否能内网80端口访问。
安装php in Nginx
1 | sudo apt-get install php-fpm php-cli php-mbstring php-xml php-gd |
不同于apache2[^2],你还需要在sudo vim /etc/nginx/sites-enabled/default的server块里开启对应代码
1 | server{ |
下载dokuwiki
安装包十分的小(3.3MB),
1 | # powershell |
配置dokuwiki网页
修改文件 sudo vim /etc/nginx/sites-enabled/default
1 | server { |
- 测试
sudo nginx -t - 重启
sudo systemctl restart nginx
安装dokuwiki in Web
- 安装并配置好
nginx和php之后,应该能顺利打开网页端的http://222.195.72.221/install.php - 并配置
enable acl(Access control)并设置close wiki - And delete the
install.phpfile.
至此,安装完成,http://222.195.72.221/doku.php。
插件安装
最终修改conf/dokuwiki.php里的proxy相关host和port即可。
插件手动安装
gitbacked Plugin 同步修改和资料
安装:
管理->扩展管理器->搜索安装为了之后在线修改网页内容,能及时同步到git仓库,修改
conf/local.php, 添加1
2$conf['datadir'] = './data/gitrepo/wiki/pages';
$conf['mediadir'] = './data/gitrepo/wiki/media';
- 配置gitbacked Plugin插件相关选项
管理->配置管理器下repoPathto./data/gitrepo, 并保存- 勾选
pushAfterCommit, 并保存。
- 配置git仓库
- 保证容器里git 命令正常运行(attach bash 测试)
- 由于dokuwiki使用的是
www-data用户,为了能访问仓库,需要在/var/www/下配置.ssh的相关公私钥(如果是docker,要在docker里),并添加到github账户。 www-data没有terminal, 使用其他用户clone到./data/gitrepo。然后修改所属chown www-data:www-data -R gitrepo
1 | root@f46a6515abeb:/var/www# mkdir .ssh |
测试: 之后每次修改保存时,都会触发修改。
参考文献
[^2]: dukuwiki in apache2
[^3]: DokuWiki Setup Error
Deploy Dokuwiki to localhost
http://icarus.shaojiemike.top/2023/11/11/OutOfWork/3-homepage/deployment/mediawiki2local/