How To Set Up A Feng Office Suite Web Server On Ubuntu Server 10.10

Want to support HowtoForge? Become a subscriber!
 
Submitted by mrpurple (Contact Author) (Forums) on Fri, 2011-04-01 15:21. :: Ubuntu

How To Set Up A Feng Office Suite Web Server On Ubuntu Server 10.10

This howto describes how to set up a local intranet web based office suite server (on Ubuntu 10.10 server) based on Feng Office which used to be OpenGoo. Feng Office has a range of groupware type products such as word processing, email, calendar, and presentations.

It doesnt yet have a spreadsheet nor does its calendar integrate with a calendar server. If these are features you would like to see then go to http://www.fengoffice.com/web/community/collaborate.php and tell them so.

Download and install Ubuntu server. Give the server a useful netbios name, e.g. fengserver. Using the space bar select LAMP server.

Write down the password you use for the MySQL root user - you'll need it later.

Create a user with password, e.g. fengadmin from the command line.

Go to the Internet directory:

cd /var/www

Download the latest version of FENG:

sudo wget http://downloads.sourceforge.net/project/opengoo/fengoffice/fengoffice_1.7.4/fengoffice_1.7.4.zip

Install the unzip package:

sudo apt-get install unzip

Unzip Feng:

sudo find . -name "feng*.zip" -exec unzip {} \;

Install PHP:

sudo apt-get install php5-gd mysql-server apache2 php5 php5-mysql

Give ownership of the unzipped folders to Apache:

sudo chown www-data:www-data /var/www/feng/feng_community/config
sudo chown www-data:www-data /var/www/feng/feng_community/cache
sudo chown www-data:www-data /var/www/feng/feng_community/upload
sudo chown www-data:www-data /var/www/feng/feng_community/tmp

Create the feng database in MySQL:

echo "create database fengdb" | mysql -u root -p

Enter your MySQL root password.

echo "create user 'fenguser'@'localhost' identified by 'fengsqlpassword'" | mysql -u root -p

Again, enter your MySQL root password.

echo "grant all on fengdb.* to 'fenguser'@'localhost'" | mysql -u root -p

Enter your MySQL root password again. Or in each case you can enter the password at the end of the line immediately after-p with no space. This then allows the process to be scripted if you like. Slightly less secure though given that your password will be visible in the script

Restart the webserver:

sudo /etc/init.d/apache2 restart

Go to the web site from another machine:

http://fengserver/feng_community/

For the MySQL database/host/username/password enter fengdb/localhost/fenguser/fengsqlpassword. Obviously enter a more secure password in place of each instance of fengsqlpassword here and above.

Create a feng admin username and password.

Go finish, add a new user with details and you're done.


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by E.T. Anderson (not registered) on Tue, 2011-04-05 16:22.

The find command seems excessively complicated. The command

sudo unzip *.zip

Would  do what you want, assuming there aren't a bunch of ZIP files in /var/www.

I would also be inclined to laziness and

sudo chown -R www-data:www-data /var/www

instead of giving a separate command for each sub-directory. This also has the advantage of chown-ing the files as well as the directories.

Finally, by piping the MySQL commands, don't you have to enter the MySQL root password each time? Wouldn't it be better to get the mysql prompt once (with mysql -u root -p), then enter the commands all together?

Submitted by mrpurple (registered user) on Thu, 2011-04-28 03:56.
Thanks for that. Ive made a couple of changes.
Submitted by E.T. Anderson (not registered) on Fri, 2011-05-06 23:06.

I must have worded my comment poorly.

It does indeed seem less secure to include the MySQL password after the -p option. What I was thinking of was to get to the MySQL prompt, then enter the commands.

That would be

 mysql -u root -p

 Which will prompt for the MySQL root password. Once you're in the MySQL prompt ( mysql> ), you can enter the SQL commands one after the other

create database fengdb;
create user 'fenguser'@'localhost' identified by 'fengsqlpassword';
grant all on fengdb.* to 'fenguser'@'localhost';
quit;

without needing pipes and without needing to enter the password multiple times or include it in insecure scripts.