“生命不息,折腾不止”

用DokuWiki在华为云服务器上搭建网站的折腾记录

引子
2024年龙年新年,在朋友Adman Turner的介绍下了解到了DokuWiki这个工具,DokuWiki页面简洁,有详细的文档支持,且无需数据库,网站目录和页面以文件夹和TXT文档储存,方便保存和管理,是搭建知识库网站很好的选择。


如果你只是想简单地在本地运行DokuWiki,或者想研究网站服务器知识,最简单的办法是下载一个包含DokuWiki,PHP和一个微型服务器的整合包,只需要勾选 “Include Web-Server”下面的选项。 这个版本可以在便携设备上使用,比如U盘。


同样你也可以自己部署一个本地环境:

  1. 下载安装 XAMPP,建议选择包含7版本PHP的整合包。(软件会提示不建议安装在系统盘,你可以选择其他安装路径,例如D:\xampp\)
  2. 下载DokuWiki
  3. 解压文件包
  4. 将解压后的文件复制到D:\xampp\htdocs\下,例如D:\xampp\htdocs\dokuwiki\
  5. 在Xampp控制面板打开Apache服务

你所创建的网站内容都会保存在如下路径D:\xampp\htdocs\dokuwiki\data\pages\


如果不想局限于局域网访问,你可以在方式二的基础上,利用ngrok将本地部署的DokuWiki映射到公网上,这样你就可以随时随地访问你的DokuWiki网站。


  1. 登陆ngrokdashboard控制面板后,在Setup&Installtion里下载适合你平台的软件包。
  2. 在本地终端运行以下代码,把你的authtoken添加到配置文件中:
    ngrok config add-authtoken xxxx你的authtoken xxxx
  3. 根据你设置的DokuWiki的端口,在终端运行以下代码开始映射:
    ngrok http http://localhost:你的端口
  4. 开始映射后,你可以在Endponts中看到公网域名。

每进行一次映射,你都会得到一个不同的公网地址域名,这很不方便。ngrok对免费用户提供了一个固定域名。


目前市面上可供选择的云服务器有很多,如需个人学习使用,配置选择1核CPU2G内存就已足够(后期可在控制台选择降级为1核CPU1G内存)。


你可以通过IP地址访问你的服务器,也可以购买一个域名,解析到服务器IP,通过域名进行访问。


在国内平台购买的域名可能无法直接解析你的服务器,你会看到一个阻拦页面。此时你需要先在服务器提供商/域名提供商申请备案,提供商初审通过后,再交由工信部审核,前后大约10-20天左右。


如果你是新手,可以用宝塔进行环境部署。 以Centos7系统为例,

  1. 用SSH连接你的服务器,输入以下脚本代码:
    yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
  2. 宝塔安装完成后,会显示面板地址和用户名/用户密码等信息,注意复制保存。
  3. 在浏览器中输入上一步面板地址,登陆后面板会自动向你推送环境部署的对话框。注意:如果需要安装DokuWiki,请选择PHP7的版本,而不是更高版本,否则一些插件会报错。

以宝塔为例,在面板选择“网站”——“添加站点”,填入你网站的信息。此时网站地址,可能无法正常访问,需要你在“高级设置”——“默认站点”下选择你的网站目录,重新打开网址就可以访问了。


你可以在云服务器提供商/域名提供商购买SSL证书。如果你是个人网站,建议申请Digicert DV(Basic) 单域名证书,有效期三个月,费用免费,并且签发过程很快。以华为云服务为例,申请SSL证书后进行DNS验证后即可签发。

以宝塔面板为例,在创建网站之后,点击SSL证书下的“未部署”,粘贴你证书的*.key以及*.pem/*.crt内容,然后保存即可。


如果你在安装SSL证书过程中,打开了强制HTTPS访问,结果无法打开网页或者宝塔面板,可以清除你浏览器的HSTS设置来进行临时访问:

  1. Chrome浏览器:在地址栏输入
    chrome://net-internals/#hsts

    在“Delete domain”的输入框中输入域名,点击“Delete”按钮。

  2. Edge浏览器:在地址栏输入
    edge://net-internals/#hsts

    在“Delete domain”的输入框中输入域名,点击“Delete”按钮。


初次安装DokuWiki之后,你在管理页面可能会看到如下警告: 看起来你的数据集不太安全。 请参考以下链接Web Access Security in DokuWiki

解决办法:通过修改Apache/IIS/Nginx的配置文件,更改网站目录/文件的读取权限。 以宝塔为例,本站使用的是Nginx,配置文件在/www/server/panel/vhost/nginx下的*.conf,将*.conf中原来的

location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }

更改为

location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md|data|conf|bin|inc|vendor)
    {
        return 404;
    }

即可


IndexMenu Plugin

使用方法

  1. 安装插件IndexMenu Plugin
  2. 编辑sidebar页面:在编辑页面工具栏最右侧点击Insert the Indexmenu tree
  3. 如需自定义文件夹样式,需要在DokuWiki设置-功能标志中,取消defer_js勾选。
  4. 如果你希望可以自定义命名空间和页面的排序,在上述第二步中务必选择msort和nsort。然后在你想要排序的页面/或者目录的headpage中插入如下代码
    {{indexmenu_n>1}}

    1表示排在序列第一位,你可以根据需要进行更改。

  5. 隐藏不需要显示的命名空间(playground和wiki)和页面(sidebar和start):
    1. 在配置设置——Indexmenu——plugin»indexmenu»skip_index设置中填入:
      /(playground|wiki)/
    2. 在配置设置——Indexmenu——plugin»indexmenu»skip_file设置中填入:
      /(sidebar|start)/

BlogTNG Plugin

用Dokuwiki写博客

使用方法

  1. 安装插件BlogTNG Plugin
  2. 安装必要插件

“这里挖个坑,之后会出一篇博客介绍BlogTng插件的使用”


Dokuwiki默认的URl格式看起来杂乱,你可以通过重写来获得更简洁的URL。

Q T I L W
  • blog/建站记录.txt
  • 最后更改: 2024/05/03 22:40
  • hao