Primeiro, verifique se você está atualizado, instale o nginx, o php-cli e, em seguida, o php-fpm / cgi. Depois, edite os arquivos de configuração. Os arquivos de configuração obviamente podem ser bem diferentes, por exemplo, se você estiver usando uma estrutura como o CodeIgniter; mas eu não acho que o FreePBX usa um framework.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nginx
sudo apt-get install php5-cli
sudo apt-get install php5-fpm php5-cgi
sudo vim /etc/nginx/nginx.conf
Aqui está o /etc/nginx/nginx.conf:
# There are many more options to tweak nginx... bare bones follows:
user www-data;
worker_processes 4; # max_clients = worker_processes * worker_connections
worker_rlimit_nofile 8192; # file descriptors are > than worker_connections
events {
worker_connections 8000; # provide (8000 * cpu_cores) connections
}
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Define access log format.
log_format main '$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log;
keepalive_timeout 20;
sendfile on; # Send static files with nginx.
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Edite o arquivo fastcgi_params.
sudo vim /etc/nginx/fastcgi_params
Aqui está / 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_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
# Enable PHP $_SERVER['HTTPS'] variable (will equal TLSv1, not "on")
fastcgi_param HTTPS $ssl_protocol;
Edite o arquivo de definição do site.
sudo vim /etc/nginx/sites-available/default
Aqui está o arquivo / etc / nginx / sites-available / default:
server {
listen 80;
server_name www.example.com;
charset utf-8;
# http://www.chromium.org/developers/how-tos/chrome-frame-getting-started
add_header "X-UA-Compatible" "IE=Edge,chrome=1";
location / {
root /var/www/public;
index index.php;
}
# what to do with static files
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 30d;
root /var/www/public;
}
# what to do with php files
location ~ .php$ {
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
keepalive_timeout 0;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}
Crie o diretório raiz do site e o documento padrão.
sudo mkdir /var/www/public
sudo vim /var/www/public/index.php
Aqui está o arquivo /var/www/public/index.php:
<?php phpinfo() ?>
Reinicie o nginx.
sudo /etc/init.d/nginx restart
Carregue o site em um navegador para ver se ele está funcionando. No servidor Ubuntu sem GUI?
sudo apt-get install links
links http://www.example.com/
Você deve ver o resultado de phpinfo ().
Depois de ver o phpinfo () funcionando, siga as instruções de compilação Asterisco.