这是本文档旧的修订版!
目录
本站的Dokuwiki设置
本文是该wiki的安装配置说明,Dokuwiki主页有详细的manual,这里只简要列出处理步骤。
当前操作系统是Ubuntu 20.04,Web服务器为Apache 2.4,Dokuwiki版本为2018-04-22c “Greebo”。
升级说明 2021-11-19
由于CentOS 8即将结束支持,故将操作系统更换为Ubuntu 20.04,所以重新进行了安装配置。
安装Apache和PHP
aptitude install apache2 aptitude install php7.4 php7.4-gd php7.4-mbstring php7.4-xml
数据恢复
将原来网站的文件从旧服务器复制到新机器的/var/www/html目录下。
设置权限:
cd /var/www/ chown -R root:root html chown -R www-data:www-data html/wiki
配置Apache
编辑/etc/apache2/sites-enabled/000-default.conf,添加:
<VirtualHost *:80> ServerName gwduan.com ServerAlias www.gwduan.com <Directory /var/www/html/wiki> Order deny,allow Allow from all </Directory> <LocationMatch "/wiki/(data|conf|bin|inc)/"> Order allow,deny Deny from all Satisfy All </LocationMatch> </VirtualHost>
启用https
这里使用Let's Encrypt提供的免费证书。
首先安装certbot工具:
aptitude install certbot
生成证书:
systemctl stop apache2
certbot certonly --standalone
根据提示为域名gwduan.com和www.gwduan.com申请证书。
启用mod_ssl:
a2enmod ssl a2ensite default-ssl
编辑/etc/apache2/sites-enabled/default-ssl.conf,添加:
SSLCertificateFile /etc/letsencrypt/live/gwduan.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/gwduan.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/gwduan.com/fullchain.pem <Directory /var/www/html/wiki> Order deny,allow Allow from all </Directory> <LocationMatch "/wiki/(data|conf|bin|inc)/"> Order allow,deny Deny from all Satisfy All </LocationMatch>
编辑/etc/apache2/sites-enabled/000-default.conf,定向到https:
<VirtualHost *:80> ... Redirect permanent / https://www.gwduan.com/ </VirtualHost>
升级说明 2019-07-13
由于更换了服务器,操作系统升级为CentOS 7,所以重新进行了安装配置。相应的升级到Apache 2.4和php 7.2,Dokuwiki版本升级到2018-04-22b “Greebo”。
安装Apache和PHP
启用scl源:
yum install centos-release-scl
安装Apache和PHP:
yum install httpd24 yum install rh-php72 rh-php72-php rh-php72-php-gd \ rh-php72-php-mbstring rh-php72-php-xml
启用服务:
systemctl enable httpd24-httpd
systemctl start httpd24-httpd
数据恢复
将原来网站的文件从旧服务器复制到新机器的/opt/rh/httpd24/root/var/www/html目录下。
设置权限:
cd /opt/rh/httpd24/root/var/www/ chown -R root:root html chown -R apache:apache html/wiki
配置Apache
编辑/opt/rh/httpd24/root/etc/httpd/conf/httpd.conf,添加:
<Directory /opt/rh/httpd24/root/var/www/html/wiki> Order deny,allow Allow from all </Directory> <LocationMatch "/wiki/(data|conf|bin|inc)/"> Order allow,deny Deny from all Satisfy All </LocationMatch> <VirtualHost *:80> DocumentRoot "/opt/rh/httpd24/root/var/www/html" ServerName gwduan.com ServerAlias www.gwduan.com </VirtualHost>
升级Dokuwiki
升级到2018-04-22b “Greebo”:
tar xzvf dokuwiki-8a269cc015a64b40e4c918699f1e1142.tgz 'cp' -af dokuwiki/* wiki/
设置权限:
chown -R apache:apache wiki/ chmod -R o-rwx wiki/
Plugin插件升级
在扩展管理器里更新各个插件。
启用https
这里使用Let's Encrypt提供的免费证书。
首先安装certbot工具(需要EPEL源):
yum install certbot
由于Apache没有安装在标准位置上,所以不使用certbot的Apache插件,而只是生成证书:
systemctl stop httpd24-httpd
certbot certonly --standalone
根据提示为域名gwduan.com和www.gwduan.com申请证书。
安装mod_ssl:
yum install httpd24-mod_ssl
编辑/opt/rh/httpd24/root/etc/httpd/conf.d/ssl.conf,设置:
SSLCertificateFile /etc/letsencrypt/live/gwduan.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/gwduan.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/gwduan.com/fullchain.pem
编辑/opt/rh/httpd24/root/etc/httpd/conf/httpd.conf,定向到https:
<VirtualHost *:80> ... Redirect permanent / https://www.gwduan.com/ </VirtualHost>
编辑/etc/crontab,增加自动更新证书的任务:
0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew --pre-hook 'systemctl stop httpd24-httpd' --post-hook 'systemctl start httpd24-httpd' >> /var/log/certbot.log 2>&1
升级说明 2017-09-10
操作系统依旧基于CentOS 6,Web服务器升级为Apache 2.4,Dokuwiki版本升级为2017-02-19e “Frusterick Manners”。
升级Apache和PHP
新的Dokuwiki要求PHP 5.6以上,所以需要先升级Apache和PHP。
启用scl源:
yum install centos-release-scl
安装新版本的Apache和PHP:
yum install httpd24 yum install rh-php56 rh-php56-php
启用新服务:
chkconfig httpd off chkconfig httpd24-httpd on
Apache配置调整
新的Apache目录发生了改变,所以需要做相应调整。
编辑/opt/rh/httpd24/root/etc/httpd/conf/httpd.conf,添加:
<Directory /opt/rh/httpd24/root/var/www/html/wiki> Order deny,allow Allow from all </Directory> <LocationMatch "/wiki/(data|conf|bin|inc)/"> Order allow,deny Deny from all Satisfy All </LocationMatch>
Dokuwiki升级
首先将原来的wiki文件复制到新位置:
cd /opt/rh/httpd24/root/var/www/html cp -pr /var/www/html/* .
由于间隔了多个版本,需要依次升级。
升级到2015-08-10a “Detritus”:
tar xzvf dokuwiki-2015-08-10.tgz 'cp' -af dokuwiki-2015-08-10/* wiki/
升级到2016-06-26e “Elenor of Tsort”:
tar xzvf dokuwiki-2016-06-26.tgz 'cp' -af dokuwiki-2016-06-26/* wiki/
升级到2017-02-19e “Frusterick Manners”:
tar xzvf dokuwiki-2017-02-19.tgz 'cp' -af dokuwiki-2017-02-19/* wiki/
最后调整权限:
chown -R apache:apache wiki/ chmod -R o-rwx wiki/
Plugin插件升级
在扩展管理器里更新各个插件。
初始安装
操作系统基于CentOS 6,Web服务器为Apache 2.2,Dokuwiki版本为2014-05-05a “Ponder Stibbons”。
web服务器配置
为了安全性,对Dokuwiki的几个关键目录进行设置。
在/etc/httpd/conf/httpd.conf末尾添加:
<Directory /var/www/html/wiki> Order deny,allow Allow from all </Directory> <LocationMatch "/wiki/(data|conf|bin|inc)/"> Order allow,deny Deny from all Satisfy All </LocationMatch>
有关Dokuwiki安全方面的详细说明,可参阅http://www.dokuwiki.org/security。
Dokuwiki安装
解包
wiki程序安装在web服务器目录/var/www/html下,并将文件权限归属为web服务器进程用户(apache):
cd /var/www/html tar xzf dokuwiki-*.tgz mv dokuwiki wiki chown -R apache:apache wiki/ chmod -R o-rwx wiki/
有关Dokuwiki权限方面的详细说明,可参阅http://www.dokuwiki.org/install:permissions。
初始配置
通过浏览器运行install.php,进行初始配置,包括设置语言、wiki名称、管理员帐户、wiki类型、license等。
完毕以管理员帐户登录,添加一个日常应用的普通帐户;设置目录权限为0750,文件权限为0640;由于是个人wiki,关闭注册功能。
Template模板设置
有关模板的详细说明,可参阅http://www.dokuwiki.org/Template。
这里直接使用缺省的模板。
Plugin插件设置
Dokuwiki提供了丰富的插件,有关插件的详细说明,可参阅http://www.dokuwiki.org/plugins。
插件通过扩展管理器直接安装。
安装完毕,若插件没有效果,则更新下缓存:
touch /var/www/html/wiki/conf/local.php
有关缓存问题的详细说明在:http://www.dokuwiki.org/devel:caching#purging_the_cache。
目前使用的插件:
- Pagelist, http://www.dokuwiki.org/plugin:pagelist
- Table Width, http://www.dokuwiki.org/plugin:tablewidth