Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: Amazon Linux - Apache2, SVN, svn-post-commit hooks  (Przeczytany 3460 razy)

Radek2212

  • Gość
Amazon Linux - Apache2, SVN, svn-post-commit hooks
« dnia: 2012-01-17, 21:06:24 »
Witajcie, potrzebuję trochę pomocy. Fakty:

1. Instancja na której pracuję to Amazon Linux: w systemie istnieje użytkownik root ale loguje się na niego poprzez certyfikaty/klucze = nikt nie zna hasła root'a ale dzięki sudo mc, ctrl+o udaje mi się uzyskać konto root'a dla konsoli

2. Jest tam zainstalowany serwer Subversion Server: nie ja go instalowałem ale mogę obadać/pozmieniać konfigurację gdyby coś było potrzebne.

3. Apache2 zainstalowany, działa bez problemów. W katalogu /var/www/html są odpowiednie katalogi typu: projekt1,projekt2 itp - te katalogi stanowią lokalne kopie projektów obecnych w SVN czyli w katalogu projekt1 mamy podkatalog trunk i ciągniemy zmiany jak ktoś coś commit'nie

4. Do tych lokalnych repo kilku programistów ma dostęp i tak musi zostać bo pliki widoczne na www muszą być w lokacji do której ma dostęp wielu użytkowników = odpadają lokalne repo w katalogach domowych.

5. Próbuję wykorzystać funkcjonalność svn-post-commit dla komendy svn update. Działa to tak, że po każdym commicie jest odpalany wybrany skrypt, który może robić dowolne rzeczy. A u mnie wywoływał by komendę svn update. Jest to konieczne bo obecnie jak webmaster coś zmieni to ktoś musi się zalogować na serwer, sudo mc, ctrl+o a porem svn update. Nie muszę mówić, że to uniemożliwia normalną pracę.

Znalazłem coś takiego: http://bit.ly/opZL3J ale mam problem:

#include 
#include
#include
int main(void)
{
  execl("/usr/bin/svn", "svn", "update", "--username",
"YOURSVNUSER", "--password", "YOURSVNPASSWD",
 "/var/www/dev/",  (const char *) NULL);
  return(EXIT_FAILURE);
}
nie mam czegoś takiego jak YOURSVNUSER. Jedynym użytkownikiem, który jest w stanie wykonać komendę svn update w katalogach jest root(dla pozostałych pisze ze brak dostępu) ale nikt nie zna do niego hasła.

Czy ktoś ma jakiś pomysł ?

Ksanderon

  • Gość
Amazon Linux - Apache2, SVN, svn-post-commit hooks
« Odpowiedź #1 dnia: 2012-01-17, 23:25:14 »
możesz sobie ustawić pass roota:) "sudo passwd" ale to tak nie powinno chodzić- powinien być osobny user svn, który będzie mógł na nim dokonywać wszelkich operacji.

Radek2212

  • Gość
Amazon Linux - Apache2, SVN, svn-post-commit hooks
« Odpowiedź #2 dnia: 2012-01-17, 23:29:27 »
Cytat: Ksanderon
możesz sobie ustawić pass roota:) "sudo passwd"
Nie bo Amazońskie cudo ma generowane hasło root'a co restart.

Cytat: Ksanderon
ale to tak nie powinno chodzić- powinien być osobny user svn, który będzie mógł na nim dokonywać wszelkich operacji.
Czyli co ? Stworzyć sobie user'a o nazwie svn, dać mu prawa roota, dopisać do grupy root i finito ? Czy trzeba nadawać jeszce jakieś uprawnienia katalogowi /var/www/html/ oraz zawartości ?

A może w konfiguracji SVN trzeba jeszcze coś pomajstrować ?

ZipoKing

  • Gość
Amazon Linux - Apache2, SVN, svn-post-commit hooks
« Odpowiedź #3 dnia: 2012-01-18, 08:50:36 »
1. Na początku zrób
Kod: bash [Zaznacz]
cd /var/www/html/
svn checkout file:///var/www/dev/
(kopia repozytorium po lokalnym systemie plików a nie po http/ssh - wtedy nie będzie się pytał o hasło). W takim przypadku spokojnie będziesz mógł umieścić sobie svn update w post-commit
2. Najlepiej, aby po svn checkout/update zrobić chown na update'owanych plikach tak aby właścicielem tych plików był user na którym działa apache - wtedy będziesz miał pewność, że nie wyskoczy ci nigdzie błąd dostępu do plików (np. przy próbie zapisania logów/utworzenia pliku tymczasowego).

Radek2212

  • Gość
Amazon Linux - Apache2, SVN, svn-post-commit hooks
« Odpowiedź #4 dnia: 2012-01-19, 21:27:59 »
Dzięki za porady, trochę pomogły ale nadal mam error 255 po commicie :/