Comment:
Thank you for this guide. It was invaluable in getting my development environment setup. However, a few vital steps were missing so I have added these in.
This is a guide for creating a Development installation using Centos. If you want to create a production instance of Blackboard, please refer to the official Blackboard documentation.
{info}
# Install latest Centos on a machine (6.2 x86_64) # vi /etc/yum/pluginconf.d/fastestmirror.conf
...
{code} include_only=mirror.aarnet.edu.au {code} # yum update ; reboot # vi /etc/sysconfig/iptables {code} -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT {code} # /etc/init.d/iptables restart # chkconfig --level 2345 sshd on #enable sshd at startup # vi /etc/sysctl.conf {code} fs.suid_dumpable = 1 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default=4194304 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048586 {code} # vi /etc/security/limits.conf {code} oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 4096 oracle hard nofile 65536 oracle soft stack 10240 {code} # Install necessary packages {code} yum install binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf gcc-c++ gcc glibc glibc-common glibc-devel glibc-headers ksh libaio-devel libaio libgcc libstdc++-devel libstdc++ make nss-softokn freebl numactl-devel sysstat unixODBC unixODBC-devel {code} # Create groups and users {code} groupadd -g 501 oinstall groupadd -g 502 dba groupadd -g 503 oper groupadd -g 504 asmadmin groupadd -g 506 asmdba groupadd -g 505 asmoper useradd -u 502 -g oinstall -G dba,asmdba,oper oracle passwd oracle {code} # vi /etc/selinux/config {code} SELINUX=disabled {code} # Reboot # Log in as oracle # vi .bash_profile {code} # Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=localhost.localdomain; export ORACLE_HOSTNAME ORACLE_UNQNAME=bb9; export ORACLE_UNQNAME ORACLE_BASE=/home/oracle/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME ORACLE_SID=bb9; export ORACLE_SID PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH {code} # Reboot # Install Oracle 11.2 as oracle user {code} cd database ./runInstaller {code} # Create /etc/init.d/dbora {code} #!/bin/sh # chkconfig: 345 99 10 # description: Oracle auto start-stop script. # # Set ORA_HOME to be equivalent to the $ORACLE_HOME # from which you wish to execute dbstart and dbshut; # # Set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME. export ORACLE_BASE=/home/oracle/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_HOME_LISTNER=$ORACLE_HOME export ORACLE_OWNR=oracle export ORACLE_OWNER=oracle export ORACLE_SID=bb9 export ORACLE_UNQNAME=bb9 export ORACLE_HOSTNAME=localhost.localdomain export PATH=$PATH:$ORACLE_HOME/bin if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ] then echo "Oracle startup: cannot start" exit 1 fi case "$1" in start) # Oracle listener and instance startup echo -n "Starting Oracle: " su $ORACLE_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole" su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl start" su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" touch /var/lock/subsys/dbora echo "OK" ;; stop) # Oracle listener and instance shutdown echo -n "Shutdown Oracle: " su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop" su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" su $ORACLE_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole" rm -f /var/lock/subsys/dbora echo "OK" ;; reload|restart) $0 stop $0 start ;; *) echo "Usage: `basename $0` start|stop|restart|reload" exit 1 esac exit 0 {code} # Add dbora to startup and shutdown proceedure {code} chkconfig --add dbora {code} # vi /etc/oratab {code} bb9:/home/oracle/app/oracle/product/11.2.0/db_1:Y {code} # Add latest Java 1.6 rpm from Oracle {code} chmod +x jdk-6u31-linux-x64-rpm.bin ./jdk-6u31-linux-x64-rpm.bin {code} # Make sure the bbuser account exists. Otherwise *your build will fail* # Run blackboard installer *AS ROOT* {code} java -jar bb-as-linux-9.1.82223.0.jar {code} # Create /etc/init.d/blackboard {code} #!/bin/bash # chkconfig: 345 99 10 # description: Blackboard auto start-stop script. # # /etc/rc.d/init.d/blackboard # # This shell script takes care of starting and stopping Blackboard # # BLACKBOARD_DIR=/opt/blackboard case "$1" in start) $BLACKBOARD_DIR/tools/admin/ServiceController.sh services.start ;; stop) $BLACKBOARD_DIR/tools/admin/ServiceController.sh services.stop ;; status) $BLACKBOARD_DIR/tools/admin/ServiceController.sh services.status ;; restart) $BLACKBOARD_DIR/tools/admin/ServiceController.sh services.restart ;; *) echo "Usage: {start|stop|status|restart}" exit 1 ;; esac exit $? {code} # Add blackboard to startup and shutdown proceedure {code} chkconfig \--add blackboard {code} # vi /etc/inittab {code} id:3:initdefault: {code} # reboot