Deze tutorial laat zien hoe een Apache-webserver op CentOS 7-server met PHP (mod_php) en MySQL-database te installeren. Het acroniem LAMP is een afkorting voor Linux, APache, MySQL, PHP.
Deze bijgewerkte tutorial toont de installatie van de nieuwste PHP-versies (7.0, 7.1 en 7.2) op CentOS 7.4.
1 Voorlopige opmerking
In deze zelfstudie gebruik ik de hostnaam server1.voorbeeld.com met het IP p 192.168.1.100. Deze instellingen kunnen voor u verschillen, dus u moet ze waar nodig vervangen.
Ik zal hier de EPEL-repo toevoegen om als laatste de nieuwste phpMyAdmin te installeren:
rpm -invoer / etc / pki / rpm-gpg / RPM-GPG-KEY *
yum - installeer epel-release
Om bestanden op de shell te bewerken, installeer ik de nano-editor. Als u de voorkeur geeft aan vi voor het bewerken van bestanden, sla deze stap dan over.
yum - installeer nano
2 MySQL / MariaDB installeren
MariaDB is een MySQL-vork van de originele MySQL-ontwikkelaar Monty Widenius. MariaDB is compatibel met MySQL en ik heb ervoor gekozen om hier MariaDB te gebruiken in plaats van MySQL. Voer deze opdracht uit om MariaDB met yum te installeren:
yum -y installeer mariadb-server mariadb
Vervolgens maken we de systeemstartkoppelingen voor MySQL (zodat MySQL automatisch start wanneer het systeem opstart) en start de MySQL-server:
systemctl start mariadb.service
systemctl enable mariadb.service
Stel wachtwoorden in voor het MySQL root-account:
mysql_secure_installation
[[email protected] ~] # mysql_secure_installation
OPMERKING: ALLE ONDERDELEN VAN DEZE SCRIPT GEBRUIKEN WORDEN AANBEVOLEN VOOR ALLE MariaDB
SERVERS IN PRODUCTIEGEBRUIK! LEES ELK STAP AANDACHTIG DOOR!
Om in te loggen bij MariaDB om het te beveiligen, hebben we de huidige versie nodig
wachtwoord voor de root-gebruiker. Als u zojuist MariaDB hebt geïnstalleerd, en
je hebt nog geen root-wachtwoord ingesteld, het wachtwoord is leeg
dus je moet gewoon op enter drukken.
Voer huidig wachtwoord voor root in (voer voor geen enkel in): <–ENTER
OK, succesvol gebruikt wachtwoord, verder gaan ...
Het instellen van het root-wachtwoord zorgt ervoor dat niemand kan inloggen op de MariaDB
rootgebruiker zonder de juiste autorisatie.
Stel root-wachtwoord in? [Y / n]
Nieuw paswoord: <–Uwmariadbwachtwoord
Voer nieuw wachtwoord opnieuw in: <–Uwmariadbwachtwoord
Wachtwoord succesvol bijgewerkt!
Herlaad voorrecht tabellen ..
... Succes!
Standaard heeft een MariaDB-installatie een anonieme gebruiker die iedereen toestaat
om in te loggen op MariaDB zonder dat er een gebruikersaccount voor is aangemaakt
hen. Dit is alleen bedoeld voor testen en om de installatie uit te voeren
ga een beetje gladder. Je moet ze verwijderen voordat je naar een
productieomgeving.
Anonieme gebruikers verwijderen? [Y / n] <–ENTER
... Succes!
Normaal gesproken moet root alleen toestemming krijgen om verbinding te maken vanuit 'localhost'. Deze
zorgt ervoor dat iemand niet kan raden naar het root-wachtwoord van het netwerk.
Geen root login op afstand toestaan? [Y / n] <–ENTER
... Succes!
MariaDB wordt standaard geleverd met een database met de naam 'test' die iedereen kan gebruiken
toegang. Dit is ook alleen bedoeld voor testen en moet worden verwijderd
voordat u naar een productieomgeving gaat.
Testdatabase verwijderen en er toegang toe hebben? [Y / n] <–ENTER
- Testdatabase laten vallen ...
... Succes!
- Verwijdering van rechten op testdatabase ...
... Succes!
Het opnieuw laden van de privilege-tabellen zorgt ervoor dat alle wijzigingen die tot nu toe zijn doorgevoerd
wordt onmiddellijk van kracht.
Reload-tabellen opnieuw laden nu? [Y / n] <–ENTER
... Succes!
Schoonmaken…
Helemaal klaar! Als je alle bovenstaande stappen hebt voltooid, kun je je MariaDB gebruiken
installatie moet nu veilig zijn.
Bedankt voor het gebruiken van MariaDB!
[[email protected] ~] #
3 Installatie van Apache
CentOS 7 wordt geleverd met Apache 2.4. Apache is rechtstreeks beschikbaar als een CentOS 7-pakket, daarom kunnen we het als volgt installeren:
yum -y installeer httpd
Hier een screenshot van het installatieproces.
Configureer nu uw systeem om Apache te starten tijdens het opstarten ...
systemctl start httpd.service
systemctl enable httpd.service
Om van buitenaf toegang te krijgen tot de webserver, moeten we de HTTP-poorten (80) en HTTPS (443) in de firewall openen. De standaard firewall op CentOS is firewalld die kan worden geconfigureerd met de opdracht firewalld-cmd.
firewall-cmd -permanent -zone = public -add-service = http
firewall-cmd -permanent -zone = public -add-service = https
firewall-cmd -rlaad
Leid nu je browser naar het IP-adres van je server, in mijn geval http: // 192.168.1.100, en je zou de Apache placeholder-pagina moeten zien:
4 Installeren van PHP
De PHP-versie die standaard wordt geleverd met CentOS is vrij oud (PHP 5.4). Daarom zal ik u in dit hoofdstuk enkele opties laten zien om nieuwere PHP-versies zoals PHP 7.0 of 7.1 vanuit de Remi-repository te installeren.
Voeg de Remi CentOS-repository toe.
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Yum-utils installeren omdat we het hulpprogramma yum-config-manager nodig hebben.
yum -y installeer yum-utils
en voer yum update uit
yum update
Nu moet je kiezen welke PHP-versie je wilt gebruiken op de server. Als je PHP 5.4 wilt gebruiken, ga dan verder met hoofdstuk 4.1. Om PHP 7.0 te installeren, volg de commando's in hoofdstuk 4.2, gebruik voor PHP 7.1 hoofdstuk 4.3 en gebruik voor PHP 7.1 in plaats daarvan hoofdstuk 4.4. Volg slechts één van de 4.x-hoofdstukken en niet alle hoofdstukken, want je kunt maar één PHP-versie tegelijk gebruiken met Apache mod_php.
4.1 Installeer PHP 5.4
Om PHP 5.4 te installeren, voer je deze opdracht uit:
yum - installeer php
4.2 Installeer PHP 7.0
We kunnen PHP 7.0 en de Apache PHP 7.0-module als volgt installeren:
yum-config-manager - remi-php70 inschakelen
yum -y installeer php php-opcache
4.3 Installeer PHP 7.1
Als je in plaats daarvan PHP 7.1 wilt gebruiken, gebruik dan:
yum-config-manager - remi-php71 inschakelen
yum -y installeer php php-opcache
4.4 Installeer PHP 7.2
Als je in plaats daarvan PHP 7.2 wilt gebruiken, gebruik dan:
yum-config-manager - remi-php72 inschakelen
yum -y installeer php php-opcache
In dit voorbeeld en in de downloadbare virtuele machine, zal ik PHP 7.2 gebruiken.
We moeten Apache opnieuw starten om de wijzigingen toe te passen:
systemctl herstart httpd.service
5 PHP testen / details krijgen over uw PHP-installatie
De documentroot van de standaardwebsite is / var / www / html. We zullen een klein PHP-bestand (info.php) in die map maken en dit in een browser oproepen om de PHP-installatie te testen. Het bestand toont veel nuttige details over onze PHP-installatie, zoals de geïnstalleerde PHP-versie.
nano /var/www/html/info.php
<?php phpinfo();
Nu noemen we dat bestand in een browser (bijv. Http: //192.168.1.100/info.php):
Zoals u ziet, werkt PHP 7.2 en werkt het via de Apache 2.0 Handler, zoals weergegeven in de Server API-regel. Als u verder naar beneden scrolt, ziet u alle modules die al zijn ingeschakeld in PHP. MySQL wordt hier niet vermeld, wat betekent dat we nog geen MySQL-ondersteuning in PHP hebben.
6 Ondersteuning van MySQL verkrijgen in PHP
Om MySQL-ondersteuning in PHP te krijgen, kunnen we het php-mysqlnd-pakket installeren. Het is een goed idee om enkele andere PHP-modules te installeren en deze mogelijk ook nodig te hebben voor uw toepassingen. U kunt als volgt zoeken naar beschikbare PHP5-modules:
yum zoek php
Kies degene die je nodig hebt en installeer ze als volgt:
yum -y installeer php-mysqlnd php-pdo
In de volgende stap zal ik enkele veelgebruikte PHP-modules installeren die vereist zijn voor CMS-systemen zoals Wordpress, Joomla en Drupal:
yum -y installeer php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel
Start Apache-webserver nu opnieuw:
systemctl herstart httpd.service
Laad nu http: //192.168.1.100/info.php opnieuw in uw browser en blader opnieuw naar de modulessectie. Je zou nu veel nieuwe modules zoals krullen enz. Daar moeten vinden:
Als u de php-info-uitvoer niet meer nodig hebt, verwijdert u dat bestand om veiligheidsredenen.
rm /var/www/html/info.php
7 phpMyAdmin-installatie
phpMyAdmin is een webinterface waarmee u uw MySQL-databases kunt beheren.
phpMyAdmin kan nu als volgt worden geïnstalleerd:
yum -y installeer phpMyAdmin
Nu configureren we phpMyAdmin. We veranderen de Apache-configuratie zodat phpMyAdmin verbindingen toestaat niet alleen van localhost (door commentaar te geven op de strofe en het toevoegen van de regel 'Alles vereist'):
nano /etc/httpd/conf.d/phpMyAdmin.conf
[...] Alias / phpMyAdmin / usr / share / phpMyAdmin Alias / phpmyadmin / usr / share / phpMyAdmin AddDefaultCharset UTF-8 # Apache 2.4 # # Vereist ip 127.0.0.1 # Vereist ip :: 1 # Vereisen dat alles wordt verleend # Apache 2.2 Order weigeren, toestaan weigeren van alles toestaan van 127.0.0.1 toestaan van :: 1 Opties geen AllowOverride Limit Alles vereist [...]
Vervolgens veranderen we de authenticatie in phpMyAdmin van cookie naar http:
nano /etc/phpMyAdmin/config.inc.php
[...] $ cfg ['Servers'] [$ i] ['auth_type'] = 'http'; // Verificatiemethode (op basis van configuratie, http of cookie)? [...]
Start Apache opnieuw:
systemctl herstart httpd.service
Daarna hebt u toegang tot phpMyAdmin onder http: // 192.168.1.100 / phpmyadmin /:
8 downloaden als virtuele machine
Deze opstelling is beschikbaar als download van virtuele machines in ova / ovf-formaat (compatibel met VMWare en Virtualbox) voor hoe abonnees te bereiken.
Inloggegevens voor de VM
- Het Linux root-wachtwoord is: howtoforge.
- Rhe MySQL root-wachtwoord is: howtoforge
Wijzig beide wachtwoorden bij de eerste aanmelding.
- Het IP-adres van de VM is 192.168.1.100
9 Links
Apache: http://httpd.apache.org/
PHP: http://www.php.net/
MySQL: http://www.mysql.com/
CentOS: http://www.centos.org/
phpMyAdmin: http://www.phpmyadmin.net/