Vyhledávání na webu

Nainstalujte Apache, MySQL 8 nebo MariaDB 10 a PHP 7 na CentOS 7


Tento návod vysvětluje, jak nainstalovat nejnovější verzi Apache, MySQL 8 nebo MariaDB 10 a PHP 7 spolu s požadovanými moduly PHP na RHEL/CentOS 7/6 a Fedora 24-29.

Tato kombinace operačního systému (Linux) s webovým serverem (Apache), databázovým serverem (MariaDB/MySQL) a skriptováním na straně serveru jazyk (PHP) je známý jako zásobník LAMP.

Nepřehlédněte: Jak nainstalovat Nginx 1.15, MariaDB 10 a PHP 7 na CentOS 7

Od září 2015 již není PHP 5.4 podporováno týmem PHP a dosáhla konce své životnosti, přesto je PHP 5.4 dodáván s RHEL/CentOS 7 /6s drobnou změnou verze a Red Hat to podporuje, takže upgrade na vyšší verzi není nutný. Důrazně se však doporučuje upgradovat PHP 5.4 na PHP 5.5+ pro vyšší zabezpečení a výkon.

Zde je to, s čím se vaše aktuální distribuce Linuxu dodává:

PHP Current Version RHEL/CentOS 7 RHEL/CentOS 6
7.3 5.4 5.3

K tomu povolíme úložiště EPEL a Remi a použijeme yum a dnf (nový nástroj pro správu balíčků dostupný ve Fedoře).

Krok 1: Instalace EPEL a Remi Repository

EPEL (Extra Packages for Enterprise Linux) je komunitní úložiště, které nabízí doplňkové softwarové balíčky pro distribuce Linuxu založené na RHEL.

Remi je úložiště, kde můžete najít nejnovější verze zásobníku PHP (plné funkce) pro instalaci v distribucích Fedora a Enterprise Linux.

Na RHEL/CentOS 7

yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------ For RHEL 7 Only ------
subscription-manager repos --enable=rhel-7-server-optional-rpms

Na RHEL/CentOS 6

yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

------ For RHEL 6 Only ------
subscription-manager repos --enable=rhel-6-server-optional-rpms

Na Fedoře 24.–29

rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm  [On Fedora 29]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm  [On Fedora 28]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm  [On Fedora 27]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm  [On Fedora 26]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm  [On Fedora 25]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm  [On Fedora 24]

Krok 2: Instalace webového serveru Apache

Apache je bezplatný a otevřený webový server HTTP, který běží na většině operačních systémů založených na UNIXu a také na Windows. Jako takový jej lze použít k obsluze statických webových stránek a zpracování dynamického obsahu. Nedávné zprávy ukazují, že Apache je server číslo jedna používaný na webových stránkách a počítačích připojených k internetu.

Chcete-li nainstalovat webový server Apache, nejprve aktualizujte balíčky systémového softwaru a nainstalujte jej pomocí následujících příkazů.

yum -y update
yum install httpd

Jakmile je webový server Apache nainstalován, můžete spustit a povolit mu automatické spouštění při spouštění systému.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

Pokud používáte firewalld, ujistěte se, že je na bráně firewall povolen provoz Apache.

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

Krok 3: Instalace PHP pomocí Remi Repository

PHP (Hypertext Preprocessor) je bezplatný skriptovací jazyk s otevřeným zdrojovým kódem na straně serveru, který se nejlépe hodí pro vývoj webových aplikací. Lze jej použít k vytváření dynamických webových stránek pro web a nejčastěji se nachází na serverech *nix. Jednou z výhod PHP je, že je snadno rozšiřitelné pomocí široké škály modulů.

Chcete-li nainstalovat PHP, musíte nejprve povolit úložiště Remi instalací yum-utils, kolekce užitečných programů pro správu úložišť a balíčků yum.

yum install yum-utils

Po instalaci můžete použít yum-config-manager od yum-utils a aktivovat úložiště Remi jako výchozí úložiště pro instalaci různých verzí PHP, jak je znázorněno.

