Jak na vlastní linuxový vývojový server pod Windows

Tento tutoriál je již neaktuální! Doporučuji rovnou přeskočit na jeho aktualizovanou podobu.

Programujete v PHP? Využíváte při tom databáze MySQL nebo PostgreSQL? A vyvíjíte přitom ve Windows? Pokud jste na všechny otázky odpověděli ano, pak jste možná i vy narazili na problém, který jsem před časem sám řešil. Jsem Windowsář (né, to není ten problém :-)), nestydím se za to a dokonce jsem na to i hrdý. Nejsem zvyklý používat vzdálené vývojové servery, kde bych bastlil své aplikace, ale mám rád všechno hezky u sebe. Často vyvíjím na různých místech a (kvalitní) připojení k internetu není vždy dostupné. Apache, MySQL i PostreSQL mají sice své verze pro Windows, ale hlavně co se databází týče, se mi pořád nezdají jako ideální volba. Také jsem zvyklý programovat na notebooku, který často používám i k jiným věcem a pak není třeba, aby mi na pozadí běžely další služby, které nevyužívám, a zabírají pouze paměť. V neposlední řadě jsem se pořád chtěl zdokonalit v administraci linuxu, protože jako webový vývojář se linuxu stejně nevyhnu. A tak jsem dostal nápad, udělat si s pomocí VirtualBoxu vlastní lokální virtuální vývojový server v linuxu. (Jak jsem poznal ve firmě, kam jsem chvilku po mém osvícení nastoupil, nebyla to myšlenka originální. Ale jeden nový kolega mi dokonce tvrdil, že mu PostgreSQL běhá v linuxovém virtuálu rychleji než na Windows, což mě potěšilo, ale berte to prosím bez záruky.)

První idea byla taková, že si nainstaluji server, nastavím sdílení dat a všechna data nechám na Windows. Možná by takové řešení šlo opravdu udělat, ale pokud by šlo, nemyslím si, že by šlo o ideální variantu. Takže plán dvě. Data pro databáze budou na linuxu, web si nechám na Windows, abych měl kód vždycky při ruce, a budu ho přes sdílení poskytovat Apachi na linuxu. Takhle bych si už vývojový server dokázal představit, ale nakonec jsem u této varianty také nezůstal, negativa zvítězila (hlavně nemožnost nastavovat linuxová práva na souborech sdílených z Windows a nemožnost předávat ve VirtualBoxu NATem porty nižší než 1000 – i když to už novější VirtualBox umí). Dospěl jsem k názoru, že je výhodnější nechat běžet a nastavovat Apache lokálně na Windows a ve virtuálním serveru budou pouze databáze (teda já tam mám i ten Apache, když bych si potřeboval zkusit nějakou linux-only fýčuru).

Teď už se dostáváme skoro do finiše. Poslední problém byl, že jsem server i data umístil na jeden disk, neodhadl jsem jeho velikost a najednou začal padat PostgreSQL pro nedostatek volného místa. Tehdy ještě nešla jednoduše zvětšit velikost disku ve VirtualBoxu a tak jsem se rozhodl mít jeden disk pro systém a druhý pro data. Díky domu mohu i velice snadno provádět zálohy dat. Prostě si jenom zkopíruji datový disk na záložní médium.

A co se tedy nakonec povedlo vytvořit a co vám zde budu popisovat?

  • server se systémem Ubuntu Server 12.04 32bitů
  • PHP 5.3, Apache 2.2 s PHP
  • MySQL 5.5
  • PostgreSQL 9.1
  • sdílení mezi Windows a Ubuntu (pro jednoduchou výměnu souborů)

Všechny části jsou volitelné, a pokud některou z nich nebudete potřebovat, instalovat si ji na vlastní server nemusíte. Línější z vás najdou na konci článku odkazy na hotový server připravený k použití.

Také bych rád upozornil, že nejsem žádný linux guru. Všechny postupy jsou vygooglené a nějak pospojované dohromady. Něco možná dělám nelogicky, zbytečně složitě, ale jako celek to funguje. Takže pokud tento článek bude číst nějaký odborník na linux, prosím o shovívavost a připadnou radu v komentářích. Děkuji…

Příprava virtuálního serveru

