{"id":2230,"date":"2017-12-25T21:27:15","date_gmt":"2017-12-25T18:27:15","guid":{"rendered":"https:\/\/www.howtoforge.com\/tutorial\/install-and-configure-pico-cms-on-ubuntu-1604-lts\/"},"modified":"2026-06-13T18:39:15","modified_gmt":"2026-06-13T15:09:15","slug":"install-and-configure-pico-cms-on-ubuntu-16-04-lts","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/install-and-configure-pico-cms-on-ubuntu-16-04-lts\/","title":{"rendered":"Install and Configure Pico CMS on Ubuntu 16.04 LTS"},"content":{"rendered":"<p>Pico is a free and an open source Content Management System released under the MIT license. It is a flat-file CMS, so it doesn&#8217;t require any database and administration backend. Pico is very simple, lightweight and fast. Pico makes it easier to create and edit a website using a simple markdown editor. Pico comes with lot&#8217;s of plugins, this makes it very easy for you to add new features to your website.<\/p>\n<p>This tutorial will help you to install and configure Pico CMS on Ubuntu 16.04 server.<\/p>\n<h2 id=\"requirements\">Requirements<\/h2>\n<ul>\n<li>A server running Ubuntu 16.04.<\/li>\n<li>A not-root user with sudo privileges setup on your server.<\/li>\n<\/ul>\n<h2 id=\"getting-started\">Getting Started<\/h2>\n<p>Before starting, install all the necessary packages and update your system with the latest version. You can do this with the following command:<\/p>\n<p class=\"command\">sudo apt-get install git unzip curl wget -y<br \/>sudo apt-get update -y<br \/>sudo apt-get upgrade -y<\/p>\n<p>Once your system is fully updated, restart the system and log in with sudo user.<\/p>\n<h2 id=\"install-php-and-nginx\">Install PHP and NGINX<\/h2>\n<p>Pico runs on Nginx web server and written in PHP. So you will need to install Nginx and PHP to your system. By default, the latest version of the Nginx is not available in Ubuntu 16.04 default repository. So you will need to add the Nginx repository to your system. You can do this by running the following command:<\/p>\n<p class=\"command\">sudo add-apt-repository ppa:nginx\/stable<\/p>\n<p>Next, update your repository with the following command:<\/p>\n<p class=\"command\">sudo apt-get update -y<\/p>\n<p>Finally, install Nginx, PHP and other required libraries with the following command:<\/p>\n<p class=\"command\">sudo apt-get install nginx php7.0 php7.0-fpm php7.0-cli php7.0-json php7.0-curl php7.0-gd php7.0-zip -y<\/p>\n<p>Once all the required packages are installed, start Nginx and PHP-FPM service and enable them to start on boot with the following command:<\/p>\n<p class=\"command\">sudo systemctl start nginx<br \/>sudo systemctl enable nginx<br \/>sudo systemctl start php7.0-fpm<br \/>sudo systemctl enable php7.0-fpm<\/p>\n<h2 id=\"download-pico-cms\">Download Pico CMS<\/h2>\n<p>Next, you will need to download the latest version of the Pico CMS from Git repository. You can easily download it using the git clone command:<\/p>\n<p class=\"command\">cd \/var\/www\/html<br \/>sudo git clone https:\/\/github.com\/picocms\/Pico.git<\/p>\n<p>Next, you will also need to install Composer to your system. Composer is a dependency manager for PHP that is used to install all the required libraries for your project. You can install Composer by using the curl command as shown below:<\/p>\n<p class=\"command\">cd \/usr\/local\/bin\/<br \/>sudo curl -sS https:\/\/getcomposer.org\/installer | php<\/p>\n<p>Next, install all the libraries required by PHP using the following command:<\/p>\n<p class=\"command\">cd \/var\/www\/html\/Pico<br \/>sudo composer install<\/p>\n<p>Next, give proper permission to the Nginx web root directory:<\/p>\n<p class=\"command\">sudo chown -R www-data:www-data \/var\/www\/html\/Pico<\/p>\n<h2 id=\"configure-nginx\">Configure Nginx<\/h2>\n<p>Next, you will need to create an Nginx server block for Pico CMS. You can do this by creating pico.conf file inside \/etc\/nginx\/sites-available\/ directory.<\/p>\n<p class=\"command\">sudo nano \/etc\/nginx\/sites-available\/pico.conf<\/p>\n<p>Add the following lines:<\/p>\n<pre>server {&#13;\nlisten 80;&#13;\nserver_name yourdomain.com;&#13;\nroot \/var\/www\/html\/Pico;&#13;\nindex index.php index.html index.htm;&#13;\n&#13;\nlocation \/ {&#13;\ntry_files $uri $uri\/ \/index.php;&#13;\n}&#13;\n&#13;\naccess_log \/var\/log\/nginx\/pico.access.log;&#13;\nerror_log \/var\/log\/nginx\/pico.error.log;&#13;\n&#13;\nlocation ~ \\.php$ {&#13;\nfastcgi_split_path_info ^(.+\\.php)(\/.+)$;&#13;\nfastcgi_pass unix:\/var\/run\/php\/php7.0-fpm.sock;&#13;\nfastcgi_index index.php;&#13;\ninclude fastcgi_params;&#13;\nfastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;&#13;\nfastcgi_buffer_size 16k;&#13;\nfastcgi_buffers 4 16k;&#13;\n}&#13;\n&#13;\n}&#13;\n<\/pre>\n<p>Save and close the file when you are finished. Then, activate the server block by creating a symbolic link:<\/p>\n<p class=\"command\">sudo ln -s \/etc\/nginx\/sites-available\/pico.conf \/etc\/nginx\/sites-enabled\/<\/p>\n<p>Next, test the Nginx configuration and restart Nginx and PHP-FPM service with the following command:<\/p>\n<p class=\"command\">sudo nginx -t<br \/>sudo systemctl restart nginx<br \/>sudo systemctl restart php7.0-fpm<\/p>\n<h2 id=\"access-pico-web-interface\">Access Pico Web Interface<\/h2>\n<p>Before accessing the Pico CMS Web Interface, you will need to allow HTTP service through UFW firewall. By default UFW is disabled on your system, so you need to enable it first. You can enable it with the following command:<\/p>\n<p class=\"command\">sudo ufw enable<\/p>\n<p>Once UFW firewall is enabled, you can allow HTTP service by running the following command:<\/p>\n<p class=\"command\">sudo ufw allow http<\/p>\n<p>Next, reload the UFW firewall rule with the following command:<\/p>\n<p class=\"command\">sudo ufw reload<\/p>\n<p>Next, Open your web browser and type the URL <a href=\"http:\/\/yourdomain.com\" target=\"_blank\" rel=\"noopener\">http:\/\/yourdomain.com<\/a>. You should be redirected to the Pico CMS default web page as shown in the below image:<\/p>\n<p><a class=\"fancybox\" id=\"img-Screenshot_from_2017-11-16_12_18_10\" href=\"https:\/\/www.howtoforge.com\/images\/install_and_configure_pico_cms_on_ubuntu_1604\/big\/Screenshot_from_2017-11-16_12_18_10.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2017\/12\/install-and-configure-pico-cms-on-ubuntu-16-04-lts.png\" alt=\"Pico CMS installed on Ubuntu 16.04 LTS\" width=\"550\" height=\"327\" title=\"\"><\/a><\/p>\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<p>Congratulations! you have successfully installed Pico CMS on Ubuntu 16.04 server. You can now simply create your own content folder in Pico&#8217;s root directory, create .md files in the content directory and those files become your pages.<\/p>\n<div>\n<p><b>Share this page:<\/b><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Pico is a free and an open source Content Management System released under the MIT license. It is a flat-file CMS, so it doesn&#8217;t require any database and administration backend. Pico is very simple, lightweight and fast. Pico makes it easier to create and edit a website using a simple markdown editor. Pico comes with &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[664],"tags":[],"class_list":["post-2230","post","type-post","status-publish","format-standard","hentry","category-english-tutorials"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/2230","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=2230"}],"version-history":[{"count":1,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/2230\/revisions"}],"predecessor-version":[{"id":80146,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/2230\/revisions\/80146"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=2230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=2230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=2230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}