Webserver installeren (oud)
Uit DeVliegendeWiki
We willen een webserver met Ubuntu Server als uitgangspunt voor intern ontwikkelwerk. Vereisten:
- LAMP-server om Drupal-sites te kunnen hosten;
- Meerdere testsites in aparte mappen kunnen hosten;
- Kunnen e-mailen vanuit PHP, omdat dat een belangrijk onderdeel is van Drupal-sites;
- Apache's CleanURL's kunnen gebruiken;
- E-mail ontvangen is volgens mij niet belangrijk: Tot op heden hoste ik ontwikkelomgevingen op http://www.devliegendebrigade.nl, en dan maakte ik ook nooit e-mail-adressen aan.
Leeg scherm & bestandspermissies
Nadat ik de Drupal-bestanden had geplaatst en in een browser naar de betreffende map ging, kreeg ik een leeg scherm. Oorzaak: Het account waarin de webserver draait, heeft geen toegang tot de bestanden. Ongetwijfeld is er een goede definitieve manier om dit te fixen, maar voor de time being heb ik als root ingelogd en aangegeven dat derden alles binnen de map www mogen lezen en schrijven:
chmod go=rwx /var -R
Bronnen, oa. voor mogelijk betere oplossingen:
- http://ubuntuforums.org/showthread.php?t=1380280
- Mocht deze oplossing niet helpen, dan kan het helpen om in PHP weergave van foutmeldingen aan te zetten. Zie PHP voor details.
Procedure
- Installeer Ubuntu Server, desgewenst zonder GUI
- Activeer root-account
- Installeer Open-SSH
- Installeer de LAMP-stack (let op de accent circonflexe), Sendmail en vsftp (of een andere FTP-deamon):
apt-get install lamp-server^ sendmail vsftpd
- Installeer eventueel de volgende additionele PHP-libraries, oa. nodig voor Übercart-sites:
- GD-library:
apt-get install php5-gd
- PHP5-Dev-module: Schijnt allerlei handige extra's te bevatten:
apt-get install php5-dev
- PHP-Pear (ik weet niet meer waarom):
apt-get install php-pear
- PHP Uploadprogress (na installatie Pear):
pecl install uploadprogress
- Voeg toe aan etc/php5/apache2/php.ini:
extension=uploadprogress.so
- Herstart eventueel Apache/php:
/etc/init.d/apache2 restart
- GD-library:
- Installeer eventueel Mailutils voor testdoeleinden:
apt-get install mailutils
- LET OP: Downgrade PHP 5.3 > 5.2, indien 5.3 geinstalleerd is! Zie dit artikel voor details;
- Herstart de computer, en test de webserver middels phpinfo(). De document root is standaard /var/www
- Pas /etc/php5/apache2/php.ini aan:
- Zet error reporting aan (aanbevolen);
- Vergroot de memory-limit naar 64 MB. Zoek op memory_limit. Met de standaard 16MB kunnen backups mogelijk niet verwerkt worden;
- Als je die Drupal-installatie probeert uit te voeren, krijg je waarschijnlijk een permissie-probleem. Zie paragraaf Leeg scherm? hieronder om dit probleem op te lossen;
- Maak een MySQL-database aan;
- Start de Drupal-installatie;
- Werk etc/hosts bij, zodat je e-mailt vanuit een fqdn (fully qualified domain name). Zie ook artikel E-mail: Your envelope sender domain must exist;
- Op de home page van de Drupal-installatie, log uit en klik op Request new password om te testen of de server e-mail kan versturen.
- Zie artikel Apache omtrent configuratie CleanURLs
