Notes on Devbox
First download with aria2c With metalinks. May be it will be satisfiable for changes…
Update files with zsync
vagrant dbase setlocal vagrant up / provision / anything It will show download progress and inform about the status of a download... Later: vagrant dbase sync The database data files are synced with remote with zsync.
SSH to the machine where Git repositories are stored:
And clone a repository with:
git clone --recursive firstbeatmedia:/home/git-repo/dating.git git checkout develop
vagrant statuswill list all the relevant virtual machines and their status (running, poweroff, not created)
Totally kill the main VM and recreate it again
# to start the main vm vagrant up main # to stop it vagrant halt main # to rebuild it vagrant destroy --force main && vagrant up main
Turn Windows features on or off
Simple monitoring tools
There are couple of small utilities that you could use to clear opcode cache, to flush memcached, etc.
<ip>/phpinfo.php <ip>/apc.php <ip>/memcached.php <ip>/memcached/index.php <ip>:4401 (Mailcatcher)
Local MySQL database
MySQL database will be downloaded to local disk in the background, with minimal interfering with your normal work-flow.
Synchronizing (downloading) can be enabled or disabled. Look for these commands above.
Downloading the whole database at once
There is a possibility, if you want the data right now, to download the
whole image of virtual external storage
storage.hdd. It contains the
whole database, already imported.
Archive file can be downloaded from dropbox, and for obvious
reasons, this archive will require a password to be unpacked -
You must be aware of the fact that our databases usually occupy more than 170GB of HDD space. It’s not more than 20GB of archive, but HDD space is huge!
7z format is selected because it’s equally supported on all the platforms, and doesn’t have file-size limits like Zip.
Deploy a storage HDD
Download that image file. Then you must shutdown Devbox, if it’s
running. Move somewhere your existing
storage.hdd file. Then unpack
the new one at it’s place, in a root DevBox directory.
Now you can fire up your Vagrant environment. You have our databases, localy.
Convert putty key files to OpenSSH format: ssh-keygen -i -f <puttygen_key> > “%HOMEDRIVE%\%HOMEPATH%\.ssh\id_rsa”
If you must use Putty
This plugin allows you to use putty to ssh into VMs. It has been tested on Windows and should also work on Linux. Multi-vm environments are supported.
You need to have putty in path. Simply check with
Vagrant key must be in Putty format, that is not the same as SSH’s format, but it can be easily converted.
Download the putty executable for your platform and place it’s location on your PATH variable. Seek your operating system manual for instructions on how to modify your PATH variable.
Convert Vagrant’s insecure private key to Putty format
Putty uses a custom format for keys and it does not support OpenSSL keys directly. Using PuTTYgen tool (download), we will convert the private key shipped with Vagrant wich is in OpenSSH format to Putty’s format.
puttygen version doesn’t have much of a command line
parameters. So we must convert keys semi-automatic.
This will load Vagrant’s private key. You have to export it manually by
Save private key. Save the new key right along side the
insecure key, with the name
when prompted to save without a password.
Vagrant will look-up for it’s private key needed for Putty in the same
directory as for OpenSSH, only with changed extension to
git clone projects, but only if there is no existing
directory there. You can use this fact to skip pulling repository by
simply creating empty directory for project.
You can forbid writing to a hosts file simply by setting read-only attribute on a file. In this way, Devbox will not be able to overwrite hosts file content.
To reread domain list from master SQL server, you can delete
a jel moze paralelno [18:17:25] Jelena Tadin: da mi radi i jedno i drugo [18:17:35] Jelena Tadin: mislim, ovaj devbox pravi novi repo? [18:17:57] Colovic Vladan: Tacno. U kome se nalaze ostali. Odnosno, u koje mozes da pomeris ostale kasnije… [18:18:08] Colovic Vladan: Fuck. Upravo sam shvatio da i to moram da objasnim
A nema veze gde cu da podesim u koji dir, recimo dating je meni sad (posto koristim wamp) u C:/wamp/www/git/dating..a ovo ne mora unutar wamp-a biti? [18:47:33] Jelena Tadin: MOzda sad pitam gluposti
Windows speed problems:
Connection priority! https://www.virtualbox.org/ticket/3851#comment:1
VirtualBox shared folders tragedy:
dd if=/dev/zero of=bigfile bs=1024 count=1024000
1.0 GB copied, 12.6937 s, 82.6 MB/s
cd /vagrant 1.0 GB copied, 554.069 s, 1.9 MB/s
dd if=bigfile of=/dev/null bs=1024 count=1024000
1.0 GB copied, 3.03461 s, 346 MB/s
cd /vagrant 1.0 GB copied, 459.669 s, 2.3 MB/s
Difference of 150x times! Woow! Tragedy! Why!
time git s (opimized with gitconfig)
on vboxsf: 2m 24sec
vagrant ssh This command requires a specific VM name to target in a multi-VM environment.
c:\projects\devbox>vagrant ssh main
Install them easily. Search for more plugins on a RubyGems site.
vagrant plugin install vagrant-vbguest
Absolutely a must on Windows, to speed up Ruby:
gem install faster_require
You are noticing that Vagrant has installed embedded Ruby environment, and RubyGems with it. You shouldn’t use it directly, but you can through Vagrant subcommands.
U uputstvu za Devbox: Explain how to acces localhost:redirected port, or host:normal port…
Checking PHP installation
Create a phpinfo file:
echo "<?php phpinfo(); ?>" >/srv/http/phpinfo.php
Get it from browser:
Look for errors in:
tail -n0 -f /var/log/lighttpd/error.log
apt-get install php-apc cp /usr/share/doc/php-apc/apc.php /srv/http/apc.php
user: devbox, pass: devbox
Simple Memcache monitor:
Very advanced Memcache management (phpMemcachedAdmin)
http://10.0.3.10/memcache/index.php Make sure that Apache has rw right in the temp file folder (default : Temp/) and the entire config directory (Config/)
Needed for work
Optionally (present on production server):
Xdebug http://walkah.net/blog/debugging-php-with-vagrant/ :: PHP Xdebug with Vagrant | walkah vagrant : how to get hostonly ip adress from within chef recipe? - Stack Overflow chef-repo/site-cookbooks/drupal/templates/default/xdebug.ini.erb at master · walkah/chef-repo · GitHub
Start page for tools
Find out IP from domain: dig +short A utpc-office.dyndns-server.com
To start node.js comet server, type on
Dating-node project requires Node.js + node modules (Faye, Memcached):
Run everytime, to start Comet server:
node comet.js development.json \ /srv/projects/dating/resources/vhosts/ssl/datingvip.dev.key \ /srv/projects/dating/resources/vhosts/ssl/datingvip.dev.crt
Or better yet using Forever or Supervisor: nodejitsu/forever · GitHub
Nodemon, Supervisor, Forever
supervisor is used to restart programs when they crash. It can also be
used to restart programs when a *.js file changes. It’s like
forever together, in one.
npm install supervisor -g
And the alternative would be:
forever nodemon app.js or: forever start -c nodemon app.coffee