Instalace Apache,MySQL, PHP a ISPConfigu pod Windows 10 Linux Subsystem

Návod na instalaci standardní vývojového prostředí pro vývojáře webů.

Provozujeme několik VPS pro hostování webů, jejichž základem je Linux s CentOS obsahujícím ISPConfig a měl jsem potřebu si podobné prostředí vytvořit na lokálním počítači. Důvodem je hlavně možnost experimentovat a zkoušet si upgradovat a instalovat další rozšíření v prostředí Linux, aniž by byl ohrožen provoz "živých webových prezentací". S příchodem Windows 10 Fall Creators Update přišla i podpora instalace Linuxu přímo do Windows, což je naprosto fantastická možnost, mít na počítači oba systémy. V tomto článku si ukážeme jak nainstalovat Linuxovou distribuci Debian na počítač s Windows 10 a současně jak čistý Linux nakonfigurovat tak, aby fungovalo prostředí ISPConfig včetně Apache, MySQL a PHP.

Instalujeme Linux na Windows 10

Nejdříve je nutné aktivovat ve Windows 10 prostředí Linux Subsystem, které vám umožní nainstalovat Linuxovou distribuci přímo z prostředí Windows Store.

Do vyhledávacího pole vedle tlačítka Start tedy zadejte následující text 

Windows PowerShell

Windows vyhledá PowerShell a vy kliknete pravým tlačítkem myši a zvolíte Spustit jako Administrátor. Jakmile se PowerShell spustí zadejte..

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Tím se nainstaluje podpora Linux Subsystem a bude nutné restartovat počítač. Po uvedeném update stačí kliknout na Windows Store a vyhledat distribuci Linuxu, kterou chcete nainstalovat. V našem případě je to Linux v distribuci Debian - aktuálně ve verzi 9.

V tuto chvíli je možné spustit systém a zobrazí se nám klasický BASH systému Linux. Systém vás vyzve k vytvoření defaultního uživatele ve smyslu zadání jména a hesla.

Aby nebyl problém s oprávněním, použijeme sudo, případně se můžete zalogovat jako root prostřednitvím příkazu

sudu su

V první řade je vhodné updatovat a upgradovat systém. Update nastaví aktuální repository pro Linux a upgrade provede aktualizaci balíčků..

apt-get update
apt-get upgrade

Doporučuji nainstalovat velmi populární file manager Midnight Commander příkazem

apt-get install mc

Instalace ISPConfig

Výhodou použití ISPConfigu je automatická instalace všech součástí jako je APACHE, PHP a MySQL. Stačí následující příkazy:

apt-get install -y unzip

cd /tmp

wget --no-check-certificate -O installer.tgz "https://github.com/servisys/ispconfig_setup/tarball/master"

tar zxvf installer.tgz

cd *ispconfig*

a spustíme samotnou instalaci ISPConfig systému...

bash install.sh

Následuje průvodce, který je poměrně jednoduchý a jasný. Samotná instalace může trvat i několi minut. Následuje hláška

Well done ISPConfig installed and configured correctly :D

V tuto chvíli by mělo být připraveno přihlášení do ISPConfigu na adrese https://localhost:8080/login/

​Defaultní uživatelské jméno je admin a heslo admin.

Opakovaný start Apache

Při dalším spuštění Windows a následně aplikace Debian je nutné pro správnou funkčnost spustit příkaz pro spuštění APACHE.

service apache2 start

Také musíme spustit MySQL server.

service mysql start

Změny v ISPConfigu se provádí přes CRON joby, takže spustíme ještě službu CRONu.

service cron start

Pak je již z Windows dostupná adresa https://localhost:8080 s přihlášením do ISPConfigu.

Tento proces se zatím nedá efektivně automatizovat - tedy alespoň jsem zatím nenašel návod jak na to. Pokud by někdo věděl jak to nastavit, napište prosím do komentářů, rád vyzkouším a doplním tento návod.

Další služby systému

Stav dostupných služeb lze zjistit tímto příkazem:

service --status-all

Služba PHP 5.6

service php5.6-fpm start

Služba pro FTP přenos

service pure-ftpd-mysql start

Dávkové spuštění služeb

service php5.6-fpm start
service mysql start
service apache2 start
service cron start
service pure-ftpd-mysql start

Založení SITE v ISP Config

Windows Subsystem bohužel nemá ještě několik záležitostí dořešeno a proto při spouštění APACHE může dojít k hlášení notice. To způsobí nemožnost zapsat nastavení dané stránky přímo z ISPConfigu. Pro ukázku použiji vhost sobor pro doménu mojestranka.local..

/etc/apache2/sites-available/mojestranka.local.vhost

Místo toho ISPC vytvoří soubor

/etc/apache2/sites-available/mojestranka.local.vhost.err 

a původní vhost nechá prázdný a nebo nezměněný. Toto se dá velmi jednoduše obejít tím, že "natvrdo" překopírujete / přepíšete /etc/apache2/sites-available/mojestranka.local.vhost.err na soubor /etc/apache2/sites-available/mojestranka.local.vhost.

Následně je nutné restartovat apache..

service apache2 restart

Při spouštění se zobrazí průběh, který by měl odhalit chyby, nicméně v mém případě se jednalo pouze o NOTICE, které nebrání ve spuštění APACHE.

Při vytváření SITE v ISPC se mi osvědčilo následující nastavení:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut cursus facilisis nibh eu imperdiet. Suspendisse ultricies ultricies orci. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam ac mauris luctus odio pretium bibendum. Phasellus consequat nunc congue dui ultrices sodales. Vestibulum tincidunt, neque in tristique varius, nisi libero convallis risus, a viverra erat leo in ante. Fusce condimentum, est non rhoncus interdum, elit augue fermentum magna, eu aliquam est purus vitae eros.

Konfigurace APACHE

V souboru /etc/apache2/apache2.conf je aktuální konfigurace APACHE, která si dynamicky načítá další konfiguraci z *.conf souborů v /etc/apache2/sites-enabled.

Případné chyby monutoruje soubor /var/log/apache2/error.log

Konfigurace PHP 7 s podporou PDO

Pro připojení do MS SQL​ databáze je nutné nainstalovat freetds.

​sudo apt-get install **php7.0**-sybase freetds-common libsybdb5
apache2ctl restart

Instalace PHP 5.6 

apt-get install software-properties-common
apt-get install apt-transport-https lsb-release ca-certificates​
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg​
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update
aptitude install php5.6


Odinstalace a opětovná instalace Debian Linuxu WSL ve Windows 10

Celou instanci Linuxu je možné odinstalovat, pokud spustíte příkazový řádek Windows a zadáte:

debian clean