Archive for March 14th, 2011

A quick and easy way to install Social Network on Linux/BSD System with Elgg

Monday, March 14th, 2011

elgg-blue-logo
I'm experimenting this days with Elgg – An Open Source Free Software GPLed Social Network which enables users to quickly create Communities.

Elgg is really easy to install and all it requires is a Linux/BSD or Windows system with PHP, MySQL and Apache installed.

Elgg is provided with dozens of nice plugins which for a short time enables individual to create fully operational Social Network like facebook.

Many people nowdays use facebook without realizing how bad facebook is how it breaks their privacy.
Facebook is actually a spy network, it stores data and pictures, likings and user behaviour of million of users around the world.
This needs to be stopped somehow, maybe if people start using the free software networks like elgg to build a mini-community which has profound interests in a certain spheres of work, life and amusement.
The evil empire of facebook will slowly start to loose it's position and the small projects networks based on Elgg and the other Free Software Social Networks which are currently available will start to rise up.
I'm currently really a novice into Elgg but I'm more convinced that the guys who develop it and contribute to it in terms of handy plugins have done really a great job.

It's ultra easy even for non professional middle level user to setup himself an Elgg install.
The installation procedure is not much harder than a simple wordpress blog or joomla based website install.
The installation of elgg takes no more than 10 to 20 minutes, the plugin installation and setup time further could take few days but in the end you have a full featured Social Network! This is really amazing.
The installation of new plugins in elgg is also fool proof / easy all you have to do to equip a newly installed elgg with plugins is to go to it's root directory and look for the mod directory. The new plugins which needs to be installed, could be directly downloaded and saved via links, elinks, lynx or even wget to the elgg installation directory.

Most of the elgg plugins comes in a form of zip files so after being installed simply executing:

server:/home/elgg/mysocialnetwork/mod# unzip walltowall.zip
....

The above cmd will for example unzip the WallToWall elgg plugin and the plugin will be further ready to be enabled via the administrator user set upped during your elgg installation.

The configurations of elgg are being accomplished via:

Administration -> Tool Administration

I should I'm still experimenting with Elgg social, until this very moment I've installed the following elgg plugins:

aaudio
akismet
artfolio
blog
bookmarks
buddytalk
captcha
categories
chat
crontrigger
custom_index
custom_profile_fields
default_widgets
diagnostics
elgg-ebuddy
embed
embedvideo
emoticons
externalpages
family
fbconnect
file
file_tree
flyers
forum
friend_request
friends
garbagecollector
groups
htmlawed
invitations
invitefriends
izap_videos
kaltura_video
lastfm
likes
logbrowser
logrotate
lucygames
members
messageboard
messages
milockergames_frameme
noscript_message
notifications
pages
polls
profile
reportedcontent
resume
river_comments
riverdashboard
riverfaces
search
siteaccess
tagcloud
theme_simpleneutral
thewire
tidypics
tidypicsExt
tinymce
twitter
twitterservice
user_contact_list
uservalidationbyemail
walltowall
weather
wp1
zaudio

One very handy feature I truly enjoy about Elgg is that it gives every user an own blog which or in other words when somebody registers in Elgg, he automatically gets a personal blog! How cool this is Yeash 😉
The Elgg photo upload plugin is also another interesting story. The photo plugin is a way better from my first impressions than facebook's buggy upload client.
Elgg also uses heavily jquery for it's various operations and the user experience feels very interactive.

Of course as with all free software things are not perfect some of the elgg plugins or (mods) as they are called are not working.
For example I couldn't make by so far the weather plugin which is supposed to report the weather.

Maybe some tweakening of the not working plugins will easily make them working. What is really important is that the Elgg basis system looks and seems to work really good and enpowers the user with a social network alternatives to the ugly facebook.

In order to experiment with Elgg and I've established a small social network targetting at University College and School Students called MockATeacher – mockateacher.com>/i>. The idea behind is to help students in their report writting by providing them with a place where they can meet other students and share files.

Some other aspects I've planned for MockATeacher is to build a small community of people who would like to share about idiot teachers, teacher stupid sayings as well as to mock the idiotic type of education that we and our children are up to in this age.
Just to close up, if you're looking for some time to spend in experimenting in an enjoyable way you definitely need to install elgg and play with it 😉

core dump after PHP5 and php5-extensions recompile (rebuild) from ports on FreeBSD – cause and solution