Nejprve musíme ve Windows nainstalovat samotný VirtualBox (for Windows hosts). Ten stáhneme z jeho oficiálních stránek https://www.virtualbox.org/wiki/Downloads. Při instalaci je potřeba nainstalovat i součást VirtualBox Networking – VirtualBox Host-Only Networking. Aktuální verze v době psaní článku je 4.1.16.

Jako server jsem hledal jednoduchý systém na instalaci a správu s množstvím tutoriálů na webu. Jako takový jsem vybral Ubuntu a protože pro server nepotřebuji X Windows, vybral jsem si edici Ubuntu Server. Pro virtuální stroj stačí 32bitová edice (na mém notebooku bych stejně ani 64bitovou edici virtualizovat nemohl). Instalační ISO obraz, který budeme potřebovat, stáhneme na adrese http://www.ubuntu.com/download/server.

Nyní můžeme spustit VirtualBox a vybráním menu Počítač – Nový spustíme průvodce, který založí náš virtuální server. Postupně v průvodci zadáme následující parametry:

  • název server, všude budu používat „devel79
  • jako operační systém nastavíme Linux a Ubuntu
  • paměť RAM by měla být přednastavená na 512MB, pokud není, nastavíme jí tak
  • vybereme, že chceme bootovací pevný disk a Vytvořit nový pevný disk typu VDI (VirtualBox Disk Image)
  • velikost disku necháme Dynamicky alokovaná a název disku „devel79
  • velikost pro systém bohatě stačí 2GB

Dokončíme průvodce, vybereme náš nový virtuální server a klikneme na tlačítko Nastavení. Virtuální server upravíme takto:

Systém

Na záložce Základní deska nastavíme:

  • Pořadí bootování: 1) CD-ROM 2) Pevný disk
  • odškrtneme možnost Povolit zařízení s absolutními souřadnicemi – to je kvůli tomu, že nebudeme používat USB ovladače
Obrazovka

Na záložce Video nastavíme Video paměť na minimum 6 MB.

Úložiště
  • odebereme z IDE řadiče CD-ROM ikonkou pod seznamem (druhá z leva), pak odebereme celý IDE řadič (poslední ikonka)
  • u SATA řadiče přidáme CD-ROM (první ikona u SATA řadič) – dáme vybrat disk a vybereme stažený ISO soubor s instalací Ubuntu Serveru
Zvuk

Odškrtneme Povolit zvuk, na serveru zvuk nepotřebujeme.

Síť

Na záložce Karta 1 zaškrtneme Povolit síťovou kartu, „Připojena k“ nastavíme na NAT. Rozklikneme „Pokročilé“ a typ síťové karty nastavíme na Intel PRO/1000 MT Desktop (82540EM), necháme zaškrtnuto Kabel připojen a klikneme na Předávání portů. V otevřeném okně klikneme na ikonu Vložit nové pravidlo (Insert) a postupně vložíme tyto tři (pokud nějakou službu nebudeme instalovat, pravidlo vynecháme):

  • Název Apache, port hostitele i hosta 80
  • Název MySQL, port hostitele i hosta 3306
  • Název PgSQL, port hostitele i hosta 5432
USB

Odškrtneme Povolit USB ovladač.

Sdílené složky

Pokud nechceme použít jednoduché sdílení mezi Windows a Ubuntu, můžeme přeskočit. Klikneme na ikonu Přidat sdílenou složku (Insert), vybereme cestu ke složce a jako název složky zadáme „share„.

Zavřeme nastavení a kliknutím na Spustit spustíme virtuální server.

Instalace Ubuntu Serveru

