X
    Categories: Tutorials

How to Install Simple Machines 2 Forum Software on a Debian VPS with Nginx

Simple Machines forum is one of the best open source forum platforms available on the Internet powered by PHP and MySQL.

In this step-by-step tutorial, we will show you how to easily install Simple Machines 2 forum on your Debian based virtual server.

 

At the time of writing this tutorial, the latest stable version is Simple Machines 2.0.7 and it requires:

  •     PHP 5.2 or higher (the php5-fpm package is required for Nginx servers) with BCMath and GD Graphics Library 2.0 or higher enabled. Also, file_uploads option should be enabled and safe mode, register globals and magic quotes settings should be disabled;
  •     MySQL 5.0 or higher installed on your Linux virtual server.

If you have Apache installed on your server, stop the Apache service and remove Apache packages:

/etc/init.d/apache2 stop
apt-get remove apache2*

In order to install Nginx, PHP-FPM and MySQL on your Debian VPS, execute the following command:

apt-get install nginx php5-fpm php5-cli php5-mysql php5-mcrypt php5-gd mysql-client-5.5 mysql-server-5.5 mysql-server-core-5.5

Download Simple Machines 2 available at http://download.simplemachines.org/ to the server and extract it using the following commands:

cd /root
wget http://download.simplemachines.org/index.php/smf_2-0-7_install.tar.bz2
mkdir -p /var/www/{your-domain.com,your-domain.com/forum}
tar -xvf smf_2-0-7_install.tar.bz2 -C /var/www/your-domain.com/forum

Create a new MySQL database for Simple Machines on your server:

mysql -u root -p
mysql> CREATE DATABASE smf2db;
mysql> GRANT ALL PRIVILEGES ON smf2db.* TO 'smf2user'@'localhost' IDENTIFIED BY 'your-password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> quit

Locate the PHP configuration file using the following command:

php5-fpm -i | grep php.ini
Configuration File (php.ini) Path => /etc/php5/fpm
Loaded Configuration File => /etc/php5/fpm/php.ini

Edit the /etc/php5/fpm/php.ini configuration file using the following command:

vi /etc/php5/fpm/php.ini

and add/modify the following lines:

memory_limit = 128M
cgi.fix_pathinfo = 0
file_uploads = On
max_input_time = 60
max_execution_time = 60
register_globals = Off
safe_mode = Off
session.use_trans_sid = 0
magic_quotes_sybase = Off

Execute the following command:

/etc/init.d/php5-fpm restart

Create a new Nginx configuration file:

vi /etc/nginx/sites-available/your-domain.com

and add the following lines:

server {
	listen 80;
	server_name your-domain.com;
	root /var/www/your-domain.com/forum/;
	index index.php index.html;
	access_log /var/log/nginx/your-domain.com-access.log;
	error_log /var/log/nginx/your-domain.com-error.log;
location ~ \.php {
	fastcgi_index index.php;
	fastcgi_split_path_info ^(.+\.php)(.*)$;
	include /etc/nginx/fastcgi_params;
	fastcgi_pass unix:/var/run/php5-fpm.sock;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}
}

Create a symbolic link using the following command:

ln -s /etc/nginx/sites-available/your-domain.com /etc/nginx/sites-enabled/your-domain.com

and restart the Nginx web server for the changes to take effect:

/etc/init.d/nginx restart

The webserver user (www-data) needs to be able to write to ‘attachments’, ‘avatars’, ‘cache’, ‘Packages’, ‘installed.list’, ‘Smileys’ and ‘Themes’ directories and ‘agreement.txt’, ‘Settings.php’, ‘Settings_bak.php’ files so you can easily accomplish that by executing the following command:

chown www-data:www-data -R /var/www/your-domain.com/

Open http://your-domain.com/install.php in your favorite web browser and follow the easy instructions. Once the installation is complete, it is recommended to delete the ‘install.php’ script from your server:

rm -rf /var/www/your-domain.com/forum/install.php

If you want to to customize the look and feel of your forum there are many themes available for download at http://custom.simplemachines.org/themes/ . Also, there are various mods available at http://custom.simplemachines.org/mods/ , such as ‘SMF Secure Login’, ‘Advanced Visual Verification’, ‘BotScout’, ‘Delete Spam Posts’ etc.

Of course you don’t have to do any of this if you use one of our Linux VPS Hosting services, in which case you can simply ask our expert Linux admins to install Simple Machines 2 forum software for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

 

View Comments

  • Just one little thing missing from your otherwise excellent instructions... you need to add "php5-mysql" to the list of apt-get packages. (verified on a nearly 100% vanilla Ubuntu 14.04 install). Otherwise, nice writeup. I like following instructions with the same "get in. get out." mentality. These were perfect. Peace.