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í:

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


Komentáře k článku