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