Der skal også være lidt til dem der ikke har prøvet så meget, så et godt sted at starte må være med at installere skidtet. Jeg vil have flyttet min WordPress installation fra specialhosting.dk webhotellet over på en dedikeret virtuel server, fordi det har jeg brug for til næste indlæg. Derfor tager vi lige en nem en idag 🙂
Start med en ny frisk-installeret Debian 6.0 maskine, og installer følgende pakker:
root@specialhosting:~# apt-get install apache2 mysql-server phpmyadmin libapache2-mod-php5 php5-mysql php5-gd vim
Du bliver bedt om at indtaste root password til din MySQL server, det er vigtigt at du vælger et sikkert password, brug evt. sikkeradgangskode.dk. Password skal tastes to gange.
Herefter skal du vælge hvilken webserver du vil benytte til phpmyadmin, her vælger du selvfølgelig “apache2”.
Phpmyadmin beder om tilladelse til at installere nogle databaser, det må den selvfølgelig gerne. For at gøre det skal den bruge Mysql root password, når den har fået det vil den oprette en account til sig selv og beder dig foreslå et password, det plejer jeg IKKE at gøre men derimod trykker jeg bare ENTER og lader installeren selv generere et password.
… Så er selve installationen faktisk færdig, og ved at taste din servers ip i en browser vil du kunne se en besked om at den nyinstallerede webserver virker. Det er fedt nok, men for lige at lære dig lidt mere om opsætningen vil jeg tage flytningen af WordPress med også.
Først logger jeg ind på den gamle server og laver et dump af databasen:
old-server# mysqldump -pPASSWORD DATABASE --hex-blob > specialhosting.sql
Så pakker vi alle filerne sammen: (mens du står i dit webdir)
old-server# tar zcpf specialhosting.tgz * .htaccess
og til sidst flytter vi filen:
old-server# scp specialhosting.tgz root@specialhosting.mikjaer.com:/root The authenticity of host 'specialhosting.mikjaer.com (109.202.159.47)' can't be established. RSA key fingerprint is 38:0e:7e:6a:35:8d:04:94:ca:7a:f4:a3:e4:92:69:eb. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'specialhosting.mikjaer.com,109.202.159.47' (RSA) to the list of known hosts. root@specialhosting.mikjaer.com's password: specialhosting.tgz 100% 140MB 17.5MB/s 00:08
Ovre på den nye server pakker vi filen ud og gør web-root klar til brug:
root@specialhosting:~# cd /var/www/ root@specialhosting:/var/www# ls index.html root@specialhosting:/var/www# rm index.html root@specialhosting:/var/www# tar zxf /root/specialhosting.tgz root@specialhosting:/var/www# chown -R www-data:www-data *
Nu starter vi med at slå op hvilket brugernavn og password WordPress forventer at bruge til databasen:
root@specialhosting:/var/www# cat wp-config.php | grep DB_ define('DB_NAME', 'DATABASE'); define('DB_USER', 'USERNAME'); define('DB_PASSWORD', 'PASSWORD'); define('DB_HOST', 'localhost'); define('DB_CHARSET', 'utf8'); define('DB_COLLATE', '');
og så opretter vi behørig database og useraccount:
root@specialhosting:/var/www# mysql -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 49 Server version: 5.1.61-0+squeeze1 (Debian) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database DATABASE; Query OK, 1 row affected (0.00 sec) mysql> grant all privileges on DATABASE.* to USERNAME@localhost identified by "PASSWORD"; Query OK, 0 rows affected (0.00 sec)
Til sidst importerer vi database dumpet, således:
root@specialhosting:/var/www# mysql -u USERNAME -pPASSWORD DATABASE < specialhosting.sql
… og til allersidst skal vi lige have aktiveret mod_rewrite så vi kan få pæne URL’s på WordPress, først redigerer du: /etc/apache2/sites-enabled/000-default
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Og retter linie 11, fra “AllowOverride none” til “AllowOverride all” og slutter af med at aktivere modulet og genstarte Apache:
root@specialhosting:/var/www# a2enmod rewrite Enabling module rewrite. Run '/etc/init.d/apache2 restart' to activate new configuration! root@specialhosting:/var/www# /etc/init.d/apache2 restart Restarting web server: apache2 ... waiting .
Og nu skulle WordPress gerne virke på den nye server, det gjorde min ihvertfald 🙂