Chcete-li například nainstalovat verzi PHP 7.x, použijte následující příkaz.

------------- On CentOS & RHEL ------------- 
yum-config-manager --enable remi-php70 && yum install php       [Install PHP 7.0]
yum-config-manager --enable remi-php71 && yum install php       [Install PHP 7.1]
yum-config-manager --enable remi-php72 && yum install php       [Install PHP 7.2]
yum-config-manager --enable remi-php73 && yum install php       [Install PHP 7.3]

------------- On Fedora ------------- 
dnf --enablerepo=remi install php70      [Install PHP 7.0]
dnf --enablerepo=remi install php71      [Install PHP 7.1]
dnf --enablerepo=remi install php72      [Install PHP 7.2]
dnf --enablerepo=remi install php73      [Install PHP 7.3]

Dále v tomto článku nainstalujeme všechny následující moduly PHP. Další moduly související s PHP (možná za účelem integrace konkrétních funkcí, které vaše webové aplikace potřebují) můžete vyhledat pomocí následujícího příkazu:

------ RHEL/CentOS 7/6------
yum search all php     

------ Fedora ------
dnf search all php   

Bez ohledu na distribuci vrátí výše uvedené příkazy seznam balíčků v aktuálně povolených úložištích, které obsahují slovo php v názvu balíčku a/nebo popisu.

Zde jsou balíčky, které nainstalujeme. Mějte prosím na paměti, že konektory MySQL (PHP, Perl, Python, Java atd.) budou s MariaDB fungovat beze změny, protože oba systémy používají stejný klientský protokol a klientské knihovny. jsou binárně kompatibilní.

  1. MariaDB/MySQL (php-mysql) – dynamický sdílený objekt, který do PHP přidá podporu MariaDB.
  2. PostgreSQL (php-pgsql) – podpora databáze PostgreSQL pro PHP.
  3. MongoDB (php-pecl-mongo) – Rozhraní pro komunikaci s databází MongoDB v PHP.
  4. Generic (php-pdo) – Dynamický sdílený objekt, který do PHP přidá vrstvu abstrakce přístupu k databázi.
  5. Memcache (php-pecl-memcache) – Memcached je cachovací démon navržený speciálně pro dynamické webové aplikace ke snížení zatížení databáze ukládáním objektů do paměti.
  6. Memcached (php-pecl-memcached) – Rozšíření, které používá knihovnu libmemcached k poskytování rozhraní API pro komunikaci se servery memcached.
  7. GD (php-gd) – Dynamický sdílený objekt, který do PHP přidává podporu pro používání grafické knihovny gd.
  8. XML (php-xml) – Dynamický sdílený objekt, který přidává podporu PHP pro manipulaci s dokumenty XML.
  9. MBString (php-mbstring) – Rozšíření pro zpracování vícebajtových řetězců v aplikacích PHP.
  10. MCrypt (php-mcrypt) – Knihovna Mcrypt pro skripty PHP.
  11. APC (php-pecl-apcu) – modul APC používaný k optimalizaci a ukládání kódu PHP do mezipaměti.
  12. CLI (php-cli) – Rozhraní příkazového řádku pro PHP.
  13. PEAR (php-pear) – Rámec úložiště aplikací pro PHP.

Nainstalujte tyto potřebné PHP moduly pomocí příkazu níže.

------ On RHEL/CentOS 7/6 ------
yum --enablerepo=remi install php-mysqlnd php-pgsql php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

------ On Fedora ------
dnf --enablerepo=remi install php-mysqlnd php-pgsql php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

Krok 4: Instalace databáze MySQL nebo MariaDB

V této sekci si ukážeme instalaci obou databází MySQL a MariaDB, takže je jen na vás, jakou si zvolíte podle svých požadavků.

Instalace databázového serveru MySQL 8

MySQL je jeden z celosvětově nejpopulárnějších systémů pro správu relačních databází s otevřeným zdrojovým kódem (RDBMS), který provozuje jakýkoli server tím, že poskytuje přístup více uživatelům k více databázím. MySQL běží s Apache.

