Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

[I] Hamsterpaj and git sitting in a tree kissing

Skapad av Johan, 2008-04-26 08:53 i Datorer & IT

7 684
44 inlägg
3 poäng
Johan
Visningsbild
P 36 Göteborg Grundare 523 inlägg
3
God morgon på er! Tänkte uppdatera lite vad som händer med Open Source-projektet som varit relativt dött ett tag nu. Om cirkus fyrtiofem minuter skall jag och en kille som heter Simon hem till Martin Svangren, Tritone, ni minns den gamle räven som var med och byggde upp Hamsterpaj.

Vi ska sätta upp git, som är ett CVS-/SVN-liknande system för att hantera utvecklingsprojekt som flera arbetar på. Vi har satt upp en separat server för Hamsterpaj-utveckling och ska försöka få git att rocka på den.

Planen är att det över allt på Hamsterpaj ska finnas små knappar "Redigera denna sida". När man trycker på dessa får an välja ett namn, exempelvis "simontest". Då kopieras hela Hamsterpaj (under 3mb) över till en ny subdomän, simontest.hpdev.se. Via kontrollpanelen på hpdev.se kommer simontest sedan att kunna logga in och redigera Hamsterpaj direkt, spara sina ändringar och testa sig fram.
Eftersom hpdev.se ligger på en annan server kommer en annan databas och en annan bildserver att användas, det kommer alltså inte gå att sabotera på riktiga Hamsterpaj om man nu skulle vilja detta. Eventuellt kommer vi kunna ordna FTP-uppladdning, men annars får det bli texteditor online.
När man är klar med sina ändringar sparar man dessa, skriver en kommentar och trycker på "Commit". Dessa hamnar då i en lista där jag, Alexander, lef-91, Joel och Joar kommer kunna godkänna och kopiera över till riktiga Hamsterpaj.

Det krävs en del krånglande från vår sida för att få det att fungera, men det borde verkligen inte vara omöjligt :)
Nu vet ni vad som händer, återstår att se om vi lyckas eller inte...

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Heggan
Visningsbild
P Kakmonster Några osöta inlägg
0
I just say good luck and may the source be with you!

Ingen status

Kaktusen
Visningsbild
P 33 Malmö Hjälte 1 514 inlägg
0
Tycker att detta är riktigt trevligt, hoppas vi har tur och slipper "hackers". Men det kan inte finnas någon större charm i att hacka en open-source sida?

Ingen status

iPhone
Visningsbild
P 32 Vallentuna Hjälte 435 inlägg
0
Ännu en plats att spendera mina dagar!

Snart ska moddas JS :D

Jag är tydligen P26

Martin
Visningsbild
P 38 Göteborg Hjälte 156 inlägg
0

Svar till victor_passe [Gå till post]:
Att försöka exekvera kommandon som 'shutdown' går inte, eftersom användaren som kör PHP-skripten inte har tillräckliga rättigheter för det.

Visst kan folk säkert göra elaka grejer, men målet är att folk inte ska kunna förstöra något mer än sin egen kopia av sajten. Användarnas kopior ligger dessutom fysiskt separerade från den skarpa sajten, och ingen användares kod kommer med på den skarpa sajten utan att godkännas av Johan eller någon annan i Hamsterpaj-teamet.

Moodh åt upp min hatt!

Soode
Visningsbild
P Elak och dryg Sysop 666 hatiska inlägg
0

Svar till victor_passe [Gå till post]:

Sen när är man dum och kör apache som root?
vanligvis är det www-data som startar apache under en linux-server, vilket du säkert vet.
Och www-data har inte rättigheter att köra en shutdown.

Så jag tror nog inte det är några problem på den fronten.

Random.

Martin
Visningsbild
P 38 Göteborg Hjälte 156 inlägg
0

Svar till stupidhax [Gå till post]:

Jag hoppas att du är medveten om att 'shutdown' är ett UNIX-kommando :)

Moodh åt upp min hatt!

Martin
Visningsbild
P 38 Göteborg Hjälte 156 inlägg
0
Eftersom Johan nyss har slutat för dagen på sitt chokladhjulssnurrarjobb och är ute och käkar någonstans tänkte jag att jag skulle ge er en liten uppdatering.

Medan Johan har snurrat chokladhjul har jag och Simon slitit vårt hår för att få skiten att fungera. Det var inte riktigt så enkelt som Johan beskrev det.

Vi har ägnat dagen åt att sätta upp en utvecklingsmiljö som folk kan använda för att titta på och ändra i koden. Vi har satt upp databasserver, FTP-server och webbserver, och vi har skrivit skript som ska köras för att ge varje användare en egen kopia av Hamsterpaj. Det är ingen vacker lösning, men den verkar fungera hyggligt nu.

