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 04:00 | Zajímavý článek

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 1
    dnes 01:55 | Nová verze

    Byla vydána nová verze 2.51.0 distribuovaného systému správy verzí Git. Přispělo 91 vývojářů, z toho 21 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 01:33 | Zajímavý článek

    Po roce bylo vydáno nové číslo magazínu Phrack: Phrack 72.

    Ladislav Hagara | Komentářů: 1
    včera 19:33 | Pozvánky

    OpenSSL Corporation zve na den otevřených dveří ve středu 20. srpna v Brně a konferenci OpenSSL od 7. do 9. října v Praze.

    Ladislav Hagara | Komentářů: 2
    včera 19:22 | Komunita

    Konference LinuxDays 2025 proběhne o víkendu 4. a 5. října v Praze. Konference OpenAlt 2025 o víkendu 1. a 2. listopadu v Brně. Blíží se konec přihlašování přednášek. Přihlaste svou přednášku (LinuxDays do 31. srpna a OpenAlt do 3. října) nebo doporučte konference známým.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Raspberry Pi Touch Display 2 je nově vedle 7palcové k dispozici také v 5palcové variantě. Rozlišení stejné 720 × 1280 pixelů. Cena 40 dolarů.

    Ladislav Hagara | Komentářů: 1
    včera 04:44 | IT novinky

    Telnet a ssh klient PuTTY postupně přechází na novou doménu putty.software.

    Ladislav Hagara | Komentářů: 4
    16.8. 01:00 | Komunita

    Debian dnes slaví 32 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 18
    15.8. 17:44 | IT novinky

    Policisté zadrželi odsouzeného drogového dealera Tomáše Jiřikovského, který daroval ministerstvu spravedlnosti za tehdejšího ministra Pavla Blažka (ODS) bitcoiny v miliardové hodnotě, a zajistili i darovanou kryproměnu. Zadržení Jiřikovského může být podle ministerstva důležité k rozuzlení kauzy, která vypukla koncem května a vedla ke konci Blažka. Zajištění daru podle úřadu potvrzuje závěry dříve publikovaných právních

    … více »
    Ladislav Hagara | Komentářů: 14
    15.8. 13:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa jedná o možném převzetí podílu ve výrobci čipů Intel. Agentuře Bloomberg to řekly zdroje obeznámené se situací. Akcie Intelu v reakci na tuto zprávu výrazně posílily. Trump minulý týden označil Tana za konfliktní osobu, a to kvůli jeho vazbám na čínské společnosti, čímž vyvolal nejistotu ohledně dlouholetého úsilí Intelu o obrat v hospodaření. Po pondělní schůzce však prezident o šéfovi Intelu hovořil příznivě.

    Ladislav Hagara | Komentářů: 5
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (78%)
     (11%)
     (6%)
     (0%)
     (6%)
     (0%)
    Celkem 18 hlasů
     Komentářů: 3, poslední dnes 12:32
    Rozcestník

    Automatické virtualhosty pro vývoj

    13.2.2013 21:13 | Přečteno: 1427× | 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.