{"id":2420,"date":"2018-01-04T19:35:34","date_gmt":"2018-01-04T16:35:34","guid":{"rendered":"https:\/\/www.howtoforge.com\/tutorial\/install-and-configure-concrete5-cms-on-debian-9\/"},"modified":"2018-01-04T19:35:34","modified_gmt":"2018-01-04T16:35:34","slug":"how-to-install-concrete5-cms-on-debian-9","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/how-to-install-concrete5-cms-on-debian-9\/","title":{"rendered":"How To Install Concrete5 CMS on Debian 9"},"content":{"rendered":"<p>Concrete5 is a free and open source Content Management System written in PHP language that can be used for publishing content on the Internet. It allows users to edit site content from the web interface. Concrete5 comes with rich set of features like, version tracking system, search engine optimization, server caching and much more.<\/p>\n<p>In this tutorial, we will learn how to install and configure Concrete5 on Debian 9 server.<\/p>\n<h2 id=\"requirements\">Requirements<\/h2>\n<ul>\n<li>A server running Debian 9<\/li>\n<li>A non-root user with sudo privileges<\/li>\n<\/ul>\n<h2 id=\"getting-started\">Getting Started<\/h2>\n<p>Before starting, it is recommended to update your packages with the latest version. You can do this using the following command:<\/p>\n<p class=\"command\">sudo apt-get update -y<br \/>sudo apt-get upgrade -y<\/p>\n<p>Next, restart the system to apply all the changes. Then, install other required packages with the following command:<\/p>\n<p class=\"command\">sudo apt-get install wget unzip curl git vim -y<\/p>\n<h2 id=\"install-lamp-server\">Install LAMP Server<\/h2>\n<p>First, you will need to install the LAMP stack to run Concrete5. You can install all the packages by just running the following command:<\/p>\n<p class=\"command\">sudo apt-get install apache2 mariadb-server php7.0 php7.0-mysql php7.0-gd php7.0-mcrypt php7.0-xml php7.0-mbstring libapache2-mod-php7.0 php7.0-zip -y<\/p>\n<p>Once all the packages are installed, start the Apache and MariaDB service and enable them to start on boot time using the following command:<\/p>\n<p class=\"command\">sudo systemctl start apache2<br \/>sudo systemctl enable apache2<br \/>sudo systemctl start mysql<br \/>sudo systemctl enable mysql<\/p>\n<h2 id=\"configure-mariadb\">Configure MariaDB<\/h2>\n<p>By default, MariaDB is not secured, so you will need to secure it first. You can secure it by running the mysql_secure_installation script:<\/p>\n<p class=\"command\">sudo mysql_secure_installation<\/p>\n<p>Answer all the questions as shown below:<\/p>\n<pre>Change the root password? [Y\/N] N&#13;\nRemove anonymous users? [Y\/N] Y&#13;\nDisallow root login remotely? [Y\/N] Y&#13;\nRemove test database and access to it? [Y\/N] Y&#13;\nReload privilege tables now? [Y\/N] Y&#13;\n<\/pre>\n<p>Once MariaDB is secured, log in to the MariaDB shell using the following command:<\/p>\n<p class=\"command\">mysql -u root -p<\/p>\n<p>Enter your root password when prompt, then create a database for Concrete5 with the following command:<\/p>\n<p class=\"command\">MariaDB [(none)]&gt; CREATE DATABASE concretedb;<\/p>\n<p>Next, create a new user and grant privileges to the Concrete5 database with the following command:<\/p>\n<p class=\"command\">MariaDB [(none)]&gt; GRANT ALL PRIVILEGES on concretedb.* to &#8216;user&#8217;@&#8217;localhost&#8217; identified by &#8216;password&#8217;;<\/p>\n<p>Next, flush the privileges using the following command:<\/p>\n<p class=\"command\">MariaDB [(none)]&gt; FLUSH PRIVILEGES;<\/p>\n<p>Finally, exit from the MariaDB shell with the following command:<\/p>\n<p class=\"command\">MariaDB [(none)]&gt; exit;<\/p>\n<h2 id=\"install-concrete\">Install Concrete5<\/h2>\n<p>You can download the latest stable version of the Concrete5 from their official website with the following command:<\/p>\n<p class=\"command\">wget &#8211;trust-server-names http:\/\/www.concrete5.org\/download_file\/-\/view\/99963\/ -O concrete5.zip<\/p>\n<p>Once the download is completed, extract the downloaded file with the following command:<\/p>\n<p class=\"command\">unzip concrete5.zip<\/p>\n<p>Next, copy the extracted directory to the Apache web root directory using the following command:<\/p>\n<p class=\"command\">sudo cp -r concrete5-8.3.1 \/var\/www\/html\/concrete5<\/p>\n<p>Next, give proper ownership and permissions to the concrete5 directory using the following command:<\/p>\n<p class=\"command\">sudo chown -R www-data:www-data \/var\/www\/html\/concrete5<br \/>sudo chmod -R 775 \/var\/www\/html\/concrete5<\/p>\n<h2 id=\"configure-apache-for-concrete\">Configure Apache for Concrete5<\/h2>\n<p>Next, you will need to create an Apache virtual host directive for Concrete5. You can do this by creating concrete5.conf file inside \/etc\/apache2\/site-available directory:<\/p>\n<p class=\"command\">sudo nano \/etc\/apache2\/site-available\/concrete5.conf<\/p>\n<p>Add the following lines:<\/p>\n<pre>&lt;VirtualHost *:80&gt;&#13;\nServerAdmin <a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"6607020b0f0826031e070b160a034805090b\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>&#13;\nDocumentRoot \/var\/www\/html\/concrete5\/&#13;\nServerName example.com&#13;\nServerAlias www.example.com&#13;\n&lt;Directory \/var\/www\/html\/concrete5\/&gt;&#13;\nOptions FollowSymLinks&#13;\nAllowOverride All&#13;\n&lt;\/Directory&gt;&#13;\nErrorLog \/var\/log\/apache2\/concrete5-error_log&#13;\nCustomLog \/var\/log\/apache2\/concrete5-access_log common&#13;\n&lt;\/VirtualHost&gt;&#13;\n<\/pre>\n<p>Save and close the file, then enable the virtual host with the following command:<\/p>\n<p class=\"command\">sudo a2ensite concrete5<\/p>\n<p>Next, enable Apache rewrite module and restart apache service with the following command:<\/p>\n<p class=\"command\">sudo a2enmod rewrite<br \/>sudo systemctl restart apache2<\/p>\n<h2 id=\"access-concrete-web-interface\">Access Concrete5 Web Interface<\/h2>\n<p>Next, open your web browser and type the URL <a href=\"http:\/\/example.com\" target=\"_blank\" rel=\"noopener\">http:\/\/example.com<\/a>, you will be redirected to the following page:<\/p>\n<p><a class=\"fancybox\" id=\"img-Screenshot-of-concrete5-page11\" href=\"https:\/\/www.howtoforge.com\/images\/install_and_configure_concrete5_cms_on_debian_9\/big\/Screenshot-of-concrete5-page11.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/01\/how-to-install-concrete5-cms-on-debian-9.png\" alt=\"Concrete 5\" width=\"550\" height=\"321\" title=\"\"><\/a><\/p>\n<p>Here, select your language and click on the <strong>Arrow<\/strong> button, you should see the following page:<\/p>\n<p><a class=\"fancybox\" id=\"img-Screenshot-of-concrete5-page2\" href=\"https:\/\/www.howtoforge.com\/images\/install_and_configure_concrete5_cms_on_debian_9\/big\/Screenshot-of-concrete5-page2.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/01\/how-to-install-concrete5-cms-on-debian-9-1.png\" alt=\"Select language\" width=\"550\" height=\"321\" title=\"\"><\/a><\/p>\n<p>Make sure all the required libraries are installed, then click on the <strong>Continue to Installation<\/strong> button, You should see the following page:<\/p>\n<p><a class=\"fancybox\" id=\"img-Screenshot-of-concrete5-page3\" href=\"https:\/\/www.howtoforge.com\/images\/install_and_configure_concrete5_cms_on_debian_9\/big\/Screenshot-of-concrete5-page3.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/01\/how-to-install-concrete5-cms-on-debian-9-2.png\" alt=\"Set admin username and DB settings\" width=\"550\" height=\"325\" title=\"\"><\/a><\/p>\n<p>Here, provide Admin username, password, database username, password and database name, then click on the <strong>Install Concrete5<\/strong> button to start the installation. Once the installation is completed, you should see the following page:<\/p>\n<p><a class=\"fancybox\" id=\"img-Screenshot-of-concrete5-page4\" href=\"https:\/\/www.howtoforge.com\/images\/install_and_configure_concrete5_cms_on_debian_9\/big\/Screenshot-of-concrete5-page4.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/01\/how-to-install-concrete5-cms-on-debian-9-3.png\" alt=\"Concrete 5 installation finished\" width=\"550\" height=\"322\" title=\"\"><\/a><\/p>\n<p>Now, click on <strong>Edit Your Site<\/strong> button, you should see the Concrete5 dashboard on the following page:<\/p>\n<p><a class=\"fancybox\" id=\"img-Screenshot-of-concrete5-page5\" href=\"https:\/\/www.howtoforge.com\/images\/install_and_configure_concrete5_cms_on_debian_9\/big\/Screenshot-of-concrete5-page5.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/01\/how-to-install-concrete5-cms-on-debian-9-4.png\" alt=\"Concrete 5 installed\" width=\"550\" height=\"326\" title=\"\"><\/a><\/p>\n<div>\n<p><b>Share this page:<\/b><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Concrete5 is a free and open source Content Management System written in PHP language that can be used for publishing content on the Internet. It allows users to edit site content from the web interface. Concrete5 comes with rich set of features like, version tracking system, search engine optimization, server caching and much more. In &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[],"class_list":["post-2420","post","type-post","status-publish","format-standard","hentry","category-36"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/2420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=2420"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/2420\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=2420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=2420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=2420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}