Hosting Question? Find the Solution - Browse our Guides, Articles, and How-To's

How To Install Xenforo Manually

XenForo is a forum software that can be installed to your site. This guide is intended to cover the installation process. You can find their official instructions here. For this guide, we will be assuming a cPanel server. The process in DirectAdmin is very similar, but some of the details will be panel-specific and will vary between panels. For our example, the site will be installed to a folder forums within folder public_html.

  1. If you are not yet sure if your server has all the needed php modules, you may want to download their test script. At time of this writing, that can be found in this zip archive.
  2. After that has finished downloading, you will need to download the installation archive from XenForo. At time of this writing, that can be done from their Customer Area, though it is behind a login wall associated with your customer account.
  3. While the installation archive is downloading, you should create the account in your server if you haven’t already. For cPanel you can see our Getting Started Guide.
  4. If the site does not yet resolve to your server, it would be useful to add the domain to your hosts file so that you can use the domain to connect to the server.
  5. You may also want to create an additional ftp or webdav account within that, restricted to the directory the site will be located in, especially if you will want to give a developer ftp and/or webdav access to the site files without giving them access to the whole cPanel account.
    1. In this example we will be creating an ftp account, restricted to our forums folder, and connecting over ftps using FileZilla. Once you have created the new cPanel account for the site, log into cPanel as the new user and go to “FTP Accounts” in the “Files” section.
  • Enter in a username and password for the account, and the directory you will want to restrict the ftp account to. Make sure to choose a strong password! If you are using pure-ftpd you can also choose to put a disk quota on the ftp account’s folder. Once you have entered in the needed details, click “Create FTP Account”.
  • Once the ftp account has been created, open your FTP client and connect to the server using the new ftp account. Since in our example we are not using the cPanel account itself to connect, but rather, a smaller ftp account inside of that, so we will not be able to use sftp, but we can still use ftps.
  • Since when we created this ftp account we restricted it to the directory we want to put the site in, we are already automatically in the correct directory when we log into the site.
  • If you are using the test script, you will need to unzip it. How to do this will vary by the OS installed in your computer. Once it is unzipped, you can upload the php script xenforo_requirements.php into your server. In FileZilla you can do this either by drag-and-drop, or by right-clicking the file and choosing “Upload”.
  • Since this is a small script, it is not likely to take very long to upload. Once it has completed, you can navigate in your web browser to view the page the script is served on. In our example, the ftp account we are using is restricted to the folder forums so that is where we will find it.
  • As the test script mentions, XenForo also requires MySQL 5.0 or older. Unless your server is very old, you won’t need to worry about this. If you are not sure, you can check in WHM at “Home » Software » MariaDB/MySQL Upgrade” or similar. If you are not sure or need help upgrading, please feel free to open a Support Ticket.
  • If the server is missing any php modules that XenForo needs, the page might look more like this. These modules can usually be installed via EasyApache. If you need help installing the php modules, please feel free to open a Support Ticket.
  • Once you have verified that the test script has succeeded, it is recommended to remove the test script. In FileZilla, this can be done by right-clicking the filename and choosing “Delete”.
  • After removing the test script from the server, we next upload the installation files.
    • First, we unzip the installation archive. After this, there should now be a folder “upload” where you unzipped it. It is the files inside this folder that we will be uploading. In FileZilla, you can enter the folder by double-clicking on it, or by right-clicking it and choosing “Enter directory”.
  • Once inside the “upload” directory, select all contents of that directory then copy all the files up to the server. Make sure the folder .. is not one of the folders selected while doing this.
  • The official instructions recommend chmodding in the server folders data and internal_data to permissions 0777, but if the site is using a php/apache configuration with suphp-like permissions, this shouldn’t be necessary.
  • Next, it is necessary to create a database and database user for the site to use. If you are not familiar with the process, it is recommended to use the cPanel Database Wizard
  • The Database Wizard can be found in the “Databases” section of cPanel:
  • Pick a name for the database. If Database Prefixing is enabled in the server, cPanel will automatically preppend the first eight letters of the cPanel username and an underscore. Although you won’t need to type in that part, be sure to make note of the full databasename, since you will need it momentarily.
  • Next, a mysql user will need to be created. As with the database name, the mysql username may be longer than the part you type in yourself. Make sure to make note of the full database name. Also make sure to choose a strong password for the mysql user.
  • Then it is necessary to choose which privileges to give the new mysql user in the new database. For this purpose “All Privileges” should work:

Once the files have all been uploaded, and the database and MySQL user have been created, navigate in your web browser to the “install” directory and follow the on-screen instructions. In our example, due to the folder, we chose to place it in, the URL will be like http://domain.tld/forums/install/. Remember to replace domain.tld with your domain and any other needed URL substitutions.

  • You will need to enter in the mysql credentials you just created.
  • Although the official instructions say you are likely to need to download the config file and reupload it manually, if you are using a php/apache configuration that uses suphp-like permissions, this is unlikely to be needed.
  • Continue reading and following the prompts. During the “Install” stage, xenforo will create the database tables, which will take several seconds. After that, you can create the first forum administrator, with any chosen username and contact address. Be sure to choose a strong password!
  • A title, url, contact email address, and home page url will be prefilled based on xenforo’s guesses based on things you have already entered in. You are likely to want to edit the Board Title and possibly the Home Page URL. If you leave Home Page URL blank, you will not have a “Home” link in the navigation.
  • It is a good idea at the end to do the Post-Installation Checks. You can use the “Enter your control panel” button at the end of the installation process to be redirected to the admin login area, or go to the admin url directly. Enter in the admin username and password you just created, and click the “Log in” button.
  • Click “Tools” near the top:
  • Then you can use the “File Health Check” at the left to make sure the correct files exist and that, for the files checked, they have the correct contents.
  • Then you will see a general description of what the “File Health Check” is, and have a button to click to start it.
  • If the check was successful, it should look approximately like this:
  • XenForo should now be installed! Enjoy!