Changes

Jump to navigation Jump to search
Add initial content
Line 1: Line 1:  
This article is about using a bare SME Server as a development server for SME Server packages or contributed packages.
 
This article is about using a bare SME Server as a development server for SME Server packages or contributed packages.
 +
 +
 +
This is what I did after reading a number of older wiki articles re: developing and amending packages as well as development environment setup.
 +
 +
 +
I started with a standard SME Server 10.1 install (as a VM)
 +
 +
* 4GB Ram
 +
* 16MB Video
 +
* 8GB disk (partitioned without LVM so that any future upgrades are easier)
 +
* 1 LAN card
 +
 +
I then configured the server as:
 +
 +
* Server Only (I don't want any build tools on my gateway.....)
 +
* Static IP (my preference)
 +
* Do NOT supply dhcp
 +
 +
Log into the server manager panel to
 +
 +
* configure ssh
 +
* add a developer user
 +
 +
Now we ssh into our server as root, to finish setting up our developer user:<syntaxhighlight lang="bash">
 +
db accounts setprop <userid> Shell /bin/bash
 +
chsh -s /bin/bash <userid>
 +
</syntaxhighlight>and install the tools they'll need<syntaxhighlight lang="bash">
 +
yum --enablerepo=smeaddons install smeserver-extrarepositories-epel
 +
yum install cvs rsh rpm-build
 +
yum --enablerepo=smedev,epel,extras install plague-client mock python-ctypes glances e-smith-devtools smeserver-mock
 +
signal-event post-upgrade; signal-event reboot
 +
</syntaxhighlight>Now you need to login as your developer and set them up with all the right access<syntaxhighlight lang="bash">
 +
# add key stuff
 +
 +
cat <<_EOT > ~/.ssh/config
 +
Host shell.koozali.org koozalishell
 +
Hostname shell.koozali.org
 +
User <userid>
 +
IdentityFile ~/.ssh/id_rsa
 +
ForwardAgent yes
 +
Port 222
 +
 +
Host buildsys
 +
Hostname buildsys.koozali.org
 +
User <userid>
 +
IdentityFile ~/.ssh/id_rsa
 +
ForwardAgent yes
 +
Port 222
 +
_EOT
 +
 +
# add .buildsys stuff
 +
</syntaxhighlight>and create their working directories<syntaxhighlight lang="bash">
 +
mkdir -p work/{smebase,smecontribs}
 +
</syntaxhighlight>You may want to tweak their shell to make it a little friendlier<syntaxhighlight lang="bash">
 +
cat <<_EOT > ~/.bashrc
 +
# .bashrc
 +
 +
# User specific aliases and functions
 +
 +
alias rm='rm -i'
 +
alias cp='cp -i'
 +
alias mv='mv -i'
 +
 +
# Source global definitions
 +
if [ -f /etc/bashrc ]; then
 +
. /etc/bashrc
 +
fi
 +
_EOT
 +
 +
cat <<_EOT > ~/.bash_profile
 +
# .bash_profile
 +
 +
# Get the aliases and functions
 +
if [ -f ~/.bashrc ]; then
 +
. ~/.bashrc
 +
fi
 +
 +
# User specific environment and startup programs
 +
 +
PATH=$PATH:$HOME/bin
 +
 +
export PATH
 +
_EOT
 +
 +
</syntaxhighlight>You will have to log out and back in for this to take effect.
371

edits

Navigation menu