Thursday, June 18, 2015

The top 10 open source forum/bulletin/discussion software

The forum software is needed to build a discussion platform. There are many forum software which can be get freely on internet. Here I am going to list out some of 10 best forum software which you can be able to put it on your website.

1. Discourse: Discourse is an open source Internet forum software application founded in 2013 by Jeff Atwood, Robin Ward, and Sam Saffron. Discourse received funding from First Round Capital and Greylock.[3]
From a usability perspective, Discourse breaks with existing forum software by including features recently popularized by large social networks, such as infinite scrolling, live updates, oneboxing, expanding links, and drag and drop attachments.[4] However, the stated goals of the project are social rather than technical, to improve online discussion quality through improved forum software.
The application is written in JavaScript and Ruby on Rails,[5] and is released under the GNU General Public License version 2. PostgreSQL is the supported database management system. It also uses the Ember.js framework . Discourse Demo


2. Askbot: Askbot is an - open source Q&A system, like StackOverflow, Yahoo Answers and some others. Askbot is based on code of CNPROG, originally created by Mike Chen and Sailing Cai and some code written for OSQA. Askbot Demo


3. Shapado: Shapado is a questions and answers site for your enterprise or community, your “knowledge base on the cloud”. It makes sure questions never get asked twice by making the information flow. Shapado Demo


4. OSQA: OSQA is a free, entry-level Q&A system from the makers of AnswerHub, the market-leading professional Q&A platform. OSQA is a great solution for smaller sites with limited needs. Professional users who want custom theming, advanced security, SSO integration or plugin support should look at AnswerHub instead. OSQA Demo


5. Question2Answer: A Q&A site helps your online community to share knowledge. People with questions get the answers they need. The community is enriched by commenting, voting, notifications, points and rankings. Question2Answer Demo
6. NodeBB: A better forum platform for the modern web.The next generation forum software that's free and easy to use. NodeBB Demo


6. PHPBB: phpBB is free and open source forum software that is easy to use, powerful, and highly customisable. Our community offers extensive support to end users. PHPBB Demo


7. Vanilla Forum: Vanilla is a powerfully simple discussion forum you can easily customize to make as unique as your community.Vanilla Forum  Demo


8. MyBB: MyBB is a free and open source, community-based forum software project run by volunteers. And while MyBB is free for you, running the project is not. Support the MyBB project in any way you can and we'll keep building the best forum software possible. MyBB  Demo


9. PunBB: PunBB is a fast and lightweight PHP-powered discussion board. It is released under the GNU General Public License. PunBB  Demo


10.  Simple Machine Forum: Simple Machines Forum — SMF in short — is a free, professional grade software package that allows you to set up your own online community within minutes. SMF  Demo



Install Node.js on an Ubuntu 14.04 Physical server

Introduction

Node.js is a Javascript platform for server-side programming that allows users to build network applications quickly. By leveraging Javascript on both the front-end and the back-end, development can be more consistent and be designed within the same system.
In this guide, we'll show you how to get started with Node.js on an Ubuntu 14.04 LTS Physical server.

How To Install the Distro-Stable Version

Ubuntu 14.04 contains a version of Node.js in its default repositories that can be used to easily provide a consistent experience across multiple servers. The version in the repositories is 0.10.25. This will not be the latest version, but it should be quite stable.
In order to get this version, we just have to use the apt package manager. We should refresh our local package index prior and then install from the repositories:

sudo apt-get update
sudo apt-get install nodejs
 
If the package in the repositories suits your needs, this is all that you need to do to get set up with Node.js. In most cases, you'll also want to also install npm, which is the Node.js package manager. You can do this by typing:

sudo apt-get install npm
 
This will allow you to easily install modules and packages to use with Node.js.
Because of a conflict with another package, the executable from the Ubuntu repositories is called nodejs instead of node. Keep this in mind as you are running software.
Below, we'll discuss some more flexible methods of installation.

How To Install Using a PPA

An alternative that can get you a more recent version of Node.js is to add a PPA (personal package archive) maintained by NodeSource. This will probably have more up-to-date versions of Node.js than the official Ubuntu repositories.
First, you need to install the PPA in order to get access to its contents:

curl -sL https://deb.nodesource.com/setup | sudo bash -
 
The PPA will be added to your configuration and your local package cache will be updated automatically. After running the setup script from nodesource, you can install the Node.js package in the same way that you did above:

sudo apt-get install nodejs
 
The nodejs package contains the nodejs binary as well as npm, so you don't need to install npm separately. However, in order for some npm packages to work (such as those that require building from source), you will need to install the build-essentials package:

sudo apt-get install build-essential

How To Install Using NVM

An alternative to installing Node.js through apt is to use a specially designed tool called nvm, which stands for "Node.js version manager".
Using nvm, you can install multiple, self-contained versions of Node.js which will allow you to control your environment easier. It will give you on-demand access to the newest versions of Node.js, but will also allow you to target previous releases that your app may depend on.
To start off, we'll need to get the software packages from our Ubuntu repositories that will allow us to build source packages. The nvm script will leverage these tools to build the necessary components:

sudo apt-get update
sudo apt-get install build-essential libssl-dev
 
Once the prerequisite packages are installed, you can pull down the nvm installation script from the project's GitHub page. The version number may be different, but in general, you can download and install it with the following syntax:

curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh
 
This will download the script and run it. It will install the software into a subdirectory of your home directory at ~/.nvm. It will also add the necessary lines to your ~/.profile file to use the file.
To gain access to the nvm functionality, you'll need to log out and log back in again, or you can source the ~/.profile file so that your current session knows about the changes:

source ~/.profile
 
Now that you have nvm installed, you can install isolated Node.js versions.
To find out the versions of Node.js that are available for installation, you can type:
nvm ls-remote
. . .
 v0.11.6
 v0.11.7
 v0.11.8
 v0.11.9
v0.11.10
v0.11.11
v0.11.12
v0.11.13
As you can see, the newest version at the time of this writing is v0.11.13. You can install that by typing:

nvm install 0.11.13
 
Usually, nvm will switch to use the most recently installed version. You can explicitly tell nvm to use the version we just downloaded by typing:

nvm use 0.11.13
 
When you install Node.js using nvm, the executable is called node. You can see the version currently being used by the shell by typing:

node -v
v.0.11.13
 
If you have multiple Node.js versions, you can see what is installed by typing:

nvm ls
 
If you wish to default one of the versions, you can type:

nvm alias default 0.11.13
 
This version will be automatically selected when a new session spawns. You can also reference it by the alias like this:
 
nvm use default
 
Each version of Node.js will keep track of its own packages and has npm available to manage these.
You can have npm install packages to the Node.js project's ./node_modules directory by using the normal format:

npm install express 
 
If you'd like to install it globally (available to the other projects using the same Node.js version), you can add the -g flag:

npm install -g express 
 
This will install the package in:

~/.nvm/node_version/lib/node_modules/package_name 
 
Installing globally will let you run the commands from the command line, but you'll have to use link the package into your local sphere to require it from within a program:

npm link express 
 
You can learn more about the options available to you with nvm by typing:

nvm help

Installing ghost on a Ubuntu 14.04 LTS Physical Server

Ghost is a blogging platform based on nodejs platform. Due to its efficient and open source software it has a very much popularity and acceptance among users. Ghost is very easy to install on cloud platform like Openshift and Amazone AWS.

Here I am going to show you how to install ghost 1.6 on a Ubuntu physical server.
If you want to self-host Ghost, it is most common to this on Linux. This guide documents the basic install steps
This guide assumes that you have access to a linux server such as a VPS via a command line interface (terminal window) and that you know the IP address of your server, which we’ll refer to from here on as <your-ip-address>. Each step details a command to run on the command line.

Install Node

Note:Ghost requires Node.js 0.10.x (not 0.12.x). We recommend Node.js 0.10.36 & npm 2.5.0.
  • Most linux distros have a package manager, see the Node.js guide for details on installing node via various package managers or alternatively it is possible to download the .tar.gz archive from http://nodejs.org
  • Double check that you have Node and npm installed and that you have the right version, by typing node -v and npm -v into a terminal window and comparing with the blue box above.
  • In the ubuntu system nodejs can be installed by simply typing in the terminal apt-get install npm

Install Ghost

  1. Grab the latest version of Ghost from Ghost.org: $ curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
  2. Unzip Ghost into the folder /var/www/ghost (recommended install location):
    $ unzip -uo ghost.zip -d /var/www/ghost
    Note: You may additionally need to create the /var/www/ directory with the command mkdir /var/www/, or install the unzip package following the instructions for your linux distro)
  3. Move to the new ghost directory, and install Ghost (production dependencies only):
    $ cd /var/www/ghost && npm install --production
