Installer Apache, MySQL 8 eller MariaDB 10 og PHP 7 på CentOS 7


Denne veiledningen forklarer hvordan du installerer den nyeste versjonen av Apache, MySQL 8 eller MariaDB 10 og PHP 7 sammen med de nødvendige PHP-modulene på RHEL/CentOS 7/6 og Fedora 24-29.

Denne kombinasjonen av operativsystemet (Linux) med webserveren (Apache), databaseserveren (MariaDB/MySQL) og server-side scripting language (PHP) er kjent som LAMP-stakken.

Siden september 2015 er PHP 5.4 ikke lenger støttet av PHP-teamet, og det er nådd til slutten av livet, men PHP 5.4 leveres med RHEL/CentOS 7/6 med mindre versjonsendring og Red Hat støtter det, så oppgradering til en høyere versjon ikke nødvendig. Det anbefales imidlertid sterkt å oppgradere PHP 5.4 til PHP 5.5+ for større sikkerhet og ytelse.

Her er hva din nåværende Linux-distribusjon leveres med:

For å gjøre dette vil vi aktivere EPEL- og Remi-depotet og bruke pakkehåndteringsverktøy tilgjengelig i Fedora).

Trinn 1: Installere EPEL og Remi Repository

EPEL (Extra Packages for Enterprise Linux) er et fellesskapsbasert depot som tilbyr tilleggsprogramvarepakker for RHEL-baserte Linux-distribusjoner.

Remi er et depot hvor du kan finne de nyeste versjonene av PHP-stakken (full funksjoner) for installasjon i Fedora- og Enterprise Linux-distribusjonene.

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

Trinn 2: Installere Apache Web Server

Apache er en gratis HTTP-nettserver med åpen kildekode som kjører på de fleste UNIX-baserte operativsystemer så vel som på Windows. Som sådan kan den brukes til å betjene statiske nettsider og håndtere dynamisk innhold. Nylige rapporter viser at Apache er nummer én server som brukes på nettsteder og datamaskiner som vender mot Internett.

For å installere Apache webserver må du først oppdatere systemprogramvarepakkene og installere den ved å bruke følgende kommandoer.

# yum -y update
# yum install httpd

Når Apache-nettserveren er installert, kan du starte å aktivere den automatisk ved systemoppstart.

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

Hvis du kjører brannmur, sørg for å tillate Apache-trafikk på brannmuren.

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

Trinn 3: Installere PHP ved å bruke Remi Repository

PHP (Hypertext Preprocessor) er et gratis og åpen kildekode-skriptspråk på serversiden som er best egnet for webutvikling. Den kan brukes til å produsere dynamiske nettsider for et nettsted og finnes oftest på *nix-servere. En av fordelene med PHP er at det enkelt kan utvides ved bruk av et bredt utvalg av moduler.

For å installere PHP må du først aktivere Remi-depotet ved å installere yum-utils, en samling nyttige programmer for å administrere yum-depoter og -pakker.

# yum install yum-utils

Når den er installert, kan du bruke yum-config-manager levert av yum-utils for å aktivere Remi-depotet som standardlager for å installere forskjellige PHP-versjoner som vist.

For å installere PHP 7.x-versjonen, bruk for eksempel følgende 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]

Deretter skal vi installere alle disse følgende PHP-modulene i denne artikkelen. Du kan søke etter flere PHP-relaterte moduler (kanskje for å integrere en spesifikk funksjonalitet som webapplikasjonene dine trenger) med følgende kommando:

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

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

Uavhengig av distribusjon, returnerer kommandoene ovenfor listen over pakker i de aktiverte repositoriene som inkluderer ordet php i pakkenavnet og/eller beskrivelsen.

