abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 4
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    26.4. 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 44
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 14
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 3
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 875 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Spouštění PHP pod jeho UID:GID - Apache

    14.1.2007 19:23 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Spouštění PHP pod jeho UID:GID - Apache
    Přečteno: 2726×

    Ahoj,
    Potřeboval bych poradit s konfigurací Apache. Rád bych, aby PHP běžely pod svým UID a GID a zároveň chci používat dynamické virtuální hostitele (mass hosting), tedy situace, kdy nemám pro každého hostitele záznam <VirtualHost> a nemůžu to tedy jednoduše udělat pomocí Apache MPM-Peruser (a direktivy ServerEnvironment). Jediné funkční nastevní bylo pomocí suPHP, které ale funguje přes CGI a má proti mod_php asi desetinásobně menší výkon. FastCGI s suEXEC mě taky napadlo, ale nenašel jsem přesně návod, jak udělat, aby si wrapper php sám zjistil, pod jakým UID:GID má běžet a FastCGI PHP bylo stejně asi dvakrát tak pomalé než mod_php. Moje otázka tedy zní: lze nějak zkloubit mass hosting s MPM-Peruser? Tedy něco jako ServerEnvironment %0 %0? Mě se to nepodařilo, ale konfiguraci Apache nerozumím natolik, abych mohl říct, že to není možné. Pokud je tu někdo, kdo Apachi opravdu rozumí a ví, že to možné není, ať to prosím napíše - nebudu už aspoň muset hldat. Ještě poznámka na závěr - pokud tuto možnost přináší Apache 2.2 (ačkoliv v New Features jsem nic takového nenašel), není to problém. Kvůli tomuhle bych ho klidně nasadil, i když je teprve ve vývoji. Stejně tak, pokud víte o jiném webserveru, který by si uměl poradit s PHP (třeba lighttpd přes FastCGI) a tohle uměl, taky mě to určitě zajímá. Díky všem, už jsem nad tím strávil asi tři dny a rád bych znal závěrečnou odpověď :)

    Odpovědi

    14.1.2007 19:50 Zdvori | skóre: 9
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache
    Osobně používam FastCGI a SuPHP a ono desetinásobné snížení výkonu nepociťuji. Můžete doložit nějkým měřením. Osobně by mě tato problematika také zajímala.

    Já osobně jiné řešení nenašel.

    PS:Výhodu v SuPHP vidím také v možném dodatečném zabezpečení které nabízí...

    14.1.2007 19:57 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache

    FastCGI a suPHP? Tohle nastavení jsem nidke neviděl a podle toho, co jsem našel na mailing listu suPHP to prý ani nejde. Mohl byste prosím zveřejnit svá nastavení? Jinak to měřením můžu doložit, akorát se mi ho nechce dělat znova :D Použil jsem ab2 benchmark a jednoduchou phpinfo(); stránku, testoval jsem na 1000 požadavků, maximálně vedle sebe jich běželo deset (ab2 -n 1000 -c 10 [adresa_serveru]) a mod_PHP dosahoval asi 200 požadavků/s, PHP/FastCGI asi 130 požadavků/s a suPHP asi 20 požadavků/s. Pokud byste z těch měření dokázal vyčíst něco víc, kdybych je postnul celá, klidně to udělám, ale vážně tam nic zázračného nebylo. Server mám v 100Mbit LAN a největší rychlost (s mod_php) byla asi 8000kB/s, takže sítí to myslím nebude.

    Díky za odpověď :)

    14.1.2007 20:16 Zdvori | skóre: 9
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache
    Nastavení jsem prakticky neměnil a v phpInfo mám:

    Server API CGI/FastCGI

    Tak jen doufám, že to není jen moje chyba při odečítání hodnoty.

    www-apache/mod_suphp-0.6.2 USE="checkpath mode-owner -mode-force -mode-paranoid"

    Můžete poslat script na měření? ...rád bych se ujistil zda opravdu běží FastCGI.

    14.1.2007 20:47 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache

    Prosím tykat :) Pokud máte nainstalovaný Apache-2*, tak ten benchmark máte, je to binárka ab2. A to Server API - říká jenom to, že PHP bylo zkompilováno s podporou CGI i FCGI (můžete se ujistit tím, že spustíte php-cgi -v - vypíše, že má podporu pro oboje), ne že ho i využívá, tzn. že vám běží jenom jako CGI. Mimochodem, vzhledem k tomu, že máte Gentoo (já též), tak se můžete sám ujistit, že mod_suphp nemá mod_fcgid ani fcgi jako závislost, takže těžko může takto běžet (vzhledem k tomu, že je asi nemáte ani nainstalované, jak předpokládám).

    14.1.2007 22:33 Zdvori | skóre: 9
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache
    Když tykat tak oboustraně :)

    Až bude čas pokusně přepsat konfiguraci serveru tak to otestuju.

    Existuje ještě nějaké řešení pro:

    Spouštění scriptů pod vlastníkem
    Možnost současného běhu php4 a php5
    Ukládání logů pro každou doménu zvlášť
    Základní zabezpečení v porovnávání vlastníků souborů a document root atd...

    Jediné co jsem našel, že splňuje požadavky je kombinace VirtualHost a SuPHP

    15.1.2007 09:56 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache

    Možnost současného běhu PHP4 a PHP5 - je hezký návod na stránkách Gentoo. Gentoo pro tohle má přímo USE flag concurrentmodphp (umožňuje provozovat obě verze PHP jako mod_php), ten zatím ještě nefunguje dokonale, ale s troškou pomoci na fórech by to šlo. Jinak určitě funkční řešení a asi nejrychlejší (kromě concurrentmodphp) je jedna verze PHP jako mod_php a druhá jako FastCGI.

    Další okomentuju (a ano, je to proveditelné a vzhledem k tomu, že to budu dávat na svůj server. tak to doplním i do článku v blogu), teď běžím do hodiny :)

    15.1.2007 10:26 Zdvori | skóre: 9
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache
    Tak moje měření:

    phpinfo() - 1,5GB RAM; Pentium M 1,86GHz; PHP5-mod_php = 240.60 [#/sec]

    phpinfo() - 4GB RAM; Core2Duo 2,13Ghz; PHP-suPHP+CGI = 9.67 [#/sec]

    Smutné :-(

    15.1.2007 13:41 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache

    Velmi smutné. Vpodstatě celý důvod, proč se tady an to ptám. Jen mě mrzí, že pořád nikdo neodpovídá.

    15.1.2007 17:11 Zdvori | skóre: 9
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache
    Bohuzel pochybuji jestli to ma jine reseni. To co chces asi jentak nepujde. Dynamic Virtual host jsem kdysi pouzival, ale po zavedeni pozadavku na SSL/domena, ukladani logu ke kazde domene zvlast a vlastni nastaveni php pro kazdou domenu toto reseni prestalo zvladat. Pouzil jsem tedy klasicky virtual host, kde se da vse jednoduseji nastavit. Podobne tema jsem resil v diskuzi jiz kdysi a nenaslo se moc lidi kteri by odpovedeli a neco vedeli... :-(
    15.1.2007 17:20 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache

    Takže - s těmi logy. Pokud nepotřebujete nic moc co se týče těch dynamic virtual hostů nastavovat, můžete použít řešení založené na mod_rewrite. Našel jsem jeden návod kompletně včetně těch logů - ono to dělá jeden log a potom ho to vždycky (pomocí cronu, třeba o půlnoci) rozseká na jednotlivé logy na [nazevserveru]-YYYY-DD-MM.log a uloží do adresáře toho daného hostu. Jestli je to to, co hledáte, tak tady to je. Akorát si projděte celý ten thread, jsou tam i doplňující informace o tom, jak na to s Apachem 2.0, ten úvodní post se týká Apache 1.3. CKaždopádně to jde i nějak udělat pro mas hosting s VirtualHosty, akorát jsem nenašel přesný návod (ale myslím, že by se akorát lehce pozměnil ten rozsekávací skript). A vlastní nastavení PHP - to by taky mělo jít pomocí nějakého toho regexpu, pokud se vám ovšem nejedná o ty uživatele :(

    15.1.2007 17:38 Zdvori | skóre: 9
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache
    Rikal jsem tykat :-). Rozsekat logy by samozdrejme nebyl problem, ale uz to ma nejake spozdeni. Takhle maj uzivatele na FTP svoje realtime logy. O rozsekani se taky docela dobre do dnu postara Awstats a mam to rovnou i se statistikou :-). O ty uzivatele se mi jedna. S tim, ze bych mel VirtualHost pro kazdou domenu jsem se smiril, ma to mnohem vice moznosti. DynamicHost jsem pouzival sice s uspechem nekolik let, ale nyni je nevyhovujici. Proc se ty branis klasickym virtualHostum?
    15.1.2007 17:45 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache

    Nejsem programátor a budu si muset napsat nějaké skripty na generování konfiguráků. A jsem líný :D a navíc - dokud se na ten vhost nikdo nepodívá, Apache o něm neví ==> teoreticky by to mělo být výkonější. Ale co už. RAm se dá dokoupit ... Už se s tím smiřuju. I tak díky za odpověď :)

    14.1.2007 20:21 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache
    "..kdy nemám pro každého hostitele záznam <VirtualHost>.."

    to uz preco ? je tam nejaky problem ? ako to mas teda spravene ?
    14.1.2007 20:41 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache

    Je to dynamický VirtualHost, tzn. že Apache se kouká do nadefinovaného adresáře a všechny podadresáře interpretuje jako VHosty. Celé se to dělá pomocí mod_vhost_alias. Asi takhle:

    NameVirtualHost *:80
      <VirtualHost *:80>
        <Directory "/storage/www/hosts">
        ---nic speciálního---
        </Directory>
        <IfModule mod_vhost_alias.c>
    ---teď ta důležitá část. %0 je požadovaný název (třeba www.nazevwebu.cz). Jsou i další možnosti, více zde---
          VirtualDocumentRoot /storage/www/hosts/%0.0
          VirtualScriptAlias /storage/www/hosts/%0.0/cgi
    
    
    
    Doufám, že je to srozumitelné.

    5.4.2007 09:38 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Spouštění PHP pod jeho UID:GID - Apache

    Tak už jsem to vyřešil. Doufám, že to pomůže. jsou tam i odkazy na mod_vhs, na jehož stránkách jsou zase návody, jak ho rozjet s oddělenými logy. Zkrátka když si pročtet ten článek + linkovaný materiál, myslím, že vám to přinese užitečné informace.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.