When this completes, Ghost is installed!

Starting Ghost

To start Ghost (production environment), run
$ npm start --production
Ghost will now be running on the default ip/port 127.0.0.1:2368.
  • Visit http://<your-ip-address>:2368 to see your newly setup Ghost blog
  • Visit http://<your-ip-address>:2368/ghost and create your admin user to login to the Ghost admin

Installing Discourse on Ubuntu 14.04 LTS Physical Server

Discourse is an Open Source software which can be able to use as a discussion platform, a mailing list or a questions to answers forum. Discourse is very popular and is created by the co founders of stackexchange.com.

The discourse software has the following features


100% Open Source Incorporate Discourse into your site with complete confidence – the code belongs to everyone. Trust System As members become trusted regulars over time, they earn abilities to help maintain their community.
Mobile and Tablet Designed for touch devices from day one. Automatic mobile and touch layouts that scale to fit your device. Community Moderation Flagging system lets the community suppress spam and dangerous content, and amicably resolve disputes on their own.
Optimized for Reading To keep reading, just keep scrolling. When you reach the bottom, suggested topics keep you reading. Likes Express agreement, support, and highlight interesting posts with the prominent ❤ button on every post.
Summarize Topics Use the Summarize button to condense long topics to just the most interesting and popular posts. Inline Context Expand quotes, expand replies, or expand what this was in reply to.
Translations Translations are available for 17 languages and counting. Users can switch to the language of their choice as a preference. Real Time Notifications Know when someone replies to you, quotes you, mentions your @name, sends you a private message, links to your post, edits your post, or recategorizes your topic.
SEO Friendly, human readable URLs and clean HTML. Optimized for Google indexing and searching. Plugins If you need custom functionality unique to your site, take advantage of our plugin support.
Single Sign On Seamlessly integrate Discourse with your existing site's login system with easy, robust single sign on. Overlay Editor Compose with an overlay editor which never interrupts your reading – even if you navigate to a different topic.
Social Login Easily add Google, Facebook, Twitter, Yahoo, GitHub, and other common social logins. Private Spaces Make your entire site private, or just certain categories. Approve all new users, or make your site invite-only.
Blog Integration Use our WordPress plugin to integrate a Discourse community into your blog. Or embed Discourse into static HTML sites. One Click Upgrades Automatic notification of new versions in the dashboard, with a one-click web upgrade process.
Anonymous Posting Enable anonymous posting mode and your users can easily switch to anonymous mode to post about controversial, dangerous, or political issues without fear. User metrics Public user directory that shows read time, posts, likes, and other common metrics. Know who your most avid users are!
Desktop Notifications Integration with desktop notifications built into modern browsers, so you know when new posts arrive on your laptop or desktop. Post Approval For sites with sensitive content, enable approval to have staff approve all posts by new users in a handy queue.
Spam Blocking Comprehensive spam blocking heuristics including new user sandboxing, user flag blocking, and standard nofollow. Built in Akismet spam protection. Analytics Dashboard for staff that shows key stats on users, topics, and all user actions – along with top referring domains and topics.
Automatic URL Embedding URLs to popular websites like Wikipedia and YouTube will include an inline summary. We fully support OpenGraph and oEmbed. Advanced Image Handling Add images through upload, drag and drop, or copy and paste. Large images automatically thumbnailed and lightboxed.
File Attachments Include arbitrary file attachments of any allowed file type or file size in your posts. Link Tracking External links are shown with a visible click counter. Incoming and outgoing links to other topics are displayed next to each post.
Polls Create quick poll topics for the community to vote on. Spoilers Tags that hide potential spoilers, revealing only on click or tap.
Flexible Formatting Mix and match Markdown, BBCode, and HTML formatting in posts. Emoji Just start typing : and you have access to the complete list of standard emoji. Choose from four Emoji sets, or define your own custom Emoji.
Comprehensive API Anything you see on screen, you can also do via an API call. Discourse itself is a JavaScript app that talks to our API. Local Avatars Built-in local avatar generation with no external dependencies. Alternately, select an existing Gravatar, or upload a custom avatar.
Email Invitations Trusted users can invite friends via email to join and reply with a single click. Admins can batch invite users by uploading email addresses. Automatic Drafts We auto-save replies and topics to the server in the background as you type.
Revision History Revision tracking on every edit, with a visual difference highlighter to show changes. Wiki Posts Mark posts as collaboratively editable by any trusted member of the community.
Badges Encourage positive community behaviors through the included set of badges, or add your own custom badges. Email Notifications When you aren't active on the website, your notifications will be automatically sent to you via email.
Email Replies Reply to email notifications to post without visiting the website. Inline Moderation Fast inline controls to split, merge, close, archive, or recategorize topics. Select groups of topics to act on.
Flag Queue Highly visible moderator flag queue with optional email notification. One click to agree, disagree, or defer flags. Complete history. Site-Wide Notifications Pin topics locally or globally. Banner a topic to have it appear as a dismissable banner for all users. Add a permanent alert for urgent situations.
Mailing List Support Opt into a special mode where all messages are sent to you via email, exactly like a mailing list. Start new topics via email. Community Hub Official community support hub at meta.discourse to discuss features, bugs, and support requests.
Private Messaging Send private messages to a single user or to groups of users. Web Backup and Restore Backup and restore all your site data from your browser. Take your data to any host, anywhere, in a few clicks.
Automated Backups Automatically back up your site data every day, either to the local filesystem, or to the cloud. CDN Support Easily plug in any CDN provider to speed up global access to your site.
Here I am going to show you how to install this great software on a bare metal Ubuntu 14.04 LTS physical server.

