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