A client recently asked me to move their Magento to another host. A problem arise since the new host do not provide shell access thus maintaining Magento patches became an issue.
I found and forked this from
Credit where credit is due.
https://www.nerdoncoffee.com/uncategorized/setting-up-a-magento-vm-and-allowing-remote-access/
Grab the VMDK from here
https://bitnami.com/stack/magento/virtual-machine
- Convert to a qcow2 image
qemu-img convert -f vmdk -O qcow2 bitnami-magento-1.9.1.0-0-ubuntu-14.04.vmdk magento.qcow2
-
Create a vm and set that is the hard disk image
- Change all interfaces to virtio 14.04 has paravirtual drivers already installed so is good to go. Why ? Because it will speed up slow as Magento
- Create a bridge
-
Follow the wiki
https://wiki.archlinux.org/index.php/Bridge_with_netctl
-
Add your interfaces as appropriate e.g
Description=”Example Bridge connection”
Interface=br0
Connection=bridge
BindsToInterfaces=(eth0 eth1 tap0 enp2s0)
IP=dhcp -
Start it and enable it at boot
sudo netctl start bridge
sudo netctl enable bridge -
Change the Nic to use the new bridge (br0) as the Network source
- Start the VM
- Configure whatever you like on your vm
you could use port forwarding, port triggering, dmz, vpn, ssh etc…
As I don’t really care about this little vm (its just for dev purposes) I threw it in the DMZ zone (make sure it has a static IP – I just did a dhcp reservation and set the mac of the vnic)
- Adding a DNS A record so you don’t have to remember the ip
log in to your dns registrar (look up terminology) – I use cloudflare so I just added it in there for this blog as magento.nerdoncoffee.com) -
Modify your vm
in /opt/bitnami/apps/magento/conf/htaccess.conf php_value memory_limit 512M -
Update Apache2 on your vm
[text]
#
ServerName magento.example.com
ServerAlias www.magento.example.com
DocumentRoot “/opt/bitnami/apps/magento/htdocs”
#
Include “/opt/bitnami/apps/magento/conf/httpd-app.conf”
#
ServerName magento.nerdoncoffee.com
ServerAlias magento.nerdoncoffee.com www.magento.nerdoncoffee.com
DocumentRoot “/opt/bitnami/apps/magento/htdocs”
Include “/opt/bitnami/apps/magento/conf/httpd-app.conf”
#
ServerName magento.example.com
ServerAlias www.magento.example.com
DocumentRoot “/opt/bitnami/apps/magento/htdocs”
SSLEngine on
SSLCertificateFile “/opt/bitnami/apps/magento/conf/certs/server.crt”
SSLCertificateKeyFile “/opt/bitnami/apps/magento/conf/certs/server.key”
#
Include “/opt/bitnami/apps/magento/conf/httpd-app.conf”
#
ServerName magento.nerdoncoffee.com
ServerAlias magento.nerdoncoffee.com www.magento.nerdoncoffee.com
DocumentRoot “/opt/bitnami/apps/magento/htdocs”
SSLEngine on
SSLCertificateFile “/opt/bitnami/apps/magento/conf/certs/server.crt”
SSLCertificateKeyFile “/opt/bitnami/apps/magento/conf/certs/server.key”
Include “/opt/bitnami/apps/magento/conf/httpd-app.conf”
[/text]
OR
[text]
ServerName magento.nerdoncoffee.com
ServerAlias magento.nerdoncoffee.com
DocumentRoot “/opt/bitnami/apps/magento/htdocs”
Include “/opt/bitnami/apps/magento/conf/httpd-app.conf”
#
ServerName magento.example.com
ServerAlias www.magento.example.com
DocumentRoot “/opt/bitnami/apps/magento/htdocs”
SSLEngine on
SSLCertificateFile “/opt/bitnami/apps/magento/conf/certs/server.crt”
SSLCertificateKeyFile “/opt/bitnami/apps/magento/conf/certs/server.key”
#
Include “/opt/bitnami/apps/magento/conf/httpd-app.conf”
#
ServerName magento.nerdoncoffee.com
ServerAlias magento.nerdoncoffee.com
DocumentRoot “/opt/bitnami/apps/magento/htdocs”
SSLEngine on
SSLCertificateFile “/opt/bitnami/apps/magento/conf/certs/server.crt”
SSLCertificateKeyFile “/opt/bitnami/apps/magento/conf/certs/server.key”
Include “/opt/bitnami/apps/magento/conf/httpd-app.conf”
[/text]
nano /opt/bitnami/apps/magento/conf/htaccess.conf
at the bottom in the directories node
[text]
SetEnvIf Host www.magento.nerdoncoffee.com MAGE_RUN_CODE=magento.nerdoncoffee.com
SetEnvIf Host www.magento.nerdoncoffee.com MAGE_RUN_TYPE=website
SetEnvIf Host ^magento.nerdoncoffee.com MAGE_RUN_CODE=magento.nerdoncoffee.com
SetEnvIf Host ^magento.nerdoncoffee.com MAGE_RUN_TYPE=website
[/text]
Now uncomment the following file in /opt/bitnami/apps/magento/conf/htaccess.conf
[text]
you can put here your magento root folder
path relative to web root
RewriteBase /magento/
[/text]
Restart apache in your vm
sudo /opt/bitnami/ctlscript.sh restart apache
References
* https://bitnami.com/stack/magento/virtual-machine
* https://wiki.archlinux.org/index.php/Bridge_with_netctl
* https://wiki.bitnami.com/Virtual_Appliances_Quick_Start_Guide
* https://wiki.bitnami.com/Virtual_Appliances_Quick_Start_Guide#How_to_enable_sshd.3f