Apache herinstalleren
Na een iets te wilde upgrade van PHP, kan Apache er geen chocola meer van maken. Maar ik wel:
Opschonen
- Backup gemaakt van /etc/apache2
- Alles rondom PHP verwijderd:
sudo apt-get purge php5.*
- Alles rondom Apache verwijderd:
sudo apt-get purge apache.*
- Ik neem aan dat MySQL het nog doet
- Computer herstart.
Plan
Dit is het plan:
- Installatie Apache
- Configuratie Apache
- Installatie PHP
Installatie Apache
sudo apt-get install apache2
Configuratie Apache
Set hostname
Installatie eindigt met de eeuwige foutmelding:
Starting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Vreemd, want /etc/hostname
bevat wel de hostname: katwijk in dit geval. Maar het blijkt om iets anders te gaan: De genoemde global ServerName directive
moet in /etc/apache2/apache2.conf
geplaatst worden. Wat ik onderaan heb toegevoegd:
############################### # Strompf - Okt. 2015 ############################### # # ServerName # ServerName katwijk
Gevolgd door
apachectl configtest
en
sudo service apache2 restart
Ja: De foutmelding is verdwenen! Ik heb dit nog een keer getest door de regel weer weg te halen, te herstarten, en weer toe te voegen en te herstarten.
Optimalisatie voor 2,87 GB geheugen?
Aangezien dit een ontwikkelserver is, zal er nooit meer dan één gebruiker tegelijkertijd pagina's opvragen. Optimalisatie is overkill.
Standaard Apache virtuele host-bestand uitschakelen
Hoeft niet want interne ontwikkelserver.
Bestandsrechten /var/www
In dit geval stonden de bestandsrechten al ok, maar ik kan me voorstellen dat wat er vaak moet gebeuren:
- chown - mappen & bestanden
- Derden schrijf, lees- en executierechten toekennen.
Test-domein aanmaken
mkdir /var/www/testalot mkdir /var/www/testalot/public mkdir /var/www/testalot/log mkdir /var/www/testalot/backup
Plaats in de map public
een bestand index.html
met als inhoud bv.: Hello, world!
Maak bestand /etc/apache2/sites-available/testalot.conf
aan met als inhoud:
<VirtualHost *:80> ServerAdmin info@example.com ServerName testalot ServerAlias www.testalot ServerAlias *.testalot DirectoryIndex index.php index.html DocumentRoot /var/www/testalot/public <Directory /var/www/testalot/public> AllowOverride None Require all granted </Directory> LogLevel warn ErrorLog /var/www/testalot/log/error.log CustomLog /var/www/testalot/log/access.log combined </VirtualHost>
Activeer deze virtuele host:
sudo a2ensite testalot
en voeg 'm toe aan /etc/hosts
.
Met lynx testalot
kan ik 'm gemakkelijk oproepen. Firefox heeft een extra zetje nodig, omdat-ie herkent dat dit geen echte URL is. Maar daarna doet-ie 't gewoon.
Mod Rewrite
De Apache Rewrite-module zorgt voor mooie URL's. Verifiëer of deze is geïnstalleerd:
apachectl -M | grep rewrite_module
Installatie:
sudo a2enmod rewrite
Installatie php
De volgende regel was al uitgevoerd, om toegang te hebben tot een nieuwere versie van php:
sudo apt-add-repository ppa:ondrej/php5-5.6
Installatie:
sudo apt-get install php5 php-pear php5-mysql php5-gd
Wat de verschillende onderdelen betreft:
php-pear
Pear is een PHP-framework ofzo. Oa. voor caching is het nodig, en voor weet-ik-veel-wat.
php5-gd
Drupal geeft een foutmelding als de gd-library ontbreekt.
Test php
Plaats bestand phpinfo.php
in de hoofdmap van testalot met inhoud:
<?php echo phpinfo(); ?>
en open in de browser locatie testalot/phpinfo.php
.
Zie ook
Bronnen
https://www.linode.com/docs/websites/hosting-a-website/ - Installatie Apache