响水凹

欢迎来到 Guang-Wen Duan (Dennis Duan) 的个人 Wiki

用户工具

站点工具


wiki_settings

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
wiki_settings [2017/09/10 02:01] duangwwiki_settings [2024/08/19 08:47] (当前版本) duangw
行 1: 行 1:
-====== 本站的dokuwiki设置 ======+====== 本站的Dokuwiki设置 ======
  
-本文是该wiki的安装配置说明,[[http://www.dokuwiki.org|dokuwiki主页]]有详细的manual,这里只简要列出处理步骤。+本文是该wiki的安装配置说明,[[http://www.dokuwiki.org|Dokuwiki主页]]有详细的manual,这里只简要列出处理步骤。
  
-操作系统基于[[http://www.centos.org/|CentOS 6]],Web服务器为[[http://www.apache.org|Apache]],dokuwiki版本为2014-05-05a "Ponder Stibbons"。+当前操作系统是[[https://ubuntu.com/|Ubuntu 24.04]],Web服务器为[[https://nginx.org/|Nginx 1.26]],Dokuwiki版本为2024-02-06b "Kaos"。 
 + 
 +===== 升级说明 2024-08-19 ===== 
 + 
 +操作系统升级到[[https://ubuntu.com/|Ubuntu 24.04]],Web服务器更换为[[https://nginx.org/|Nginx]],故重新进行了安装配置。 
 + 
 +==== 安装Nginx和PHP ==== 
 + 
 +<code bash> 
 +aptitude install nginx 
 +aptitude install php8.3-fpm 
 +aptitude install php8.3-gd php8.3-mbstring php8.3-xml 
 +</code> 
 + 
 +==== 数据恢复 ==== 
 + 
 +将原来网站的文件从旧服务器复制到新机器的/var/www/www.gwduan.com目录下。 
 + 
 +设置权限: 
 +<code bash> 
 +cd /var/www/ 
 +chown -R root:root www.gwduan.com 
 +chown -R www-data:www-data www.gwduan.com/wiki 
 +</code> 
 + 
 +==== 配置Nginx ==== 
 + 
 +参照/etc/nginx/sites-available/default,新建一个配置文件/etc/nginx/sites-available/www.gwduan.com。 
 + 
 +在index列表里添加index.php: 
 +<code> 
 +        index index.html index.htm index.nginx-debian.html index.php; 
 +</code> 
 + 
 +打开php支持: 
 +<code> 
 +        location ~ \.php$ { 
 +                include snippets/fastcgi-php.conf; 
 +                fastcgi_pass unix:/run/php/php8.3-fpm.sock; 
 +        } 
 +</code> 
 + 
 +禁止所有的.htaccess文件: 
 +<code> 
 +        location ~ /\.ht { 
 +                deny all; 
 +        } 
 +</code> 
 + 
 +设置根目录和域名: 
 +<code> 
 +        root /var/www/www.gwduan.com; 
 +        server_name gwduan.com www.gwduan.com; 
 +</code> 
 + 
 +在server_name下面,添加dokuwiki的目录保护: 
 +<code> 
 +        location ~ /wiki/(conf/|bin/|inc/|vendor/|install.php) { 
 +                deny all; 
 +        } 
 + 
 +        location ~ /wiki/data/ { 
 +                internal; 
 +        } 
 +</code> 
 + 
 +设置https参数: 
 +<code> 
 +        listen 443 ssl; 
 +        listen [::]:443; 
 + 
 +        ssl_certificate       /ssl/www.gwduan.com.crt; 
 +        ssl_certificate_key   /ssl/www.gwduan.com.key; 
 +</code> 
 + 
 +将所有的http流量到定向到https: 
 +<code> 
 +server { 
 +        listen 80; 
 +        listen [::]:80; 
 + 
 +        server_name gwduan.com www.gwduan.com; 
 + 
 +        return 301 https://$http_host$request_uri; 
 +
 +</code> 
 + 
 +==== 申请证书 ==== 
 + 
 +这里使用[[https://github.com/acmesh-official/acme.sh|acme.sh]]来简化证书的安装配置。 
 + 
 +安装acme.sh: 
 +<code> 
 +curl https://get.acme.sh | sh -s email=gwduan@gwduan.com 
 +</code> 
 + 
 +申请证书: 
 +<code> 
 +acme.sh --set-default-ca --server letsencrypt 
 +acme.sh --issue -d gwduan.com -d www.gwduan.com -w /var/www/html 
 +</code> 
 + 
 +安装证书到/ssl目录下: 
 +<code> 
 +mkdir /ssl 
 +acme.sh --install-cert -d gwduan.com -d www.gwduan.com \ 
 +   --key-file       /ssl/www.gwduan.com.key \ 
 +   --fullchain-file /ssl/www.gwduan.com.crt \ 
 +   --reloadcmd      "service nginx force-reload" 
 +</code> 
 + 
 +==== 启动Nginx ==== 
 + 
 +配置完毕,检测是否正确: 
 +<code> 
 +cd /etc/nginx/site-enabled 
 +ln -s /etc/nginx/site-available/www.gwduan.com 
 +nginx -t 
 +</code> 
 + 
 +一切无误,重启Nginx: 
 +<code> 
 +systemctl restart nginx 
 +</code> 
 + 
 +==== 升级Dokuwiki ==== 
 + 
 +下载安装包,当前最新版本是2024-02-06b "Kaos": 
 +<code bash> 
 +tar xzvf dokuwiki-a6b3119b5d16cfdee29a855275c5759f.tgz 
 +'cp' -af dokuwiki/* /var/www/www.gwduan.com/wiki/ 
 +</code> 
 + 
 +完毕调整权限: 
 +<code bash> 
 +chown -R www-data:www-data /var/www/www.gwduan.com/wiki/ 
 +</code> 
 + 
 +在扩展管理器里更新插件。 
 + 
 +目前使用的插件: 
 +  * Note, [[http://www.dokuwiki.org/plugin:note]] 
 +  * Tag, [[http://www.dokuwiki.org/plugin:tag]] 
 +  * Cloud, [[http://www.dokuwiki.org/plugin:cloud]] 
 +  * Pagelist, [[http://www.dokuwiki.org/plugin:pagelist]] 
 +  * Table Width, [[http://www.dokuwiki.org/plugin:tablewidth]] 
 + 
 +===== 升级说明 2023-10-21 ===== 
 + 
 +==== Dokuwiki升级 ==== 
 + 
 +本次升级间隔了多个版本,需要依次进行。 
 + 
 +升级到2020-07-29a "Hogfather": 
 +<code bash> 
 +tar xzvf dokuwiki-2020-07-29a.tgz 
 +'cp' -af dokuwiki-2020-07-29a/* /var/www/html/wiki/ 
 +</code> 
 + 
 +升级到2022-07-31b "Igor": 
 +<code bash> 
 +tar xzvf dokuwiki-2022-07-31b.tgz 
 +'cp' -af dokuwiki-2022-07-31b/* /var/www/html/wiki/ 
 +</code> 
 + 
 +升级到2023-04-04a "Jack Jackrum": 
 +<code bash> 
 +tar xzvf dokuwiki-2023-04-04a.tgz 
 +'cp' -af dokuwiki-2023-04-04a/* /var/www/html/wiki/ 
 +</code> 
 + 
 +完毕调整权限: 
 +<code bash> 
 +chown -R www-data:www-data /var/www/html/wiki 
 +</code> 
 + 
 +==== 删除code插件 ==== 
 + 
 +此时打不开主页,原因是[[http://www.dokuwiki.org/plugin:code2|code]]插件不兼容了,需要手工删除它: 
 +<code bash> 
 +cd /var/www/html/wiki/lib/plugins 
 +rm -rf code 
 +</code> 
 + 
 +==== 升级其他插件 ==== 
 + 
 +在扩展管理器里更新插件。 
 + 
 +目前使用的插件: 
 +  * Note, [[http://www.dokuwiki.org/plugin:note]] 
 +  * Tag, [[http://www.dokuwiki.org/plugin:tag]] 
 +  * Cloud, [[http://www.dokuwiki.org/plugin:cloud]] 
 +  * Pagelist, [[http://www.dokuwiki.org/plugin:pagelist]] 
 +  * Table Width, [[http://www.dokuwiki.org/plugin:tablewidth]] 
 + 
 +===== 升级说明 2021-11-19 ===== 
 + 
 +由于[[http://www.centos.org/|CentOS 8]]即将结束支持,故将操作系统更换为[[https://ubuntu.com/|Ubuntu 20.04]],所以重新进行了安装配置。 
 + 
 +==== 安装Apache和PHP ==== 
 + 
 +<code bash> 
 +aptitude install apache2 
 +aptitude install php7.4 php7.4-gd php7.4-mbstring php7.4-xml 
 +</code> 
 + 
 +==== 数据恢复 ==== 
 + 
 +将原来网站的文件从旧服务器复制到新机器的/var/www/html目录下。 
 + 
 +设置权限: 
 +<code bash> 
 +cd /var/www/ 
 +chown -R root:root html 
 +chown -R www-data:www-data html/wiki 
 +</code> 
 + 
 +==== 配置Apache ==== 
 + 
 +编辑/etc/apache2/sites-enabled/000-default.conf,添加: 
 +<code apache> 
 +<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> 
 +</code> 
 + 
 +==== 启用https ==== 
 + 
 +这里使用[[https://letsencrypt.org/|Let's Encrypt]]提供的免费证书。 
 + 
 +首先安装certbot工具: 
 +<code bash> 
 +aptitude install certbot 
 +</code> 
 + 
 +生成证书: 
 +<code bash> 
 +systemctl stop apache2 
 +certbot certonly --standalone 
 +</code> 
 + 
 +根据提示为域名gwduan.com和www.gwduan.com申请证书。 
 + 
 +启用mod_ssl: 
 +<code bash> 
 +a2enmod ssl 
 +a2ensite default-ssl 
 +</code> 
 + 
 +编辑/etc/apache2/sites-enabled/default-ssl.conf,添加: 
 +<code apache> 
 +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> 
 +</code> 
 + 
 +编辑/etc/apache2/sites-enabled/000-default.conf,定向到https: 
 +<code apache> 
 +<VirtualHost *:80> 
 +    ... 
 +    Redirect permanent / https://www.gwduan.com/ 
 +</VirtualHost> 
 +</code> 
 + 
 +编辑/etc/cron.d/certbot,增加pre-hook和post-hook参数: 
 +<code bash> 
 +certbot -q renew --pre-hook 'systemctl stop apache2' --post-hook 'systemctl start apache2' 
 +</code> 
 + 
 +===== 升级说明 2019-07-13 ===== 
 + 
 +由于更换了服务器,操作系统升级为[[http://www.centos.org/|CentOS 7]],所以重新进行了安装配置。相应的升级到Apache 2.4和php 7.2,Dokuwiki版本升级到2018-04-22b "Greebo"。 
 + 
 +==== 安装Apache和PHP ==== 
 + 
 +启用scl源: 
 +<code bash> 
 +yum install centos-release-scl 
 +</code> 
 + 
 +安装Apache和PHP: 
 +<code bash> 
 +yum install httpd24 
 +yum install rh-php72 rh-php72-php rh-php72-php-gd \ 
 +    rh-php72-php-mbstring rh-php72-php-xml 
 +</code> 
 + 
 +启用服务: 
 +<code bash> 
 +systemctl enable httpd24-httpd 
 +systemctl start httpd24-httpd 
 +</code> 
 + 
 +==== 数据恢复 ==== 
 + 
 +将原来网站的文件从旧服务器复制到新机器的/opt/rh/httpd24/root/var/www/html目录下。 
 + 
 +设置权限: 
 +<code bash> 
 +cd /opt/rh/httpd24/root/var/www/ 
 +chown -R root:root html 
 +chown -R apache:apache html/wiki 
 +</code> 
 + 
 +==== 配置Apache ==== 
 + 
 +编辑/opt/rh/httpd24/root/etc/httpd/conf/httpd.conf,添加: 
 +<code apache> 
 +<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> 
 +</code> 
 + 
 +==== 升级Dokuwiki ==== 
 + 
 +升级到2018-04-22b "Greebo": 
 +<code bash> 
 +tar xzvf dokuwiki-8a269cc015a64b40e4c918699f1e1142.tgz 
 +'cp' -af dokuwiki/* wiki/ 
 +</code> 
 + 
 +设置权限: 
 +<code bash> 
 +chown -R apache:apache wiki/ 
 +chmod -R o-rwx wiki/ 
 +</code> 
 + 
 +==== Plugin插件升级 ==== 
 + 
 +在扩展管理器里更新各个插件。 
 + 
 +==== 启用https ==== 
 + 
 +这里使用[[https://letsencrypt.org/|Let's Encrypt]]提供的免费证书。 
 + 
 +首先安装certbot工具(需要EPEL源): 
 +<code bash> 
 +yum install certbot 
 +</code> 
 + 
 +由于Apache没有安装在标准位置上,所以不使用certbot的Apache插件,而只是生成证书: 
 +<code bash> 
 +systemctl stop httpd24-httpd 
 +certbot certonly --standalone 
 +</code> 
 + 
 +根据提示为域名gwduan.com和www.gwduan.com申请证书。 
 + 
 +安装mod_ssl: 
 +<code bash> 
 +yum install httpd24-mod_ssl 
 +</code> 
 + 
 +编辑/opt/rh/httpd24/root/etc/httpd/conf.d/ssl.conf,设置: 
 +<code apache> 
 +SSLCertificateFile /etc/letsencrypt/live/gwduan.com/cert.pem 
 +SSLCertificateKeyFile /etc/letsencrypt/live/gwduan.com/privkey.pem 
 +SSLCertificateChainFile /etc/letsencrypt/live/gwduan.com/fullchain.pem 
 +</code> 
 + 
 +编辑/opt/rh/httpd24/root/etc/httpd/conf/httpd.conf,定向到https: 
 +<code apache> 
 +<VirtualHost *:80> 
 +    ... 
 +    Redirect permanent / https://www.gwduan.com/ 
 +</VirtualHost> 
 +</code> 
 + 
 +编辑/etc/crontab,增加自动更新证书的任务: 
 +<code bash> 
 +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>&
 +</code> 
 + 
 +===== 升级说明 2017-09-10 ===== 
 + 
 +操作系统依旧基于[[http://www.centos.org/|CentOS 6]],Web服务器升级为[[http://www.apache.org|Apache 2.4]],Dokuwiki版本升级2017-02-19e "Frusterick Manners"。 
 + 
 +==== 升级Apache和PHP ==== 
 + 
 +新的Dokuwiki要求PHP 5.6以上,所以需要先升级Apache和PHP。 
 + 
 +启用scl源: 
 +<code bash> 
 +yum install centos-release-scl 
 +</code> 
 + 
 +安装新版本的Apache和PHP: 
 +<code bash> 
 +yum install httpd24 
 +yum install rh-php56 rh-php56-php 
 +</code> 
 + 
 +启用新服务: 
 +<code bash> 
 +chkconfig httpd off 
 +chkconfig httpd24-httpd on 
 +</code> 
 + 
 +==== Apache配置调整 ==== 
 + 
 +新的Apache目录发生了改变,所以需要做相应调整。 
 + 
 +编辑/opt/rh/httpd24/root/etc/httpd/conf/httpd.conf,添加: 
 +<code apache> 
 +<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> 
 +</code> 
 + 
 +==== Dokuwiki升级 ==== 
 + 
 +首先将原来的wiki文件复制到新位置: 
 +<code bash> 
 +cd /opt/rh/httpd24/root/var/www/html 
 +cp -pr /var/www/html/* . 
 +</code> 
 + 
 +由于间隔了多个版本,需要依次升级。 
 + 
 +升级到2015-08-10a “Detritus”: 
 +<code bash> 
 +tar xzvf dokuwiki-2015-08-10.tgz 
 +'cp' -af dokuwiki-2015-08-10/* wiki/ 
 +</code> 
 + 
 +升级到2016-06-26e “Elenor of Tsort”: 
 +<code bash> 
 +tar xzvf dokuwiki-2016-06-26.tgz 
 +'cp' -af dokuwiki-2016-06-26/* wiki/ 
 +</code> 
 + 
 +升级到2017-02-19e “Frusterick Manners”: 
 +<code bash> 
 +tar xzvf dokuwiki-2017-02-19.tgz 
 +'cp' -af dokuwiki-2017-02-19/* wiki/ 
 +</code> 
 + 
 +最后调整权限: 
 +<code bash> 
 +chown -R apache:apache wiki/ 
 +chmod -R o-rwx wiki/ 
 +</code> 
 + 
 +==== Plugin插件升级 ==== 
 + 
 +在扩展管理器里更新各个插件
  
 ===== 初始安装 ===== ===== 初始安装 =====
  
-Web服务器为Apache 2.2,dokuwiki版本为2014-05-05a "Ponder Stibbons"+操作系统基于[[http://www.centos.org/|CentOS 6]],Web服务器为Apache 2.2,Dokuwiki版本为2014-05-05a "Ponder Stibbons"
  
 ==== web服务器配置 ==== ==== web服务器配置 ====
  
-为了安全性,对dokuwiki的几个关键目录进行设置。+为了安全性,对Dokuwiki的几个关键目录进行设置。
  
 在/etc/httpd/conf/httpd.conf末尾添加: 在/etc/httpd/conf/httpd.conf末尾添加:
行 27: 行 517:
 </code> </code>
  
-有关dokuwiki安全方面的详细说明,可参阅[[http://www.dokuwiki.org/security]]。+有关Dokuwiki安全方面的详细说明,可参阅[[http://www.dokuwiki.org/security]]。
  
-==== dokuwiki安装 ====+==== Dokuwiki安装 ====
  
 === 解包 === === 解包 ===
行 42: 行 532:
 </code> </code>
  
-有关dokuwiki权限方面的详细说明,可参阅[[http://www.dokuwiki.org/install:permissions]]。+有关Dokuwiki权限方面的详细说明,可参阅[[http://www.dokuwiki.org/install:permissions]]。
  
 === 初始配置 === === 初始配置 ===
行 50: 行 540:
 完毕以管理员帐户登录,添加一个日常应用的普通帐户;设置目录权限为0750,文件权限为0640;由于是个人wiki,关闭注册功能。 完毕以管理员帐户登录,添加一个日常应用的普通帐户;设置目录权限为0750,文件权限为0640;由于是个人wiki,关闭注册功能。
  
-==== template模板设置 ====+==== Template模板设置 ====
  
 有关模板的详细说明,可参阅[[http://www.dokuwiki.org/Template]]。 有关模板的详细说明,可参阅[[http://www.dokuwiki.org/Template]]。
行 56: 行 546:
 这里直接使用缺省的模板。 这里直接使用缺省的模板。
  
-==== plugin插件设置 ====+==== Plugin插件设置 ====
  
-dokuwiki提供了丰富的插件,有关插件的详细说明,可参阅[[http://www.dokuwiki.org/plugins]]。+Dokuwiki提供了丰富的插件,有关插件的详细说明,可参阅[[http://www.dokuwiki.org/plugins]]。
  
 插件通过扩展管理器直接安装。 插件通过扩展管理器直接安装。
wiki_settings.1505008883.txt.gz · 最后更改: 2017/09/10 02:01 由 duangw