LAMP pro LM18 ( Apache2, MariaDB, PHP5.6 a 7.0, phpMyAdmin )

Zkušenosti, tipy a zlepšováky, které jsou příliš malé pro článek na webu.
Nehledejte zde odpovědi na obecné dotazy.
Zamčeno
Zpráva
Autor
Radar Cz
Příspěvky: 38
Registrován: 31 kvě 2016, 16:57

LAMP pro LM18 ( Apache2, MariaDB, PHP5.6 a 7.0, phpMyAdmin )

#1 Příspěvek od Radar Cz »

Zde bych rád všem co laborují s provozováním softwareového webového serveru nabídl možné řešení které jsem se po několika dnech zkoušení rozhodl použít já. Nejsem žádný profesional, programátor ani webmaster, jen tak trošku koketuji s Drupalem, WordPressem a jinými CMS a k tomu samozřejmě potřebuji LAMP. Postupů a návodu existuje spousta, ale vzhledem k tomu že je Linux Mint ve verzi 18 postaven na Ubuntu 16.04 LTS a je "na světě" teprve cca týden (dd 7.7.2016 pozn.), tak se mi zatím nepovedlo najít žádný funkční, komplexní a hlavně ne takový způsob, který by spňoval moje požadavky.
Protože nemám rád různé "automatické" instalace čehokoliv a rád si vše pohlídám, nesáhl jsem ani ke XAMPu, ani k instalaci přes tasksel, ale nainstaloval jsem vše popořadě pěkně manuálně, prostě mi to takhle vyhovuje nejlépe.


Jak jsem postupoval:

Nejprve jako vždy před podobnou akcí zaktualizujeme system:

Kód: Vybrat vše

apt-get update
apt-get upgrade

Jako první nainstalujeme samotný softwareový webový server Apache:

Kód: Vybrat vše

apt-get install apache2
Test Apache:
Otestovat můžeme v prohlížeči zadáním http://localhost/ nebo http://server-ip-address/.
Protože všichni jak jsme tady (alespoň doufám) preferujeme svobodný software, rozhodl jsem se nepoužít tradiční MySQL, ale MariaDB, což je, cituji " relační databáze, která je komunitou vyvíjenou nástupnickou větví (tzv, „forkem“) MySQL. Hlavním důvodem k vytvoření této větve bylo udržení licence svobodného softwaru GNU GPL. Iniciativa, díky které tato větev vznikla, pochází od původních vývojářů MySQL, kteří se obávali o další osud a směřování tohoto softwaru po jeho odkoupení společností Oracle. Přispěvatelé, kteří se podílí na vývoji, jsou povinni sdílet svá autorská práva s MariaDB Foundation ". Většina z vás tady asi ví o co jde, ale malé upřesnění snad nebude nikomu vadit.

Zde tedy samotná instalace MariaDB:

Kód: Vybrat vše

apt-get install software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb http://mirror.vpsfree.cz/mariadb/repo/10.1/ubuntu xenial main'   
apt-get update
apt-get install mariadb-server
mysql_secure_installation

apt-get update
apt-get upgrade
Nevím zda-li má smysl popisovat jednotlivé kroky, každý kdo se tomuto tématu nějak věnuje ví o co jde, ale pokud by byl zájem, mohu bližší informace doplnit.

Jak již bylo řečeno výše, je nejnovější verze Linux Mint 18 postavena na Ubuntu 16.04 (Xenial Xerus) LTS (Support Long-Term) a jako taková obsahuje pouze poslední (aktuální v době vydání) verzi PHP, přesněji řečeno PHP7. Je však stále spousta vývojářů, kteří z nějakého důvodu potřebují pracovat se staršími verzemi PHP (například 5.5 nebo 5.6) a je tedy nutná i jejich instalace do systemu. Na řadu přichází jako obvykle PPA :-)

Nejprve tedy přidáme PHP 5 PPA a aktualizujeme seznam zdrojů dat:

Kód: Vybrat vše

apt-add-repository -y ppa:ondrej/php
apt-get update
Pokud se podívate na tato uložiště, zjistíte, že verze PHP není zahrnuta v PPA názvu úložiště. Pro Ubuntu 16.04, PHP 5.5 a 5.6 jsou zahrnuty přímo v PPA.
pozn: Pokud budete potřebovat PHP 5.4 nebo starší, budete muset bohužel zřejmě zůstat s Ubuntu 14.04 LTS Trusty Tahr.

Nyní už můžeme přistoupit k samotné instalaci PHP 5.6 a PHP 7.0 s podporou pro Apache 2 a MySQL, včetně základních modulů (tedy alespoň pro mě)

Nejprve PHP 5.6:

Kód: Vybrat vše

apt-get install php5.6 php5.6-mysql php5.6-cli php5.6-curl php5.6-json php5.6-sqlite3 php5.6-mcrypt php-xdebug php5.6-mbstring libapache2-mod-php5.6
Následně pak PHP 7.0:

Kód: Vybrat vše

apt-get install php7.0 php7.0-curl php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-sqlite3

apt-get update
apt-get upgrade
Mezi jednotlivými verzemi PHP pak následně můžete přepínat příkazy:

Kód: Vybrat vše

a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart ; echo 1 | sudo update-alternatives --config php

respektive

a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart ; echo 2 | sudo update-alternatives --config php
a nebo a to je ještě pohodlnější, nastavte několik jednoduchých Bash aliasů ve vaší .bashrc a ten se postará o vše za vás:

Kód: Vybrat vše

cd /etc
gedit bash.bashrc
kde na konec záznamu doplníte následující dva aliasy:

Kód: Vybrat vše

alias phpv5='sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart ; echo 1 | sudo update-alternatives --config php'
alias phpv7='sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart ; echo 2 | sudo update-alternatives --config php'

Mezi jednotlivými verzemi PHP se pak přepínáte přikazy phpv5 respektive phpv7


No a nakonec ještě doinstalujeme správce obsahu databazí phpMyAdmin a máme hotovo :-)

Kód: Vybrat vše

apt-get install phpmyadmin php-gettext php-mbstring
Mám to odzkoušeno, funguje to bezvadně, mezi jednotlivými PHP lze přepínat i s otevřeným phpMyAdminem, jen se vždy refreshne stránka v prohlížeči .... snad to někomu bude něco platné :-)
Jak jsem říkal, nejsem ani profesionál ani vševědoucí, pořád se učím, takže je možné že v tom zkušenější z vás najdou něco co tam být nemusí, nebo že by se něco dalo udělat, jinak, jednodušeji, co já vím, takže za každou radu a poznámku která povede k vylepšení děkuji předem.


EDIT: Možná by bylo ještě dobré zmínit, že celá tahle "akce" proběhla na laptopu DELL Latitude E4300, Linux Mint 18 Cinnamon x64, kernel:4.6.2.-040602.

Radar

Zamčeno