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 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 30
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 14
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 9
    3.10. 19:00 | Nová verze

    Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.10. 17:11 | Upozornění

    eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.

    Ladislav Hagara | Komentářů: 33
    3.10. 17:00 | Komunita

    Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.

    Ladislav Hagara | Komentářů: 1
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (45%)
     (16%)
     (17%)
     (22%)
     (15%)
     (18%)
     (16%)
     (16%)
    Celkem 179 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Automatické virtualhosty pro vývoj

    13.2.2013 21:13 | Přečteno: 1429× | web

    Tento zápisek je stručný návod na ušetření práce, pokud vyvíjíte více webů v PHP najednou. Cílem je nastavit počítač tak, aby na adresách *.lo servíroval weby, které vyvíjíte.

    Co budeme potřebovat?

    0. Debian-based distribuci

    • (anebo jinou, ale pak musíte tento návod následovat pouze orientačně)

    1. LAMP

    • sudo apt-get install tasksel
    • sudo tasksel install lamp-server

    2. mod_rewrite

    • sudo a2enmod rewrite

    3. Dnsmasq

    • sudo apt-get install dnsmasq

    4. Konfiguraci

    • soubor /etc/dnsmasq.conf
      • na konec přidat následující řádky:
        address=/lo/127.0.0.1
        listen-address=127.0.0.1
    • zajistit, aby v souboru /etc/resolv.conf bylo na začátku nameserver 127.0.0.1
      • to ale není přímočaré, protože resolv.conf je generovaný
      • vyrobit soubor /etc/NetworkMa­nager/dispatcher­.d/02add-local-nameserver s právy na spuštění
        #!/bin/sh
        RESOLV=/etc/resolv.conf
        RESOLV_TMP=/tmp/resolv.conf
        LOC_NS=127.0.0.1
        
        if ! grep -q $LOC_NS $RESOLV; then
            echo "# Generated by $0"  > $RESOLV_TMP
            echo "nameserver $LOC_NS" >> $RESOLV_TMP
            cat $RESOLV >> $RESOLV_TMP
            mv $RESOLV_TMP $RESOLV
        fi
    • soubor /etc/apache2/sites-available/lo (nový soubor)
      <VirtualHost *:80>
          ServerName lo
          ServerAlias *.lo
          DocumentRoot /adresar/kde/mam/weby
      
          #do the magic: something.lo => DocumentRoot/something/document_root
          RewriteEngine On
          RewriteCond    %{HTTP_HOST}    ^([^.]*)\.([^.]*)$
          RewriteCond    %{REQUEST_URI}  !document_root
          RewriteRule    ^(.*)$          /%1/document_root$1
      
          # Possible values include: debug, info, notice, warn, error, crit,
          # alert, emerg.
          ErrorLog /adresar/kde/mam/weby/.log/error.log
          LogLevel debug
      
          CustomLog /adresar/kde/mam/weby/.log/access.log combined
          ServerSignature On
      
          RewriteLog "/adresar/kde/mam/weby/.log/rewrite.log"
          RewriteLogLevel 5
      
      </VirtualHost>
    • opravit hodnotu globální proměnné $_SERVER['DOCUMENT_ROOT'] v PHP
      • v souboru /etc/php5/apache2/php­.ini nastavit volbu auto_prepend_file = /adresar/kde/mam/weby/.auto_prepend.php
      • vyrobit onen soubor
        <?php
        $domain = explode('.', $_SERVER['SERVER_NAME']);
        if (count($domain) == 2 && $domain[1] == 'lo')
            $_SERVER['DOCUMENT_ROOT'] = "/adresar/kde/mam/weby/$domain[0]/document_root";

    5. Aplikovat konfiguraci

    • mkdir -p /adresar/kde/mam/­weby/.log/
    • sudo a2ensite lo
    • sudo service apache2 restart
    • sudo service dnsmasq restart

    Ready to serve.

    Zdroje:

           

    Hodnocení: 67 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    Heron avatar 13.2.2013 21:37 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Není jednodušší použít mod_vhost_alias a nemuset tak nastavovat rewrite, php apod?
    Jakub Lucký avatar 13.2.2013 21:48 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Taky jsem si říkal, že je to zbytečně komplikované...
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    13.2.2013 21:50 Vskutečnosti Saýc | skóre: 7
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Ja bych radsi uplne zahodil PHP a deployoval si veci na Heroku, ale uznavam, ze Cesko je ve webovych technologiich podobne pozadu jako v cemkoli ostatnim.
    pavlix avatar 15.2.2013 23:50 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    To by muselo být za čím být pozadu :).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Jakub Lucký avatar 16.2.2013 16:21 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Tohle Heroku?
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    18.2.2013 00:31 Vskutečnosti Saýc | skóre: 7
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Jo. Pokud nepouzivas rails na zastaralem stacku, na kterem uz se nove aplikace nedeployuji, tak tohle neni problem. U Heroku je problem v tom ze je drahy, to jo, a v momente kdy mas aplikaci ktera ma zvladnout stovky tisic lidi denne tak stoji za to usetrit prachy a prejit na amazon nebo tak. Ale na vyvoj aplikaci pro par lidi je heroku docela fajn.
    13.2.2013 22:14 buff | skóre: 10 | blog: buff
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    vhost_alias mi způsoboval nějaké problémy, ale zapomněl jsem bohužel jaké. Jsi si jistý, že DocumentRoot nastaví správně?
    Jakub Lucký avatar 14.2.2013 08:26 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    hodnotu $_SERVER["DOCUMENT_ROOT"] to nepřenastavuje ale v čem je problém? To stejně není důvěryhodná hodnota...
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    14.2.2013 12:38 buff | skóre: 10 | blog: buff
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Problém v tom není. Reagoval jsem na
    nemuset tak nastavovat rewrite, php apod?
    Pro dosažení stejného chování musím PHP nastavovat stejně. Prostě jsem jen přepsal mod_vhost_alias (protože mi dělal nějaké bohužel už zapomenuté problémy) pomocí mod_rewrite, jinak je to stejné.
    Jakub Lucký avatar 14.2.2013 13:06 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Mám pocit, že si nerozumíme...

    Pro funkční mod_vhost_alias musíte nějak zvlášť nastavovat PHP?
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    14.2.2013 15:11 buff | skóre: 10 | blog: buff
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj

    Pro funkční vhost_alias není třeba nastavovat php. Pro funkční simulaci vhost_alias mod_rewritem (tak jak je popsaná v tomto zápisku) také není třeba nastavovat php. Pokud chceme mít správnou hodnotu proměnné $_SERVER['DOCUMENT_ROOT'], je třeba v obou případech provést konfiguraci php tak, jak je popsáno v tomto zápisku. Proto mi komentář doporučující nahradit celý tento zápisek vhost_aliasem přišel nepřesný.

    Vy doporučujete to nekonfigurovat a tu proměnnou nepoužívat jako nespolehlivou. Rozumím, beru, je to taky řešení, ale vidím to jako alternativu, nikoliv jako něco, co vyvrací správnost či spíše účelnost konfigurace zde popsané.

    Jakub Lucký avatar 14.2.2013 15:19 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    14.2.2013 17:29 buff | skóre: 10 | blog: buff
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    OK, díky za odkaz.
    Josef Kufner avatar 14.2.2013 21:42 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Prakticky to ale v pohodě můžeš použít. Ty nejrozššířenější ty podstatné údaje vyplňují správně a ty ostatní jsem nikdy nezkoušel. Pokud by to bylo hodně kritické (něco by se poškodilo), tak si prostě zkontroluj, že tam není úplný nesmysl.
    Hello world ! Segmentation fault (core dumped)
    Jakub Lucký avatar 15.2.2013 10:38 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    A není lepší použít nějakou bezpečnější metodu zjištění? třeba __FILE__/__DIR__ ?
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    Josef Kufner avatar 15.2.2013 13:00 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Je, ale třeba název domény a její document root, na které web běží tak nepoznáš.
    Hello world ! Segmentation fault (core dumped)
    Heron avatar 14.2.2013 10:05 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Používáme to tak na vývoji mnoho let a žádný problém, kromě:

    Jediný problém se zatím objevil u https a java appletu (a zatím jsem nepřišel na to čím to je), takže u develů, které musí jet na ssl, děláme konkrétní vhosty.
    xkucf03 avatar 13.2.2013 23:09 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Případně psát weby tak, aby nevyžadovaly vlastní doménu a bylo je možné nakonfigurovat i do adresáře na sdílené doméně.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Josef Kufner avatar 14.2.2013 00:21 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Já mám lighttpd nastavený takto:
    evhost.path-pattern = "/srv/www/%_/"
    $HTTP["host"] =~ "^www\..*\.loc$" {
            evhost.path-pattern = "/srv/www/%_/www/"
    }
    A pak mám skript, který upraví /etc/hosts:
    #!/bin/bash
    
    virtuals=$(find /srv/www -maxdepth 1 -mindepth 1 \! -name localhost -printf ' %f')
    
    sed 's/^\(127\.0\.0\.1.*[ \t]loc\>\).*/\1 '"$virtuals"'/' -i /etc/hosts
    Kde /etc/hosts obsahuje řádek:
    127.0.0.1       localhost       loc  ...nejaky bordel...
    No a nakonec ještě položku v menu, která to přes sudo spustí a restartuje lighttpd.

    Výhodou je, že mi tu nestraší DNS server a je to celé takové jednodušší ;-)
    Hello world ! Segmentation fault (core dumped)
    mirec avatar 14.2.2013 08:55 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj
    Niečo podobné akurát nginx. Musím však šahať do konfiguráku nginx pretože časť projektov je v pythone (proxy na uwsgi) a časť na PHP (proxy na php-fpm).
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Limoto avatar 14.2.2013 21:49 Limoto | skóre: 32 | blog: Limotův blog
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj

    Evhost používám taky, je super... akorát mám problém s tím, že když přes nějakej regexp udělám z nějaké domény reverzní proxy, tak mi plní error logy "file not found"...

    20.9.2013 11:19 kamienok
    Rozbalit Rozbalit vše Re: Automatické virtualhosty pro vývoj i pro SSL
    Příloha:
    • lo (1430 bytů)
    Ahoj, posielam konfigukrák lo aj pre SSL

    Založit nové vláknoNahoru

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