Server Configuration

  • Enter your hostname discourse.example.com as the name.
  • The default of 1 GB RAM works fine for small Discourse communities. We do recommend 2 GB RAM for medium communities.
  • The default of Ubuntu 14.04 LTS x64 works fine. At minimum, a 64-bit Linux OS with a kernel version of 3.10+ is required.
  • The default of New York is a good choice for most US and European audiences. Or select a region that is geographically closer to your audience.

Access Your Ubuntu Server

Connect to your Server via SSH, or use Putty on Windows if you are accessing from network else go to that server and login:
ssh root@192.168.1.1
Replace 192.168.1.1 with the IP address of your Droplet.

You will be asked for permission to connect, type yes.
Login to root user by typing sudo su and enter the password if asked. Change the password if required by typing passwd for root

Set up Swap (if needed)

  • If you're using the minimum 1 GB install, you must set up a swap file.
  • If you're using 2 GB+ memory, you can probably get by without a swap file.

Install Docker / Git

wget -qO- https://get.docker.com/ | sh

Install Discourse

Create a /var/discourse folder, clone the Official Discourse Docker Image into it, and make a copy of the config file as app.yml:
mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
cp samples/standalone.yml containers/app.yml

Edit Discourse Configuration

Edit the Discourse configuration at app.yml:
nano containers/app.yml
We recommend Nano because it works like a typical GUI text editor, just use your arrow keys.
  • Set DISCOURSE_DEVELOPER_EMAILS to your email address.
  • Set DISCOURSE_HOSTNAME to discourse.example.com, this means you want your Discourse available at http://discourse.example.com/. You'll need to update the DNS A record for this domain with the IP address of your server.
  • Place your mail credentials in DISCOURSE_SMTP_ADDRESS, DISCOURSE_SMTP_PORT, DISCOURSE_SMTP_USER_NAME, DISCOURSE_SMTP_PASSWORD. Be sure you remove the comment # character and space from the front of these lines as necessary.
  • If you are using a 1 GB instance, set UNICORN_WORKERS to 2 and db_shared_buffers to 128MB so you have more memory room.

After completing your edits, press CtrlO then Enter to save and CtrlX to exit.

Email Is Important

Email is CRITICAL for account creation and notifications in Discourse. If you do not properly configure email before bootstrapping YOU WILL HAVE A BROKEN SITE!
  • Already have a mail server? Great. Use your existing mail server credentials.
  • No existing mail server, or you don't know what it is? No problem, create a free account on Mandrill (or Mailgun, or Mailjet), and use the credentials provided in the dashboard.
  • For proper email deliverability, you must set the SPF and DKIM records in your DNS. In Mandrill, that's under Sending Domains, View DKIM/SPF setup instructions.

Bootstrap Discourse

Save the app.yml file, and begin bootstrapping Discourse:
./launcher bootstrap app
This command takes about 8 minutes. It is automagically configuring your Discourse environment.
After that completes, start Discourse:
./launcher start app

