Linux installeren

Zorg eerst voor een server waarop Linux al draait. Dit document gaat uit van CentOS. Het Linux-installatiedeel is al geregeld; hier lees je hoe je de rest installeert.

Log met SSH en rootrechten in op je Linux-server en volg de onderstaande instructies.

Apache installeren

Apache is vrije opensourcesoftware waarmee je webservers draait.

  • Apache installeren — yum install httpd
  • Apache starten — service httpd start systemctl start httpd
  • Apache automatisch laten starten bij het opstarten — chkconfig httpd on systemctl enable httpd

MySQL installeren

MySQL is een databasemanagementsysteem.

  • MySQL installeren — yum install mysql-server
  • MySQL starten — service mysqld start systemctl start mysqld
  • MySQL automatisch laten starten bij het opstarten — chkconfig mysqld on systemctl enable mysqld
  • Een wachtwoord instellen voor de MySQL-rootgebruiker. — mysqladmin -u root password ‘new-password’
  • Of draai de wizard om een MySQL-rootwachtwoord in te stellen. Die leidt je door de stappen. Antwoord overal met Ja. — /usr/bin/mysql_secure_installation

PHP installeren

PHP is een opensource-scripttaal voor het web die veel gebruikt wordt om dynamische webpagina’s te bouwen.

  • PHP installeren — yum install php php-mysql

PHP-modules

PHP heeft daarnaast allerlei handige bibliotheken en modules die je op je server kunt installeren.

  • Toon de beschikbare bibliotheken — yum search php-
  • Meer informatie over een module — yum info naam van de module
  • Een module installeren — yum install naam van de module

Je kunt meerdere bibliotheken tegelijk installeren door de namen met een spatie te scheiden.

Een PHP-infopagina op je Apache-server

LAMP staat nu op je virtuele server, maar we kunnen de onderdelen ook online bekijken door snel een php-infopagina te maken.

  • Maak daarvoor eerst een nieuw bestand — vi /var/www/html/info.php
  • Druk op Insert en typ de volgende code — <?php phpinfo(); ?>
  • Sla op en sluit af met de Escape-toets — !q
  • Herstart apache om de wijzigingen door te voeren — service httpd restart
  • Bezoek tot slot je php-infopagina — http://your_server_ip/info.php

De LAMP-stack in één keer installeren

  • Voer het volgende commando uit — yum groupinstall “Web Server” “PHP Support” “MySQL Database server” “MySQL Database client”
  • Voeg PHP-MySQL-ondersteuning toe — yum install php-mysql

Iptables (firewall) instellen

Controleer dat de firewall toegang tot poort 80 niet blokkeert

  • Bewerk het iptables-configuratiebestand — vi /etc/sysconfig/iptables
  • Sta http-verkeer toe — Voeg onder de regel :OUTPUT ACCEPT [0:0] toe: -A INPUT -m state –state NEW -p tcp –dport 80 -j ACCEPT
  • Herstart de firewall — service iptables restart

phpMyAdmin installeren (optioneel)

phpMyAdmin is een krachtig hulpmiddel om MySQL-databases te beheren.

  • Ga naar je documentroot — cd /var/www/html
  • Download phpMyAdmin — wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.0.1/phpMyAdmin-4.0.1-english.zip?r=http%3A%2F%2Fwww.phpmyadmin.net%2Fhome_page%2Fdownloads.php&ts=1369351562&use_mirror=heanet
  • Pak phpMyAdmin uit — unzip phpMyAdmin-3.5.6-english.zip
  • Hernoem de map — mv phpMyAdmin-3.5.6-english phpmyadmin
  • Verwijder het zip-bestand — rm -f phpMyAdmin-3.5.6-english.zip
  • Nu kun je naar deze locatie surfen: — http:///phpmyadmin
  • Voeg blowfish_secret toe voor de veiligheid — cd phpmyadmincp config.sample.inc.php config.inc.php vim config.inc.php Voeg een geheime sleutel toe aan $cfg[‘blowfish_secret’], zodat het er zo uitziet: $cfg[‘blowfish_secret’] = ‘your-secret-key’;

Virtual hosts aan Apache toevoegen

Met virtual hosts kun je meerdere websites vanaf één Apache-installatie aanbieden.

Je kunt de virtual hosts onderaan het Apache-configuratiebestand (/etc/httpd/conf/httpd.conf) toevoegen.

Hier is een voorbeeldconfiguratie met twee webhosts:

# Ensure that Apache listens on port 80 and name-based virtual hosting is enabled.
Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.domain1.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.domain2.org
# Other directives here
</VirtualHost>

Rechten instellen voor PHP-sites

Beveilig je site door de juiste rechten op je DocumentRoot te zetten:

  • Maak de Apache-gebruiker eigenaar van je DocumentRoot — chown -R apache:apache /var/www/html/yoursite
  • Pas de rechten aan — chmod -R 400 /var/www/html/yoursite chmod -R a+X /var/www/html/yoursite

Soms heeft je PHP-site schrijfrechten op bepaalde mappen nodig. WordPress-sites hebben bijvoorbeeld schrijfrechten op de map /wp-content nodig om plugins, thema’s of updates te kunnen installeren.

  • Geef WordPress schrijfrechten — chmod -R 775 /var/www/html/yoursite/wp-content

PHP configureren (optioneel)

PHP is standaard al ingesteld, maar je kunt een aantal instellingen aanpassen.

  • Bewerk het PHP-configuratiebestand — vi /etc/php.ini
  • Verhoog de maximale uploadgrootte — upload_max_filesize = 128M
  • Beperking post_max_size — post_max_size = 128M
  • Verhoog de geheugenlimiet — memory_limit = 256M
  • Verhoog de maximale uitvoer- en invoertijd — max_execution_time = 300
  • maximale wachttijd op POST- en GET-data — max_input_time = 300
  • Herstart httpd om de wijzigingen te activeren — service httpd restart