In this post:

  • Creating new virtual server
  • Installing phpMyAdmin
  • Adding domain to hosts file
  • Exporting original database
  • Importing database to the new server
  • Edit database base url’s
  • SymLinks modification
  • Getting Access to Files Via WinSCP
  • Getting Access to Files Via Samba (Windows File Explorer)
  • Getting Website’s files from Git
  • Copying local.xml File
  • Changing server IP to shared IP address when needed enter
  • Forking repositories

Creating New Virtual Server

  • go to your VM’s (virtual machine) IP address (https://192.168.33.10:10000)
  • enter your root details (vagrant : vagrant)
  • click on create virtual server
  • enter domain name (myDmain.com)
  • under description and password enter the same without .xxx (myDomain)
  • under admin username set to custom and set it it the same as description and password
  • under IP address and forwarding > network interface, mark “shared, on non-default IP”
  • select the VM IP (192.168.33.10)
  • click on “Create Server”

Installing phpMyAdmin

  • on you new virtual server, go to Install Scripts
  • under “Database”mark phpMyAdmin
  • click Show Install Options
  • leave all fields as they are (no, All databases, phpmyadmin, no)
  • click Install Now

Adding Domain To Hosts File

  • enter C:\Windows\System32\Drivers\etc and open the “hosts” file as Administrator
  • in the last row add string in format {{IP Address}}{{Space}}{{Domain}}, for example:
  • 192.168.33.10 myDomain.com
  • if its not your first site, add the new domain right after the last one, for example:
  • 192.168.33.10 myDomain.com myNewDomain.com
  • save the file (make sure you have the right permissions)

Exporting Original Database

  • in the Admin Panel go to system > tools > backups
  • if Media folder has been uploaded to git, click on “Database Backup”
  • if not, click on “Database and Media Backup”
  • click OK
  • enter Backup Name and click OK
  • download file by clicking gz or tgz

Importing DataBase to new Server

  • on you new virtual server, go to Edit Databases
  • on the wanted row, click on “manage”
  • click on “Execute SQL”
  • click on “Run SQL from file”
  • mark “From Uploaded File”
  • browse for the pre-exported file
  • click on “Execute”

Edit Database Base URL’s

  • go to phpMyAdmin on myDomain.com/phpMyAdmin
  • log in
  • in the main table search for core_config data
  • on you new virtual server, go to Edit Databases
  • locate the row with path value web/unsecure/base_url and edit the value to be “http://myDomain.com/”
  • locate the row with path value web/secure/base_url and edit the value to be the same as unsecure value
  • make sure the values of the skin, js & media rows are{{secure_base_url}} & {{unsecure_base_url}}

SymLinks modification

  • enter Webmin > Servers > Apache Webservers
  • click on your server
  • click on edit Directives
  • on the longest row – replace the last “SymLinksIfOwnerMatch” to “FollowSymLinks”
  • click Save
  • click Apply changes (top-right corner)
  • restart Apache

Getting Access to Files Via WinSCP

  • launch WinSCP
  • click on New
  • on Host Name enter your server IP Address (192.168.33.10)
  • on Username & Password, enter the domain name (myDomain)
  • click on the arrow on Save button -> Save…
  • check Save Password and click OK

Getting Access to Files Via Samba (Windows File Explorer)

  • on WinSCP, connected to your virtual machine as Admin with root access (vagrant)
  • go to /root/etc/samba and open smb.conf file
  • in the end of the file, copy the block and change the values
  • if it’s your first site, copy the following code and change the values

  • save the file
  • the files will be available on the network drive \PRECISE32\myDomain

Getting Website’s files from Git

  • launch WinSCP
  • mark public_html folder and open PuTTy (ctrl+P)
  • in PuTTy enter the following commands:

Press Enter twice of 3 time untill you’ll see the RSA Code Square

  • in WinSCP go back to the main folder (1 level up from public_html) and refresh
  • enter .ssh folder and open id_rsa.pub file
  • copy the entire first row
  • on your Git website (Github / Bit Bucket) go to Account settings > SSH Keys
  • add new key and paste the text you copied
  • save key
  • go to the repository page and copy the SSH address
  • in PuTTy, make sure you’re in public_html folder (pwd) and,enter the following command:

git clone {{SSH Address}} – for example – git clone [email protected]:RobinEcomm/euraw.git

  • type yes and Enter
  • on public_html enter myDomain folder, and drag the files into public_html
  • delete all icon folders and readme file
  • in PuTTy, type git branch develop and enter
  • Copying local.xml File
  • from another project go to public_html > app > etc and copy local.xml file
  • paste it in public_html > app > etc your project
  • edit rows 44-46, and replace the domain name with yours
  • save file

Changing server IP to shared IP address when needed

  • enter virtaulmin > {{server}} > Server Configuration > Change IP Address
  • under “New IP address” mark “Use private address”
  • enter servers IP Address
  • check “Already active”
  • click on “Change Now”
  • go back to “change IP Adreess”
  • click on “Convert Private Address to Shared”
  • under “New IP address” mark “Shared address”
  • select the servers Address
  • click on “Change Now”

installing a new magento system

  • on winSCP, go to your domain public_html folder and open PuTTy
  • on PuTTy, change the folder with cd public_html command
  • run the next commands, one at the time:
  • wget http://www.magentocommerce.com/downloads/assets/1.7.0.2/magento-1.7.0.2.tar.gz
  • tar -zxvf magento-1.7.0.2.tar.gz
  • mv magento/* magento/.htaccess .
  • chmod -R o+w media var
  • chmod o+w app/etc
  • delete the magento 1.7.0.2.tar.gz file
  • on browser, go to your domain and follow the wizard
  • on configuration section:
  • leave Host as localhost
  • change Database Name to your domain (myDomain)
  • set the User Name same as database name
  • check Skip Base URL Validation Before the Next Step
  • continue
  • go to backend, and:
  • reindex all in Index Menagment
  • clean Ceche
  • that’s it!

Forking Repositories

  • on BitBucket, go to the wanted Repo and press Fork
  • type the new repository name, leave other fields as they are
  • press Fork repository
  • open your current project IN WinSCP
  • in PuTTy, make sure you’re in public_html folder (pwd) and,enter the following command:
  • git clone {{new SSH Address}} – for example:
  • git clone [email protected]:RobinEcomm/euraw.git
  • type yes and Enter
  • Replace all files of public_html with those in the MyDomin folder