Noosfero is an open-source web platform that allows you to create and manage social networks, online communities, and other web-related collaborative tools. This tutorial will guide you through the process of installing Noosfero on a Debian server.
Before we begin, you will need to have the following items:
Install required packages:
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install build-essential git redis-server postgresql postgresql-server-dev-all imagemagick libmagickcore-dev libmagickwand-dev libxslt-dev libxml2-dev libpq-dev libsqlite3-dev nodejs sqlite3
Download the Noosfero source code:
$ git clone https://gitlab.com/noosfero/noosfero.git
Install bundler:
$ gem install bundler
Install Noosfero's dependencies:
$ cd noosfero
$ bundle install
Create and configure the database:
$ cp config/database.yml.example config/database.yml
Configure the PostgreSQL database:
$ sudo -u postgres createuser noosfero --no-createdb --no-superuser --login --no-inherit --encrypted --pwprompt
$ sudo -u postgres createdb -O noosfero noosfero_production
Create the database schema:
$ RAILS_ENV=production bundle exec rake db:create
$ RAILS_ENV=production bundle exec rake db:migrate
$ RAILS_ENV=production bundle exec rake db:seed
Set up Apache HTTP server:
$ sudo apt-get install apache2 libapache2-mod-passenger
$ sudo a2enmod rewrite
Create a Noosfero virtual host:
Step 1: Create a new file noosfero.conf in /etc/apache2/sites-available. Paste the following configuration into it:
<VirtualHost *:80>
# Use your domain instead of <domain-name>
ServerName <domain-name>
DocumentRoot /path/to/noosfero/public
# Configure Apache to use Passenger
PassengerEnabled On
PassengerAppEnv production
PassengerAppRoot /path/to/noosfero
PassengerRuby /usr/bin/ruby
<Directory /path/to/noosfero/public>
AllowOverride all
Options -MultiViews
</Directory>
# Log configuration
ErrorLog ${APACHE_LOG_DIR}/noosfero_error.log
CustomLog ${APACHE_LOG_DIR}/noosfero_access.log combined
# SSL configuration (Optional)
# SSLCertificateFile /path/to/ssl.crt
# SSLCertificateKeyFile /path/to/ssl.key
# SSLCertificateChainFile /path/to/ssl_chain.crt
</VirtualHost>
Step 2: Enable the Noosfero virtual host by running:
$ sudo a2ensite noosfero
Restart Apache HTTP server:
$ sudo service apache2 restart
Access Noosfero in your web browser:
Open your web browser and navigate to http://
Congratulations, you have successfully installed Noosfero on your Debian server! You can now customize and configure Noosfero by logging in as an administrator through the UI interface. Good luck with your new social network platform!
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!