{"id":17618,"date":"2016-01-19T11:51:56","date_gmt":"2016-01-19T17:51:56","guid":{"rendered":"https:\/\/secure.rosehosting.com\/blog\/?p=17618"},"modified":"2022-12-15T09:40:55","modified_gmt":"2022-12-15T15:40:55","slug":"install-expressionengine-on-debian-8","status":"publish","type":"post","link":"https:\/\/www.rosehosting.com\/blog\/install-expressionengine-on-debian-8\/","title":{"rendered":"Install ExpressionEngine on Debian"},"content":{"rendered":"
<\/p>\n
In this tutorial we will show you how to install ExpressionEngine on Debian 8. ExpressionEngine is a content management system which is written in object-oriented PHP and is using MySQL for data storage. Although ExpressionEngine is a commercial product, it has a free “core” version available for personal and non-profit websites. According to the company that created ExpressionEngine (EllisLab), currently thousands of web sites are powered using ExpressionEngine, from business sites, to online magazines, to personal blogs. Sites that are built with ExpressionEngine use a number of custom channels, usually each containing a number of different fields. Channels typically represent different types of information, so you might have a channel for single pages, blog posts, products, job vacancies, and so on.<\/p>\n
<\/p>\n
When you add content to your site using ExpressionEngine\u2019s Control Panel, it will be stored in a database. When someone visits your web site, your content is retrieved from the database, formatted visually based on your markup, and presented to them. ExpressionEngine is a dynamic system since it generates your web site in real time for each user visiting it.<\/p>\n
For more information about this software, please visit the official user-guide<\/a>.<\/p>\n The minimum system requirements that need to be fulfilled so ExpressionEngine can run on your server are:<\/p>\n Check out further info on the system requirements<\/a>.<\/p>\n We assume that you already have Apache, MySQL and PHP installed and configured on your Debian 8 VPS. If that is not the case, you can follow our excellent tutorial<\/a> and install the LAMP stack easily.<\/p>\n Now that we covered everything in our pre-installation summary, let’s continue with the actual installation.<\/p>\n 1. LOG IN TO YOUR SERVER VIA SSH<\/strong><\/p>\n You can check whether you have the proper Debian version installed on your server with the following command:<\/p>\n You should get this output:<\/p>\n 2. UPDATE THE SYSTEM<\/strong><\/p>\n Make sure your server is fully up to date using:<\/p>\n 3. INSTALL EXPRESSIONENGINE<\/strong><\/p>\n For the purpose of this tutorial we used the free, feature-limited ExpressionEngine Core version of the product. At the time of writing this article, the latest EE version is 2.10.1 . Therefore, you need to sign up for an account with ExpressionEngine here<\/a> and then download the the latest version of ExpressionEngine.<\/a><\/p>\n Once the download finishes, you need to upload the zip file into your server.<\/p>\n We uploaded the file into a directory of our choice, but feel free to either follow our steps or create a directory to your liking and upload the installation there.<\/p>\n First, create the directory in which the EE installation will be uploaded:<\/p>\n Then after the upload is finished, unzip the archive:<\/p>\n Set the proper permissions in order to continue with the installation:<\/p>\n Our next step is to create the database needed. Log into your MySQL server as root (# mysql -u root -p<\/strong><\/em>) and execute the following commands:<\/p>\n Now that the database is created, you should create a virtual host directive for the domain that you will map to the ExpressionEngine installation.<\/p>\n Open a new configuration file:<\/p>\n Paste the following:<\/p>\n Don’t forget to change the your-domain values with your actual domain.<\/p>\n Enable the configuration file:<\/p>\n Restart Apache for the changes to take effect:<\/p>\n Set the proper file ownership:<\/p>\n Next, open your favorite web browser and navigate to http:\/\/your-domain\/admin.php to run the installation wizard. Follow the on-screen instructions to finish the installation of ExpressionEngine.<\/p>\n Please note that during the installation if you choose the None – Empty Installation Site Theme, your website\u2019s homepage will appear blank because no templates or content has been created yet.<\/p>\n Once you finish the wizard you will be welcomed with the following page:<\/p>\n <\/p>\n <\/p>\n As you can see, you need to remove the system\/installer\/ directory from your server. Therefore, execute the following command:<\/p>\n\n
# ssh root@server_ip<\/pre>\n
# lsb_release -a<\/pre>\n
Distributor ID: Debian\r\nDescription: Debian GNU\/Linux 8.1 (jessie)\r\nRelease: 8.1\r\nCodename: jessie<\/pre>\n
# apt-get update && apt-get upgrade<\/pre>\n
# mkdir \/var\/www\/html\/eengine\/<\/pre>\n
# cd \/var\/www\/html\/eengine\/<\/pre>\n
# unzip ExpressionEngine_Core2.10.1.zip<\/pre>\n
# chmod 666 system\/expressionengine\/config\/config.php\r\n# chmod 666 system\/expressionengine\/config\/database.php\r\n# chmod 777 system\/expressionengine\/cache\/\r\n# chmod 777 images\/avatars\/uploads\/\r\n# chmod 777 images\/captchas\/\r\n# chmod 777 images\/member_photos\/\r\n# chmod 777 images\/pm_attachments\/\r\n# chmod 777 images\/signature_attachments\/\r\n# chmod 777 images\/uploads\/<\/pre>\n
mysql> create database eengine;\r\n\r\nmysql> grant all privileges on eengine.* to euser@localhost identified by 'your_password';\r\n\r\nmysql> flush privileges;\r\n\r\nmysql> exit\r\nBye<\/pre>\n
# vim \/etc\/apache2\/sites-available\/your-domain.conf<\/pre>\n
<VirtualHost *:80>\r\nServerAdmin admin@your-domain.com\r\nDocumentRoot \/var\/www\/html\/eengine\/\r\nServerName your-domain.com\r\nServerAlias www.your-domain.com\r\n<Directory \/var\/www\/html\/eengine\/>\r\nOptions FollowSymLinks\r\nAllowOverride All\r\n<\/Directory>\r\nErrorLog \/var\/log\/apache2\/your-domain.com-error_log\r\nCustomLog \/var\/log\/apache2\/your-domain.com-access_log common\r\n<\/VirtualHost><\/pre>\n
# a2ensite your-domain.conf<\/pre>\n
# systemctl restart apache2.service<\/pre>\n
# chown -R www-data \/var\/www\/html\/eengine\/<\/pre>\n
# rm -rf \/var\/www\/html\/eengine\/system\/installer\/<\/pre>\n