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


Denne vejledningsvejledning forklarer, hvordan du installerer den nyeste version af Apache, MySQL 8 eller MariaDB 10 og PHP 7 sammen med de krævede PHP-moduler på RHEL/CentOS 7/6 og Fedora 24-29.

Denne kombination af operativsystemet (Linux) med webserveren (Apache), databaseserver (MariaDB/MySQL) og script-sprog på serversiden (PHP) er kendt som LAMP-stakken.

Siden september 2015 understøttes PHP 5.4 ikke længere af PHP-teamet, og det er nået til slutningen af livet, men PHP 5.4 leveres stadig med RHEL/CentOS 7/6 med mindre versionændring, og Red Hat understøtter det, så opgradering til en højere version ikke påkrævet. Det anbefales dog stærkt at opgradere din PHP 5.4 til PHP 5.5+ for større sikkerhed og ydeevne.

Her er hvad din nuværende Linux-distribution leveres med:

For at gøre dette vil vi aktivere EPEL og Remi-arkivet og bruge yum og dnf (det nye pakkehåndteringsværktøj, der er tilgængeligt i Fedora).

Trin 1: Installation af EPEL og Remi Repository

EPEL (Extra Packages for Enterprise Linux) er et community-baseret lager, der tilbyder add-on softwarepakker til RHEL-baserede Linux-distributioner.

Remi er et lager, hvor du kan finde de nyeste versioner af PHP-stakken (fuldt udstyret) til installation i Fedora- og Enterprise Linux-distributioner.

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

Trin 2: Installation af Apache-webserver

Apache er en gratis og open source HTTP-webserver, der kører på de fleste UNIX-baserede operativsystemer såvel som på Windows. Som sådan kan den bruges til at betjene statiske websider og håndtere dynamisk indhold. Nylige rapporter viser, at Apache er den førende server, der bruges på websteder og computere, der vender mod internettet.

For at installere Apache-webserver skal du først opdatere systemsoftwarepakkerne og installere den ved hjælp af følgende kommandoer.

# yum -y update
# yum install httpd

Når Apache-webserveren er installeret, kan du begynde at aktivere den til automatisk start ved systemstart.

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

Hvis du kører firewalld, skal du sørge for at tillade Apache-trafik på firewallen.

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

Trin 3: Installation af PHP ved hjælp af Remi Repository

PHP (Hypertext Preprocessor) er et gratis og open source-scripting-sprog på serversiden, der er bedst egnet til webudvikling. Det kan bruges til at producere dynamiske websider til et websted og findes oftest på * nix-servere. En af fordelene ved PHP er, at den let kan udvides ved hjælp af en lang række moduler.

For at installere PHP skal du først aktivere Remi-arkivet ved at installere yum-utils , en samling nyttige programmer til styring af yum-arkiver og pakker.

# yum install yum-utils

Når du er installeret, kan du bruge yum-config-manager leveret af yum-utils til at aktivere Remi-lageret som standardlager til installation af forskellige PHP-versioner som vist.

For eksempel, for at installere PHP 7.x version, skal du bruge 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]

Dernæst skal vi installere alle disse følgende PHP-moduler i denne artikel. Du kan søge efter flere PHP-relaterede moduler (måske for at integrere en bestemt funktionalitet, som dine webapplikationer har brug for) med følgende kommando:

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

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

Uanset distributionen returnerer ovenstående kommandoer listen over pakker i de aktuelt aktiverede arkiver, der inkluderer ordet php i pakkenavnet og/eller beskrivelsen.