Congratulations! You now have your own instance of Discourse!
It should be accessible via the domain name discourse.example.com you entered earlier, provided you configured DNS. If not, you can also visit the server IP directly, e.g. http://192.168.1.1. or http://localhost

Register New Account and Become Admin

There is a reminder at the top about DISCOURSE_DEVELOPER_EMAILS; register a new account via one of those email addresses, and your account will automatically be made an Admin.
(If you don't get any email from your install, and are unable to register a new admin account, please see our Email Troubleshooting checklist.)

You should see Staff topics and the Admin Quick Start Guide. It contains the next steps for further configuring and customizing your Discourse install.
(If you are still unable to register a new admin account via email, see Create Admin Account from Console, but please note that you will have a broken site unless you get email working on your instance.)

Post-Install Maintenance

We strongly suggest you:
  • turn on automatic security updates via the dpkg-reconfigure -plow unattended-upgrades command
  • enable stronger passwords via the apt-get install libpam-cracklib package
To upgrade Discourse to the latest version, visit /admin/upgrade and follow the instructions.
The launcher command in the /var/discourse folder can be used for various kinds of maintenance:
Usage: launcher COMMAND CONFIG [--skip-prereqs]
Commands:
    start:      Start/initialize a container
    stop:       Stop a running container
    restart:    Restart a container
    destroy:    Stop and remove a container
    enter:      Use nsenter to enter a container
    ssh:        Start a bash shell in a running container
    logs:       Docker logs for container
    mailtest:   Test the mail settings in a container
    bootstrap:  Bootstrap a container for the config based on a template
    rebuild:    Rebuild a container (destroy old, bootstrap, start new)
    cleanup:    Remove all containers that have stopped for > 24 hours

Options:
    --skip-prereqs   Don't check prerequisites
    --docker-args    Extra arguments to pass when running docker

Add More Discourse Features

Do you want...
If anything needs to be improved in this guide, feel free to ask on meta.discourse.org, or even better, submit a pull request.

Monday, June 1, 2015

Reserve your free upgrade to Windows 10 from Windows 7

The Windows 10 will be available for Upgrade from Windows 7, Windows 8 or Windows 8.1 customers. You will be getting a notification in the notification bar for reserving your free upgrade to Windows 10.


Click on the Windows 10 button on the right bottom bar of of Windows 7 to reserve for Windows 10 free upgrade.

A window will be appear for entering email address. The notification will be coming on 29 July 2015 i.e., at the time of Windows 10 release date.


Click on the Reserve your free upgrade to register for Windows 10 free upgrade.

Sunday, February 8, 2015

Installing Mail functionality in the openshift by using PEAR

Openshift provides applications to host freely on the cloud. PHP is a very popular web programming language. Openshift also supports PHP.

In the openshift delivering mail by default not there. You have to put/install it explicitly by using pear.

Here I am going to show you where should you put pear packages so that it will installed during your building of PHP project on openshift.

When you create app by using rhc app create it will automatically create a app folder. Go to that folder and you will find .openshift

Inside the .openshift folder you find a pear folder. It will be empty by default. Create a deplist.txt and you can be able to put your pear packages. To add Mail just add Mail in the deplist.txt and save it.

When you git push your project your project will have mail functionality.


Tuesday, January 27, 2015

Find, Move, Search, Replace, Copy and Do everything using a single command ncdu in Linux/Unix

It is very efficient to use command line in Linux/Unix for many operations like Copying, Moving, Removing and Searching in Linux.

NCDU stands for ncdu (NCurses Disk Usage)

Its utility is as follows

ncdu <options> <directory>

  -h                         This help message
  -q                         Quiet mode, refresh interval 2 seconds
  -v                         Print version
  -x                         Same filesystem
  -r                         Read only
  -o FILE                    Export scanned directory to FILE
  -f FILE                    Import scanned directory from FILE
  -0,-1,-2                   UI to use when scanning (0=none,2=full ncurses)
  --exclude PATTERN          Exclude files that match PATTERN
  -X, --exclude-from FILE    Exclude files that match any pattern in FILE
  --exclude-caches           Exclude directories containing CACHEDIR.TAG 
  
 
 
To install ncdu in Ubuntu
#apt-get install ncdu

To use just type ncdu in the command terminal

#ncdu


You can be able to do operation on files and folders


To delete just select the file/folder by going up and down arrow and just pressing the d.