LAMP installatie (CentOS)

Page 1

LAMP installatie - CentOS Frederik Vos

Inhoudsopgave 1 Inleiding

1

2 Benodigdheden

1

3 Network configuratie

2

4 Dnsmasq

3

5 MySQL Database server

3

6 Apache Web server + PHP

4

7 PHPMyAdmin

4

8 Auteur

5

1. Inleiding De term LAMP1 (Linux + Apache + Mysql + PHP) is inmiddels erg ingeburgerd geraakt, en als gevolg daarvan zijn er veel handleidingen op internet te vinden voor de diverse distributies. Mijn persoonlijke ervaringen is dat veel van deze handleidingen fragmentarisch zijn: beschreven wordt bijvoorbeeld wel hoe de software te installeren, maar de tip hoe de firewall te configureren ontbreekt vervolgens. Een extra doel van dit document is de configuratie extra geschikt te maken voor testen.

2. Benodigdheden Als basis gebruiken we de installatie zoals beschreven is in het document: “CentOS als VMware JeOS Appliance�2 . 1 http://nl.wikipedia.org/wiki/LAMP 2 http://issuu.com/inktvis75/docs/jeos-centos


3

NETWORK CONFIGURATIE

We maken ook gebruik van third-party repository EPEL3 . Deze laat zich eenvoudig aan het systeem toevoegen. Download de epel-release rpm vanaf de EPEL website en installeer deze: cd /tmp wget ftp://mir01.syntis.net/epel/6/x86_64/epel*.rpm rpm -ivh rpm -ivh epel-release*.rpm Opmerking: wget ondersteund bij het ftp protocol filename-globbing, daarom hoef je niet de volledige bestandsnaam op te geven en heb je daardoor ook altijd de meest recente versie.

3. Network configuratie Servers via DHCP een ip adres laten krijgen is, uitzonderingen daar gelaten geen goed idee. Configureer een static ip adres, door het bewerken van het bestand: /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=ethernet BOOTPROTO=static ONBOOT=yes NM_CONTROLLED=no IPADDR=192.168.0.70 NETMASK=255.255.0.0 GATEWAY=192.168.0.254 DNS1=127.0.0.1

Opmerking: uiteraard moeten de ip adressen in bovenstaand voorbeeld worden aangepast. Maak deze instellingen actief: ifdown eth0 && ifup eth0 Pas de hostname aan in het bestand: /etc/sysconfig/network HOSTNAME=centos-lamp.localdomain

Opmerking: Uiteraard hier ook de hostname aanpassen naar eigen wens, maar laat localdomain staan. Pas vervolgens ook het bestand aan: /etc/hosts 127.0.0.1 127.0.0.2

localhost localhost.localdomain centos-lamp.localdomain centos-lamp

Opmerking: Wanneer je bijvoorbeeld een website wil aanbieden met als hostname www.example.com dan voeg je later een entry toe aan het hosts bestand, waarbij je het ip adres gebruikt waarop je de website wilt gaan benaderen. Uiteraard moet je dit ip adres dan wel op een netwerk-interface 3 http://fedoraproject.org/wiki/EPEL

2


5

MYSQL DATABASE SERVER

configureren, maak dan een bestand aan: ifcfg-eth0.0 aan in de directory /etc/sysconfig/network-scripts, vergeet daarbij niet ook de DEVICE parameter aan te passen. Uiteraard: het volgende ip adres krijgt eth0.1 etc. Als laatste stap de firewall configureren: lokkit lokkit lokkit lokkit

--default=server --service=http --service=dns --update

Na deze configuratie wijzigingen is het verstandig CentOS te rebooten. Controleer na de reboot of het bestand /etc/resolv.conf er als volgt uit ziet: nameserver 127.0.0.1

Wanneer dit niet het geval is, pas dit dan alsnog handmatig aan.

4. Dnsmasq Het is een goed idee om Dnsmasq te gebruiken, deze lichte dns-server implementatie stelt je in staat om virtual hosting goed te kunnen testen. Het enige wat je dan namelijk moet doen is de nameserver van de client te veranderen in het ip adres van deze LAMP machine. Installatie van de software: yum install dnsmasq Vervolgens eerst een backup maken van de meegeleverde configuratie: mv /etc/dnsmasq.conf /etc/dnsmasq.org Maak een nieuw bestand /etc/dnsmasq.conf aan met de volgende inhoud: resolv-file=/etc/resolv.dnsmasq domain=localdomain selfmx

Maak een nieuw bestand aan /etc/resolv.dnsmasq met de volgende inhoud: nameserver 8.8.8.8

Opmerking: uiteraard mag je ook andere DNS servers gebruiken! Start Dnsmasq en zorg ervoor dat deze gestart wordt tijdens het boot-proces: service dnsmasq start chkconfig dnsmasq on

5. MySQL Database server We installeren van de database server MySQL zowel de server als de client software. Weliswaar is de client software niet strict noodzakelijk, maar het maakt beheer, testen en troubleshooten wel gemakkelijker. 3


7

PHPMYADMIN

yum groupinstall "MySQL Database client" yum groupinstall "MySQL Database server" Start Mysql en zorg ervoor dat deze gestart wordt tijdens het boot-proces: service mysqld start chkconfig mysqld on Standaard wordt MySQL nogal onveilig afgeleverd, gelukkig is er een script die dit probleem oplost: mysql_secure_installation Gebruik daarbij de volgende instellingen: • Set root password? [Y/n] y • Remove anonymous users? [Y/n] y • Disallow root login remotely? [Y/n] y • Remove test database and access to it? [Y/n] y • Reload privilege tables now? [Y/n] y 6. Apache Web server + PHP Installatie van de webserver software gaat net zoals bij MySQl eenvoudig door het gebruik van de groupinstall functie van YUM: yum groupinstall "Web Server" yum groupinstall "PHP Support" Start Apache, en ook deze moet gestart worden tijdens het boot-proces: chkconfig httpd on service httpd start Om te controleren of PHP werkt maken we een bestand aan phpinfo.php aan in de directory /var/www/html. <?php phpinfo(); ?>

Controleer nu bijvoorbeeld met de text-browser Elinks of alles naar behoren functioneert: elinks http://127.0.0.1/phpinfo.php 7. PHPMyAdmin Om de databases eenvoudig te beheren installeren we ook het handige en zeer populaire PHPMyAdmin4 . 4 http://http://www.phpmyadmin.net

4


8

AUTEUR

yum install phpMyAdmin Open vervolgens het bestand /etc/httpd/conf.d/phpMyAdmin.conf en verwijder regel 11 ( <Directory /usr/share/phpMyAdmin/> ) t/m regel 26 ( </Directory> ). Dit zorgt ervoor dat we PHPMyAdmin remote kunnen gebruiken. Maar dan moet de authenticatie wel veiliger: in plaats van cookie-based http-based authenticatie. Kopieer het voorbeeld configuratie bestand naar het “werkzame” configuratie bestand: cp /usr/share/phpMyAdmin/config.sample.inc.php \ /usr/share/phpMyAdmin/config.inc.php en pas regel 29 aan: $cfg[’Servers’][$i][’auth_type’] = ’cookie’; moet worden: $cfg[’Servers’][$i][’auth_type’] = ’http’; Herstart hierna de webserver: service httpd restart en PHPMyAdmin is benaderbaar op http://ip_adres/phpMyAdmin

8. Auteur Dit document is geschreven door Frederik Vos, werkzaam als Senior Technical Trainer bij XTG.

5


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.