This step by step tutorial will show you how to install PHP-Fusion 9 on a Debian 8 VPS with Apache, PHP and MySQL installed on it. PHP-Fusion is fast and light-weight open-source content management system (CMS) written in PHP. PHP-Fusion 9 includes common features found in other content management systems. By comparing it with the PHP-Fusion 7 version, there are some new features, such as a fully integrated and comprehensive SEO engine, full core support for Multilingual content, PDO support, Bootstrap support, new themes etc. PHP-Fusion comes with a simple but comprehensive administration system.
This tutorial was tested and written for a Debian 8 VPS, but it should work on any Linux distribution.
This install guide assumes that Apache, MySQL and PHP are already installed and configured on your virtual server. PHP-Fusion 9 requires:
- PHP 5.3.4 or higher
- Apache Web Server >= 2.0 compiled with mod_rewrite module and with the following directives allowed: RewriteEngine, RewriteBase, RewriteCond and RewriteRule.;
- MySQL 4.1 or higher installed on your virtual server.
Let’s start with the installation. Download the latest PHP-Fusion 9 version available at https://github.com/php-fusion/PHP-Fusion to a directory on your server and extract it using the following commands:
cd /opt wget https://github.com/php-fusion/PHP-Fusion/archive/9.00.zip unzip 9.00.zip -d /var/www/html/ mv /var/www/html/PHP-Fusion-9.00/ /var/www/html/php-fusion/
Create a new virtual host directive in Apache. For example, create a new Apache configuration file named ‘php-fusion.conf’ on your virtual server:
touch /etc/apache2/sites-available/php-fusion.conf
Then, run the following command:
ln -s /etc/apache2/sites-available/php-fusion.conf /etc/apache2/sites-enabled/php-fusion.conf
Or, use the a2ensite to enable the ‘php-fusion.conf’ configuration in Apache:
sudo a2ensite php-fusion.conf
Edit the ‘php-fusion.conf’ configuration file:
vi /etc/apache2/sites-available/php-fusion.conf
and add the following lines to it:
<VirtualHost *:80> ServerAdmin admin@your-domain.com DocumentRoot /var/www/html/php-fusion/ ServerName your-domain.com ServerAlias www.your-domain.com <Directory /var/www/html/php-fusion/> Options FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/apache2/your-domain.com-error_log CustomLog /var/log/apache2/your-domain.com-access_log common </VirtualHost>
Set the proper file permissions for the Apache web server to write to ‘administration/db_backups’, ‘ftp_upload’ and ‘images’ directories and ‘images/imagelist.js’, ‘images/avatars’, ‘config_temp.php’ and ‘robots.txt’ files inside the /var/www/html/php-fusion/ directory:
sudo chown -R www-data:www-data /var/www/html/php-fusion/
Enable the Apache2 rewrite module if it is not already done so:
sudo a2enmod rewrite
Restart the Apache web server for the changes to take effect:
service apache2 restart
Create a new MySQL database for PHP-Fusion to use and assign a user to it with full permissions:
mysql -u root -p mysql> CREATE DATABASE phpfusiondb; mysql> GRANT ALL PRIVILEGES ON phpfusiondb.* TO 'phpfusionuser'@'localhost' IDENTIFIED BY 'your-password' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES; mysql> quit
Do not forget to replace ‘your-password’ with a strong password.
Open your favorite web browser, navigate to http://your-domain.com and follow the easy instructions, then log in to the PHP-Fusion administrator back-end and configure it according to your needs.
For security reasons, delete the entire /install directory and chmod your ‘config.php’ configuration file back to 0644:
rm -rf /var/www/html/php-fusion/install chmod 644 /var/www/html/php-fusion/config.php
That is it. The PHP-Fusion installation is now complete.
Of course you don’t have to do any of this if you use one of our Debian Web Hosting services, in which case you can simply ask our expert Linux admins to install PHP-Fusion 9 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.