CentOS LAMP stack (Linux Apache MySQL PHP)

Najpopularniejsze użycie wszelakich serwerów linuxowych to tzw. LAMP, czyli instalacja Apache – serwera www, MySQL – silnika bez danych oraz PHP czyli interpretera skryptów napisanych w tym języku. Poniżej opiszę kroki jakie są potrzebne aby skonfigurować takie środowisko pracujące pod kontrolą CentOS (w tym konkretnym przykładzie w wersji 7.4). Puryści linuxowi mogą zarzucić instalowanie w/w aplikacji przez manager pakietów, ale ja osobiście nie widzę w tym nic zdrożnego, tym bardziej, że moim zdaniem utrzymywanie w zdrowiu paczek z oficjalnych repozytoriów daje spore oszczędności czasowe.  Zresztą nie czas i nie miejsce na akademickie dysputy źródła vs. pakiety z repo 😉

O instalacji CentOS nie ma co pisać 😉 O wyłączaniu SELinux i firewalla już pisałem (o dodawaniu repozytorium epel – też). Tak więc przejdziemy do mięska i zaczniemy od instalacji Apache. Tak naprawdę ograniczymy się tylko do wydania jednej komendy:

yum install httpd

Uruchamiamy apache:

systemctl start httpd

Upewniamy się, że apache wystartuje podczas bootowania serwera:

systemctl enable httpd

Teraz przechodzimy w przeglądarce IP naszego serwera, gdzie powinniśmy otrzymać stronę testową Apache, która wygląda mniej więcej tak:

Następnym krokiem będzie instalacja php. Tu warto wtrącić kilka słów – mianowicie w oficjalnych repozytoriach CentOS  nie znajdziemy php w wersjach 7 i powyżej. Więc warto rozważyć dodanie kolejnego repozytorium – mianowicie remi. Jednak warto tu dodać, że należy być szczególnie uważnym przy bardziej skomplikowanych instalacjach, gdyż nie wszystkie pakiety bibliotek do php znajdują się w tym repozytorium. Może się więc zdarzyć, że zainstalujemy php np. w wersji 7.2 z repozytorium remi, a któraś z dodatkowych bibliotek do php nie będzie dostępna w tym repozytorium – wtedy kłopoty gotowe.

Aby dodać repozytorium remi:

rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm

Powyższy krok można pominąć (choć ja akurat uważam, że nowsze = lepsze 😉 )

Instalujemy php:

yum install php

Sprawdzamy poprawność instalacji php poleceniem:

php -v

Aby sprawdzić, czy php i Apache działają poprawnie wykonujemy najstarszy ze wszystkich skryptów php, oczywiście korzystając z lamerskiego vi-mac-style edytora – nano 🙂

nano /var/www/html/test.php

Gdzie wpisujemy następujący kod:

<?php
phpinfo();
?>

Teraz przechodzimy w przeglądarce na stronę: http://adres_ip_serwera/test.php jeśli wszystko poszło ok, naszym oczom powinien się ukazać mniej więcej taki widok:

Wynik phpinfo

Ostatnim krokiem jest instalacja silnika bazy danych MySQL – ze względów licencyjnych MySQL nie jest już częścią pakietów w repozytorium CentOS, w zamian za to mamy do dyspozycji pakiet mariadb, który jest dziełem twórców MySQL. Tak więc aby zainstalować serwer mariadb musimy zainstalować następujące pakiety oraz skonfigurować naszą instalację:

yum install mariadb-server mariadb
systemctl start mariadb
mysql_secure_installation
systemctl enable mariadb.service

To w zasadzie wszystko jeśli chodzi o instalację LAMP. Oczywiście to bardzo podstawowa konfiguracja, to testów i zabaw w labie jak znalazł. Produkcyjne systemy buduje się nieco inaczej 🙂

Piotr Berent

Piotr Berent od 2002 w pocie czoła pracujący w środowisku IT, obecnie freelancer - Inżynier Systemowy. Entuzjasta wirtualizacji, automatyzacji i rozwiązań opartych o narzędzia open-source.

Przeczytaj także...

3 komentarze

  1. On napisał(a):

    Piotr, skrobnij coś jak to wygląda na produkcji, może jakieś optymalizację mariadb/ apache? 🙂

    • Piotr Berent napisał(a):

      Ciężko zazwyczaj pisać o optymalizacji „ogólnie”, bo zazwyczaj optymalizuje się pod konkretne rzeczy etc… ale głowa do góry – jak pewnie zauważyłeś reanimuję Speców, więc na pewno pojawi się to i owo 😉

  2. On napisał(a):

    Ekstra, czekam na więcej artykułów 🙂
    Dobrze, że wróciliście!

Dodaj komentarz