Afdrukken
Hits: 1131

Het is weer zover; nieuwe server ingericht, en nu moeten alle website-hosts over naar de nieuwe server.  Hier even een korte how-to hoe je dit enigszins gestructureerd aan zou kunnen pakken. :-)

Om even het verschil tussen de commando's aan te geven zet ik voor het commande neer op welke server deze uitgevoerd moet worden: source=oude server, dest=nieuwe server.

Rechten op filesysteem

Als je een nieuwe server inricht, moet je er eerst voor zorgen dat je rechten krijgen op de /var/www map, hier zet ik namelijk al mijn website's neer..

Rechten op /var/www: (Alle rechten voor de apache user, en schrijf rechten voor mijn user account.)

dest: sudo chown www-data:user /var/www/ -R
dest: sudo chmod -R g+w /var/www

Kopieren website-bestanden naar andere server:

Vanaf source kopieren:

source:/~$ cd /var/www
source:/var/www$ scp -rp sitename/  user@dest:/var/www

MySQL database overzetten:

source:/tmp$ mysqldump -u root -p --opt dbname>dbname.sql 
source:/tmp$ zip gha.zip dbname.sql
source:/tmp$ scp gha.zip dest:/tmp/

Maak in phpadmin de doel-database aan, en run dan de volgende commando’s:

dest:/tmp$ unzip dbname.sql
dest:/tmp$ sudo mysql -e 'CREATE DATABASE `dbname`;'
dest:/tmp$ sudo mysql dbname <dbname.sql

MySQL user overzetten:

De gebruiker is nu aangemaakt met de juiste rechten.

Apache2 site-configuratie overzetten

Eerst (eenmalig) alle geactiveerde site overzetten naar de nieuwe site in een tijdelijk map:

source:/~$ cd /etc/apache2/sites-enabled/
source:/etc/apache2/sites-enabled$ scp -rp *.conf  user@dest:/tmp/

Dan per website de configuratie instellen, controleren en activeren:

dest:/etc/apache2/sites-available$ sudo cp /tmp/sitename.conf ./
dest:/etc/apache2/sites-available$ sudo nano sitename.conf

Controleer met nano of alle settings of deze kloppen!

dest:/etc/apache2/sites-available$ sudo a2ensite sitename.conf
dest:/etc/apache2/sites-available$ sudo systemctl reload apache2

Troubleshooting

Als het goed is wordt de de site nu geladen, maar mogelijk mis je nog een apache2 module die je nodig hebt.. daarom nog even een paar troubleshooting commands:

systemctl status apache2.service
tail /var/log/apache2/sitename-ssl-error.log

sudo a2enmod ssl && sudo service apache2 restart
sudo a2enmod headers && sudo service apache2 restart
sudo a2enmod proxy_http && sudo service apache2 restart
systemctl status apache2.service

Disable oude apache2 config.

Als alles werkt en de dns omgezet is, kun je op de oude server de site uitschakelen:

source:/~$ sudo a2dissite gha.conf
source:/~$ sudo service apache2 reload