Difference between revisions of "Setting up Elgg VM on CedeusGeoNode"
From stgo
(→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
Contents
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 and http://learn.elgg.org/en/latest/intro/install.html#ubuntu-linux
- 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 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 useCREATE 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/)
- in Administration > Settings > Advanced Settings
- set "default access permissions" to "friends"
- uncheck "Allow new users to register"
- Plugins:
- activated Embed 1.8
- activated Diagnostics 1.8
- download and install : Spanish Formal Core language pack for Elgg 1.8 : http://community.elgg.org/plugins/1479860/1.0/spanish-formal-core-language-pack
- Note, the user can define his language. So, the admin pages can be English while new user will have Spanish as default.
- download and install : Friend request for Elgg 1.8 : http://community.elgg.org/plugins/384965/3.3/friend-request
- download and install: Honeypot Spam Catcher for Elgg 1.8 : http://community.elgg.org/plugins/1131529/1.0/honeypot-spam-catcher
- todo check: User validation by admin for 1.8.X for Elgg 1.8 : http://community.elgg.org/plugins/875414/1.1/user-validation-by-admin-for-18x
- todo check: Member Selfdelete 1.8.x for Elgg 1.8 : http://community.elgg.org/plugins/860132/1.1/member-selfdelete-18x
- todo check: Elgg Captcha for Elgg 1.8 : http://community.elgg.org/plugins/1172111/1.8.15C/elgg-captcha
- todo check: Spam Checker for Elgg 1.8/1.9 : http://community.elgg.org/plugins/1650435/1.9/spam-checker
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