Setting up Elgg VM on CedeusGeoNode
From stgo
								
												
				>> return to Cedeus_IDE
Elgg VM setup
- copying basicubunutu1404.vdi file and renaming to elgg.vdi
 -  creating the tilestream VM on CedeusDB (ip.18):
-  
VBoxManage createvm --name elgg --ostype Ubuntu_64 --register -  
VBoxManage modifyvm elgg --memory 4096 -  
VBoxManage modifyvm elgg --cpus 4 -  
VBoxManage modifyvm elgg --nic1 nat -  
VBoxManage storagectl elgg --name "SATA Controller" --add sata --controller IntelAhci -  assign the (old) disk image a new uuid
-  
VBoxManage internalcommands sethduuid elgg.vdi 
 -  
 -  attach the (old) disk image:
-  
VBoxManage storageattach "elgg" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium elgg.vdi 
 -  
 -  
VBoxManage storagectl elgg --name "IDE Controller" --add ide --controller PIIX4 -  set the nat rules (ports):
-  
VBoxManage modifyvm elgg --natpf1 "ssh,tcp,,15022,,22" -  
VBoxManage modifyvm elgg --natpf1 "apache,tcp,,15080,,80" 
 -  
 
 -  
 -  optional - set VRDE port:
-  
VBoxManage modifyvm elgg --vrdeport 7765(Note: 3389 is the default port anyway) 
 -  
 -  start the VM
-  
VBoxHeadless -s elgg --vrde on & - the VM will listen on port 7765
 
 -  
 -  The following step do not seem to be necessary with Ubuntu 14.04 and new VirtualBox - however, are necesary for 12.04. But if so: connect with VRD and adjust network card settings (remember the existing VM have an old password)
- open /etc/udev/rules.d/70-persistent-net.rules and comment out existing network adapters
 - reboot
 - check if ssh connection works
 
 - change the computers name in /etc/hosts and /etc/hostname
 - restarting Apache gives the error message: "apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 ..."
 
- => solve this by adding ServerName elgg as the last line in /etc/apache2/apache2.conf file
 
Elgg Setup
General Docs: http://learn.elgg.org/en/latest/
Install docs:
- http://learn.elgg.org/en/latest/intro/install.html
 - https://www.digitalocean.com/community/tutorials/how-to-install-and-setup-elgg-on-a-debian-or-ubuntu-vps--2
 
- Elgg needs LAMPS (MySQL 5+, PHP 5.3.3+), so:
 -  check what software packages are installed on the VM with 
dpkg -l 
- => looks like 14.04 comes with MySQL 5.5 and PHP 5.5
 
- however, I am missing php5 gd lib, so lets (re-)install the bunch of libs
 
-  
sudo apt-get install php5 php5-gd php-xml-parser php5-mysql 
- Apache rewrite module should be enabled too
 
-  
sudo a2enmod rewrite 
-  
 
- downnload Elgg from http://elgg.org/download.php => I downloaded 1.8.19, the latest available and stable (= non RC) version
 - unzip and place in www folder of server
 
unzip elggXXXmv elggXXX elgg(i.e. rename folder)sudo cp -r elgg /var/www/html/(copy folder to www/html to be accessible for Ubuntu 14.04)
- create a data folder outside of /www or /public_html and make it accessible via for elgg:
 
-  
sudo chown -R www-data:www-data /elggdata 
-  
 - => www-data is apache's user that writes to file system. The above command grants apache ownership of the data directory.
 
- create a database for elgg:
 
-  
mysql -u root -p(pw 20...s) -  
CREATE DATABASE elgg; -  
CREATE USER elgguser IDENTIFIED BY 'elggpassword';(elggpwd: elggc...s) -  
GRANT ALL ON elgg.* TO elgguser; -  
\q 
-  
 
- to be enable reading .htaccess in document root access settings need to be change in /etc/apache2/sites-available/default from AllowOverride None to AllowOverride All for the directory /var/www/html/ => problem, this was for older Apache version, now we have 000-default.conf that does not contain this setting.
 -  move and rename files (perhaps use 
sudo) 
-  
mv /var/www/html/elgg/htaccess_dist /var/www/html/elgg/.htaccess -  
mv /var/www/html/elgg/engine/settings.example.php /var/www/html/elgg/engine/settings.php 
-  
 
- Open up the settings.php file and fill in the database access details:
 
-  
sudo nano /var/www/html/elgg/engine/settings.php -  set:
-  
$CONFIG->dbuser = 'elgguser'; -  
$CONFIG->dbpass = 'elggc...s'; -  
$CONFIG->dbname = 'elgg'; -  
$CONFIG->dbhost = 'localhost'; -  
$CONFIG->dbprefix = ; 
 -  
 
-  
 
- navigate to http://146.155.17.19:15080/elgg/install.php to perform the setup