The software team uses a cloud-server hosted at [http://www.digitalocean.com DigitalOcean]. The server runs Ubuntu 14.04 linux and has 512MB RAM and 20GB storage.[[BR]] The server name is jupiter2.raidtech.net and the static IP is 104.236.89.124. The domain name wiki.raidtech.net takes you to the same server and is directed to the Wiki virtual host. So users can access the server here: * ssh://jupiter2.raidtech.net * https://jupiter2.raidtech.net:20000 * http://wiki.raidtech.net/login Administration can be performed by command line (SSH) or via [https://jupiter2.raidtech.net:10000 Webmin][[BR]] Adding a new software team student requires creating two accounts: a unix user account that is also a member of the unix swdev group (so they can access the software repositories) and a Trac account so they can access the wiki. The accounts can be created using web interfaces: * [https://jupiter2.raidtech.net:10000 Add unix user] (System->Users and Groups] * [http://wiki.raidtech.net/admin/accounts/users Add trac user] * [http://wiki.raidtech.net/admin/general/perm Add user to swdev group] or from the unix command line: {{{ sudo adduser sudo usermod -a -G swdev cd /var/local/trac sudo htpasswd .htpasswd sudo trac-admin /var/local/trac permission add swdev }}} Adding a new mentor: {{{ sudo adduser sudo usermod -a -G swmentors sudo usermod -a -G swdev sudo usermod -a -G sudo cd /var/local/trac sudo htpasswd .htpasswd sudo trac-admin /var/local/trac permission add TRAC_ADMIN or Log in to trac -> Admin -> Permissions -> Add TRAC_ADMIN for user }}} Subversion is used for version control; the repositories are stored in /home/svn. Repositories are accessed securely from subversion clients (such as NetBeans) using the URL: * svn+ssh://jupiter2.raidtech.net/home/svn/ Creating a repository: {{{ sudo svnadmin create /home/svn/myrepo sudo chown -R root:swdev /home/svn/myrepo/db sudo chmod -R g+w /home/svn/myrepo/db sudo chown -R root:swdev /home/svn/myrepo/locks sudo chmod -R g+w /home/svn/myrepo/locks }}} After creating a repository, add it to Trac using the web interface [http://wiki.raidtech.net/admin/versioncontrol/repository here]. If there is data in the repository already, you may need to execute the following command: {{{ sudo trac-admin /var/local/trac repository resync "myrepo" }}} You may also need to add a post-commit hook in the repository to call: {{{ trac-admin /var/local/trac changeset added "myrepo" $REV }}} For more information see: http://svnbook.red-bean.com/en/1.7/svn.reposadmin.create.html To create a project within a repository using the command line, on your local computer: * create project dir myproj w/sub-dirs: tags, branches, trunk * create/copy your project under myproj/trunk (see example helloc project in test repository) * cd myproj * svn import !svn+ssh://jupiter2.raidtech.net/ -m "initial import" You can also usually create projects using the subversion client in your IDE. Apache webserver * /etc/apache2 * /var/www/html Trac Wiki and Defect Tracking * /var/local/trac * /var/local/trac/conf/trac.ini