Instalacja LEMP na systemie CentOS 7 [ NGINX, PHP5, MariaDB, PHPMyAdmin ]

lemp1

CentOS (Community ENTerprise Operating System) – dystrybucja Linuksa oparta na Red Hat Enterprise Linux i mająca być z nim w całości kompatybilna.
W CentOS wykorzystany jest kod źródłowy oprogramowania Red Hat Enterprise Linux do stworzenia odrębnej dystrybucji, która jest bardzo podobna do Red Hat Enterprise

Dzisiejszy artykułpisany będzie “na” wesję CentOS 7, maszyna to VPS z OVH ulokowany we Francji.

Na początek instalujemy pakiet epel-release, przy jego pomocy będziemy mogli zainstalować wszelkie oprogramowanie “bez kombinacji”

yum install epel-release

Teraz instalujemy serwer WWW jakim jest nginx oraz pakiety di obsługi PHP5, w tym przypadku 5.4

yum install nginx php-fpm php-xml nano

Dodajemy parametey do autostartu i uruchamiamy program.

systemctl start nginx.service
systemctl enable nginx.service

Naszym oczom po załadowaniu adresu powinien ukazać sie startowy ekran:

nginx

Uruchamiamy PHP:

echo "cgi.fix_pathinfo=0" >> /etc/php.ini

Kolejnym etapem jest edycja pliku konfoguracyjnego programu nginx, do działania z obsługą PHP5, w tym celu edytujemy plik:

nano /etc/nginx/nginx.conf

I doklejamy, najlepiej na końcu pliku:

  location ~ \.php$ {
      root           /usr/share/nginx/html;
      try_files $uri =404;
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_index  index.php;
      fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
      include        fastcgi_params;
  }

Pozostało jeszcze prawidłowe uruchomienie PHP-FPM, edytujemy wskazany skrawe pliku konfiguracyjnego i uzupełniamy nazwe użytkownika systemu na nginx jak poniżej:

nano /etc/php-fpm.d/www.conf
[...]
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;	will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
[...]

Restart usług:

systemctl restart  php-fpm.service
systemctl restart nginx.service

Serwer WWW, z obsługa PHP5 mamy gotowy, czas na bazę danych. W moim przypadku będzie to MariaDB, jakos mi przypadła do gustu i nie jest jak MySQL czyli wszedzie 🙂

Dodajemy do repozytoriów systemowych wpis o MariaDB poprzez utworzenie pliku:

touch /etc/yum.repos.d/MariaDB.repo
nano /etc/yum.repos.d/MariaDB.repo

O takiej zawartości:

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

Instalacja MariaDB:

yum install mariadb-server mariadb-client php-mysql -y
I przeładowanie usług:
systemctl restart  php-fpm.service
systemctl restart nginx.service
systemctl restart mysql.service

Ustawienie hasło do systemowego konta root bazy MariaDB:

mysqladmin -u root password twoje-haslo

Na koniec instalacja PhpMyAdmin:

yum install phpmyadmin php-mbstring -y
ln -s /usr/share/phpMyAdmin/ /usr/share/nginx/html/pma
chmod -R 777 /var/lib/php
mkdir -p /var/lib/php/session
chown nginx:nginx /var/lib/php/session

phpmyadmin wymaga sekretnego klucza “blowfish_secret”, polecam skorzystac z generaora: http://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator

nano /usr/share/phpMyAdmin/libraries/config.default.php

I wklejamy w linii 102 wygenerowany klucz

To wszystko,
Masz uruchomiony serwer WWW z obsługą PHP5 oraz bazą MariaDB z zarządzniem przez WWW czyli PhpMyAdmin

nginx-pma

 

Opcjonalna iinstalacja skryptu phpsysinfo:

yum install git
cd /usr/share/nginx/html/
git clone https://github.com/phpsysinfo/phpsysinfo.git
chown nginx:nginx phpsysinfo/
cd phpsysinfo/
cp phpsysinfo.ini.new phpsysinfo.ini

Efekt http://twoj-adres/phpsysinfo/

psi-nginx