Minha solução foi que / tmp foi montado como noexec. Eu precisava remontá-lo para que o módulo nginx-install-passageiro pudesse compilar lá:
mount -o remount,rw,exec,nosuid /tmp
Estou no meio de um processo de instalação do Redmine servido com passageiro e nginx com este tutorial . Com o passenger-install-nginx-module
, ele funciona bem e durante a compilação ele gera um erro com isso,
Compiling and installing Nginx...
# sh ./configure --prefix='/etc/nginx' --with-http_ssl_module --with-http_gzip_static_module --with-cc-opt='-Wno-error' --with-pcre='/tmp/root-passenger-3197/pcre-8.31' --add-module='/var/lib/gems/1.8/gems/passenger-3.0.18/ext/nginx'
checking for OS
+ Linux 3.2.0-32-generic-pae i686
checking for C compiler ... not found
./configure: error: C compiler gcc is not found
--------------------------------------------
It looks like something went wrong
Eu não entendo porque não é possível encontrar o gcc, mas na etapa de pré-verificação ele disse que o gcc é encontrado,
Checking for required software...
* GNU C++ compiler... found at /usr/bin/g++
* The 'make' tool... found at /usr/bin/make
* A download tool like 'wget' or 'curl'... found at /usr/bin/wget
* Ruby development headers... found
* OpenSSL support for Ruby... found
* RubyGems... found
* Rake... found at /usr/bin/rake
* rack... found
* Curl development headers with SSL support... found
* OpenSSL development headers... found
* Zlib development headers... found
Eu então apt-get
dos possíveis pacotes do gcc, mas nenhum deles foi instalado / atualizado porque eu já os tenho.
EDITAR:
Pacotes que eu tentei com o gcc
gcc-4.4 g++-4.4 libstdc++6-4.4-dev gcc
EDITAR:
bloco nginx para o redmine,
server {
server_name redmine.domain.com;
access_log /var/www/redmine.access.log;
error_log /var/www/redmine.error.log;
root /var/www/domain.com/redmine/public;
passenger_enabled on;
}
EDITAR:
Agora parece que o problema é algo a ver com passenger_root
e passenger_ruby
, embora eu tenha incluído isso no nginx.conf agora, mas não tenho certeza se eles são os caminhos corretos (o que eu poderia fazer para encontrar os corretos?)
Meu nginx.conf
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
#include /etc/nginx/naxsi_core.rules;
##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
##
#passenger_root /usr;
#passenger_ruby /usr/bin/ruby;
passenger_root /var/lib/gems/1.8/gems/passenger-3.0.18;
passenger_ruby /usr/bin/ruby1.8;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
Como eu resolveria esse problema?
Minha solução foi que / tmp foi montado como noexec. Eu precisava remontá-lo para que o módulo nginx-install-passageiro pudesse compilar lá:
mount -o remount,rw,exec,nosuid /tmp