Po prvním spuštění serveru nabootuje Ubuntu instalátor. Popíšu moje nastavení, které mi pro vývojový server přijde ideální, pokud máte jiné preference, upravte si je podle svého.

  1. vybereme jazyk instalátoru, English
  2. vybereme položku Install Ubuntu Server
  3. vybereme jazyk English – English
  4. vybereme zemi Other – Europe – Czech republic
  5. pro ni neexistuje základní nastavení, vybereme United States
  6. detect keyboard layout, vybereme No
  7. nastavíme klávesnici English (US)
  8. jako layout klávesnice vybereme také English (US)
  9. nastavení sítě, zadáme hostname, používám všude  „devel79
  10. zadáme jméno uživatele, u mě Developer
  11. zadáme username, kterým se budeme přihlašovat do systému, u všech služeb volím „devel
  12. zadáme heslo, zase všude volím, „devel
  13. a stejně tak i potvrzení hesla, „devel
  14. pokud zadáme slabé heslo (což devel je), potvrdíme Use weak password, Yes
  15. na vývojovém serveru je podle mě zbytečné šifrovat data a tak Encrypt home directory dáme No
  16. v nastavení času Configure the clock, by měla být automaticky nastavena zóna Europe/Prague, potvrdíme Yes, nebo zvolíme No a časové pásmo vybereme sami
  17. rozdělení disku Partition disk, jako Partitioning method vybereme Guided – use entire disk
  18. vybereme disk SCSI1 – ATA VBOX HARDDISK
  19. necháme zapsat změny na disk Write the changes to disksYes
  20. nastavení proxy Configure proxy manager, HTTP proxy information necháme prázdné
  21. osobně nemám rád, když se systém sám updatuje a tak pro nastavení aktualizací How do you want to manage upgrades on this system? vybírám No automatic updates
  22. ve výběru software Software selection nevybereme nic (vše si nainstalujeme sami) a dáme Continue
  23. nainstalujeme zavaděč systému – Install the GRUB boot loader to the master boot record?Yes
  24. a nakonec dokončíme instalaci Finish the instalationContinue

Nyní můžeme počítač vypnout z menu Počítač – Zavřít – Vypnout. Zobrazíme si nastavení počítače a provedeme následující úpravy:

Na záložce Úložiště vytvoříme nový pevný disk pro data:

  1. klikneme na Přidat pevný disk u SATA řadič
  2. vybereme Vytvořit nový disk
  3. typ souboru bude VDI (VirtualBox Disk Image)
  4. velikost disku nastavíme na Dynamicky alokované
  5. zadáme jméno disku do Umístění, já zvolil devel79_storage a nastavíme velikost (pro mě stačí 1GB)
  6. nakonec klikneme na Vytvořit

Následně odebereme CD-ROM mechaniku (druhá ikonka pod seznamem úložišť). Klikneme na nový pevný disk, který jsme vytvořili, a na pravé straně se nachází Atributy, kde nastavíme Pevný disk na Sata port 1.

Pokud chceme nastavit sdílení mezi Windows a Ubuntu, musíme nainstalovat VirtualBox Guest Additions, k SATA přidáme CD-ROM mechaniku (klikneme na SATA řadič, pak je to první ikonka vedle SATA řadič – Přidat CD/DVD zařízení). Klikneme na nově přidanou CD-ROM mechaniku a v sekci Atributy klikneme na ikonku úplně vpravo u CD/DVD zařízení, zvolíme Vybrat soubor s obrazem virtuálního CD/DVD… a najdeme soubor VBoxGuestAdditions.iso, který se nachází v adresáři, kde je VirtualBox nainstalovaný.

Zavřeme nastavení a spustíme náš server.

Základní nastavení

Přihlásíme se do systému, uživatelské jméno „devel“ a heslo „devel“ (pokud jste si při instalaci nevybrali jiné). Jako první provedeme upgrade dosud nainstalovaných balíčků. Zadáme:

sudo apt-get update
sudo apt-get upgrade

Příkaz sudo se vás občas zeptá na heslo. Zadejte heslo pro přihlášení do systému (v mém případě „devel“). Při upgradu se také může zobrazit dotaz na potvrzení nainstalování nových verzí, pokračujte zadáním „Y“.

Pokud jste zvyklí pracovat se správcem souborů ve stylu Norton Commander, nainstalujte si Midnight Commander:

sudo apt-get install mc

Midnight Commander poté spustíme zadáním mc (případně sudo mc s přístupovými právy jako root).

Pokud chceme používat sdílení mezi Windows a Ubuntu, musíme nainstalovat VirtualBox Guest Additions. Nejprve potřebujeme do systému dostat potřebné knihovny:

sudo apt-get install build-essential
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install dkms

Nyní můžeme připojit CD-ROM mechaniku a spustit instalaci a vytvořit adresář, kam sdílení připojíme:

sudo mount /dev/cdrom1 /media/cdrom
cd /media/cdrom
sudo sh ./VBoxLinuxAdditions.run
sudo mkdir /share

Přidání disku pro data

Zadáme příkaz:

sudo lshw -C disk

