Difference between revisions of "Setting up Elgg VM on CedeusGeoNode"

From stgo
Jump to: navigation, search
(some notes on programming with Elgg)
(some notes on programming with Elgg)
Line 108: Line 108:
 
== some notes on programming with Elgg ==
 
== some notes on programming with Elgg ==
 
* dev environment: IDE PhpStorm
 
* dev environment: IDE PhpStorm
*: Note, I have setup the programming environment so, that the elgg plugin's project/files are directly modified in var/www/html/elgg/mod/...
+
*: Note, I have setup the programming environment so, that the elgg plugin's project/files are directly modified in ''/var/www/html/elgg/mod/...''
 
* disable caching (in admin settings) and enable display of php errors
 
* disable caching (in admin settings) and enable display of php errors
* documentation : see in the elgg install folders: elgg/documentation/
+
* documentation : see in the elgg install folders: ''.../elgg/documentation/''
 
* we also have the Elgg book by C Costello and M. Sharma : http://www.packtpub.com/web-development/elgg-18-social-networking  
 
* we also have the Elgg book by C Costello and M. Sharma : http://www.packtpub.com/web-development/elgg-18-social-networking  
* (plugin) examples can be found in elgg/documentation/examples/ + .../plugins in particular for start.php and manifest.xml files that have to be in a plugins root folder
+
* (plugin) examples can be found in ''.../elgg/documentation/examples/ + .../plugins'' in particular for start.php and manifest.xml files that have to be in a plugins root folder

Revision as of 15:41, 12 September 2014

>> return to Cedeus_IDE


Elgg VM setup

  1. copying basicubunutu1404.vdi file and renaming to elgg.vdi
  2. 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"
  3. optional - set VRDE port:
    • VBoxManage modifyvm elgg --vrdeport 7765 (Note: 3389 is the default port anyway)
  4. start the VM
    VBoxHeadless -s elgg --vrde on &
    the VM will listen on port 7765
  5. 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
  6. change the computers name in /etc/hosts and /etc/hostname
  7. 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:

  • 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 elggXXX
mv 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) -- perhaps may be better to use CREATE USER 'elgguser'@'localhost' IDENTIFIED BY 'elggpasswd';
GRANT ALL ON elgg.* TO elgguser;
\q
  • to be enable .htaccess in document root the access settings need to be changed 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 in Ubuntu 14.04 we have 000-default.conf that does not contain this setting yet. So we do the following:
sudo nano /etc/apache2/sites-available/000-default.conf
Search for DocumentRoot /var/www/html and add the following lines directly below::
<Directory "/var/www/html">
AllowOverride All
</Directory>
and do restart apache2
  • 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
  • some settings I did:
    • registration open/public accessible
    • name Cedeus - miCiudad
    • login ssteinig (2..s) : registered email is uzh (2nd user: ment...r : s...o4...)
    • outgoing email fuer elgg(!): ssteiniger-uc (not shure if this works, though)

Settings after Elgg installation

Elgg 1.8.19 ist installed/accessible now via http://146.155.17.19:15080/elgg/ (the test version with Elgg 1.8.3: if the VM is running http://146.155.17.19:31080/elgg/)

some notes on programming with Elgg

  • dev environment: IDE PhpStorm
    Note, I have setup the programming environment so, that the elgg plugin's project/files are directly modified in /var/www/html/elgg/mod/...
  • disable caching (in admin settings) and enable display of php errors
  • documentation : see in the elgg install folders: .../elgg/documentation/
  • we also have the Elgg book by C Costello and M. Sharma : http://www.packtpub.com/web-development/elgg-18-social-networking
  • (plugin) examples can be found in .../elgg/documentation/examples/ + .../plugins in particular for start.php and manifest.xml files that have to be in a plugins root folder