CentOS 7 - LAMP Server (Apache, MariaDB, PHP) installatie

Hierbij uitleg hoe men een Webserver kan installaren op een CentOS 7 machine.

LAMP is een combinatie van een operating system en open-source software. Het is een afkorting van de beginletters van de volgende woorden: (L)inux, (A)pache HTTP Server, (M)ySQL/MariaDB database, en (P)HP.

We beginnen met het installeren van de EPEL Repository.

yum install epel-releaseyum update

Eerst voeren we het onderstaand commando uit om ifconfig te kunnen gebruiken.

Met ifconfig kan men het ip adres achterhalen van de server.

yum install net-tools 

Om apache te installeren moet onderstaande commando worden uitgevoerd.

yum install httpd

Start de Apache service en start deze automatisch na elke reboot.

systemctl start httpdsystemctl enable httpd

Geef toegang in de firewall voor apache (web service).

firewall-cmd --permanent --add-service=httpsystemctl restart firewalld

404 errors:

Aanzetten van de mod_rewrite Module

The mod_rewrite module staat standaard aan in CentOS 7. 

Mocht dit niet het geval zijn kan deze aangezet worden door "00-base.conf" aan te passen, deze staat in de volgende map "/etc/httpd/conf.modules.d/".

Voeg onderstaande regel toe of commentarieer deze uit:

LoadModule rewrite_module modules/mod_rewrite.so 

Aanpassen .htaccess File:

vi /etc/httpd/conf/httpd.conf 

Vindt de volgende regel:

 

Vervang "AllowOverride none" door:

AllowOverride All

maak een "404" pagina aan:

vi /var/www/html/404.html 

maak een ".htaccess" bestand aan:

vi /var/www/.htaccess 

Voeg onderstaande code toe aan het .htaccess bestand:

RewriteEngine OnErrorDocument 404 /404.html 

Herstart de webserver:

sudo systemctl restart httpd 

Mocht een pagina niet bestaan wordt deze verwezen naar 404.html.

Via ifconfig kun je nu het ip adres opvragen van de server.

Test nu of de pagina te bereiken is vanaf een computer in het netwerk.

Open een web browser en navigeer naar: http://ipadres

Installeer nu MariaDB (MySQL).

yum install mariadb-server mariadb

Start de MariaDB service en start deze automatisch na elke reboot.

systemctl start mariadb systemctl enable mariadb

Standaard is het MySQL wachtwoord voor de root gebruiker leeg.

Om hackers tegen te gaan zetten we er een wachtwoord op.

mysql_secure_installationSet root password? [Y/n] y //maak een nieuw wachtwoord aanRemove anonymous users? [Y/n] YDisallow root login remotely? [Y/n] YRemove test database and access to it? [Y/n] YReload privilege tables now? [Y/n] Y

Installeer PHP

yum install php php-mysql php-gd php-pear

Test nu op PHP goed werkt, maak een voorbeeld bestand aan "testphp.php" door onderstaande uit te voeren.

vi /var/www/html/testphp.php

Voeg onderstaande code toe en sla het bestand op:


Herstart nu de httpd service:

systemctl restart httpd

Open een web browser en navigeer naar: http://ipadres/testphp.php

U krijgt dan informatie over PHP zoals de versie etcetera.

Installeer phpMyAdmin

yum install phpmyadmin

Standaard is phpMyAdmin alleen te benaderen via de localhost. Om vanaf een andere computer erbij te kunnen voer dan onderstaande stappen uit.

vi /etc/httpd/conf.d/phpMyAdmin.conf

Voer onderstaande uit en sla het bestand op.

## Commentarieer onderstaande regels ##
#
#   
#     # Apache 2.4
#     
#       Require ip 127.0.0.1
#       Require ip ::1
#     
#   
#   
#     # Apache 2.2
#     Order Deny,Allow
#     Deny from All
#     Allow from 127.0.0.1
#     Allow from ::1
#   
#

## Voeg onderstaande regels toe ##

        Options none
        AllowOverride Limit
        Require all granted

Pas config.inc.php aan en verander cookie naar http voor de authentication.

vi /etc/phpMyAdmin/config.inc.php  

Verander cookie naar http.

$cfg['Servers'][$i]['auth_type']     = 'http';    // Authentication method (config, http or cookie based)? 

Herstart nu de httpd service:

systemctl restart httpd 

Nu kunt u de phpmyadmin console benaderen door te gaan naar de pagina http://serverip/phpmyadmin/ in uw browser.

Vul dan uw gebruikersnaam en wachtwoord in die u met het aanmaken van MariaDB heeft gewijzigd.