Uvidíme všechny disky, které se nacházejí v systému. Nás zajímá ten druhý (spolehlivě ho identifikujeme podle velikosti – size, ta musí odpovídat velikost datového disku, který jsme přidávali v nastavení počítače a product: VBOX HARDDISK), zapamatujeme si logical name (mělo by být a v následujících příkazech počítám s /dev/sdb). Vytvoříme na disku novou primární partition:

sudo fdisk /dev/sdb
n, ENTER - new
p, ENTER - primary
1, ENTER - číslo partition
2x ENTER - defaultní hodnoty
w, ENTER - write - zápis změn a konec
sudo fdisk -l

Uvidíme všechny partition na discích a musí tam být i naše nová. Pokračujeme formátováním a připojením disku do adresáře /data.

sudo mke2fs -j /dev/sdb1
sudo mkdir /data
sudo vi /etc/fstab

Soubor se nám otevře v editoru vi. Abychom mohli do souboru zapisovat, stiskneme klávesu INSERT, přesuneme kurzor na konec a na novou řádku přidáme následující text:

/dev/sdb1     /data     ext4      rw     0     0

Pokud chceme nastavit sdílení mezi Windows a Ubuntu, přidáme nakonec další řádek:

share     /share     vboxsf     rw     0     0

Nyní zmáčkneme klávesu ESC, tím se dostaneme do režimu zadávání příkazů. Napíšeme „:w“ a zmáčkneme ENTER (tím soubor uložíme – write), pak napíšeme „:q“ a zmáčkneme ENTER (tím editor ukončíme konec – quit). Pro otestování můžeme server restartovat příkazem

sudo reboot

a po zadání

ls /share

bychom měly vidět výpis souborů složky, kterou jsme ve Windows nasdíleli.

Instalace PHP

PHP v aktuální verzi (5.3) nainstalujeme příkazem:

sudo apt-get install php5-cli

Soubor s nastavením php.ini se nalézá zde /etc/php5/cli/php.ini.

Instalace a nastavení Apache s PHP:

Nainstalujeme Apache 2 a PHP:

sudo apt-get install apache2
sudo apt-get install php5

Na datovém disku vytvoříme adresář pro Apache a natavíme mu jako vlastníka uživatele devel (případně jiného, kterého jsme zvolili při instalaci serveru). Do adresáře pak zkopírujeme ukázkové soubory z instalace Apache a z původního umístění je vymažeme:

