A friend of mine that not seen for years contact me. He had problem with his school website. Headmaster give him order to take care their website that seem to abandoned by current holder. Every time they (school) contact him. No respond and no email. He ask me to see it and if possible solve it immediately.
Update : if you’re in hurry then you can use Fiverr service that will do the job ($5 per site). Click here to see the service.
After ask the website hosting representative we have clues where do we must start.
- Create official letter from school about domain ownership.
- Scan the letter and send it to hosting company
The process itself is not straightforward as current holder respond to hosting company email and the phone but not respond to us. After a month the progress finally move to right direction. Current holder not paid for hosting fee and that’s the reason for my friend. Contact hosting company and finally they approve account moving and switching.
Since the hosting company suspend the account for its late payment then the website is not accessible anymore and only display ‘account suspended’ message. My friend ask me if I can give him temporary place for their school. I agree to give him a space with exchange. I must do the transfer process myself. I like to see how to transfer joomla based website to vps.
Lets get start!
Backup Joomla Website
Fortunately my friend already download the backup file. Its tar.gz file (backup-11.15.2014_11-29-19_domain.tar.gz ).
Send Joomla backup file to vps
After copying the file to my laptop I initiate transfer using scp.
scp backup-11.15.2014_11-29-19_domain.tar.gz root@ipaddress:/root
the process depend on internet speed and file size. For my case, it took around 1 hour to upload 132MB of file.
Creating New Domain on VPS
I use Easyengine that I use in previous post for host wordpress. Joomla also created with php and utilize mysql. So I choose php+mysql website.
# ee site schooldomainname --mysql
The command will generate all required files including database plus its credentials at /var/www/schooldomainname/ee-config.php
To see database name, database user database password and database host created by easyengine you can use :
Extract Joomla Backup on VPS
I use same VPS that powered by Vultr for WordPress. Time for extract backup file.
# mv backup-11.15.2014_11-29-19_schooldomainname.tar.gz /var/www/schooldomainname/
# cd /var/www/schooldomainname/
# tar xvzf backup-11.15.2014_11-29-19_schooldomainname.tar.gz
addons cron fp httpfiles meta mysql pds psql_users.sql resellerpackages shell sslkeys userdata vf
bandwidth digestshadow has_sslstorage locale mm mysql-timestamps proftpdpasswd quota sds ssl suspended va
counters dnszones homedir logaholic mma mysql.sql psql resellerconfig sds2 sslcerts suspendinfo vad
cp domainkeys homedir_paths logs mms nobodyfiles psql_grants.sql resellerfeatures shadow ssldomain userconfig version
Looks like this backup file created by my friend taken from cpanel backup wizard.
I just need to find out where joomla files and its database located.
Finding Joomla Files + Database
After search for while I can see where is the location of Joomla files. Its in :
Database file located in :
Move Joomla folder to Easyengine public folder
Next step is move joomla folder found from previous step to easyengine folder.
# mv backup-11.15.2014_11-29-19_schooldomainname/homedir/public_html .
# mv tes/backup-11.15.2014_11-29-19_schooldomainname/mysql/schooldomainname.sql .
Edit configuration file of Joomla
The configuration file located in configuration.php . Edit $user, $password and $db .
save the file.
Import Joomla Database File
# mysql -udb_user -p db_name <
Make Joomla website live
# ee site enable schooldomainame
Thats it. Try to reload it via web browser and everything load fine so far.
My friend happy with the migration process. The load speed is incredible and they can add their content again and if they like it then they can make their own server with Vultr.
Lesson learned :
- Never use personal email address as contact, billing etc for school domain. Always use school email address. Beside this touch make everything official also prevent future problem like my friend case.
- If possible use the longest period for registering school domain. Yearly renewed domain is not suitable for a school.