DokuWiki com nginx no Windows
Dokuwiki foi extraido para E:\www\dokuwiki.
Esse exemplo para dokuwiki com nginx.conf rodando no Windows
:
location ~ ^/dokuwiki/.*\.php { root E:/www; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME E:/www$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; include fastcgi_params; } # serve static files location ~ ^/dokuwiki/lib/ { root E:/www; expires 30d; } location ~ ^/dokuwiki/conf/ { deny all; } location ~ ^/dokuwiki/data/ { deny all; } location ~ /\.ht { deny all; }
FastCGI e nginx foi startado utilizando esse arquivo “batch”:
ECHO Starting PHP FastCGI... RunHiddenConsole.exe E:\appl\php-5.2.9-2-Win32\php-cgi.exe -b 127.0.0.1:9000 ECHO Starting nginx... cd /d D:\nginx-0.8.39 && start nginx.exe
Ou você pode tentar Start-Nginx se você preferir o normal windows GUI.
DokuWiki com nginx no Ubuntu Linux
Essa configuração foi testada no Ubuntu, versão entre Ubuntu 10.04 e (X)Ubuntu 12.04. Tenha certeza que instalou os pacotes:
- nginx
- php5-cgi
Edite /etc/nginx/nginx.conf:
As últimas três linhas parecem desnecessários desde que a segurança já está pronta by location ~ ^/dokuwiki/(data|conf|bin|inc)/ { # secure DokuWiki
user www-data www-data; #(...) http { #(...) server{ #listen 80; index index.html index.php doku.php; #make sure a global root is defined here #root /var/www/ #adapt please location ~ ^/dokuwiki/(data|conf|bin|inc)/ { # secure DokuWiki deny all; } location ~ /\.ht { deny all; } #Deny Access to htaccess-Files for Apache location ~ ^/dokuwiki/.*\.php$ { root /usr/share/dokuwiki; #adapt if needed include fastcgi_params; fastcgi_pass unix:/tmp/php-fastcgi.socket; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $uri; #necessary for URL rewrite } # serve static files location ~ ^/dokuwiki/lib/^((?!php).)*$ { root /usr/share/dokuwiki/lib; #adapt if needed expires 30d; } } }
Para o atalho fastcgi, nós criamos o arquivo php-fastcgi.conf (sudo gedit /etc/init/php-fastcgi.conf) com o seguinte conteúdo:
description "php-fastcgi - keep up php-fastcgi" start on runlevel [2345] stop on runlevel [!2345] respawn exec /usr/bin/sudo -u www-data PHP_FCGI_CHILDREN=2 PHP_FCGI_MAX_REQUESTS=125 /usr/bin/php-cgi -q -b /tmp/php-fastcgi.socket
Podemos rebootar (→fastcgi and nginx should run automatically), or use the following commands for manual testing:
- Startar fastcgi: sudo /sbin/start php-fastcgi
- Checar o status do fastcgi: sudo /sbin/status php-fastcgi
- Restart o fastcgi: pgrep php-cgi;echo;sudo pkill php-cgi;sleep 1; sudo /sbin/start php-fastcgi; pgrep php-cgi
- Restart o nginx: sudo /etc/init.d/nginx restart
Aviso: Se você verificar o erro “No input file specified”, talvez seja problema de permissão. Tenha certeza que o fastcgi e nginx rode com o mesmo usuário (www-data). Tenha certeza das permissões dos arquivos estejam OK.
— 2014 —
Nós tivemos alguns problemas com getting Dokuwiki para rodar corretamente, aqui mostramos como nós executams com php-fpm 5.5 e nginx 1.4.
A configuração é baseada como está na descrição abaixo e no Nginx wiki: http://wiki.nginx.org/Dokuwiki
Essa é a configuração completa que utilizamos, você pode simplismente copiar e colar e alterar os nomes dos links. Favor estar ciente que está rodando como um vhost.
server { server_name wiki.ulyaoth.net; 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.ulyaoth.net/access.log; error_log /var/log/nginx/wiki.ulyaoth.net/error.log; root /usr/share/nginx/dokuwiki; 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 unix:/var/run/php-fpm/wiki.ulyaoth.net.sock; 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; } }