This section describes the process of installing FUDforum on a webserver.
Before proceeding with the installation process, it is recommended that you determine that you have all of the software needed for the operation of FUDforum:
If you find that the software on your server is older than the version needed for proper installation of FUDforum, you can download the needed programs from the web, the URLs are listed below. MySQL, PostgreSQL, SQLite and PHP are Open Source and you can download and use them for free, without paying any fees regardless of whether you use them for commercial or personal use. Oracle also provides a free version of their database called Oracle XE (although not open source), that can be used for installing FUDforum.
To test your PHP setup is pretty simple, create a file called test.php in your web browseable directory into which put the following contents:
<?php phpinfo(); ?>
If your PHP is installed correctly this will provide a full page of diagnostic information. If you do not get the diagnostic information your PHP is misconfigured and is not working. If you are running your own web server consider installing PHP (resources at http://www.php.net), if you are using a hosting provider ask them to install PHP, or consider switching to provider that does offer PHP.
Once you get the phpinfo page, things to look for are:
MySQL is one of the database back ends that can be used. A proper MySQL setup is critical to fast performance of the forum. If you do not have MySQL installed, get it from http://www.mysql.com. MySQL is free software released under the GPL licence.
First check your version of MySQL, this can be accomplished in a number of ways, I'll show two.
METHOD 1: Using the MySQL command line client connect to MySQL.
$ mysql -uUSER_NAME -pPASSWORD
You should should get a prompt like
at the prompt and press enter. You should get a version number that looks something like
mysql> select VERSION(); +-----------+ | VERSION() | +-----------+ | 4.1.2 | +-----------+
METHOD 2: Checking with PHP
The second way to check involves using PHP, again it's quite simple. Just make a version.php file in your web browseable directory and put the following text into it:
<?php mysql_connect("YOUR_SERVER_ADDRESS", "USER_NAME", "PASSWORD"); $result = mysql_query("SELECT VERSION()"); list($mysql_version) = mysql_fetch_row($result); echo "MySQL Version: ".$mysql_version."<br />\n"; ?>
If your MySQL version is lower than 4.1.2, you need to upgrade to a later release.
FUDforum supports Oracle 9i and higher database releases (older versions might work as well, but will not be supported).
You need to install a local Oracle database on your system (Oracle XE works well). Alternatively, install Oracle's Instant Client Software on your system (a free download from Oracle's TechNet website). Ensure you can connect to the database before attempting to install FUDforum.
Create a version.php file in your web browseable directory and put the following text into it:
<?php $conn = pg_connect("host=localhost user=USER_NAME password=PASSWORD"); $result = pg_query($conn, "SELECT VERSION()"); list($pg_version) = pg_fetch_row($result); echo "PostgreSQL Version: ".$pg_version."<br>\n"; pg_free_result($result); ?>
If the script works, you should have no problem installing FUDforum on PostgreSQL.
Chose between the following methods to obtain the necessary files to install FUDforum.
The FUDforum installer can be downloaded from https://sourceforge.net/projects/fudforum/files/. This page will always contain the latest stable version of FUDforum as well as the latest development version if you want to test new features.
You will need a unzip utility to unpack the files. Unzip utilities (like WinZip) are readily available and you should not have any problems decompressing the install script on your system.
Unzip and copy the install.php and fudforum_archive to where you need to install the forum (if not there already).
This is how to build your own install script (only for advanced users). You'll need to obtain FUDforum sources from SVN (subversion). For example:
Checkout FUDforum from SVN:
svn co https://fudforum.svn.sourceforge.net/svnroot/fudforum/trunk fudforum
Once the files are retrieved, run the following commands to generate the file archive:
cd fudforum chmod 755 create_file_archive ./create_file_archive install 1 >> fudforum_archive
Copy the install.php and fudforum_archive to where you need to install the forum.
Note: You will need to have a php binary installed on your system in order to generate the fudforum_archive file. If you already have a php binary in your system, but it is not inside /usr/bin/php, modify the 1st line inside the create_file_archive script to reflect the proper path of the php binary on your system.
Note: If you want a smaller archive and have php compiled with the zlib module, you can pass a 2nd argument to the create_file_archive script, which would compress the archive file. This will result in a file that is approximately 1/3 the size.
Now that you have the FUDforum installation files, install.php and fudforum_archive, copy them into a web browseable directory. It is recommended to copy the files into the web directory where you intend to install the forum.
Choose getween GUI and command line installation.
To begin the installation of the forum, use your browser to access the install.php file.
Once you've accessed the script, you will see the welcome page of the installation wizard, which consists of five steps:
During the 1st step of the FUDforum installation, you get the opportunity to specify where you want the forum's files to be installed, as well as the URL of the forum. The install script will automatically put some default values for the options asked, you can use those values, or you can change them.
|IMPORTANT: If your PHP has safe_mode enabled (unlikely as the PHP team is busy desupported it), you'll see an indicator that it is enabled in red on top of the install wizard. If safe_mode is enabled, you CAN NOT specify the directory where you've placed install.php as Server Root or Forum Data Root.|
The Web Directory field allows you to specify the directory path where the forum's browseable files will be stored on your server's hard-drive. You will need to specify the full path to the directory. For example:
*NIX: /home/user/public_html/forum/ Windows: c:\\web\\my website\\forum\\
You need to enter \\ as directory separator on Windows because normally, \ is interpreted as an escape character. Since PHP is smart enough to convert / to \ internally, on Windows, you may want to use / as the directory separator and save yourself the hassle of having to deal with \\.
This is the location on your server's hard-drive where the forum's data files will be stored. It is highly recommended not to keep this directory inside a web browseable directory, since sensitive files such as messages bodies will be stored in it. For example:
*NIX: /home/user/public_html/forum/ Windows: c:\\web\\my website\\forum\\
Securing directory with .htaccess
<Location /> Order Deny,Allow Deny from all </Location>
The directories that you have specified as Forum Data Root and Server Root must exist and the webserver must have the permission to write to those directories before you click on the next link on the install wizard.
On *NIX systems there are several ways you can assign proper permissions to the directories you intend to use. The simplest method is to run command chmod 777 /home/user/directory in your shell account.
If you do not not have a shell account you can assign proper permissions to a directory by using your FTP client.
Changing permissions with CuteFTP:
Changing permissions with WS_FTP:
Enter the URL to your forum. When the forum is installed, visitors will be able to access it by going to this URL. Any files places inside Server Root should be accessible by going to this URL. For example, if you install FUDforum in /dir/html/myforum, your WWW_ROOT should be http://server:port/myforum/.
Turn off this check if you are getting errors pertaining to the Forum URL not matching the Web Directory and are certain that the paths indicated are correct (not recommended!)
Once you've entered all the values, click on the next link to proceed to step #2 of the installation.
Now that the forum's files were successfully decompressed, you will now need to specify the database settings for your forum.
Which database system to use to store the forum's data, MySQL or PostgreSQL.
This is the IP address or a UNIX domain socket that will be used to connect to the database server you intend to use.
Note: For optimal performance, we recommend using UNIX domain sockets.
Login name for your database account.
Password for your database account.
The name of the database, where the forum's data will be stored.
FUDforum SQL Table Prefix:
A alphanumeric string that will be prepended to all FUDforum's table names. This is done to prevent conflicts with your existing tables, which may share same names as the tables used by FUDforum. As well as allow you to install multiple forums into a single SQL database by specifying a different prefix.
By default, this option has a value of "fud30_", if you are not sure, leave this value as is.
In order for the cookie to be set properly, it needs to have a correct domain specified for which you are sending a cookie. The installation script automatically figures out the most optimal cookie domain based on the URL you've entered in step #1.
If you decide to change this value make sure the domain has no less than two dots (2 x '.') in it, for example:
This is necessary because many browsers will not accept a cookie unless the domain has at least 2 dots in it.
Due to the nature of cookies, cookies cannot be set for IP address' or domains without any dot's in them. In this case, the forum will revert to using URL based sessions to keep track of users. The downside of this, is that after certain period of inactivity, usually 30 minutes, the session will expire and the user will be required to re-login.
In this step you get to choose the language and template set that your forum will use.
Select appropriate values from the list of available languages and template sets or accept the defaults.
These setting are not permanent, and if you so desire, you will be able to change it later once the forum has been installed from the Theme Manager.
The last step of the installer involves the creation of the first administrator account. You will need to enter the administrator's login name, password and the email address into the specified text boxes. For best security, do not use easily guessable login names like "admin" or "administrator".
You will be able to add additional administrators once the forum is installed.
The forum installation has now been completed, if you click on the next button you will be taken to a login form that will allow you to login into the administrator account you've created on step #5
It is of critical importance that you remove the install.php file once the installation process has been completed. Otherwise someone could re-install over the forum you have created.
Starting from FUDforum 3.0.2 the installer can also run in command line mode. This allows hosts and experienced users to perform repeated and/or automated FUDforum installations.
You can run the installer on the command line in interactive or automated mode. For automated installation, create file called install.ini (fud_config.ini in older releases) with the below settings. If this file is not present, or some setting are missing, the script will interactively prompt for them:
; Settings for command line installer WWW_ROOT = "http://127.0.0.1:8080/forum/" SERVER_ROOT = "/home/lampstack/apache2/htdocs/forum/" SERVER_DATA_ROOT = "/home/lampstack/apache2/htdocs/forum/" DBHOST = DBHOST_USER = root DBHOST_PASSWORD = dbpassword DBHOST_DBNAME = fudforum DBHOST_TBL_PREFIX = fud30_ DBHOST_DBTYPE = mysql COOKIE_DOMAIN = 127.0.0.1 LANGUAGE = en TEMPLATE = default ROOT_LOGIN = admin ROOT_PASS = admin ADMIN_EMAIL = "email@example.com"
To start the command line installer, run:
Remove the installer, etc.
sudo rm install.php sudo rm uninstall.php sudo rm upgrade.php sudo rm fudforum_archive sudo rm install-final.php
Make the files accessible by apache:
sudo chown -R apache /home/lampstack/apache2/htdocs/forum/
Now you can access it at http://127.0.0.1:8080/forum/