abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:44 | Komunita

    PSF (Python Software Foundation) po mnoha měsících práce získala grant ve výši 1,5 milionu dolarů od americké vládní NSF (National Science Foundation) v rámci programu "Bezpečnost, ochrana a soukromí open source ekosystémů" na zvýšení bezpečnosti Pythonu a PyPI. PSF ale nesouhlasí s předloženou podmínkou grantu, že během trvání finanční podpory nebude žádným způsobem podporovat diverzitu, rovnost a inkluzi (DEI). PSF má diverzitu přímo ve svém poslání (Mission) a proto grant odmítla.

    Ladislav Hagara | Komentářů: 2
    dnes 04:55 | Nová verze

    Balík nástrojů Rust Coreutils / uutils coreutils, tj. nástrojů z GNU Coreutils napsaných v programovacím jazyce Rust, byl vydán ve verzi 0.3.0. Z 634 testů kompatibility Rust Coreutils s GNU Coreutils bylo úspěšných 532, tj. 83,91 %. V Ubuntu 25.10 se již používá Rust Coreutils místo GNU Coreutils, což může přinášet problémy, viz například nefunkční automatická aktualizace.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | IT novinky

    Od 3. listopadu 2025 budou muset nová rozšíření Firefoxu specifikovat, zda shromažďují nebo sdílejí osobní údaje. Po všech rozšířeních to bude vyžadováno někdy v první polovině roku 2026. Tyto informace se zobrazí uživateli, když začne instalovat rozšíření, spolu s veškerými oprávněními, která rozšíření požaduje.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Humor

    Jste nuceni pracovat s Linuxem? Chybí vám pohodlí, které vám poskytoval Microsoft, když vás špehoval a sledoval všechno, co děláte? Nebojte se. Recall for Linux vám vrátí všechny skvělé funkce Windows Recall, které vám chyběly.

    Ladislav Hagara | Komentářů: 1
    včera 16:11 | Komunita

    Společnost Fre(i)e Software oznámila, že má budget na práci na Debianu pro tablety s cílem jeho vyžívání pro vzdělávací účely. Jako uživatelské prostředí bude použito Lomiri.

    Ladislav Hagara | Komentářů: 0
    26.10. 17:11 | IT novinky

    Proběhla hackerská soutěž Pwn2Own Ireland 2025. Celkově bylo vyplaceno 1 024 750 dolarů za 73 unikátních zranitelností nultého dne (0-day). Vítězný Summoning Team si odnesl 187 500 dolarů. Shrnutí po jednotlivých dnech na blogu Zero Day Initiative (1. den, 2. den a 3. den) a na YouTube.

    Ladislav Hagara | Komentářů: 4
    26.10. 13:33 | Komunita

    Byl publikován říjnový přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Pracuje se na podpoře M3. Zanedlouho vyjde Fedora Asahi Remix 43. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.

    Ladislav Hagara | Komentářů: 0
    25.10. 15:44 | Zajímavý software

    Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.

    Ladislav Hagara | Komentářů: 0
    25.10. 05:11 | Zajímavý článek

    Obrovská poptávka po plynových turbínách zapříčinila, že datová centra začala používat v generátorech dodávajících energii pro provoz AI staré dobré proudové letecké motory, konvertované na plyn. Jejich výhodou je, že jsou menší, lehčí a lépe udržovatelné než jejich průmyslové protějšky. Proto jsou ideální pro dočasné nebo mobilní použití.

    karkar | Komentářů: 10
    24.10. 19:55 | Nová verze

    Typst byl vydán ve verzi 0.14. Jedná se o rozšiřitelný značkovací jazyk a překladač pro vytváření dokumentů včetně odborných textů s matematickými vzorci, diagramy či bibliografií.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (47%)
     (20%)
     (19%)
     (23%)
     (17%)
     (21%)
     (17%)
     (18%)
    Celkem 279 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    Server - Díl druhý - Software: Apache - EDIT

    11.1.2007 20:25 | Přečteno: 2979× | Nápady | poslední úprava: 16.1.2007 19:40

    Takže je tady druhý díl o mém snažení, jež má za cíl vytvoření fungujícího a celkově prostě pěkného hostingu. Dnes se budu zabývat konfigurací Apache, protože potřebuju taky vyřešit jeden problém s ním související ;)

    Ukončení - pro ty, co nechtějí číst až do konce:

    Po dlouhém experimentování s MPM-ITK, MPM-Peruser, Apachem 2.2, suPHP, FastCGI, benchmarkování a podobně jsem došel k následujícím závěrům:

    Nakonec to tedy dopadne tak, že se pokusím udělat mass hosting s FastCGI/PHP/MPM-Worker, pokud se mass hosting nepodaří, budou to normální VirtualHosty. To už je stejně jedno ... Hotové configy tady potom někde vystavím, aspoň pro ty, kteří se po nich ptali. Díky všem za komentáře a pokud se vám to aspoň trošku líbilo, tak se můžete těšit vbrzku na další díl. Pax!



    Takže - na serveru teď běží Gentoo Linux, se kterým jsem byl vždycky spokojený a o kterém věřím, že se s pomocí skvělého nástroje glsa-check se vyrovná i některým ... "profesionálnějším" distribucím. Já mám prostě Gentoo rád a myslím, že popisované problémy nejsou gentoo-specific, takže prosím no flame :) Co už mám: skoro nic. Vpodstatě hlavně myšlenky a lehce započatou práci s Apachem. Kde jsem se zasekl:

    Mám Apache 2.0.58-r2. Chci, aby Apache běžel s dynamickými vhosty (tzn. že sleduje nějaký adresář a podle názvů adresářů uvnitř "přidává" vhosty. Zkrátka každou složku interpretuje jako vhost. Více přímo na odkazovaných stránkách). To se mi podařilo - dokonce oběma možnými způsoby - první je přes mod_rewrite, kterýžto nevypadá tak hezky, ale funkčně je to to samé a umožňuje jednoduše přesměrovat na předdefinovanou výchozí stránků v případě, že Apache požadované stránky nenajde. Druhý způsob je přes "VirtualDocumentRoot" direktivu, která toto (prý, oprav te mně, jestli se mýlím) neumožňuje. A teď opravdový problém - chtěl bych zfunkčnit věc, která mi chybí na všech zatím mnou používaných hostech - totiž, že FTP uživatel a uživatel, kterým jsou stránky interpretovány, není stejný. Vyplývá to z toho, že Apache provádí všechny operace jako jeden uživatel a skupina (ať už www:www-group, nebo apache:apache, viděl jsem všechno možné) a vy pak nemůžete dělat některé operace, které by se vážně přes to FTP hodily - obvzlášť v případě, že třeba redakční systém uploaduje soubory jako 0600 :D. Co s tím? Použít mpm-peruser, který umožňuje pro každý VHost nadefinovat jiného uživatele:skupinu, pod kterým má Apache běžet. Ale jak to skloubit s dynamickými vhosty? To se mi zatím nepodařilo. Asi by se hodilo vypsat důležité části mých konfiguráků :)

    Tohle je ta metoda dynamických vhostů přes mod_rewrite
    /etc/apache2/httpd.conf
    UseCanonicalName Off
    
    RewriteEngine On
    
    # a ServerName derived from a Host: header may be any case at all
    RewriteMap  lowercase  int:tolower
    
    RewriteCond  %{REQUEST_URI}  !^/icons/
    # Duplicate the above for whatever other system-wide aliases you have
    RewriteCond  /storage/www/hosts/${lowercase:%{SERVER_NAME}} -d
    RewriteRule  ^/(.*)$  /storage/www/hosts/${lowercase:%{SERVER_NAME}}/$1 [L]
    
    RewriteCond  %{REQUEST_URI}  !^/icons/
    # Duplicate the above for whatever other system-wide aliases you have
    RewriteRule  ^/(.*)$  /storage/www/default/$1
    
    # this log format can be split per-virtual-host based on the first field
    LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    CustomLog logs/access_log vcommon
    

    A tohle přes regulérní direktivy Apache pro to určené. Jméno souboru více méně nepodstatné.
    /etc/apache2/vhosts.d/10_dynamic_vhosts.conf
    <VirtualHost *:80>
        # Security Directive
        #
        <Directory "/storage/www/hosts/">
        Options -Indexes FollowSymLinks MultiViews
    
        AllowOverride All
    
         Order allow,deny
          Allow from all
        </Directory>
        <IfModule mod_vhost_alias.c>
    #Přesně tohle by to nějak mělo dělat. Jenže. Tahle direktiva nemá co dělat v <VirtualHost>, ale mimo něj zase nevím jak získat ty %0.0 pro název hostu. 
    <IfModule peruser.c>
        ServerLimit          256
        MaxClients           256
        MinSpareProcessors     2
        MaxProcessors         10
        MaxRequestsPerChild 1000
    
        # kill off idle processors after this many seconds
        # set to 0 to disable
        ExpireTimeout       1800
    
        # Přesně tohle nefunguje
        Multiplexer %0.0 %0.0
    
        Processor %0.0 %0.0
    
        # chroot dir is optional:
        # Processor user group /path/to/chroot
    </IfModule>
    #Odsuď dále to zase funguje ;)
    <IfModule>
          # CGI Directives
          #
          <DirectoryMatch "^/storage/www/hosts/[^/]+/cgi">
            AllowOverride None
            Options ExecCGI
            <IfModule mod_access.c>
              Order allow,deny
              Allow from all
            </IfModule>
          </DirectoryMatch>
        </IfModule>
    
      </VirtualHost>
    
    </IfDefine>
    

    Snad je to alespoň trošku srozumitelné. Díky všem za pomoc - slibuju, že to dolním do těch konfiguráků tady, aby to mohl kdokoliv příště použít :). Příště: FTP, SSH, MySQL a kokmplexní správa přes nějaké webové rozranní (jak pro mě, tak pro uživatele/zákazníka). Stay tuned!

           

    Hodnocení: 83 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    Valoun avatar 11.1.2007 21:41 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache
    V debianu je tento balicek: libapache2-mod-vhost-hash-alias

    mod_vhost_hash_alias is a simple, fast and efficient way to automatically manage virtual hosting. It allow administrator to build massive virtual web servers, without the need to describe each virtualhost document root. It use the servername extract from the HTTP request to build a path to the real document root. It build a digest based on the servername and split it according to a configurable directory scheme. As digest could collide, mod_vhost_hash_alias add the servername to distinguish between hash value (and allow human to do inverse lookup on directory path).

    Nezkousel jsem, ale mozna by to mohlo pomoci.
    11.1.2007 21:45 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache

    Ano, tohle vypadá, že by mohlo pomoci vyřešit ten problém s přesměrováním na výchozí stránky v případě, že požadovaný host neexistuje. Ale problém, který mě teď pálí víc, je ten s oddělenými uživateli pro jednotlivé VHosty ... I tak díky :)

    12.1.2007 08:23 lm
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache
    ak som spravne pochopil v com vidis problem, tak ja by som sa na to pozral opacne: je potrebne nastavit ftp server tak, aby kazda ftp session bezala pod uzivatelom apache-a, resp. aspon s grupou pod ktorou bezi apache a umask nastavit na 0027 alebo 0022. vsetko z toho bezny ftp server dokaze.
    12.1.2007 09:51 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache

    To právě nepůjde - uživatelé by si pak "lezli do zelí". PHP skripty by nejspíš mohly běžet i mimo svůj dynamický vhost a když by běžely všehcny za jednoho uživatele, tak by mohly i psát do dalších hostů.

    Problém spočívá asi hlavně v tom, že já potřebuju, by to byl systémový uživatel, protože chci dát i SSH účet, chci, aby FTP používalo systémové účty, zkrátka složka /www/stranky by byla vlastněna uživatelem, stranky, přistupovalo by se k ni s ftp uživatelem stranky, php skripty by v ní běžely za uživatele stranky a přes ssh by s tím vším pracoval uživatel stranky, který by nebyl vpuštěn nikam jinam. Doufám, že to jde z tohohle zmatku pochopit :)

    15.1.2007 08:27 lm
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache
    tak potom chroot do kazdy do svojho home-u (ssh aj ftp) s nejakym busyboxom by to nemal byt problem. do /etc/skel/ pridat adresar bin/ so staticky skompilovanym busyboxom a po vytvoreni adresara, sa nemusis o nic starat.
    Luk avatar 11.1.2007 21:51 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache
    A teď opravdový problém - chtěl bych zfunkčnit věc, která mi chybí na všech zatím mnou používaných hostech - totiž, že FTP uživatel a uživatel, kterým jsou stránky interpretovány, není stejný. Vyplývá to z toho, že Apache provádí všechny operace jako jeden uživatel a skupina (ať už www:www-group, nebo apache:apache, viděl jsem všechno možné) a vy pak nemůžete dělat některé operace, které by se vážně přes to FTP hodily - obvzlášť v případě, že třeba redakční systém uploaduje soubory jako 0600 :D. Co s tím?
    Nyní si mohu přihřát svoji polívčičku a říci, že by se na to dal použít incron (při vytvoření nebo přesunu souboru do adresáře by se automaticky spustilo něco jako chown uzivatel:skupina soubor). Jenže incron zatím není dostatečně stabilní na to, abych ho mohl doporučit na produkční server ;-)
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    11.1.2007 21:56 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache

    Situaci kolem incronu samozřejmě sleduju a pro některé účely se určitě bude hodit. Ale - pokud tady tohle už má nějak Apache v sobě (a to s tím, že nejde jen o vlastníky souborů, ale i vlastníky procesů), tak mi přeci jenom jde spíš o to rozchodit něco, co ještě není dokonale zdokumentované (tedy MPM-Peruser), než vymýšlet nějaký (nechci se nikoho dotknout :D) quick'n'dirty řešení. Ale jinak - incronu přeju hodně úspěchu!

    Luk avatar 11.1.2007 23:35 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache
    tak mi přeci jenom jde spíš o to rozchodit něco, co ještě není dokonale zdokumentované
    Spíš bych řekl nezdokumentované ;-) Aspoň ne v normální dokumentaci. Navíc bych se docela obával, že to bude bugovité - už proto, že to používá dost málo lidí a tudíž není moc možností na ty chyby přijít. Ale třeba ne :-)
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    12.1.2007 22:52 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache
    Dokaze incron sledovat cely podstrom? Mal som pocit, ze inotify to vobec neumoznuje a ani nemoze. Jedine, ze by uplodavani adresara rovno pridalo samo zebe, aby sledovalo aj tento podadressar. Proste si myslim, ze upload niekam do hlbky stromu sa neda sledovanim korena detekovat.
    If you hold a Unix shell up to your ear, you can you hear the C.
    Luk avatar 12.1.2007 23:28 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache
    Dokaze incron sledovat cely podstrom?
    Nedokáže. Zatím.
    Mal som pocit, ze inotify to vobec neumoznuje a ani nemoze.
    Neumožňuje (a může, i když to není implementováno - jenže je otázka, jaké by mělo výkonnostní dopady, kdyby se to implementovalo). Proto mám v plánu implementovat to na úrovni aplikace. Jenže je to složité, takže to nebude hned.
    Jedine, ze by uplodavani adresara rovno pridalo samo zebe, aby sledovalo aj tento podadressar.
    Ano, tohle je zatím bohužel jediné řešení. Navíc netriviální, protože by se muselo zjišťovat, jestli to nově vložené (vytvořené/přesunuté) je adresář.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    11.1.2007 22:18 k3 | skóre: 15 | blog:  
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache
    libapache2-mod-suphp - Apache2 module to run php scripts with the owner permissions treba se ti to bude libit :) (nikdy jsem to nepouzil jen to tam jako pkg je)
    11.1.2007 23:02 Vskutečnosti Saýc | skóre: 7
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache
    co pouzit ftp s virtualnimi ucty, ktere jsou kazdy chrootnuty jinam, a maji stejneho uzivatele a skupinu jako apache?

    spis je otazka, jak na dynamic virtual hosty napasovat nejakej phpckovej open_basedir (nebo jak se to presne pise), aby uzivatele nemohli lezt do souboru nekomu jinemu pomoci php.
    12.1.2007 22:55 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache
    Az to nejak uspokojivo vyriesis (to spustanie php skriptov pomocou mod_php, ale so specifickym uid pre kazdy virtual host), tak to tu prosim napis. Prave riesim to iste na serveri.
    If you hold a Unix shell up to your ear, you can you hear the C.
    13.1.2007 03:27 volvox | skóre: 16
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache
    Poskytovat virtuální hosty pod různými uživateli jde v zásadě těmito způsoby:
    • Pro skripty přes CGI/FastCGI
    • Pomocí vhodného MPM
    • Přes proxy
    Pokud by to zajímalo víc lidí, jsem ochotný napsat pro abíčko článek... ;)
    13.1.2007 11:20 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache

    Ano, to by bylo rozhodně skvělé. Taky jsem se k tomu už nějak dohrabal (jaké jsou možnosti), ale zajímalo by mě srovnání z praxe. Osobně jsem třeba zjistil, že nevím, jestli jde použít MPM-peruser pro dynamický virtuální hosting, protože mu mod_vhost_alias asi nemůže předat %0 (jméno hostu), aby podle něj pracoval pod nějakým uživatelem (direktiva ServerEnvironment). Teď se chystám vyzkoušet mod_suphp, ale nevím, jak je na tom zase výkonostně ve srovnání s MPM. A řešení přes proxy? Tohle by asi chtělo podrobnější vysvětlení. Díky :)

    13.1.2007 16:17 al-Quaknaa | skóre: 13 | blog: al_quaknaa
    Rozbalit Rozbalit vše Re: Server - Díl druhý - Software: Apache

    No, tak zatím to funguje pomocí mod_suphp. Běží to pod správným uid:gid a všechno, co jsem vlastně chtěl, akorát se zdá, že je to přes CGI, což je prý pomalejší, bohužel nevím, jak to otestovat. Našel jsem httperf benchmark, který vyzkouším, ale nevím, jestli je to to, co hledám (benchmark výkonu Apache/PHP). Uvidím. Takže: zatím to chodí, jak má, akorát ne přes MPM (peruser segfaultoval a po odladění, aby nesegfaultoval tak jsem stejně nevěděl, jak ho nastavit tak, aby spouštěl pod uživatelem, který se získal pomocí mod_vhost_alias jako %0), ale přes mod_suphp, tedy CGI. Za další reakce budu samozřejmě vděčný ;)

    Založit nové vláknoNahoru

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