En stor del av tiden har gått åt till att göra systemet säkert. Vi vill dels undvika den typen av elaka grejer som ni har pratat om i den här tråden (folk som kör systemanrop från koden, osv.), och vi vill dels undvika att folk kommer åt att förstöra varandras utvecklingsmiljöer. Nästan alla säkerhetsproblem skulle lösas genom att köra PHP i safe mode, men eftersom Hamsterpaj inte är byggt för att köras i safe mode så går inte det. Istället har Simon byggt ett ganska avancerat C-program som löser säkerhetsproblemen åt oss. Han har också gjort ett registreringsformulär helt på finska där nya användare kan registrera sig :)

Jag har lagt mycket tid på att lösa en del av de problem som ni användare stött på när ni försökt testa Hamsterpaj på era egna servrar, nämligen problem med sökvägar och filer som saknas. Problemet är att Hamsterpaj är byggt för att fungera just på Hamsterpaj-servern - det räcker inte att ha katalogen med Hamsterpaj-koden, utan man måste ha en massa andra filer också, som ska ligga på speciella ställen. Jag har börjat bygga ett skript som ska ändra alla hundratals absoluta sökvägar i koden till relativa sökvägar, för att det ska bli lättare att flytta runt koden. Jag försöker också se till att Hamsterpaj blir helt "self-contained", alltså se till att allt man behöver finns i Hamsterpaj-katalogen. Jag har även börjat bygga en enkel webbaserad editor till utvecklingsmiljön, och lärt mig en massa grejer om ett läskigt program som heter 'sed'.

Det är fortfarande en massa jobb kvar, men vi hoppas att det snart ska finnas en färdig utvecklingsmiljö där ni kan leka loss med Hamsterpaj-koden :)

Moodh åt upp min hatt!

RoadGunner
Visningsbild
P 39 Vattensprutande Administratör 3 203 inlägg
0
Duktigt jobbat!

Hungrig

Martin
Visningsbild
P 38 Göteborg Hjälte 156 inlägg
0

Svar till stupidhax [Gå till post]:

'-h now' är fullt korrekt i moderna Linux-/BSD-system. Vad shutdown i Windows tar för parametrar vet jag ärligt talat inte.

Moodh åt upp min hatt!

Rojk
Visningsbild
P 37 Huddinge "Rojk" 3 576 inlägg
0
Tritone <3

Exactly which part of B flat you don't understand!?

iPhone
Visningsbild
P 32 Vallentuna Hjälte 435 inlägg
0
Hur kommer ni göra om något ändras på riktiga Hamsterpaj? Kommer min kopia att uppdateras också eller hur blir det?

Jag är tydligen P26

Heggan
Visningsbild
P Kakmonster Några osöta inlägg
0

Svar till tritone [Gå till post]:

Glöm inte din schweziska armé kniv kallad "awk" också. awk, sed är miket soeta program. Sen skadar de inte om ni ex. haxar in XEN och drar allt som virtuella hinkar. Så om nån hittar ett tokr00t hål och dödar all kod så kan man bara fiska upp en ny virtuellmaskin.



Ingen status

Martin
Visningsbild
P 38 Göteborg Hjälte 156 inlägg
0
Svar till iPhone [Gå till post]:
Alla ändringar som görs kommer att hamna i git, och både riktiga Hamsterpaj och alla kopior kommer att ha en koppling till git.

Att automatiskt uppdatera allas kopior är ingen bra idé, eftersom vi riskerar att skriva över det som ni sitter och jobbar med just då. Jag har inte helt klart för mig än hur vi ska göra, men antagligen kommer ni att få ett litet meddelande någonstans om att det finns ny kod att hämta, och sedan får ni själva trycka på knappen för att uppdatera era kopior. Då kommer ni också att se om någon kod i uppdateringen krockar med koden som ni jobbar med, så att ni kan anpassa era ändringar till senaste versionen av Hamsterpaj.

Det är mycket som inte är klart än, men mer information kommer efterhand :)

Moodh åt upp min hatt!

Martin
Visningsbild
P 38 Göteborg Hjälte 156 inlägg
0
Svar till Heggan [Gå till post]:
Awk får vänta ett tag, ett läskigt program åt gången :P

Jag tror inte att det blir något Xen just för tillfället (kanske blir ett Xenare projekt :P). Just nu har vi en ganska avancerad wrapper till PHP som chrootar alla kopior av sajten för att folk inte ska kunna förstöra mer än sina egna grejer. Den bästa lösningen för att få det säkert utan att köra allting i VM:ar hade ju varit att köra safe mode i PHP, men som koden ser ut nu så vågar jag inte ens testa det :P

Moodh åt upp min hatt!