sudo mkdir /data/www
sudo chown devel.devel /data/www
cp -r /var/www/* /data/www
sudo rm -R /var/www

Teď změníme nastavení, aby ukazovalo do nového umístění:

sudo vi /etc/apache2/sites-available/default

Stiskneme INSERT a najdeme řádek začínající DocumentRoot. Tento řádek změníme na „DocumentRoot /data/www“. Pak najdeme řádek začínající <Directory a nahradíme ho s „<Directory /data/www>“. Stiskneme ESC a napíšeme :w a :q pro uložení souboru a ukončení editoru. To samé uděláme se souborem pro SSL:

sudo vi /etc/apache2/sites-available/default-ssl

Stiskneme INSERT a najdeme řádek začínající DocumentRoot. Tento řádek změníme na „DocumentRoot /data/www“. Pak najdeme řádek začínající <Directory a nahradíme ho s „<Directory /data/www>“. Stiskneme ESC a napíšeme :w a :q pro uložení souboru a ukončení editoru. Nakonec Apache restartujeme:

sudo /etc/init.d/apache2 restart

MySQL

Nejprve nainstalujeme MySQL server a modul pro PHP:

sudo apt-get install mysql-server php5-mysql

Při instalaci se pravděpodobně zobrazí několikrát dotaz na heslo pro uživatele root. Necháme ho prozatím prázdné a pokračujeme zmáčknutím klávesy ENTER. Upravíme nastavení MySQL:

sudo vi /etc/mysql/my.cnf

Stiskneme INSERT a najdeme řádek „datadir = /var/lib/mysql“, který změníme na „datadir = /data/mysql“. Do sekce [mysqld] přidáme řádek „skip-name-resolve“. Nakonec najdeme řádek „bind_address = 127.0.0.1“, napíšeme před něj #, takže bude vypadat takto „#bind_address = 127.0.0.1“. Soubor uložíme a zavřeme klasickou kombinací ESC, :w a :q. Ještě musíme upravit nastavení AppArmor:

sudo vi /etc/apparmor.d/usr.sbin.mysqld

Najdeme řádek „var/lib/mysql/ r,“ a změníme ho na „/data/mysql/ r,“, pak najdeme „/var/lib/mysql/** rwk,“ a nahradíme za „/data/mysql/** rwk,“. Uložíme a zavřeme ESC, :w a :q. Na datovém disku vytvoříme adresář pro mysql, zkopírujeme do něj data z původního úložiště, nastavíme jim nového vlastníka mysql a po restartu MySQL serveru je vymažeme:

sudo mkdir /data/mysql
sudo cp -R /var/lib/mysql /data
sudo chown -R mysql.mysql /data/mysql
sudo /etc/init.d/mysql restart, restartujeme server
sudo rm -R /var/lib/mysql

Spustíme MySQL konzoli pod uživatelem root a všechny práva přenastavíme na uživatele devel s heslem devel (nebo si vybereme vlastního uživatele, případně můžeme ponechat roota, což se mě osobně moc nelíbí…):

mysql --user=root mysql

Do konzole zadáme následující příkazy:

CREATE USER 'devel'@'localhost' IDENTIFIED BY 'devel';
GRANT ALL PRIVILEGES ON *.* TO 'devel'@'localhost' WITH GRANT OPTION;
CREATE USER 'devel'@'%' IDENTIFIED BY 'devel';
GRANT ALL PRIVILEGES ON *.* TO 'devel'@'%' WITH GRANT OPTION;

A konzoli ukončíme zadáním:

exit

Restartujeme MySQL server:

sudo /etc/init.d/mysql restart

Znovu se připojíme k MySQL konzoli, tentokrát jako uživatel „devel“ s heslem „devel“ (konzole se nás na něj zeptá).

mysql --password mysql

Vymažeme uživatele root. Pokud jste při instalaci Ubuntu zvolili jiný host name než „devel79“, upravte poslední příkaz tak, aby odpovídal vašemu host name.

DROP USER 'root'@'localhost';
DROP USER 'root'@'127.0.0.1';
DROP USER 'root'@'devel79';

Konzoli ukončíme:

exit

A server restartujeme.

sudo /etc/init.d/mysql restart

PostgreSQL

Nainstalujeme PostgreSQL server a modul pro Apache:

sudo apt-get install postgresql postgresql-contrib
sudo apt-get install php5-pgsql libapache2-mod-auth-pgsql

Upravíme nastavení pro vzdálený přístup k server:

sudo vi /etc/postgresql/9.1/main/pg_hba.conf

Stiskneme INSERT, najdeme řádek „local all postgres peer“ a nahradíme ho za „local all devel peer“ (nebo místo devel jiného uživatele, kterého jsme zadali při instalaci Ubuntu). Dále nahradíme řádku „host all all 127.0.0.1/32 md5“ za „host all all 0.0.0.0/0 md5“, čímž povolíme připojení k serveru odkudkoliv. Uložíme a ukončíme editor, ESC, :w a :q.

Vytvoříme adresář na datovém disku a nastavíme mu majitele postgres.

sudo mkdir /data/pgsql
sudo mkdir /data/pgsql/9.1
sudo mkdir /data/pgsql/9.1/main
sudo chown postgres.postgres -R /data/pgsql

Uživateli postgres nastavíme heslo „postgres“.

sudo passwd postgres

Zadáme a potvrdíme heslo „postgres“.

Nyní se v konzoli přihlásíme jako uživatel postgres a vytvoříme nové úložiště pro databázi.

sudo su postgres
/usr/lib/postgresql/9.1/bin/initdb --pgdata /data/pgsql/9.1/main
exit

Otevřeme nastavení a nastavíme nové datové úložiště a adresu, na které server naslouchá:

sudo vi /etc/postgresql/9.1/main/postgresql.conf

Zmáčkneme INSERT, najdeme „data_directory = ‚/var/lib/postgresql/9.1/main'“ a nahradíme za „data_directory = ‚/data/pgsql/9.1/main'“.

Dále řádek „#listen_addresses = ‚localhost'“ za „listen_addresses = ‚*'“ a nakonec „ssl = true“ za „#ssl = true“. Uložíme ESC, :w, :q a spustíme server:

sudo /etc/init.d/postgresql start

Znovu se přihlásím jako uživatel postgres a vytvořím nového uživatele „devel“ s heslem „devel“ (nebo jiného uživatele, podle vašich preferencí).

sudo su postgres
createuser devel -P

Zadám heslo „devel“ a znovu pro potvrzení. Na dotaz jestli je nový uživatel superuser, zadám „y“. Nakonec vytvoříme databázi „devel“, kterou někteří klienti vyžadují pro připojení.

createdb devel
exit

Smažeme nepotřebné soubory z datového úložiště, nepotřebné soubory z instalace PostgreSQL serveru a nakonec server restartujeme.

sudo rm /data/pgsql/9.1/main/postgresql.conf
sudo rm /data/pgsql/9.1/main/pg_hba.conf
sudo rm /data/pgsql/9.1/main/pg_ident.conf
sudo rm -R /var/lib/postgresql
sudo /etc/init.d/postgresql restart

BASH skripty pro zálohování o obnovu souborů

Pro snadnou zálohu dat v rámci vývojového server (neplést se zálohou celého pevného disku) jsem napsal dva skriptíky pro zálohování a obnovu celého adresáře. Nejprve nastavíme cestu k našim skriptům do PATH:

vi ~/.bashrc

Zmáčkneme INSERT a na konec souboru připíšeme:

PATH=$PATH:~/batch
export PATH

Uložíme a zavřeme ESC, :w a :q. Vytvoříme nový adresář batch v našem domovském adresáři a do něj skripty uložíme:

mkdir ~/batch
vi ~/batch/backup

Zmáčkneme INSERT a vložíme následující skriptu souboru pro zálohu dat:

#!/bin/bash

USAGE="Usage: backup DirToBackup"

date2string() {
  date "+%Y%m%d.%H%M%S"
}

if [ $# -ne 1 ]; then
  ls -1 /data
  echo $USAGE
else
  FILE="$1.$(date2string).tar.gz"
  sudo tar -pcvzf /data/backup/$FILE /data/$1
fi

Skript uložíme a zavřeme ESC, :w, :q a otevřeme skript pro obnovu dat:

vi ~/batch/restore

Zmáčkneme INSERT a vložíme:

#!/bin/bash

USAGE="Usage: restore FileToRestore"

if [ $# -ne 1 ]; then
  ls -1 /data/backup
  echo
  echo $USAGE
else
  cd /
  sudo tar -pxvzf /data/backup/$1
fi

Uložíme a zavřeme ESC, :w, :q. Skriptům nastavíme práva na spouštění:

chmod a+x ~/batch/*

Vytvoříme adresář, kam se budou zálohy ukládat a nastavíme mu jako majitele uživatele „devel“ (nebo jiného, pokud jste zadali jiný název při instalaci Ubuntu).

sudo mkdir /data/backup
sudo chown devel.devel /data/backup

Pro zálohu dat MySQL, PostgreSQL nebo Apache použijte následující příkazy (funguje až po restartu systému nebo odhlášení a novém přihlášení):

backup mysql
backup pgsql
backup www

Pro obnovu dat použijte příkaz:

backup SouborDatKObnově

Pokud zadáme pouze backup, vypíší se všechny uložené zálohy.

Nyní je server připraven k použití a můžeme ho vypnout z menu Počítač – ACPI vypnutí.

Závěr

Pokud jsme instalovali VirtualBox Guest Additions můžeme otevřít nastavení počítače a na kartě Úložiště odebrat CD-ROM mechaniku, protože ji už nebudeme potřebovat.

Při zvoleném nastavení sítě naslouchá VirtualBox na všech síťových rozhraních v počítači (v přesměrování portů lze nastavit, aby naslouchal na jednom konkrétním) a přeposílá do spuštěného serveru data přicházející na zvolené porty. Chceme-li se tedy připojit ke službě běžící na našem serveru, můžeme přistupovat přímo na localhost nebo IP adresu 127.0.0.1. Osobně mám ve Windows hosts přidán další alias pro 127.0.0.1 (jak na to například zde http://en.wikipedia.org/wiki/Hosts_(file) nebo programem UpdateHosts). U sebe mám nastaveno:

127.0.0.1 devel79

A při komunikaci se serverem pak používám místo IP adresy název hosta devel79.

DEVEL79 TRAY

Pokud chcete zkusit komfortnější ovládání vašeho vývojového serveru, rád bych vám doporučil svoji utilitu Devel79 Tray.

Napsat komentář

Vaše emailová adresa nebude zveřejněna.