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í
×
    včera 11:00 | Pozvánky

    Přímý přenos z konference OpenAlt 2024, jež probíhá tento víkend v prostorách FIT VUT v Brně. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.

    Ladislav Hagara | Komentářů: 0
    1.11. 23:55 | Humor

    V Coloradu unikla hesla k volebním počítačům. Více než 2 měsíce byla tabulka se stovkami hesel do BIOSu volně na webových stránkách. Dle úřadu je potřeba ještě druhé heslo, takže se o žádnou bezprostřední bezpečnostní hrozbu pro volby nejedná [Ars Technica].

    Ladislav Hagara | Komentářů: 0
    1.11. 18:33 | IT novinky Ladislav Hagara | Komentářů: 24
    31.10. 22:44 | IT novinky

    Apple představil nový MacBook Pro s čipy M4, M4 Pro a M4 Max.

    Ladislav Hagara | Komentářů: 69
    31.10. 22:00 | Zajímavý software

    Na GOG.com běží Halloween Sale 2024. Při té příležitosti lze získat zdarma počítačovou hru Return of the Phantom.

    Ladislav Hagara | Komentářů: 0
    31.10. 20:22 | IT novinky

    Společnost OpenAI spustila internetový vyhledávač ChatGPT search.

    Ladislav Hagara | Komentářů: 1
    31.10. 14:33 | Pozvánky

    Konference OpenAlt 2024 proběhne již tento víkend 2. a 3. listopadu v prostorách FIT VUT v Brně. Začíná ale už v pátek na warm-up party ve Studentském klubu u Kachničky v 17:00. Pokud jste ještě areál FITu nenavštívili, k dispozici jsou pokyny k orientaci. Na programu je 54 přednášek a workshopů. Témata jsou od silně technických témat jako je třeba GCC nebo PostgreSQL po méně technické témata jako eGovernment, nebo třeba detailní analýzu … více »

    Ladislav Hagara | Komentářů: 5
    31.10. 13:23 | Nová verze

    Byla vydána nová verze 6.9 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 14.0.1. Tor client na verzi 0.4.8.13. Thunderbird na verzi 115.16.0.

    Ladislav Hagara | Komentářů: 2
    31.10. 12:33 | Komunita

    Vývojáři free a open source synchronizačního nástroje (a p2p náhrady Dropboxu) Syncthing oznámili, že z důvodu odporu ze strany Google Play ukončují podporu OS Android. Bohužel v rámci toho zmizí i vydání Syncthing na F-Droid, který má slabší uživatelskou základnu. Syncthing je na Androidu implementován formou wrapper aplikace, která spustí Syncthing démon, vyžádá potřebná oprávnění a zpřístupní webové rozhraní démona. Ve srovnání se

    … více »
    Harvie.CZ | Komentářů: 6
    31.10. 01:11 | Nová verze

    V červnu 2022 bylo oznámeno, že z K-9 Mailu se stane Thunderbird pro Android. Trvalo to poněkud déle, než vývojáři předpokládali, ale včera byl první stabilní Thunderbird pro Android 8.0 vydán.

    Ladislav Hagara | Komentářů: 0
    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: 2731×

    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.