Estou configurando um site joomla 3.x com o apache 2.4 em um servidor ubuntu 14.04 no aws ec2. Só isso é bom com reescrita url funcionando bem. Eu apaguei todos os problemas do apache antes de liberar a porta 80 para o nginx.
Eu não tenho um problema específico com o nginx, embora eu mal tenha começado a usá-lo e esta seja a terceira implantação com ele. Eu me dou bem com coisas básicas.
Eu segui um tutorial sobre howtoforge . Depois de configurar isso. Eu percebi que apenas a página de índice é carregada corretamente, todas as outras páginas esperam index.php?
entre o domínio e as bonitinhas, por exemplo,
stage.domain.com/bla/bla # doesn't work
stage.domain.com/index.php?/bla/bla/ # works
Eu tenho visto muitas pessoas se depararem com essa questão, mas elas hospedam o joomla no nginx diretamente ou no apache diretamente. Soluções de situações próximas ao nginx na frente do apache que hospeda o joomla não funcionarão no meu, provavelmente eu não tenho o devido entendimento do nginx então por favor tenha paciência comigo. Abaixo estão as configurações:
#/etc/nginx/site-enabled/stage.domain.com.vhost
server {
listen 80;
server_name www.stage.domain.com stage.domain.com;
root /var/www/html/vhosts/stage.domain.com/htdocs_april;
index index.php index.html;
location / {
try_files $uri @proxy;
}
location ~* \.(js|css|jpg|jpeg|gif|png|svg|ico|pdf|html|htm)$ {
expires 5d;
}
location @proxy {
proxy_pass_header Server;
proxy_pass http://127.0.0.1:8000;
include /etc/nginx/proxy_params;
}
location ~* \.php$ {
proxy_pass http://127.0.0.1:8000;
include /etc/nginx/proxy_params;
}
Abaixo estão os proxy_params (embora isso não revele IP real, em uma das minhas muitas tentativas eu consegui. Eu vou ter que resolver isso depois do problema principal)
#/etc/nginx/proxy_params
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
Abaixo estão as configurações do ports do apache2
#/etc/apache2/ports.conf
NameVirtualHost *:8000
Listen 8000
#Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
Abaixo está o apache virtualhost
<virtualhost *:8000>
# Admin email, Server Name (domain name) and any aliases
ServerAdmin [email protected]
ServerName stage.domain.com
#RewriteEngine On
# Index file and Document Root (where the public files are located)
DirectoryIndex index.php index.html
DocumentRoot /var/www/html/vhosts/stage.domain.com/htdocs_april/
<Directory /var/www/html/vhosts/stage.domain.com/htdocs_april/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# php_flag log_errors on
#php_flag display_errors off
#php_value error_reporting 6143
LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/domain_error.log
CustomLog ${APACHE_LOG_DIR}/domain_access.log combined
</virtualhost>
Eu ficaria grato se alguém puder apontar a configuração incorreta. Como mencionado antes de deixar para apache sozinho eu não tenho problema de reescrever url. Obrigado.
Erro no log de erros do apache2 não tem nada a ver com 404 no nginx e tem a mesma saída quando index.php? / é usado:
#Info Level
[Fri Feb 27 22:51:47.862668 2015] [:error] [pid 12511] [client 127.0.0.1:58301] PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /var/www/html/vhosts/stage.domain.com/htdocs_april/templates/stage2013/functions/tpl-init.php on line 313
#Debug Level
[Fri Feb 27 22:51:47.977454 2015] [deflate:debug] [pid 12511] mod_deflate.c(849): [client 127.0.0.1:58301] AH01384: Zlib: Compressed 49347 to 11157 : URL /index.php
[Fri Feb 27 22:51:47.977925 2015] [headers:debug] [pid 12511] mod_headers.c(845): AH01502: headers: ap_headers_output_filter()
[Fri Feb 27 22:51:48.606561 2015] [authz_core:debug] [pid 12512] mod_authz_core.c(802): [client 127.0.0.1:58304] AH01626: authorization result of Require all granted: granted, referer: http://stage.domain.com/
[Fri Feb 27 22:51:48.606593 2015] [authz_core:debug] [pid 12512] mod_authz_core.c(802): [client 127.0.0.1:58304] AH01626: authorization result of <RequireAny>: granted, referer: http://stage.domain.com/
[Fri Feb 27 22:51:48.607274 2015] [deflate:debug] [pid 12512] mod_deflate.c(849): [client 127.0.0.1:58304] AH01384: Zlib: Compressed 1537 to 544 : URL /templates/stage2013/html/mod_fpss/stage5/css/template.css.php, referer: http://stage.domain.com/
[Fri Feb 27 22:51:48.607293 2015] [headers:debug] [pid 12512] mod_headers.c(845): AH01502: headers: ap_headers_output_filter()