Como instalar o asterisco 1.8 + freepbx 2.9 + nginx + php-fpm?

0

Como posso instalar o freepbx 2.9 com o asterisco 1.8 no Ubuntu 11.10?

A questão é que a maioria dos tutoriais e orientações na Internet não está bem escrita e recebo mensagens de erro quando inicio o amportal.

Uma dificuldade extra é que não há diretrizes no caso de eu usar o nginx / php-fpm. Todos os tutoriais são para o apache.

    
por john 01.12.2011 / 02:06

1 resposta

2

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.

    
por user8290 01.12.2011 / 03:27