Wyszukiwanie w witrynie

Zainstaluj Apache, MySQL 8 lub MariaDB 10 i PHP 7 na CentOS 7


W tym poradniku wyjaśniono, jak zainstalować najnowszą wersję Apache, MySQL 8 lub MariaDB 10 i PHP 7 wraz z wymaganymi modułami PHP na RHEL/CentOS 7/6 i Fedora 24-29.

To połączenie systemu operacyjnego (Linux) z serwerem WWW (Apache), serwerem bazy danych (MariaDB/MySQL) i skryptami po stronie serwera język (PHP) jest znany jako stos LAMP.

Nie przegap: Jak zainstalować Nginx 1.15, MariaDB 10 i PHP 7 na CentOS 7

Od września 2015 r. PHP 5.4 nie jest już obsługiwany przez zespół PHP i jego żywotność dobiegła końca, mimo to PHP 5.4 jest dostarczany z RHEL/CentOS 7 /6 z niewielką zmianą wersji i Red Hat ją obsługuje, więc aktualizacja do wyższej wersji nie jest wymagana. Jednakże zdecydowanie zaleca się uaktualnienie PHP 5.4 do PHP 5.5 lub nowszego w celu zapewnienia większego bezpieczeństwa i wydajności.

Oto zawartość Twojej aktualnej dystrybucji Linuksa:

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

W tym celu włączymy repozytorium EPEL i Remi oraz skorzystamy z yum i dnf (nowe narzędzie do zarządzania pakietami dostępne w Fedorze).

Krok 1: Instalacja repozytorium EPEL i Remi

EPEL (Dodatkowe pakiety dla Enterprise Linux) to oparte na społeczności repozytorium oferujące dodatkowe pakiety oprogramowania dla dystrybucji Linuksa opartych na RHEL.

Remi to repozytorium, w którym można znaleźć najnowsze wersje stosu PHP (w pełni funkcjonalne) do instalacji w dystrybucjach Fedora i Enterprise Linux.

W 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

W Fedorze 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: Instalacja serwera WWW Apache

Apache to darmowy serwer WWW HTTP typu open source, który działa w większości systemów operacyjnych opartych na systemie UNIX, a także w systemie Windows. Jako taki może być używany do obsługi statycznych stron internetowych i obsługi treści dynamicznych. Ostatnie raporty pokazują, że Apache jest serwerem numer jeden używanym w witrynach internetowych i na komputerach podłączonych do Internetu.

Aby zainstalować serwer WWW Apache, najpierw zaktualizuj pakiety oprogramowania systemowego i zainstaluj je za pomocą poniższych poleceń.

yum -y update
yum install httpd

Po zainstalowaniu serwera WWW Apache możesz włączyć jego automatyczne uruchamianie przy starcie systemu.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

Jeśli używasz zapory sieciowej, upewnij się, że zezwalasz na ruch Apache na zaporze.

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

Krok 3: Instalacja PHP przy użyciu repozytorium Remi

PHP (Preprocesor hipertekstu) to darmowy i otwarty język skryptowy po stronie serwera, który najlepiej nadaje się do tworzenia stron internetowych. Można go używać do tworzenia dynamicznych stron internetowych dla witryny internetowej i najczęściej można go znaleźć na serwerach *nix. Jedną z zalet PHP jest to, że można go łatwo rozszerzać poprzez zastosowanie szerokiej gamy modułów.

Aby zainstalować PHP, musisz najpierw włączyć repozytorium Remi, instalując yum-utils, zbiór przydatnych programów do zarządzania repozytoriami i pakietami yum.

yum install yum-utils

Po zainstalowaniu możesz użyć yum-config-manager dostarczonego przez yum-utils, aby włączyć repozytorium Remi jako domyślne repozytorium do instalowania różnych wersji PHP, jak pokazano.

Na przykład, aby zainstalować wersję PHP 7.x, użyj następującego polecenia.

------------- 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]

Następnie zainstalujemy wszystkie poniższe moduły PHP w tym artykule. Możesz wyszukać więcej modułów związanych z PHP (być może w celu zintegrowania określonej funkcjonalności, której potrzebują Twoje aplikacje internetowe) za pomocą następującego polecenia:

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

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

Niezależnie od dystrybucji, powyższe polecenia zwracają listę pakietów w aktualnie włączonych repozytoriach, które zawierają słowo php w nazwie pakietu i/lub opisie.