Chcete-li nainstalovat nejnovější verzi MySQL 8.0, nainstalujeme a aktivujeme oficiální softwarové úložiště MySQL Yum pomocí následujících příkazů.

rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm        [On RHEL/CentOS 7]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm     [On RHEL/CentOS 6]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc29-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc27-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc26-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc25-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc24-1.noarch.rpm    [On Fedora 29]

Po instalaci softwarového úložiště MySQL Yum pro platformu Linux nyní nainstalujte nejnovější verzi MySQL (aktuálně 8.0) pomocí následujícího příkazu.

yum install mysql-community-server      [On RHEL/CentOS]
dnf install mysql-community-server      [On Fedora]

Po úspěšné instalaci MySQL je čas spustit MySQL server pomocí následujícího příkazu.

service mysqld start

Podívejte se na náš článek o tom, jak zabezpečit instalaci databáze MySQL 8.

Instalace databázového serveru MariaDB 10

MariaDB je fork známého MySQL, jednoho z celosvětově nejpopulárnějších systémů pro správu relačních databází (RDBMS). Je zcela vyvinut komunitou a jako takový má zůstat FOSS a kompatibilní s GPL.

Pokud jste nebo jste byli uživatelem MySQL, bude migrace na MariaDB velmi přímočarý proces: oblíbené příkazy pro připojení, zálohování, obnovu a správu databází jsou v obou RDBMS stejné.

V nejnovější distribuci RHEL/CentOS 7 je MariaDB náhradní náhradou za MySQL a v RHEL/CentOS 6 MySQL zůstává stejné a není povoleno instalovat MariaDB na RHEL/CentOS 6 z výchozího úložiště, ale MariaDB můžete nainstalovat pomocí oficiálního úložiště MariaDB.

Chcete-li povolit úložiště MariaDB v distribucích RHEL/CentOS 7, vytvořte soubor s názvem /etc/yum.repos.d/mariadb.repo s následujícím obsahem:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Poznámka: Jak jsem řekl výše, MariaDB můžete nainstalovat také na RHEL/CentOS 6 pomocí oficiálního úložiště MariaDB, jak je uvedeno výše.

Po povolení úložiště MariaDB proveďte:

------ On RHEL/CentOS 7 ------
yum --enablerepo=remi install httpd MariaDB-client MariaDB-server

------ On Fedora ------
dnf --enablerepo=remi install httpd MariaDB-client MariaDB-server

Krok 5: Povolte/spusťte Apache a MySQL/MariaDB

Na SystemD

------ Enable Apache and MariaDB on Boot ------
systemctl enable httpd
systemctl enable mariadb

------ Start Apache and MariaDB ------
systemctl start httpd
systemctl start mariadb

Na SysVinit

------ Enable Apache and MySQL on Boot ------
chkconfig --levels 235 httpd on
chkconfig --levels 235 mysqld on

------ Start Apache and MySQL ------
/etc/init.d/httpd start
/etc/init.d/mysqld start

Krok 6: Ověření instalace PHP

Zůstaňme u klasického způsobu testování PHP. Vytvořte soubor s názvem test.php pod /var/www/html a přidejte do něj následující řádky kódu.

Funkce phpinfo() zobrazuje velké množství informací o aktuální instalaci PHP:

<?php
	phpinfo();
?>

Nyní nasměrujte svůj webový prohlížeč na http://[server]/test.php a zkontrolujte přítomnost nainstalovaných modulů a dalšího softwaru posunutím stránky dolů (nahraďte [server] s vaší doménou nebo IP adresou vašeho serveru). Váš výstup by měl být podobný:

Gratulujeme! Nyní máte nejnovější funkční instalaci zásobníku LAMP. Pokud něco nešlo podle očekávání, neváhejte nás kontaktovat pomocí formuláře níže. Dotazy a návrhy jsou také vítány.

Poznámka: MariaDB můžete nainstalovat také do jiných distribucí vytvořením vlastního úložiště podle zde uvedených pokynů.