Monday, March 14th, 2011

On my FreeBSD 7.2 system where I host few of my small projects. I have been running Apache 2.0.63 with php 5.3.2 for about a year and a half.

I was pretty happy with this configuration just until today, when I decided to play a bit with the elgg social network building free software platform
The elgg’s CAPTCHA feature on my php 5.3.2 installation was not running properly, the picture of the elgg captcha wasn’t appearing.
First I suspected I might be missing the php-gd support in compiled PHP, however after checking up in both phpinfo(); and with pkg_info I’ve figured out I had the php-gd-5.3.2 bsd package properly install.

However after some investigation on the net I’ve figured out my gd package and php5-gd were both lacking a freetype support.
In that situation I took the option to rebuild my php5 and php5-extensions installed from the port tree.

Of course before I can build it properly I had to upgrade a number of bsd tooks like autoconf but anyways as this is not the target of this post I’ll skip that and proceed to the essence.

After being able to properly build the php5 and php5-extensions latest packages from my bsd port tree after a port three upgrade my Apache server and php cli was failing to start with a core dumped message.

That was pretty odd as no error was reported neither in php_error.log nor in my httpd-error.log

As I’ve been through a similar problem some long time ago during my php interpreter compilation I investigation the issue and found out that my /usr/ports/lang/php5 port after compiled with:

freebsd /usr/ports/lang/php5# make install clean

is running fine. The Apache server with a simple php without any extension prooved also to run without the the shitty core dumped fail message.
Therefore in order to find out the exact reason for the core dumped failures after compilation and installation of the /usr/ports/php-extensions I went through manually installing all my selected extensions from that port through the make config command:

After about 40 minutes of manual installation of the complete list of php5 modules which I need for my proper website operations I’ve figured out that after installing the php5-recode port the php and apache server started immediately crashing with the core dumped

As php5-recode wasn’t that necessary for my proper php operation I decided to remove this module and my PHP enpowered Webserver was back to normal.

The complete list of extensions which I’ve installed next to the php5 port on my FreeBSD are:

freebsd /root# pkg_info |grep php5-
php5-bz2-5.3.5 The bz2 shared extension for php
php5-ctype-5.3.5 The ctype shared extension for php
php5-dom-5.3.5 The dom shared extension for php
php5-fileinfo-5.3.5 The fileinfo shared extension for php
php5-ftp-5.3.5 The ftp shared extension for php
php5-gd-5.3.5 The gd shared extension for php
php5-gettext-5.3.5 The gettext shared extension for php
php5-gmp-5.3.5 The gmp shared extension for php
php5-hash-5.3.5 The hash shared extension for php
php5-iconv-5.3.5 The iconv shared extension for php
php5-imap-5.3.5 The imap shared extension for php
php5-json-5.3.5 The json shared extension for php
php5-mcrypt-5.3.5 The mcrypt shared extension for php
php5-mysql-5.3.5 The mysql shared extension for php
php5-pcntl-5.3.5 The pcntl shared extension for php
php5-posix-5.3.5 The posix shared extension for php
php5-pspell-5.3.5 The pspell shared extension for php
php5-readline-5.3.5 The readline shared extension for php
php5-session-5.3.5 The session shared extension for php
php5-shmop-5.3.5 The shmop shared extension for php
php5-soap-5.3.5 The soap shared extension for php
php5-sockets-5.3.5 The sockets shared extension for php
php5-sqlite-5.3.5 The sqlite shared extension for php
php5-sysvshm-5.3.5 The sysvshm shared extension for php
php5-tidy-5.3.5 The tidy shared extension for php
php5-tokenizer-5.3.5 The tokenizer shared extension for php
php5-wddx-5.3.5 The wddx shared extension for php
php5-xml-5.3.5 The xml shared extension for php
php5-xmlreader-5.3.5 The xmlreader shared extension for php
php5-xmlrpc-5.3.5 The xmlrpc shared extension for php
php5-xmlwriter-5.3.5 The xmlwriter shared extension for php
php5-xsl-5.3.5 The xsl shared extension for php
php5-zip-5.3.5 The zip shared extension for php
php5-zlib-5.3.5 The zlib shared extension for php

The above php5 extensions list will most likely work well right after installation just like in my case in other systems as well, so I would suggest you install the same php extensions directly selecting them from /usr/ports/lang/php-extensions via the make config ncurses interface to save yourself some time.