====== CentOS 7 安裝 Dokuwiki + Nginx ====== * 安裝環境是在 PVE(Proxmox VE 5.2) 的 CentOS7 CT Template 產生的 Container * 透過 [[tech/centostimezone]] 以及 [[tech/centoslocale]] ===== 安裝 Nginx + php-fpm ===== * rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx wget ===== php 要升級成 5.6 ===== * yum install epel-release rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum remove php-* * 啟用 [remi-php56] : [remi-php56] : enabled=1 : * 安裝 php 5.6 yum install php php-fpm php-mbstring php-pdo php-gd php-xml php-mcrypt php-mysql ===== 設定 nginx ===== * 網站名稱 - wiki.ichiayi.com * 網頁路徑 - /var/www/html * 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 ===== 安裝 Dokuwiki ===== * 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 設定 : upload_max_filesize = 10M : post_max_size = 10M : : [Date] date.timezone = Asia/Taipei : ===== 啟動 nginx + php-fpm ===== * systemctl enable nginx systemctl enable php-fpm systemctl start php-fpm systemctl start nginx * 如果 dokuwiki 網址不是 / 而是在其他目錄底下 Exp. /wiki or /dokuwiki 需要修改 rewrite 設定 可參考 [[tech/nginx_rewrite]] ===== 參考網址 ===== * https://www.nginx.com/resources/wiki/start/topics/recipes/dokuwiki/ * http://nginx.org/en/linux_packages.html * [[tech/nginx]] * https://blog.toright.com/posts/3890/%E7%84%A1%E5%A0%85%E4%B8%8D%E6%91%A7%EF%BC%8C%E5%94%AF%E5%BF%AB%E4%B8%8D%E7%A0%B4%EF%BC%81%E5%BF%AB%E6%94%B9%E7%94%A8-nginx-php-fpm-%E5%8F%96%E4%BB%A3-apache-%E5%90%A7%EF%BC%81.html * https://stackoverflow.com/questions/35701730/utf8-endecode-removed-from-php7 * http://blog.qoding.us/2017/09/centos-7-%E5%AE%89%E8%A3%9D%E3%80%81%E5%8D%87%E7%B4%9A-php-5-6/ {{tag>centos7 dokuwiki nginx}}