DokuWiki

It's better when it's simple

Ferramentas do usuário

Ferramentas do site


pt-br:install:nginx

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:

FIXME 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;
  }
}
pt-br/install/nginx.txt · Última modificação: 2014-08-06 04:15 por 191.176.57.27

Exceto onde for informado ao contrário, o conteúdo neste wiki está sob a seguinte licença: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki