Pular para o conteúdo principal

Nginx - Como definir userdir com php habilitado


Para quem usa servidor Nginx, mas tá com dificuldade em habilitar o php para seus usuário, basta abrir o arquivo '/etc/nginx/sites-available/default'
e logo abaixo da sessão

server{

location ~ \.php$ {
...
}

acrescente as linhas

server{

location ~ \.php$ {
...
}

location /~ {

      location ~ ^/~([^/]+)/(.+\.php)$ {
            
             include fastcgi_params;
             fastcgi_param SCRIPT_FILENAME /home/$1/public_html/$2;
             fastcgi_pass 127.0.0.1:9000;
      
      }
      
      location ~ ^/~([^/]+)(|/.*)$ {
             alias /home/$1/public_html/$2;
             index index.html index.htm index.php;
      }

}

E sim, é isso mesmo, tem um 'location' dentro do 'location'. Só seguir a lógica de que as pastas de usuários estão dentro da pasta raiz, logo, são 'location' de usuários dentro da 'location' raiz.

Essa configuração foi feita num Debian Squeeze, algumas opções, diretórios e arquivos podem ser diferente de outras distros e sistemas, mas a estrutura é a mesma.

Comentários

Postagens mais visitadas deste blog

PHP : array de estados brasileiros com nomes e siglas

Esse é um simples array com os nomes dos estados e suas correspondentes siglas. Cada estado é um array numerado e e "bem comportado" : tudo em minúsculas e sem acentos, porque evita problemas de compatibilidade de codificação e você sempre pode usar um "strtoupper", "ucfirst" e "ucwords" do PHP para tratar a formatação. $estados = array( 1=>array("sigla"=>"ac","nome"=>"acre"), 2=>array("sigla"=>"al","nome"=>"alagoas"), 3=>array("sigla"=>"am","nome"=>"amazonas"), 4=>array("sigla"=>"ap","nome"=>"amapa"), 5=>array("sigla"=>"ba","nome"=>"bahia"), 6=>array("sigla"=>"ce","nome"=>"ceara"), 7=>array("sigla"=>"df","nome"=>...

Javascript : Simples Video Player usando Youtube API

Para quem não sabe, a Google disponibiliza para desenvolvedores uma APi de manipulação para vídeos do Youtube, onde você pode ter uma grande quantidade de opções de controle. Baseado nessa API, vou disponibilizar aqui um simples player que aceita opções. Crie um script de nome 'youtube.js' e coloque o seguinte conteudo // youtube.js // Aqui é incluido a API em javascript para Youtube. var tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag,firstScriptTag); // Aqui é a função que carrega o vídeo. // 'vid' é o id do video do youtube. // 'playerid' é o id da tag html que vai rodar o vídeo. function loadVideo(vid,playerid){ var player = new YT.Player(playerid, { // O id do player é colocado, passado pelo parâmetro da função. height: '390', width: '640', ...

Popcorn Time : como resolver o problema de atualização dos filmes

O Popcorn Time é um aplicativo de compartilhamento de vídeos que utiliza a rede p2p torrent. Um dos problemas corriqueiros é quando abrimos o programa e vem a nefasta mensagem "Erro ao atualizar bando de dados. Tente novamente mais tarde." E você vai abrir mais tarde e possivelmente o erro vai continuar. Isso acontece porque todas as cópias do Popcorn Time , mesmo seus clones e forks usam proxy de uma base de dados. Essa base de dado é uma api que retorna em formato json os dados dos filmes, e eis aqui o endereço : http://yts.re/api/list.json Agora, para resolver o problema, ou você pega o código fonte do programa e enfia esse endereço nele ( o que não é legal, por isso se usam proxys, para não sobrecarregar o site e ficarmos de vez sem atualização ) ou outro endereço de proxy para a api, ou você faz o mais rápido : 1) Abra o arquivo "~/.config/Popcorn-Time/data/movies.db" ( pasta oculta no linix que o programa cria, existe uma pasta oculta "applicatio...