2011-08-23 4 views
4

"레일 응용 프로그램에서 루비를 배포하는 것은 간단합니다"라고 말한 사람은 분노하고 있습니다. 아닙니다. 지금까지 내가 해 본 일 중 가장 힘든 일이며 운영체제를 개발합니다.Ubuntu 11.04에서 Passenger Phusion 설정

휴. 이제 그게 끝이야. 어딘가에/당신의 레일 응용 프로그램이 있다고 가정

LoadModule passenger_module /usr/local/rvm/gems/[email protected]/gems/passenger-3.0.8/ext/apache2/mod_passenger.so 
PassengerRoot /usr/local/rvm/gems/[email protected]/gems/passenger-3.0.8 
PassengerRuby /usr/local/rvm/wrappers/[email protected]/ruby 

: 나는 마침내 승객 설치 (ackwards 과정을 설치베이스를 사용하여) 가지고와 설치는 말했다 :

아파치 설정 파일을 편집하고 추가하십시오이 라인 . 당신의 아파치 설정 파일에 가상 호스트를 추가하고/곳/대중에게 자신의 DocumentRoot를 설정 : 내가 /etc/apache2/apache2.conf에이 두 가지를 넣어

<VirtualHost *:80> 
     ServerName www.yourhost.com 
     DocumentRoot /somewhere/public # <-- be sure to point to 'public'! 
     <Directory /somewhere/public> 
     AllowOverride all    # <-- relax Apache security settings 
     Options -MultiViews   # <-- MultiViews must be turned off 
     </Directory> 
    </VirtualHost> 

내가 아파치를 시작하려고 할 때를 말한다 내가이 가비지를 쓴 라인에 오류가있다. 도움을 많이 주셔서 감사합니다. 나는 거의 그것을 느낄 수있다!

+1

아마도 – mikezter

+1

에 대한 오류 메시지를 포함시켜야합니다. 귀하의 virtualhosts가 apache2.conf에 없어야합니다. -/etc/apache2/sites-available/railsapp이어야합니다. [Ubuntu apache config guide]를 참조하십시오. https://help.ubuntu.com/11.04/serverguide/C/httpd.html#http-configuration) –

답변

1

Apache 2 모듈을 성공적으로 설치 한 후 다음 단계를 수행하여 Apache를 구성하십시오.

  1. 다음과 같은 두 개의 파일을 생성 승객에/등/아파치/개조-사용할 수

    에서 mkdir /etc/apache2/mods-available/passenger.load

붙여 넣기 다음 코드에서

LoadModule passenger_module /usr/lib/ruby/gems/1.9.2(your version)/gems 
/passenger-3.0.2/ext/apache2/mod_passenger.so 

에서 mkdir /etc/apache2/mods-available/passenger.conf

012,351,641 파일 .load passenger.conf 파일

붙여 넣기 다음 코드는

PassengerRoot /usr/lib/ruby/gems/1.9.2/gems/passenger-3.0.2 
PassengerRuby /usr/bin/ruby1.9.2 

2./등/아파치/개조 지원

$ ln -s /etc/apache2/mods-available/passenger.load /etc/apache2/mods-enabled/passenger.load 
$ ln -s /etc/apache2/mods-available/passenger.conf /etc/apache2/mods-enabled/passenger.conf 

3.Now 만들에 다음 기호 링크를 작성하여 모듈을 사용/etc/apache2/sites-enabled에 다음을 추가하여 가상 호스트에 복사하십시오.

<Directory /var/www/your_app> 
     RailsBaseURI /your_app 
     RailsEnv development 
     AllowOverride all 
     Options -MultiViews 
     allow from all 
</Directory> 
  1. 지금, 응용 프로그램의 소프트 링크를 만들려면 응용 프로그램은 당신이 당신의 응용 프로그램에 대한 별도의 폴더를 만들 수 있습니다하려면/opt에 있어야합니다 확인하십시오.

    i. $ sudo mkdir -p/opt/rails_apps

    ii. $ sudo cp -R/path/to/your_app// opt/rails_apps/

    iii. $ sudo ln -s/opt/rails_apps/your_app/public/var/www/your_app

  2. 다음 명령으로 아파치를 다시 시작하십시오.

    /etc/init.D/아파치 당신이 포함 한 경우, 그대로, 다음 아파치를 다시 시작하면 오류 메시지가 표시됩니다

+0

감사합니다. 유용합니다. 그러나 귀하의 instructinos 다음에 공개 레일 폴더에서 기본 index.html 페이지를 볼 수 있습니다. 이 페이지의 이미지는 표시되지 않으며 나머지 응용 프로그램에는 액세스 할 수 없습니다. 그 밖의 무엇을해야합니까? –

1

를 다시 시작합니다

AllowOverride all    # <-- relax Apache security settings 
Options -MultiViews   # <-- MultiViews must be turned off 

가 뱉어 오류입니다 :

[email protected]_server:~/your_site# sudo /etc/init.d/apache restart 
Syntax error on line 11 of /etc/apache2/sites-enabled/your_site: 
Illegal override option # 
Action 'configtest' failed. 
The Apache error log may have more information. 
    ...fail! 
[email protected]_server:~/your_site# 

수정 사항? 다음과 같은 주석 줄을 제거하십시오.

AllowOverride all 
Options -MultiViews 

희망이 있습니다.

관련 문제