Oto pakiety, które zainstalujemy. Należy pamiętać, że konektory MySQL (PHP, Perl, Python, Java itp.) będą działać bez zmian z MariaDB, ponieważ oba systemy korzystają z tego samego protokołu klienta i bibliotek klienckich są kompatybilne binarnie.

  1. MariaDB/MySQL (php-mysql) – dynamiczny obiekt współdzielony, który doda obsługę MariaDB do PHP.
  2. PostgreSQL (php-pgsql) – obsługa baz danych PostgreSQL dla PHP.
  3. MongoDB (php-pecl-mongo) – Interfejs do komunikacji z bazą danych MongoDB w języku PHP.
  4. Generic (php-pdo) – dynamiczny obiekt współdzielony, który doda warstwę abstrakcji dostępu do bazy danych do PHP.
  5. Memcache (php-pecl-memcache) – Memcached to demon buforujący zaprojektowany specjalnie dla dynamicznych aplikacji internetowych w celu zmniejszenia obciążenia bazy danych poprzez przechowywanie obiektów w pamięci.
  6. Memcached (php-pecl-memcached) – rozszerzenie korzystające z biblioteki libmemcached w celu zapewnienia interfejsu API do komunikacji z serwerami memcached.
  7. GD (php-gd) – dynamiczny obiekt udostępniania, który dodaje obsługę używania biblioteki graficznej gd do PHP.
  8. XML (php-xml) – dynamiczne obiekty współdzielone, które dodają obsługę PHP do manipulowania dokumentami XML.
  9. MBString (php-mbstring) – rozszerzenie do obsługi ciągów wielobajtowych w aplikacjach PHP.
  10. MCrypt (php-mcrypt) – biblioteka Mcrypt dla skryptów PHP.
  11. APC (php-pecl-apcu) – moduł APC służący do optymalizacji i buforowania kodu PHP.
  12. CLI (php-cli) – interfejs wiersza poleceń dla PHP.
  13. PEAR (php-pear) – framework repozytorium aplikacji dla PHP.

Zainstaluj następujące niezbędne moduły PHP za pomocą poniższego polecenia.

------ 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: Instalacja bazy danych MySQL lub MariaDB

W tej sekcji pokażemy Ci instalację obu baz danych MySQL i MariaDB, więc to od Ciebie zależy, co wybierzesz w oparciu o swoje wymagania.

Instalowanie serwera bazy danych MySQL 8

MySQL to jeden z najpopularniejszych na świecie systemów zarządzania relacyjnymi bazami danych (RDBMS) typu open source, który obsługuje dowolny serwer, zapewniając wielu użytkownikom dostęp do wielu baz danych. MySQL działa z Apache.

Aby zainstalować najnowszą wersję MySQL 8.0, zainstalujemy i włączymy oficjalne repozytorium oprogramowania MySQL Yum za pomocą następujących poleceń.

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 zainstalowaniu repozytorium oprogramowania MySQL Yum na platformę Linux zainstaluj teraz najnowszą wersję MySQL (obecnie 8.0), używając następującego polecenia.

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

Po udanej instalacji MySQL czas uruchomić serwer MySQL za pomocą następującego polecenia.

service mysqld start

Sprawdź nasz artykuł o tym, jak zabezpieczyć instalację bazy danych MySQL 8.

Instalowanie serwera bazy danych MariaDB 10

MariaDB to fork dobrze znanego MySQL, jednego z najpopularniejszych na świecie systemów zarządzania relacyjnymi bazami danych (RDBMS). Jest w całości opracowany przez społeczność i jako taki ma pozostać FOSS i kompatybilny z licencją GPL.

Jeśli jesteś lub byłeś użytkownikiem MySQL, migracja do MariaDB będzie bardzo prostym procesem: popularne polecenia służące do łączenia się, tworzenia kopii zapasowych i przywracania baz danych oraz zarządzania nimi są identyczne w obu systemach RDBMS.

W najnowszej dystrybucji RHEL/CentOS 7 MariaDB jest zastępczym zamiennikiem MySQL, a w RHEL/CentOS 6 MySQL pozostaje taki sam i nie można instalować MariaDB na RHEL/CentOS 6 z domyślnego repozytorium, ale możesz zainstalować MariaDB przy użyciu oficjalnego repozytorium MariaDB.

Aby włączyć repozytorium MariaDB w dystrybucjach RHEL/CentOS 7, utwórz plik o nazwie /etc/yum.repos.d/mariadb.repo z następującą zawartością:

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

Uwaga: jak powiedziałem powyżej, możesz także zainstalować MariaDB na RHEL/CentOS 6, korzystając z oficjalnego repozytorium MariaDB, jak podano powyżej.

Po włączeniu repozytorium MariaDB wykonaj:

------ 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: Włącz/uruchom Apache i 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: Weryfikacja instalacji PHP

Pozostańmy przy klasycznym sposobie testowania PHP. Utwórz plik o nazwie test.php w lokalizacji /var/www/html i dodaj do niego następujące linie kodu.

Funkcja phpinfo() pokazuje wiele informacji na temat bieżącej instalacji PHP:

<?php
	phpinfo();
?>

Teraz wskaż swoją przeglądarkę internetową na http://[server]/test.php i sprawdź obecność zainstalowanych modułów oraz dodatkowego oprogramowania przewijając stronę w dół (zamień [server] z Twoją domeną lub adresem IP Twojego serwera). Twoje dane wyjściowe powinny być podobne do:

Gratulacje! Masz teraz najnowszą działającą instalację stosu LAMP. Jeśli coś nie poszło zgodnie z oczekiwaniami, skontaktuj się z nami za pomocą poniższego formularza. Pytania i sugestie są również mile widziane.

Uwaga: możesz także zainstalować MariaDB w innych dystrybucjach, tworząc niestandardowe repozytorium zgodnie z instrukcjami podanymi tutaj.