But it can’t do that, because you’re running the installer as tomekd. Please re-run this installer as root.[/quote]
Do passengera robiłem przymiarki raz, ale zrezygnowałem dawno temu na rzecz zwykłego serwowania aplikacji + proxy z przodu, więc moje uwagi potraktuj bardzo luźno.
PRAWDOPODOBNIE komunikat błędu jest mylny, tzn. masz problemy z permission, ale nie z tym katalogiem.
Passenger to moduł, a apache musi mieć moduły w ścisłe zadeklarowanym miejscu, “tam gdzie tylko root sięga”.
Jest to związane z filozofią działania serwera http na porcie 80, całego systemu POSIX etc etc.
Więc, jeśli nie mas uprawnień root’a na tej maszynie, to nawet nie próbuj, bo i tak nie będziesz w stanie załadować tego modułu do apacha.
Jeśli natomiast masz a nie działa sudo to doinstaluj je. Pakiet powinien nazywać się “sudo”.
Z nazwy katalogu widzę, że nie linux tylko coś *BSD, może mac. Nie pamiętam, czy osx lub brew ma sudo.
Ewentualnie instalacja passengera z pozycji roota w systemie (man su)
Miałem to samo, chciałem zainstalowac nginx + passanger i dostawałem podobny błąd, po kilku próbach ze stawianiem systemu od nowa i kombinowaniem z różnymi ustawieniami , zrezygnowałem z passengera i szczęsliwie używam unicorna wg instrukcji z railscastow
Jeśli nie masz dużego rozeznania w shellu i budowie systemu POSIX, odpuść., bo się zniechęcisz i stracisz czas.
To naprawdę jest robota dla administratora systemu, i to takiego z wiedzą developerską.
W skrócie - możesz taki moduł zainstalować tylko z konta root’a (admina macosx)
Bo może i używasz rvm, ale chcesz zbudować moduł dla apache, czyli systemowego serwera http który leży poza rvm.
Możesz zrobić to przelogowując się na konto administratora (root’a) w shellu poleceniem:
$ su -s
Zostaniesz poproszony o hasło.
wtedy prompt powinien się zmienić z $ na #
Zainstalujesz passengera. Zakładając, że będziesz miał w systemie wszystkie biblioteki których potrzebuje do kompilacji/instalacji.
Problem będzie taki, że skompiluje się z rubym systemopwym a nie tym z rvm z katalogu domowego, co MOŻE skutkować z kolei tym, że przy starcie twojej aplikacji zaliczy segfaulta z komunikatem, że mu wersje rubiego nie pasuja.
Oczywiście można to obejść. Jeśli zdobędziesz wiedzę o zmiennych środowiskowych typu $PATH $LD_PATH (nawet nie jestem pewien, czy w macosx one się tak nazywają, bo chyba nie, nawet nie pamiętam, jaki rodzaj shella tam jest ;( )
Naprawdę, w developerskim środowisku męczenie się z ustawieniem passengera to średni pomysł.
Jako, że jak rozumiem wszystko będzie działać na localhoście to normalnie odpal sobie aplikacje na wbudowanym standardowo webricku:
$ rails s
Nie zniechęć się prędkością działania - to webrick w developerskim środowisku.
Dodaj do zakładek localhost:3000 jako Rails i już po kłopocie
I co Ci w nim przeszkadza? Zresztą nieważne.
Chcesz serwować inaczej(szybciej?) aplikację, zainstaluj Mongrel’a, Thin’a, Unicorn’a, Pumę. (wybierz jeden, wszystkie to serwery aplikacji.
Zbindują się na określony port, tzn zgłoszą do działania całą aplikację - wtedy z przodu najlepiej postawić serwer http nginx (z systemu portów homebrew, jeszcze wcześniej czeka cię instalacja środowiska developerskiego Xcode) i podać mu w konfiguracji domeny, że ma obsługiwać upstream na określonym porcie. Przed instalacją nginx’a wyłącz systemowego apacha.
Nikt nie powiedział ze będzie łatwo.
Co było trudne i ciężkie teraz jest banalne.
A po za tym jeżeli czegoś nie da się zrobić, potrzebny jest ktoś kto o tym nie wie - przyjdzie i to zrobi !!!
Tak wiec ja nie jestem wcale wybredny jeżeli chodzi o Webrica, dotarłem do pewnego etapu książki Agile Web Development with Rails 4 i chciałbym iść jej tokiem rozumowania, a kolejnym jej etapem jest instalacja Passengera (dokładnie str.231 jeżeli ktoś posiada tą ksiązkę), ale widzę że będę musiał skorzystać z nginx’a. Także dzięki za podpowiedzi - nie pójdą na marne.