Fórum Root.cz
Hlavní témata => Server => Téma založeno: bodo 26. 05. 2016, 14:03:39
-
Ahoj,
vopred upozornujem ze nie som extra zbehly admin v linuxe, ale co to uz ako power user za sebou mam (cca. 10 rokov pouzivania Archlinuxu). Tolko k backgroundu.
Problem:
Na jednom zo servrov mame nainstalovany zo zdrojakov Apache 2.2.15 no a teraz prisla poziadavka ze by bolo dobre updatnut ho na Apache 2.4.x. Takze vyskusal som nasledovny postup http://www.erikwebb.net/blog/compile-and-install-apache-24-red-hat-enterprise-linux-rhel-6-or-centos-6
Vpodstate toto asi by malo fungovat akurat som dosiel do bodu kde je problem s distcache (proto_fd.c), to sa ale da vyriesit pomocou tohto navodu http://howtolamp.com/lamp/httpd/2.4/installing-httpd-dependencies/ - 1) Installing distcache
Poziadavka ale je, ze mala by ostat chodiva instalacia povodneho Apache 2.2.15 pre pripad backup-u, co asi po update a instalacii kniznic v /usr/lib a /usr/lib64 predpokladam ze nebude mozne.
Takze konecne otazka, je mozne vytvorit LXC container a spravit tam cistu instalaciu Apache 2.4.x bez nutnosti updatovania /usr/lib a /usr/lib64 na base prostredi? Resp. je to moznost ako kompletne odizolovat httpd server a jeho zavislosti od base prostredia?
Dakujem.
-
Vsechno, co neni distribucni, patri do /opt nebo /usr/local, pak neni problem s konflikty. Davat kompilovane veci nebo home-made RPM do /usr je prasarna...
-
Poziadavka ale je, ze mala by ostat chodiva instalacia povodneho Apache 2.2.15 pre pripad backup-u, co asi po update a instalacii kniznic v /usr/lib a /usr/lib64 predpokladam ze nebude mozne.
Pokud potřebuješ, aby vedle sebe běžely dvě verze, které by se kompilací překrývaly, pak ten apache 2.4 můžeš zkompilovat do vlastního stromu v adresářové struktuře. Není to zrovna nejpřehlednější, ale funguje to.
Pak budeš mít apache 2.2 v
/usr/local
| - bin/
| - lib/
| - ...
a apache 2.4
/opt/apache24/
| - bin/
| - lib/
| - ...
Pak si samozřejmě musíš upravit PATH, anebo vyrobit symlinky (např. apache2.2, apache2.4) do /usr/bin. A taky zkopírovat a lehce modifikovat init skript pro ten druhý apache, abys je mohl pohodlně zapínat/vypínat dle potřeby.
Na CentOSu takhle vedle sebe mám dvoje PHP pro dva apache (distribuční a ručně zkompilované) a funguje to bezvadně.
Takze konecne otazka, je mozne vytvorit LXC container a spravit tam cistu instalaciu Apache 2.4.x bez nutnosti updatovania /usr/lib a /usr/lib64 na base prostredi? Resp. je to moznost ako kompletne odizolovat httpd server a jeho zavislosti od base prostredia?
Máš dvě možnosti:
1) Udělat chroot a do něj nacpat ten zkompilovaný apache + všechny závislosti. Fungovat to bude, ale bude s tím dost práce. A když se rozhodneš ten chroot nějak rozšířit, budeš muset tohle kolečko udělat znova.
2) LXC - nainstaluješ si minimální systém - shell, gcc, tu konkrétní verzi verzi apache - a když budeš chtít něco změnit, upravíš to jako bys modifikoval novou, úplně jinou, instanci linuxu. Navíc si tam budeš možná moct spustit jinou verzi distribuce (pokud bude kompatibilní s jádrem base systému).
Akorát si nejsem jistý jestli a jak se dají rozjet LXC na RHEL/CentOS 6. Co jsem tam zkoumal, tak v LXC jsou oficiálně podporovaná až v RHEL/CentOS 7 a pravděpodobně si budeš muset překompilovat jádro.
-
To yenn: Dik to je presne to co som potreboval vediet. LXC teda asi nepojde kedze to bezi na Oracle Linux 6.5, co je prakticky RHEL 6. Este raz dakujem.
-
Na Centos 6 by měli jít spustit LXC , https://wiki.centos.org/HowTos/LXC-on-CentOS6.
-
To Bumbo: Dakujem. To som nasiel aj testol na lokalnej VM s centos 6.7, asi neostava nic ine len si spravit VM s Oracle Linuxom 6.5 a testnut to tam priamo.