Apache herinstalleren

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

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:

  1. Installatie Apache
  2. Configuratie Apache
  3. 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: </code>katwijk</code> 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