CentOS 7 安裝 Dokuwiki + Nginx

  • rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    yum install nginx wget
  • yum install epel-release
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    yum remove php-*
  • 啟用 [remi-php56]
    vi /etc/yum.repos.d/remi.repo
    :
    [remi-php56]
    :
    enabled=1
    :
  • 安裝 php 5.6
    yum install php php-fpm php-mbstring php-pdo php-gd php-xml php-mcrypt php-mysql
  • 網站名稱 - wiki.ichiayi.com
  • 網頁路徑 - /var/www/html
  • vi /etc/nginx/conf.d/default.conf
    server {
      server_name wiki.ichiayi.com;
      listen 80;
      autoindex off;
      client_max_body_size 15M;
      client_body_buffer_size 128k;
      index index.html index.htm index.php doku.php;
      access_log  /var/log/nginx/wiki.ichiayi.com/access.log;
      error_log  /var/log/nginx/wiki.ichiayi.com/error.log;
      root /var/www/html;
     
      location / {
        try_files $uri $uri/ @dokuwiki;
      }
     
      location ~ ^/lib.*\.(gif|png|ico|jpg)$ {
        expires 30d;
      }
     
      location = /robots.txt  { access_log off; log_not_found off; }
      location = /favicon.ico { access_log off; log_not_found off; }
      location ~ /\.          { access_log off; log_not_found off; deny all; }
      location ~ ~$           { access_log off; log_not_found off; deny all; }
     
      location @dokuwiki {
        rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
        rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
        rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
        rewrite ^/(.*) /doku.php?id=$1 last;
      }
     
      location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
        fastcgi_param  QUERY_STRING     $query_string;
        fastcgi_param  REQUEST_METHOD   $request_method;
        fastcgi_param  CONTENT_TYPE     $content_type;
        fastcgi_param  CONTENT_LENGTH   $content_length;
        fastcgi_intercept_errors        on;
        fastcgi_ignore_client_abort     off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
      }
     
      location ~ /(data|conf|bin|inc)/ {
        deny all;
      }
     
      location ~ /\.ht {
        deny  all;
      }
     
    }
  • php-fpm 的設定檔 - /etc/php-fpm.d/www.conf
  • mkdir -p /var/www
    cd /var/www
    wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
    tar -zxvf dokuwiki-stable.tgz
    mv dokuwiki-stable.tgz wiki-stable.tgz
    mv dokuwiki-*/* html
  • 建立相關目錄與權限設定
    mkdir -p /var/log/nginx/wiki.ichiayi.com
    chown -R apache:apache /var/www/html/data
    chown -R apache:apache /var/www/html/conf
  • 更改 /etc/php.ini 設定
    vi /etc/php.ini
    :
    upload_max_filesize = 10M
    :
    post_max_size = 10M
    :
    :
    [Date]
    date.timezone = Asia/Taipei
    :
  • systemctl enable nginx
    systemctl enable php-fpm
    systemctl start php-fpm
    systemctl start nginx
  • 如果 dokuwiki 網址不是 / 而是在其他目錄底下 Exp. /wiki or /dokuwiki 需要修改 rewrite 設定 可參考 nginx 的 rewrite 設定
  • tech/centos7_dokuwiki.txt
  • 上一次變更: 2019/07/09 11:36
  • jonathan_tsai