Thread View: pl.comp.lang.ruby
13 messages
13 total messages
Started by Marcin
Sun, 06 Jan 2008 20:04
Jak pogodzić apache2, php i ruby
Author: Marcin
Date: Sun, 06 Jan 2008 20:04
Date: Sun, 06 Jan 2008 20:04
25 lines
1439 bytes
1439 bytes
Witam, Chodzi o Apache2 i mod_ruby. Wiem, jest Mongrel i od biedy WEBRick. W przypadku PHP sprawa jest prosta: /home/user/public_html/P1/ -> http://localhost/~user/P1/ /home/user/public_html/P2/ -> http://localhost/~user/P2/ Jak to będzie wyglądać w przypadku Ruby oraz Ruby on Rails? Chciałbym zrobić (a tak po prawdzie nakłonić mojego admina, abym mógł strony robić nie tylko w php, ale i w ruby) aby coś takiego działało: Dla PHP: /home/user/public_html/php/ -> http://localhost/~user/php/ Dla Ruby: /home/user/public_html/ruby/ -> http://localhost/~user/ruby/ Jak pogodzić Apache2, PHP i Ruby, aby wszystko ładnie chodziło chodziło na tym samym porcie? -- Pozdrawiam, Marcin
Re: Jak pogodzić apache2, php i ruby
Author: Marcin
Date: Sun, 06 Jan 2008 20:34
Date: Sun, 06 Jan 2008 20:34
20 lines
1565 bytes
1565 bytes
Doinstalowałem jeszcz eruby i liberuby i teraz mam tak: /home/user/public_html/test/index.htm -> działa pięknie /home/user/public_html/test/index.html -> działa pięknie /home/user/public_html/test/index.rhtml -> działa pięknie /home/user/public_html/test/index.php -> działa pięknie /home/user/public_html/test/index.rbx -> działa pięĸnie Pytanie tylko, czy ze względów bezpieczeństwa można w /home/user/public_html/ wydać polecenie rails jakis_projekt, aby w katalogu /home/user/public_html/jakis_projekt mieć projekt w RoR? Wówczas pod adresem http://localhost/~user/jakis_projekt/ miałbym moje pierwsze dzieło w Ruby on Rails :) Czysto, ładnie i przyjemnie :) Tylko czy bezpiecznie? -- Pozdrawiam, Marcin
Re: Jak pogodzić apache2, php i ruby
Author: Marcin
Date: Sun, 06 Jan 2008 20:40
Date: Sun, 06 Jan 2008 20:40
39 lines
1910 bytes
1910 bytes
Piszę to, bo może się komuś przyda.
W Ubuntu 7.10 musiałem jeszcze w /etc/apache2/mod-available/ stworzyć
plik ruby.conf z zawartością
AddType text/html .rhtml
<IfModule mod_ruby.c>
RubyRequire apache/ruby-run
#RubyRequire apache/ruby-debug
RubyRequire apache/eruby-run
#RubyRequire apache/eruby-debug
# Execute *.rbx files as Ruby scripts
<Files *.rbx>
Options ExecCGI
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
#RubyHandler Apache::RubyDebug.instance
</Files>
# Handle *.rhtml files as eRuby files
<Files *.rhtml>
SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance
#RubyHandler Apache::ERubyDebug.instance
</Files>
</IfModule>
a w /etc/apach2/mod-enabled/ zrobić linka ruby.conf do
/etc/apache2/mod-available/ruby.conf
No i oczywiście zresrtować apache2 :)
--
pozdrawiam,
Marcin
Re: Jak pogodzić apache2, php i ruby
Author: Marcin
Date: Sun, 06 Jan 2008 21:09
Date: Sun, 06 Jan 2008 21:09
103 lines
2853 bytes
2853 bytes
Już wiem, że Ruby on Rails w ten sposób w jaki podałem wcześniej to
kicha. Można przecież czytać w przeglądarce źródła :( Nie wiem jak sobie
z tym poradzić: Ruby on Rails i Apache2...
Jednak jeśli komuś wystarczy po prostu samo Aoache2, Ruby i PHP to
poniżej jeszcze raz podaję dla potomnych jak to zrobiłem (bardziej
biegli w te klocki niech się wypowiedzą czy dobrze zrobiłem)
1. instalacja ruby, eruby, liberuby, libapache2-mod-ruby
2. stworzenie pliku ruby.conf jak w poprzednim poście
W pliku tym można dodać kolejną sekcję
<Files *.rhtml>
SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance
#RubyHandler Apache::ERubyDebug.instance
</Files>
zamieniąc tylko rhtml na html i jeszcze jedną tym razem zamieniając
rhtml na htm
3. Restart Apache2
4. W katalogu usera np. /home/user/public_html/ tworzymy pliki:
index.html
main.htm
ruby1.html
ruby2.htm
info.php
Po wpisaniu w przeglądarce poniższych adresów wszystko powinno działać
(zawartość poszczególnych plików poniżej)
http://localhost/~user/index.html
http://localhost/~user/main.htm
http://localhost/~user/ruby1.html
http://localhost/~user/ruby2.htm
http://localhost/~user/info.php
======================================
LISTINGI
======================================
LISTING index.html:
<html>
<body>
<h1>Test HTML</h1>
<ul>
<li>pierwszy</li>
<li>drugi</li>
</ul>
</body>
</html>
LISTING main.htm
<html>
<body>
<h1>Test HTM</h1>
<i>test</i>
</body>
</html>
LISTING ruby1.html
<html>
<body>
<%
3.times { print "ruby "}
%>
</body>
</html>
LISTING ruby2.htm
<html>
<body>
<%
5.times {puts "ala "}
%>
</body>
</html>
LISTING info.php
<?php
echo phpinfo();
?>
Tym sposobem mamy to samo rozszerzenie (.html i .htm) zarówno dla plików
(x)html i ruby. Dla php pozostaje bez zmian .php :)
--
Pozdrawiam,
Marcin
Re: Jak pogodzić apache2, php i ruby
Author: Maciej Piechotka
Date: Sun, 06 Jan 2008 21:40
Date: Sun, 06 Jan 2008 21:40
34 lines
2078 bytes
2078 bytes
On Sun, 06 Jan 2008 21:04:55 +0100, Marcin wrote: > Witam, > > Chodzi o Apache2 i mod_ruby. Wiem, jest Mongrel i od biedy WEBRick. > > W przypadku PHP sprawa jest prosta: > > /home/user/public_html/P1/ -> http://localhost/~user/P1/ > /home/user/public_html/P2/ -> http://localhost/~user/P2/ > > Jak to będzie wyglądać w przypadku Ruby oraz Ruby on Rails? > > Chciałbym zrobić (a tak po prawdzie nakłonić mojego admina, abym mógł > strony robić nie tylko w php, ale i w ruby) aby coś takiego działało: > > Dla PHP: > /home/user/public_html/php/ -> http://localhost/~user/php/ Dla Ruby: > /home/user/public_html/ruby/ -> http://localhost/~user/ruby/ > > Jak pogodzić Apache2, PHP i Ruby, aby wszystko ładnie chodziło chodziło > na tym samym porcie? Use CGI Luke. Przykładowy opis(oprócz instalacji programów i/lub ścierzek nie powinno się różnić): http://gentoo-wiki.com/HOWTO_RoR Pozdrawiam -- I've probably left my head... somewhere. Please wait untill I find it. Homepage (pl_PL): http://uzytkownik.jogger.pl/ (GNU/)Linux User: #425935 (see http://counter.li.org/)
Re: Jak pogodzić apache2, php i ruby
Author: Jaroslaw Zabiello
Date: Mon, 07 Jan 2008 01:02
Date: Mon, 07 Jan 2008 01:02
15 lines
1250 bytes
1250 bytes
On Sun, 06 Jan 2008 21:40:46 -0000, Maciej Piechotka <uzytkownik2@gmail.com> wrote: >> Jak pogodzić Apache2, PHP i Ruby, aby wszystko ładnie chodziło chodziło >> na tym samym porcie? > > Use CGI Luke. Zapomnij. CGI to shit. Nie powinno tego się w ogóle używać dla RoR. Kosmicznie wolne. Nawet w Agile2 piszą że to pomyłka. -- Jarosław Zabiełło http://blog.zabiello.com irc://irc.eu.freenode.net/rubyonrails.pl
Re: Jak pogodzić apache2, php i ruby
Author: Jaroslaw Zabiello
Date: Mon, 07 Jan 2008 01:08
Date: Mon, 07 Jan 2008 01:08
23 lines
1808 bytes
1808 bytes
On Sun, 06 Jan 2008 20:04:55 -0000, Marcin <marlej@gazeta.pl> wrote: > Chodzi o Apache2 i mod_ruby. Wiem, jest Mongrel i od biedy WEBRick. A musi być mod_ruby? Jest zdecydowanie niezalecany. Wolny, żre pamięć, chyba ma wycieki pamięci i na dodatek wymaga restarta całego Apache'a po każdej twojej zmianie kodu w Railsach. Jednym słowem - bez sensu. > Jak pogodzić Apache2, PHP i Ruby, aby wszystko ładnie chodziło chodziło > na tym samym porcie? Ale może chodzić *wewnętrznie* na innym porcie? Na zewnątrz ten port nie będzie otwarty więc admin nie musi nic zmieniać w firewallu. Wtedy proste. Proxy do mongrela. Niech ustawi Apache'a atak aby ruch z http://localhost/~user/ruby/ kierował na http://127.0.0.1:3000 (czy jakiś port). Najlepiej na evented_mongrela bo jest najszybszy (nie trzeba będzie stawiać kilku mongreli, da się jakoś pociągnąć ruch na jednym, asynchronicznym) -- Jarosław Zabiełło http://blog.zabiello.com irc://irc.eu.freenode.net/rubyonrails.pl
Re: Jak pogodzić apache2, php i ruby
Author: Marcin
Date: Mon, 07 Jan 2008 08:07
Date: Mon, 07 Jan 2008 08:07
24 lines
1582 bytes
1582 bytes
Jaroslaw Zabiello pisze: > Ale może chodzić *wewnętrznie* na innym porcie? Jak najbardziej. Lokalnie (wewnętrznie) może tak być, nikomu to nie będzie przeszkadzać. > Na zewnątrz ten port nie > będzie otwarty więc admin nie musi nic zmieniać w firewallu. Wtedy proste. > Proxy do mongrela. Niech ustawi Apache'a atak aby ruch z > http://localhost/~user/ruby/ kierował na http://127.0.0.1:3000 (czy jakiś > port). Najlepiej na evented_mongrela bo jest najszybszy (nie trzeba będzie > stawiać kilku mongreli, da się jakoś pociągnąć ruch na jednym, > asynchronicznym) Czyli, że jak to jest: dla każdego usera, ba nawet dla każdego projektu RoR danego usera, trzeba odpalać osobny serwer? -- Pozdrawiam, Marcin
Re: Jak pogodzić apache2, php i ruby
Author: Marcin
Date: Mon, 07 Jan 2008 08:43
Date: Mon, 07 Jan 2008 08:43
12 lines
1152 bytes
1152 bytes
Jaroslaw Zabiello pisze: > Niech ustawi Apache'a atak aby ruch z > http://localhost/~user/ruby/ kierował na http://127.0.0.1:3000 (czy jakiś > port). A jak to ma wyglądać w przypadku typowego hostingu? Userów wielu i każdy chce mieć RoR i PHP. Userzy nie mają dostępu do shella - jedynie FTP. -- Pozdrawiam, Marcin
Re: Jak pogodzić apache2, php i ruby
Author: Adam Byrtek
Date: Mon, 07 Jan 2008 20:59
Date: Mon, 07 Jan 2008 20:59
15 lines
1244 bytes
1244 bytes
Jaroslaw Zabiello wrote: > Zapomnij. CGI to shit. Nie powinno tego się w ogóle używać dla RoR. > Kosmicznie wolne. Nawet w Agile2 piszą że to pomyłka. Ewentualnie użyj FastCGI, też bywają z nim problemy, ale gdy już się go uda skonfigurować, działa przyzwoicie. Ewentualnie rób proxy z Apacza do Mongrela. Pozdrawiam, Adam -- Adam Byrtek
Re: Jak pogodzić apache2, php i ruby
Author: Jaroslaw Zabiello
Date: Mon, 07 Jan 2008 21:22
Date: Mon, 07 Jan 2008 21:22
15 lines
1513 bytes
1513 bytes
On Mon, 07 Jan 2008 08:07:51 -0000, Marcin <webdoer@interia.pl> wrote: > Czyli, że jak to jest: dla każdego usera, ba nawet dla każdego projektu > RoR danego usera, trzeba odpalać osobny serwer? Tak. Najlepiej aby każdemu userowi robić proxy z tego głównego Apache'a na Nginx'a. Nginx jest lekki, szybki, zajmuje mało pamięci. Apache'a raz ustawiasz na Nginxa i zapominasz. A user może sobie restartować ile razy chce, dodawać i tysiąc projektów do Nginxa nie zawracając głowy adminowi. Oczywiście user musi mieć dostęp do SSH. Ale bez tego ani rusz. -- Jarosław Zabiełło http://blog.zabiello.com irc://irc.eu.freenode.net/rubyonrails.pl
Re: Jak pogodzić apache2, php i ruby
Author: Jaroslaw Zabiello
Date: Mon, 07 Jan 2008 21:28
Date: Mon, 07 Jan 2008 21:28
19 lines
1789 bytes
1789 bytes
On Mon, 07 Jan 2008 08:43:26 -0000, Marcin <webdoer@interia.pl> wrote: > A jak to ma wyglądać w przypadku typowego hostingu? Userów wielu i każdy > chce mieć RoR i PHP. Userzy nie mają dostępu do shella - jedynie FTP. No to niech zapomną o RoR. Bez SSH to ja bym nie podchodził. Nawet Dreamhost który nie daje ani mongrela, ani możliwości restartu, musiał dać SSH. Danie izolowanego ssh + nginx załatwia php, ror, django, pylons i co tam chcesz za jednym razem. W sumie ten Apache do niczego nie jest potrzebny. :) A skrypy PHP odpalane z Nginxa i przez fastcgi są odpalane w kontekście usera co też podnosi bezpieczeństwo innych userów. (Skrypty PHP odpalane przez mod_php chodzą w aspekcie jednego usera. Każdy może każdemu grzebać w źródłach. Chyba można to jakoś uszczelniać, ale nie pamiętam jak). -- Jarosław Zabiełło http://blog.zabiello.com irc://irc.eu.freenode.net/rubyonrails.pl
Re: Jak pogodzić apache2, php i ruby
Author: Adam Byrtek
Date: Tue, 08 Jan 2008 20:43
Date: Tue, 08 Jan 2008 20:43
14 lines
1250 bytes
1250 bytes
Jaroslaw Zabiello wrote: > w kontekście usera co też podnosi bezpieczeństwo innych userów. (Skrypty > PHP odpalane przez mod_php chodzą w aspekcie jednego usera. Każdy może > każdemu grzebać w źródłach. Chyba można to jakoś uszczelniać, ale nie > pamiętam jak). Pewnie masz na myśli suphp. Pozdrawiam, Adam -- Adam Byrtek
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads