COAP:COAP-3110/week6
Week 6 learning goals
- Plugin installation and management (continued)
- Migrating from a development server to a hosting company
- A first glance at the REST protocol
Monday
Plugin installation continued.
Wednesday
Web hosting providers
Free hosting exists (see below). Prices for low cost hosting start around 3 Euros / month, but you have to add fees for a domain name to that if you want your own.
Well-known free (read the fine print)
- Host-ed (free, without domain name)
- AwardSpace (free, without domain name)
- 000webhost (free, without domain name). Test site used by the instructor: http://coap3110.comuf.com/
You can search the web for alternatives, e.g. read TechRadar, but be careful. Cross-check information about a provider.
Well-known cheap, HostGator is best according to PC Mag
- HostPapa (3 Euros/month)
- GoDaddy ($4-5 / month)
- Hostgator (3.5$ / month), also cheap dedicated hosting for $80/month
Recommended local (Geneva, Switzerland)
- Infomaniak (10 CHF / month). Probably one of the best in that range (quality/speed)
- HostPoint (10CHF/month, 30 day trial)
Domain name registration
- Most hosting companies will provide that service
- You many check if they are accredited with ICANN (i.e. first-level registrars)
Moving a platform from a local server to a hosting organization
- Moving a Wordpress from a local server to an other target is fairly easy most of the time. However, many things can go wrong ...
Executive summary:
- Create a new database and database user on the target site.
- Move all PHP files (or install a new system)
- Move the database files (dump SQL locally and import on the target)
- Repair the configuration file (database name, database user, etc.)
Local preparation
In order to migrate you will have to:
- copy all the WordPress files using an FTP or SFTP client or a WebClient (depending on the hosting company)
- dump the whole database to a *.sql file, e.g.
w.sql
- Create a copy of the
wp-config.php
file and edit some settings (see below)
On the new host
Frequently, the hosting company will not let you create random database names since a same MySQL server is shared with many many users. You will have to use a specific tool from the control panel to create databases and database users.
(1) Create a new database
- Write down its full name, database user name, database user password, machine name
(2) On the local host (again):
- Create a backup copy of wp-config.php, e.g. wp-config.local.php
- Create a new copy of wp-config.php, e.g. wp-config.new.php
- Edit config.new.php and configure it with the parameters for the new host.
(3) Import the w.sql database file, using PhPMyAdmin or another client
(4) Copy the local wp-config.new.php file to the target site and rename it to wp-config.php
Example taken from 000webhost.com:
as you can see the hosting organization may force you to adopt some prefix, i.e. the a3966289
would represent your user id.
define('DB_NAME', 'a3966289_w');
/** MySQL database username */
define('DB_USER', 'a3966289_user');
/** MySQL database password */
define('DB_PASSWORD', 'XXXXXXXX');
/** MySQL hostname */
define('DB_HOST', 'mysql5.000webhost.com');
Trouble
- You provide may use an old mysql version that does not support the extend utf8mb4 caracter set. Open the *.sql file in a text editor and replace
utf8mb4
byutf8
. If that is the case, you also need to make change in wp-config.php.