Her er de pakker, vi installerer. Husk, at MySQL-stik (PHP, Perl, Python, Java osv.) Fungerer uændret med MariaDB, da begge systemer bruger den samme klientprotokol og klientbibliotekerne er binære kompatible.

  1. MariaDB/MySQL (php-mysql) - et dynamisk delt objekt, der tilføjer MariaDB-understøttelse til PHP.
  2. PostgreSQL (php-pgsql) - PostgreSQL-databasesupport til PHP.
  3. MongoDB (php-pecl-mongo) - En grænseflade til kommunikation med MongoDB-databasen i PHP.
  4. Generisk (php-pdo) - Et dynamisk delt objekt, der tilføjer et abstraktionslag til databaseadgang til PHP.
  5. Memcache (php-pecl-memcache) - Memcached er en cachedemon designet specielt til dynamiske webapplikationer for at mindske databasebelastningen ved at gemme objekter i hukommelsen.
  6. Memcached (php-pecl-memcached) - En udvidelse, der bruger libmemcached-biblioteket til at give API til kommunikation med memcached-servere.
  7. GD (php-gd) - Et dynamisk delingsobjekt, der tilføjer support til brug af gd-grafikbiblioteket til PHP.
  8. XML (php-xml) - En dynamisk delt objekt, der tilføjer PHP til understøttelse af manipulation af XML-dokumenter.
  9. MBString (php-mbstring) - En udvidelse til håndtering af multi-byte-streng i PHP-applikationer.
  10. MCrypt (php-mcrypt) - Et Mcrypt-bibliotek til PHP-scripts.
  11. APC (php-pecl-apcu) - APC-modul, der bruges til at optimere og cache PHP-kode.
  12. CLI (php-cli) - Kommandolinjegrænseflade til PHP.
  13. PEAR (php-pear) - Application Repository-ramme til 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

Trin 4: Installation af MySQL eller MariaDB Database

I dette afsnit viser vi dig installation af begge databaser MySQL og MariaDB, så det er op til dig, hvad du skal vælge baseret på dine krav.

MySQL er et af verdens mest populære open source relationsdatabasestyringssystem (RDBMS), der kører enhver server ved at give adgang til flere brugere til flere databaser. MySQL kører med Apache.

For at installere den nyeste MySQL 8.0-version installerer og aktiverer vi det officielle MySQL Yum-softwarelager ved hjælp af 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]

Efter installation af MySQL Yum-softwarelageret til din Linux-platform skal du nu installere den nyeste version af MySQL (i øjeblikket 8.0) ved hjælp af følgende kommando.

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

Efter vellykket installation af MySQL er det tid til at starte MySQL-serveren med følgende kommando.

# service mysqld start

Se vores artikel om, hvordan du sikrer MySQL 8-databaseinstallation.

MariaDB er en fork af det velkendte MySQL, et af verdens mest populære Relational Database Management System (RDBMS). Det er helt udviklet af samfundet, og som sådan er det beregnet til at forblive FOSS og kompatibelt med GPL.

Hvis du er eller har været en MySQL-bruger, vil migrering til MariaDB være en meget ligetil proces: de populære kommandoer til at oprette forbindelse til, sikkerhedskopiere og gendanne og administrere databaser er identiske i begge RDBMS'er.

I den seneste RHEL/CentOS 7-distribution er MariaDB en drop-in-erstatning for MySQL, og i RHEL/CentOS 6 forbliver MySQL den samme, og du har ikke tilladelse til at installere MariaDB på RHEL/CentOS 6 fra standardregisteret, men du kan installere MariaDB ved hjælp af officielt MariaDB-arkiv.

For at aktivere MariaDB-lageret på RHEL/CentOS 7-distributioner skal du oprette en fil med navnet /etc/yum.repos.d/mariadb.repo med følgende indhold:

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

Bemærk: Som jeg sagde ovenfor, kan du også installere MariaDB på RHEL/CentOS 6 ved hjælp af det officielle MariaDB-lager som anført ovenfor.

Når du har aktiveret MariaDB-arkivet, skal du gøre følgende:

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

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

Trin 5: Aktivér/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

Trin 6: Bekræftelse af PHP-installation

Lad os holde fast ved den klassiske måde at teste PHP på. Opret en fil, der hedder test.php under/var/www/html, og tilføj følgende linier med kode til den.

Funktionen phpinfo() viser meget information om den aktuelle PHP-installation:

<?php
	phpinfo();
?>

Ret nu din webbrowser til http:/[server] /test.php og kontroller tilstedeværelsen af de installerede moduler og yderligere software ved at rulle ned på siden (udskift [server] med dit domæne eller IP-adressen på din server). Din output skal svare til:

Tillykke! Du har nu en nyeste installationsinstallation af en LAMP-stak. Hvis noget ikke gik som forventet, er du velkommen til at kontakte os ved hjælp af nedenstående formular. Spørgsmål og forslag er også velkomne.

Bemærk: Du kan også installere MariaDB i andre distributioner ved at oprette et brugerdefineret lager ved at følge instruktionerne her.