Phabricator is an interesting piece of software if you want to cooperate remotely with a number of programmers.
Blender uses it to coordinate its various efforts.
It's easy enough to get to run on Digital Ocean, which is cheap and fast.
- Get an account at Digital Ocean
- get a Lamp stack VM, you'll see the option when creating a new VM
- gather the bloody password (sometimes it's not very biddable)
- ssh to the new VM
On the VM:
apt-get update
- follow the secure your vm instructions ( https://www.digitalocean.com/community/articles/initial-server-setup-with-ubuntu-12-04 )
- change the mysql password
- change root password
- add user
- put ssh key in user you’ll use
cat ~/.ssh/id_rsa.pub | ssh user@machine "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"
- move ssh to another port (for security)
ssh -p <ssh_port_you_just_chose> user@ip
- give it the subdomain you want
- add the subdomain to DNS, give it a VM, leave defaults
(if you give the wrong one you’ll have to update/etc/host
and/etc/hostname
, it doesn’t fix itself) - add the dns stuff
- get git
- get tmux
- install fail2ban ( https://www.digitalocean.com/community/articles/how-to-protect-ssh-with-fail2ban-on-ubuntu-12-04 )
- install sendmail
- setup apache
- install various prerequisite ( http://stackoverflow.com/questions/2263404/what-package-i-should-install-for-pcre-devel , http://www.mkfoster.com/2009/01/04/how-to-install-a-php-pecl-extensionmodule-on-ubuntu/ , pecl: You should add
"extension=apc.so"
tophp.ini
(sudo pico /etc/php5/apache2/php.ini
), enablemo_rewrite: sudo a2enmod rewrite
) - clone phabricator ( http://www.phabricator.com/docs/phabricator/article/Installation_Guide.html )
vim /etc/apache2/sites-available/default
- also set
ServerName
to your domain + subdomain insudo vim /etc/apache2/apache2.conf too
(fix: https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts
nano /etc/hosts
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
#Virtual Hosts
12.34.56.789 example.com
The MySQL part:
apt-get install php5-curl
mysql -u root -p
- enter pass
SHOW VARIABLES WHERE Variable_name = 'port';
SHOW VARIABLES WHERE Variable_name = 'hostname';
- make new user
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
sudo apt-get install php5-gd
php5 -m | grep -i gd
- setup mysql according to Phabricator's instructions
- setup user accounts for git
At this point Phabricator should be running and you should be able to follow the documentation on how to use it.