intrepid²: webserver
Installatie
Apache, PHP, MySQL en phpMyAdmin tesamen in één keer installeren met:
sudo aptitude install apache2 php5 imagemagick php5-imagick \ mysql-server phpmyadmin php5-curl php5-dev php-pear make
Debian trekt zelf alle noodzakelijke afhankelijkheden binnen.
Kleine bugjes fixen
Apache gaf wel enkele waarschuwingen tijdens de installatie:
-
Oplossing:
Starting web server: apache2apache2: apr_sockaddr_info_get() failed for intrepid apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
- Toegevoegd aan
/etc/hosts:188.40.34.110 intrepid intrepid.amedee.be amedee.be
- Toegevoegd aan
/etc/apache2/httpd.conf:ServerName amedee.be
- Toegevoegd aan
-
Oplossing:
Setting up ssl-cert (1.0.23) ... hostname: Unknown host make-ssl-cert: Could not get FQDN, using "intrepid". make-ssl-cert: You may want to fix your /etc/hosts and/or DNS setup and run make-ssl-cert: make-ssl-cert generate-default-snakeoil --force-overwrite make-ssl-cert: again.
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
Mod-rewrite aanzetten
Onder andere Drupal heeft mod-rewrite nodig, voor clean URLs. Dus:
sudo a2enmod rewriteIn /etc/apache2/sites-enabled/000-default is er ook nog een aanpassing nodig:
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews #AllowOverride None AllowOverride All Order allow,deny allow from all </Directory>
Dus AllowOverride None moet vervangen worden door AllowOverride All, anders werken de .htaccess-bestanden niet.
phpMyAdmin beveiligen
Ik vind het niet zo leuk dat om het even wie met phpMyAdmin kan klooien (ook al staat er een sterk wachtwoord op alle mysql-users. Daarom beveilig ik phpMyAdmin met mod_access door volgende aanpassing van /etc/apache2/httpd.conf:
<Directory /usr/share/phpmyadmin> Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from 10 Allow from <mijn-ip-adres> </Directory>
Van zodra de OpenVPN in orde is, gaat ook de regel Allow from <mijn-ip-adres> er uit, omdat de webserver dan te bereiken zal zijn via een 10.x.x.x adres.
Apache herstarten
Om al deze configuratiewijzigingen toe te passen, moet Apache herstart worden:
sudo /etc/init.d/apache2 restart
Websites overzetten
De websites draaien allemaal op één Drupal-installatie in /var/www maar wel met elk een eigen database.
Eerst de bestanden overzetten:
sudo rsync -aczhP -e ssh root@oldserver.amedee.be:/var/www /var/
Daarna de databases overzetten. Eerst een backup maken op de oude server:
mysqldump -u root -p --all-databases | bzip2 -c > databasebackup.sql.bz2
Vervolgens de backup kopiëren naar de nieuwe server en importeren in mysql:
scp oldserver.amedee.be:"~/databasebackup.sql.bz2" . bzcat databasebackup.sql.bz2 | mysql -u root -p
Omdat de users database nu ook mee gekopieerd is, moet er ook nog een flush privileges gebeuren in mysql. Dit heb ik via phpMyAdmin gedaan.
Eindresultaat: alle websites zijn getransplanteerd van de oude server naar de nieuwe server. Er zijn nog een paar kleinigheden die nagekeken moeten worden, zoals tijdelijke import-directories voor Drupal, maar voor de rest werkt alles.

Nieuwe reactie inzenden