Martin
Visningsbild
P 38 Göteborg Hjälte 156 inlägg
0

Svar till Rheo [Gå till post]:

Vi har tittat på andra lösningar, till exempel suPHP, men eftersom vi använder dynamiska virtual hosts för alla utvecklinskopior så är det ingen bra lösning för oss. suPHP ska tydligen ha stöd för mod_userdir i Apache, men eftersom suPHP är riktigt uselt dokumenterat har vi inte kunnat testa det.

Vi kollade även på att använda PHP:s open_basedir för att låsa in användarna i sina egna kataloger, men det föll också på att vi har dynamiska virtual hosts, i kombination med att det inte går att sätta open_basedir från .htaccess.

Vi letade ganska länge innan vi gav upp och Simon byggde en wrapper för det istället. Jag har fortfarande inte hittat någon bra dokumentation om hur man gör PHP säkert på en delad host. Den enda rekommendationen folk verkar ha är att använda just safe mode, men om du har några andra tips så är de givetvis välkomna.

Moodh åt upp min hatt!

Martin
Visningsbild
P 38 Göteborg Hjälte 156 inlägg
0

Svar till Rheo [Gå till post]:

Det är också en lösning, och vi har övervägt den med :)

Om man konfigurerar en riktig virtual host för varje användare så har man möjlighet att sätta open_basedir i PHP, och då slipper man undan en hel del problem. Tyvärr får man istället problemen att underhålla alla virtual hosts. Om vi behöver lägga till eller ta bort några direktiv i virtual host-konfigurationerna så måste vi bygga skript som uppdaterar alla användares konfiguration, och vi måste lägga till och ta bort virtual hosts efterhand som användare läggs till och tas bort. Det blir extra skript och extra kugghjul i registreringsmaskineriet som redan börjar bli ganska komplext.

Webbhotell löser oftast problemen med virtual hosts genom att använda en färdig applikation (CPanel eller liknande) som sköter registreringar, avregistreringar och uppdateringar. Att köra CPanel här är uteslutet, och jag vet inte hur bra de open source-varianter som finns är. Det är ganska många bitar som måste falla på plats för att allt ska fungera (databasimporter, klona ut kod från git, skapa config-filer för Hamsterpaj, och så vidare). Det är tyvärr inte helt trivialt att sätta upp :)

Moodh åt upp min hatt!

Martin
Visningsbild
P 38 Göteborg Hjälte 156 inlägg
0

Svar till pr0n [Gå till post]:

FTP-stöd finns med i planen. Om vi inte springer på några stora hinder på vägen så kommer det att finnas med när vi släpper utvecklingsmiljön.

Moodh åt upp min hatt!

Heggan
Visningsbild
P Kakmonster Några osöta inlägg
0

Svar till tritone [Gå till post]:

Skriva scripts som lägger till vhosts är iofs pice of kaka om man kan lite shellscript. Kör man dessutom på ex. debian så är de ännu enklare redan från start.

Men förresten, se för guds skull till att systemet kör selinux så ni kan styra lite mer precis vad som ska få göra vad.

Ingen status

Martin
Visningsbild
P 38 Göteborg Hjälte 156 inlägg
0

Svar till fuckumicke [Gå till post]:

Det känns inte så, nej.



Det finns en git-server uppsatt där all kod kan checkas in, men jag har inte dresserat Johan att använda git än. Och när jag och Johans finske kompis satt och hackade lite med det så kändes det som att det var ett ganska stort projekt att få igång ett system som ger alla en egen kopia av sajten.

Johan har lovat att bjuda på middag någon dag, så att vi kan snacka mer om det där. Eller, tekniskt sett då har han inte lovat att bjuda, men nu lovade jag åt honom istället.

Jag kommer nog att förespråka att vi ska skrota idén med att hosta utvecklingsmiljöer åt alla. Det är bättre att göra koden tillgänglig, lappa ihop den så att "vanligt folk" kan köra den och dokumentera hur man sätter upp en utvecklingsmiljö med Apache, PHP och MySQL (eller med XAMPP, för att göra det enkelt för sig). Dessutom är det betydligt säkrare än att låta folk köra vilken kod de vill på Hamsterpajs server. Och framför allt så kanske det innebär att vi lyckas ro i land det här projektet någon gång.

Moodh åt upp min hatt!

ENord
Visningsbild
Hjälte 2 348 inlägg
0
Svar till Johan [Gå till post]:
Utvecklarna kommer inte alls få samma status när alla kommer kunna syssla med detta. Detta verkar dock ganska dött, så jag antar att det är nedlagt att göra detta?
Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
0
Dog HP Open Source projektet?

/party


Forum » Datorer & IT » [I] Hamsterpaj and git sitting in a tree kissing

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons