Wéi installéiere ech Nginx 1.15, MariaDB 10 a PHP 7 op CentOS 7
An dësem Artikel wäerte mir erkläre wéi een e LEMP-Stack (Linux, Nginx, MariaDB, PHP) zesumme mat PHP-FPM op RHEL/CentOS 7/6 a Fedora 26-29 Server installéiert mat dnf Package Manager.
Wärend dem Prozess wäerte mir Epel, Remi, Nginx a MariaDB Repositories installéieren an aktivéieren fir déi lescht Versioune vun dëse Packagen z'installéieren.
Schrëtt 1: EPEL a Remi Repository installéieren
EPEL (Extra Packages for Enterprise Linux) ass e Gemeinschaftsbaséiert Repository bitt Add-on Software Packagen fir RHEL-baséiert Linux Verdeelungen.
Remi ass e Repository wou Dir déi lescht Versioune vum PHP Stack (voll Feature) fir Installatioun an de Fedora an Enterprise Linux Verdeelungen fannt.
# 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
# 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
# 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]
Schrëtt 2: Nginx a MariaDB Repositories installéieren
Den Nginx Repository ass nëmme gebraucht an RHEL an CentOS Verdeelungen. Erstellt eng Datei mam Numm /etc/yum.repos.d/nginx.repo a füügt déi folgend Zeilen derbäi.
[nginx] name=nginx repo baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
Fir de MariaDB Repository z'aktivéieren, erstellt eng Datei mam Numm /etc/yum.repos.d/mariadb.repo mat den folgenden Inhalter:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Schrëtt 4: Ngnix a MariaDB installéieren
Nginx (Engine X) ass Open Source, robust, liicht an héich performant Webserver, Reverse Proxy Server an och Mail Proxy Server fir HTTP, SMTP, POP3 an IMAP Protokoller. Fir weider Detailer, besicht http://wiki.nginx.org/Overview.
MariaDB ass eng Gabel vum bekannte MySQL, ee vun de populäersten Relational Database Management System (RDBMS) vun der Welt. Et ass ganz vun der Gemeinschaft entwéckelt an als solch ass et geduecht fir FOSS ze bleiwen a kompatibel mat der GPL.
Fir Ngnix a MariaDB z'installéieren, lafen déi folgend Kommandoen.
----------- Installing on RHEL/CentOS 7/6 ----------- # yum --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm ----------- Installing on Fedora ----------- # dnf --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm
Schrëtt 3: PHP installéieren mat Remi Repository
PHP (Hypertext Preprocessor) ass eng gratis an Open Source Server-Säit Scripting Sprooch déi am Beschten fir Webentwécklung passt. Et kann benotzt ginn fir dynamesch Websäite fir eng Websäit ze produzéieren a gëtt am meeschten op *nix Serveren fonnt. Ee vun de Virdeeler vu PHP ass datt et liicht erweiterbar ass duerch d'Benotzung vun enger grousser Villfalt vu Moduler.
Fir PHP z'installéieren, musst Dir als éischt de Remi Repository aktivéieren andeems Dir yum-utils
installéiert, eng Sammlung vun nëtzlechen Programmer fir d'Gestioun vun Yum Repositories a Packagen.
# yum install yum-utils
Eemol installéiert, kënnt Dir yum-config-manager vun yum-utils
benotzt fir Remi Repository als Standard Repository z'aktivéieren fir verschidde PHP Versiounen z'installéieren wéi gewisen.
Zum Beispill, fir PHP 7.x Versioun z'installéieren, benotzt de folgende Kommando.
------------- 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]
Als nächst wäerte mir all dës folgend PHP Moduler installéieren.
------ On RHEL/CentOS 7/6 ------ # yum --enablerepo=remi install php-mysqlnd php-pgsql php-fpm 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-fpm 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
Schrëtt 6: Apache Service stoppen an auszeschalten
Par défaut lauschteren Apache an Nginx am selwechten Hafen (TCP 80). Aus deem Grond, wann Apache op Ärem Server installéiert ass, musst Dir et stoppen an deaktivéieren/maskéieren (eng méi staark Versioun vum Disable déi de Service op /dev/null verbënnt) fir Nginx ze benotzen, oder Dir kënnt et ewechhuelen wann Dir plangt et net méi ze benotzen.
# systemctl stop httpd # systemctl disable httpd or # systemctl mask httpd
Schrëtt 7: Start/Stoppen Nginx, MariaDB a PHP-FPM
----------- Enable Nginx, MariaDB and PHP-FPM on Boot ----------- # systemctl enable nginx # systemctl enable mariadb # systemctl enable php-fpm ----------- Start Nginx, MariaDB and PHP-FPM ----------- # systemctl start nginx # systemctl start mariadb # systemctl start php-fpm
Schrëtt 8: Nginx a PHP-FPM konfiguréieren
Loosst eis elo eng Verzeechnesstruktur fir Är Websäit erstellen (e virtuelle Host, oder Serverblock wéi et am Nginx genannt gëtt) ënner /srv/www/. An dësem Beispill wäerte mir linux-console.net
benotzen, awer fillt sech fräi fir en anert Domain an Haaptverzeechnes ze wielen wann Dir wëllt.
# mkdir -p /srv/www/tecmint/public_html # mkdir /srv/www/tecmint/logs # chown -R nginx:nginx /srv/www/tecmint
Schrëtt 9: Nginx Virtual Host Directories konfiguréieren
Wéi Dir wësst, ass d'Fäegkeet fir verschidde Site vun der selwechter Maschinn ze lafen ass eng vun den ënnerscheedlechen Features vu grousse Webserver. Loosst eis elo weidergoen fir d'Verzeichnisser ze kreéieren fir eis Serverblocken (bekannt als virtuelle Hosten an Apache) ënner /etc/nginx ze späicheren.
# mkdir /etc/nginx/sites-available # mkdir /etc/nginx/sites-enabled
Déi folgend Zeil vum Code, dee muss agefouert ginn ier Dir den http Block an /etc/nginx/nginx.conf zoumaacht, suergt dofir datt d'Konfiguratiounsdateien am /etc/nginx/sites-enabled Verzeichnis berécksiichtegt ginn wann Nginx leeft :
## Load virtual host conf files. ## include /etc/nginx/sites-enabled/*;
Fir de Serverblock fir linux-console.net
ze kreéieren, füügt déi folgend Zeilen vum Code un /etc/nginx/sites-available/tecmint (dës Datei gëtt erstallt wann Dir de ganze Wee gitt fir Äre Liiblings unzefänken Texteditor). Dëst ass eng Basis virtuell Host Configuratiounsdatei.
server { listen 80 default; server_name tecmint; access_log /srv/www/tecmint/logs/access.log; error_log /srv/www/tecmint/logs/error.log; root /srv/www/tecmint/public_html; location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
De Prozess fir e virtuelle Host ze aktivéieren besteet aus der Schafung vun engem symbolesche Link vun der Definitioun vum tecmint
virtuelle Host op /etc/nginx/sites-enabled.
# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
Fir d'Ännerungen déi mir gemaach hunn tatsächlech ëmzesetzen, musse mir elo Nginx nei starten. Et ass heiansdo nëtzlech d'Konfiguratiounsdateien fir Syntaxfehler ze kontrolléieren ier Dir dëst maacht:
# nginx -t # systemctl restart nginx # systemctl status nginx
Fir Zougang zu Ärem nei erstallte virtuelle Host ze kréien, musst Dir déi folgend Zeil op /etc/hosts als Basismethod fir Domain Numm Resolutioun addéieren.
192.168.0.18 linux-console.net linux-console.net
Schrëtt 10: Testen Nginx, MySQL, PHP a PHP-FPM
Loosst eis mat de klassesche Wee fir PHP testen. Erstellt eng Datei mam Numm test.php
ënner /srv/www/tecmint/public_html/ a füügt déi folgend Zeilen vum Code derbäi.
D'Funktioun phpinfo()
weist vill Informatioun iwwer déi aktuell PHP-Installatioun:
<?php phpinfo(); ?>
Gitt elo Äre Webbrowser op http://tecmint/test.php
a kontrolléiert d'Präsenz vun den installéierten Moduler an zousätzlech Software:
Gratulatioun! Dir hutt elo eng Aarbechtsinstallatioun vun engem LEMP Stack. Wann eppes net wéi erwaart gaang ass, da kontaktéiert eis gratis mam Formulaire hei ënnen. Froen a Virschléi sinn och wëllkomm.