Her er pakkene vi skal installere. Vær oppmerksom på at MySQL-koblinger (PHP, Perl, Python, Java, etc.) vil fungere uendret med MariaDB da begge systemene bruker samme klientprotokoll og klientbibliotekene er binærkompatible.

  1. MariaDB/MySQL (php-mysql) – et dynamisk delt objekt som vil legge til MariaDB-støtte til PHP.
  2. PostgreSQL (php-pgsql) – PostgreSQL-databasestøtte for PHP.
  3. MongoDB (php-pecl-mongo) – Et grensesnitt for kommunikasjon med MongoDB-databasen i PHP.
  4. Generisk (php-pdo) – Et dynamisk delt objekt som vil legge til et abstraksjonslag for databasetilgang til PHP.
  5. Memcache (php-pecl-memcache) – Memcached er en hurtigbufferdemon utviklet spesielt for dynamiske nettapplikasjoner for å redusere databasebelastningen ved å lagre objekter i minnet.
  6. Memcached (php-pecl-memcached) – En utvidelse som bruker libmemcached-biblioteket til å tilby API for kommunikasjon med memcached servere.
  7. GD (php-gd) – Et dynamisk delingsobjekt som legger til støtte for bruk av gd-grafikkbiblioteket til PHP.
  8. XML (php-xml) – Et dynamisk delt objekt som legger til støtte til PHP for å manipulere XML-dokumenter.
  9. MBString (php-mbstring) – En utvidelse for å håndtere multi-byte streng i PHP-applikasjoner.
  10. MCrypt (php-mcrypt) – Et Mcrypt-bibliotek for PHP-skript.
  11. APC (php-pecl-apcu) – APC-modul som brukes til å optimalisere og bufre PHP-kode.
  12. CLI (php-cli) – Kommandolinjegrensesnitt for PHP.
  13. PEAR (php-pear) – Application Repository-rammeverk for PHP.

Installer disse følgende nødvendige PHP-moduler med kommandoen nedenfor.

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

Trinn 4: Installere MySQL eller MariaDB Database

I denne delen vil vi vise deg installasjonen av begge databasene MySQL og MariaDB, så det er opp til deg hva du skal velge basert på dine behov.

MySQL er et av verdens mest populære åpen kildekode relasjonsdatabaseadministrasjonssystem (RDBMS) som kjører hvilken som helst server ved å gi tilgang for flere brukere til flere databaser. MySQL kjører med Apache.

For å installere siste MySQL 8.0-versjon, vil vi installere og aktivere offisielt MySQL Yum-programvarelager ved å bruke følgende kommandoer.

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

Etter å ha installert MySQL Yum-programvarelageret for Linux-plattformen din, installer nå den nyeste versjonen av MySQL (for øyeblikket 8.0) ved å bruke følgende kommando.

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

Etter vellykket installasjon av MySQL, er det på tide å starte MySQL-serveren med følgende kommando.

# service mysqld start

Sjekk ut artikkelen vår om hvordan du sikrer MySQL 8-databaseinstallasjon.

MariaDB er en gaffel av det velkjente MySQL, et av verdens mest populære Relational Database Management System (RDBMS). Den er fullstendig utviklet av fellesskapet og som sådan er den ment å forbli FOSS og kompatibel med GPL.

Hvis du er eller har vært en MySQL-bruker, vil migrering til MariaDB være en veldig enkel prosess: de populære kommandoene for å koble til, sikkerhetskopiere og gjenopprette og administrere databaser er identiske i begge RDBMS-ene.

I den siste RHEL/CentOS 7-distribusjonen er MariaDB en drop-in-erstatning for MySQL og i RHEL/CentOS 6 forblir MySQL den samme og du har ikke lov til å installere MariaDB på RHEL/CentOS 6 fra standarddepot, men du kan installere MariaDB ved å bruke offisielle MariaDB-depot.

For å aktivere MariaDB-depotet på RHEL/CentOS 7-distribusjoner, lag en fil med navnet /etc/yum.repos.d/mariadb.repo med følgende innhold:

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

Merk: Som jeg sa ovenfor, kan du også installere MariaDB på RHEL/CentOS 6 ved å bruke det offisielle MariaDB-depotet som nevnt ovenfor.

Etter å ha aktivert MariaDB-depotet, gjør du:

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

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

Trinn 5: Aktiver/start Apache og MySQL/MariaDB

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

------ Start Apache and MariaDB ------
# systemctl start httpd
# systemctl start mariadb
------ 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

Trinn 6: Verifisering av PHP-installasjon

La oss holde oss til den klassiske måten å teste PHP på. Lag en fil kalt test.php under /var/www/html og legg til følgende kodelinjer.

phpinfo()-funksjonen viser mye informasjon om gjeldende PHP-installasjon:

<?php
	phpinfo();
?>

Pek nå nettleseren din til http://[server]/test.php og sjekk tilstedeværelsen av de installerte modulene og tilleggsprogramvaren ved å rulle nedover siden (erstatt [server] med domenet ditt eller IP-adressen til serveren din). Utgangen din skal være lik:

Gratulerer! Du har nå en siste fungerende installasjon av en LAMPE-stabel. Hvis noe ikke gikk som forventet, ta gjerne kontakt med oss ved å bruke skjemaet nedenfor. Spørsmål og forslag er også velkomne.

Merk: du kan også installere MariaDB i andre distribusjoner ved å lage et tilpasset depot ved å følge instruksjonene som er gitt her.