From Online Manual
- 1 Create a Database
- 2 Get SMF
- 3 Extract the SMF Archive and Upload the Files to Your Website
- 4 Set File and Directory Permissions
- 5 Run the Installer
- 6 Tidy Up
Installing an SMF forum is very simple! It can be done in six quick and simple steps.
It is not recommended to use an auto-installer to install SMF, because many of them are known to have issues or confuse users in the long run. Installing SMF manually is not difficult and will help you to understand better how it works.
SMF is free forum software that can be installed on a webserver. To install it, you will need a webserver with PHP, and access to a database. You can create a database ahead of time (be sure to note all the important database information) or wait for the installer to help you with this step. Please see the requirements and recommendations for more information on what you need before you start an install.
Create a Database
An SMF forum needs a database to store all the information about members, posts, and topics. You can use the tools your web host provides to create a new database and a database user for SMF to log in as and use. If you neglect this step at this point, the SMF installer will offer to help you with it later on.
Once you have created your database, be sure to make note of the database name, database user name, and password. You will need these details when you run the installer.
Creating a Database with phpMyAdmin
Most shared hosting services disable the option to create a database with phpMyAdmin. However, if this option is available to you, the database can be created from the phpMyAdmin home page.
Creating a Database with a Control Panel
If your hosting service provides a control panel interface, then this can be used to create a database. Selecting the "MySQL Databases" or "Database Wizard" options should take you to a page prompting you to create a MySQL database. With different hosts, these options may have different names.
SMF 2.0 supports MySQL, PostgreSQL and SQLite. SMF 1.1 supports only a MySQL database.
Creating a Database User
A database user can be created through the control panel provided by your hosting service. Selecting the "MySQL Databases" or "Database Wizard" options should take you to a page, prompting you to create a MySQL database user. With different hosts, these options may have different names.
The database user requires the following permissions:
SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, ALTER, DROP, and
INDEX. Additional permissions may be granted, if desired.
Using your browser, you can download the latest version of SMF to your desktop computer. All SMF downloads can be found at SMF Downloads. The latest recommended version will always be available at http://www.simplemachines.org/download/index.php/latest/install/.
Extract the SMF Archive and Upload the Files to Your Website
The SMF install archive contains files that need to be copied to the correct place on your website before the installer can be executed. Wherever these files are located on the server, that is where your forum will be located. Extracting before uploading is usually the simplest method. If your host provides the necessary tools, you can try uploading before extracting.
You will need to use either FTP (in binary mode) or the tools in your hosting account's control panel (for more information on the control panel supplied by your hosting service, please see the documentation provided by your hosting service).
SMF can be uploaded to the site root, or to a directory on the site, such as www.yourdomain.com/forum.
Extracting Before Uploading
This is the way most people do it. It is easy, but can take longer.
- Extract the archive, usually by right-clicking the archive and selecting the "Extract All" option. When the install archive is extracted, a new folder should be created with all the files and directories in the correct places.
- Set your FTP client for binary transfer, select all the files and folders and copy them to the directory where you want to locate your forum.
Uploading Before Extracting
Some control panels, such as cPanel, give the ability to extract an archive right on the server. This can be a quicker than waiting for all the extracted files to copy via FTP. First, upload the file via your account's control panel. Second, select the extract option to extract the archive to the desired location -- the directory where you want your forum to be located.
Set File and Directory Permissions
File and directory permissions control who can see your files and use your directories. They can control whether you will be able to install mods to your forum. On Linux and other Unix-like servers the chmod command is used to designate permissions. On most servers, a setting of 755 for directories and 644 for files will work. If this does not work on your hosting service, you may need 777 or 775 for directories, and 666 or 664 for files. Some hosts do not allow using 777 for directories or 666 for files -- using such high values will cause Internal Server Errors, 500 erors, or other errors. If the permission on your files or directories does not make them writable, the SMF installer will report the problem -- if it can detect it.
Note: If a Windows server is being used rather than a Linux server, then you will need to contact your host to change the file/directory permissions.
Setting File Permissions with the Installer
In many cases, the SMF installer can handle this for you. If you want to give this a try, skip this step for now, and wait until you come to the appropriate point in the installer. The installer might need to ask you for FTP login details to get the job done, so be sure to make a note of them. If you run into any problems setting file permissions with the installer, you can use the instructions below for setting file permissions with FTP to handle it yourself.
Setting File Permissions with FTP
Using a control panel or FTP client, file permissions can be changed quickly and easily. Usually, FTP programs will allow permissions to be changed by right-clicking files/directories and selecting "Properties", "Attributes" or "Permissions". The desired numerical value can be entered, or if provided, check boxes can be changed.
Run the Installer
This is nearly the last step. You know where your forum directory is, because you put the files there yourself. So, point your browser at the file install.php in that directory. For example, if you put your forum in www.yourdomain.com/forum, you should point your browser at www.yourdomain.com/forum/install.php.
This script will ask you for information, some of which you have created and collected earlier.
Basic Forum Settings
- Forum Name
- The name for the forum being installed should go here. By default, this is set to “My Community”. This can be changed later in the Server Settings section of the administration center.
- Forum URL
- The URL for the forum, without the trailing slash (for example, http://www.yourdomain.com/forum). The SMF installer will probably guess this one correctly.
- Gzip Output
- If Gzip output tests pass, use this to save bandwidth and make pages load faster.
- Database Sessions
- Choose whether to store sessions in the database or in files. Database Sessions are preferred because they are more reliable, secure and may work better on sites with multiple servers.
- UTF-8 Character Set
- UTF-8 character sets are useful for international forums, or forums that use languages other than English.
- Allow Stat Collection
- This option allows Simple Machines to collect statistics from your forum, anonymously, to help the developers understand the needs of the user community.
Database server settings
- Database type
- The database schema can be selected here from a list of database schemas supported by the server being used. Newer schemas (for SMF 2.0) such as PostgreSQL and SQLite may be listed here if available. MySQL and PostgreSQL are recommended.
- Server name
- The location of the database is specified here. 99% of the time this will be localhost.
- The username for the database user should be placed here. If help is required for this, the hosting service provider should be contacted.
- The password for the database user is entered here.
- Database name
- The name used for the database should be placed here. If you created a database in advance, enter that. Otherwise, you can use the database name suggested by the installer to create a new database. If help is required for this, the hosting service provider should be contacted.
- Database prefix
- The prefix for all tables associated with this install is specified here. Prefixing tables with unique prefixes enables more than one application, or SMF install, to use the same database safely. The installer will suggest a prefix for you automatically, but you can customize it to whatever you prefer.
Creating an administrator account
The SMF installer will ask for information to create the forum's administrator account. This information includes username, password and e-mail address for the administrator account. This account will be necessary to get access to the SMF administration center, to manage and configure the forum.
Finishing the installation process
Once all steps of the installation process have been completed, check the box to remove the install files from the server. If this does not work, they will need to be deleted via FTP. All installer files should be removed from the server once the installation process is complete. SMF does not need them any longer and they are a security risk.
- If you have not already done so, delete install.php. It is a security risk to leave in place once the install has been completed.
- Check your file and folder permissions for safety.
- Most directory permissions are set to 755, while most files are set to 644, although this will depend on your server configuration. If in doubt, ask your host what CHMOD settings should be used for files and directories.
- The only exceptions are your root forum directory, the attachments and cache directories, which may need to be set as high as 777 on some servers (this setting will cause 500 errors on other servers).