You are hereBlogs / Amedee's blog / intrepid²: webserver
intrepid²: webserver
Installatie
Apache, PHP, MySQL en phpMyAdmin tesamen in één keer installeren met:
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:
In /etc/apache2/sites-enabled/000-default is er ook nog een aanpassing nodig:
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:
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:
Websites overzetten
De websites draaien allemaal op één Drupal-installatie in /var/www maar wel met elk een eigen database.
Eerst de bestanden overzetten:
Daarna de databases overzetten. Eerst een backup maken op de oude server:
Vervolgens de backup kopiëren naar de nieuwe server en importeren in mysql:
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