{"_id":"58fe142d180afa25006c7981","hidden":false,"updates":["5536f664e402a30d008c04a7","553eae538feab90d0059da63","55401b5876155d0d005086eb","554f6265cbb3510d00a573ae","555c1f1e87ebf70d002adbfb","55b3ae69d9a3252300785a28","5773bae76262f90e003144a3","5773bb295b96cf0e00558c4b","58cde4dbba65d423001bf31e","5913ac5354e1f21b00f0e898","593820ded2aac4000fb05191","593eed4936e5d2000f895d70","594979c11a2700003041921b","594a0a6b9f4771001a43c61d","594d68e41401be0015aaa55a"],"title":"Installing PufferPanel","body":"[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"What You'll Need\"\n}\n[/block]\n###System Requirements:###\n\n- A VPS or Dedicated server running a clean installation of the 64bit server edition of Ubuntu 16.04, Ubuntu 14.04, Debian 8.2, or CentOS 7.1 (OpenVZ is supported)\n- SSH access and administrative (root or sudo) privileges on the server\n- PHP 7.0 minimum\n- MySQL 5.x (MariaDB 5.x is recommended)\n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"PufferPanel has been tested and works with the following Linux distributions: `Ubuntu 16.04`,  `CentOS 7`, `Debian 8`, and `Ubuntu 14.04`.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Install Dependencies\"\n}\n[/block]\nPlease run the commands for your distribution below to install the necessary dependencies in order for PufferPanel to run.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"# If you currently have apache2 installed you will not be able to use nginx as well. Please plan accordingly.\\nsudo apt update\\nsudo apt install -y openssl curl nginx mysql-client mysql-server php-fpm php-cli php-curl php-mysql\",\n      \"language\": \"shell\",\n      \"name\": \"Ubuntu 16.04\"\n    },\n    {\n      \"code\": \"# This installs the epel and remi repos for php7 support\\nsudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm\\nsudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm\\nsudo yum install yum-utils\\nsudo yum-config-manager --enable remi-php71\\n\\n# If you currently have apache2 installed you will not be able to use nginx as well. Please plan accordingly.\\nsudo yum update\\nsudo yum install nginx mariadb-server mariadb php-fpm php-common php-cli php-pdo php-mysqlnd\\n\\n# Make sure to run these commands to make sure the services start on reboot\\nsudo systemctl enable nginx\\nsudo systemctl start nginx\\n\\nsudo systemctl enable mariadb\\nsudo systemctl start mariadb\\n\\nsudo systemctl enable php-fpm\\nsudo systemctl start php-fpm\\n\\n## Make sure to set the MariaDB root password when running this\\nsudo mysql_secure_installation\",\n      \"language\": \"shell\",\n      \"name\": \"CentOS 7\"\n    },\n    {\n      \"code\": \"# This adds the https://packages.sury.org/php/ repo in order to install php7\\nsudo apt -y install apt-transport-https lsb-release ca-certificates wget\\nsudo wget https://packages.sury.org/php/apt.gpg -O - | sudo apt-key add -\\nsudo echo \\\"deb https://packages.sury.org/php/ $(lsb_release -sc) main\\\" > /etc/apt/sources.list.d/php.list\\n\\n# If you currently have apache2 installed you will not be able to use nginx as well. Please plan accordingly.\\nsudo apt update\\nsudo apt install -y openssl curl nginx mysql-client mysql-server php-fpm php-cli php-curl php-mysql\",\n      \"language\": \"shell\",\n      \"name\": \"Debian 8\"\n    },\n    {\n      \"code\": \"# This adds the https://launchpad.net/~ondrej/+archive/ubuntu/php/ repo in order to install php7\\nsudo add-apt-repository ppa:ondrej/php\\n\\n# If you currently have apache2 installed you will not be able to use nginx as well. Please plan accordingly.\\nsudo apt update\\nsudo apt install -y openssl curl nginx mysql-client mysql-server php-fpm php-cli php-curl php-mysql\",\n      \"language\": \"shell\",\n      \"name\": \"Ubuntu 14.04\"\n    },\n    {\n      \"code\": \"# run all of the following as root!\\n# mariadb is a faster and better drop in replacement for mysql\\n# the latest php 7 is in edge, ncurses is in edge (tput)\\napk add openssl curl nginx mariadb-client mariadb php7 php7-fpm php7-pdo_mysql php7-mcrypt php7-ctype php7-json php7-phar php7-curl php7-session ncurses --update-c\\nache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted\\n\\n# enable on startup \\nrc-update add nginx\\nrc-update add php-fpm7\\nrc-update add mariadb\\n\\n# start services\\n/etc/init.d/nginx start\\n/etc/init.d/php-fpm7 start\\n\\n# you need to setup mariadb beforehand \\n/etc/init.d/mariadb setup\\n/etc/init.d/mariadb start\\n\\n# make sure you have a secure mysql database\\nmysql_secure_installation\\n\\n# ADDITIONAL AFTER-INSTALLER STEPS:\\n# In /srv/pufferpanel/config.json, change \\\"localhost\\\" to 127.0.0.1 \\n# check /srv/pufferpanel/logs/exception.log / /srv/pufferpanel/logs/error.log for \\n# You will probably want to change your php-fpm user to be nginx\\n# change the ownership of all files in /srv/pufferpanel to nginx:\\n# chown nginx:nginx -R /srv/pufferpanel\\n\",\n      \"language\": \"shell\",\n      \"name\": \"Alpine Linux  3.5\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Running the Installer\"\n}\n[/block]\nWe now offer an automated installer to help make the installation process easier. This installer can run by copy and pasting the command below into your terminal. The installer will guide you through the entire installation process.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"# Please run these with either sudo in front of them, or as the root user (sudo -i)\\nmkdir -p /srv && cd /srv\\ncurl -L -o pufferpanel.tar.gz https://git.io/vH8Da\\ntar -xf pufferpanel.tar.gz\\ncd pufferpanel \\nchmod +x pufferpanel\\n./pufferpanel install\",\n      \"language\": \"shell\",\n      \"name\": \"Installer\"\n    }\n  ]\n}\n[/block]\nIf the web service auto-install does not work, please read the following page to configure nginx: [Configuring nginx](doc:nginx-configuration).\n\nIf you prefer to use Apache, you can follow this guide instead: [Configuring Apache](doc:apache-configuration).\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Next Steps\"\n}\n[/block]\nBe sure to allow traffic on port 5656 to allow the pufferd daemon to communicate with PufferPanel and port 5657 to allow SFTP access to the servers.\n\nIf you are using OVH, please see https://www.pufferpanel.com/docs/migrating-to-pufferd#ovh-servers as most OVH partition setups give most of the available disk space to /home.\n\nCongratulations! You will be given the URL of your PufferPanel installation after the installer has finished.\n\nSince pufferd is installed on the local node already with PufferPanel, you can get started creating servers right away!","category":"58fe142d180afa25006c7975","createdAt":"2015-02-21T03:34:02.715Z","order":0,"slug":"getting-started","sync_unique":"","next":{"pages":[],"description":""},"__v":6,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"excerpt":"Follow these steps to get PufferPanel installed on your server.","githubsync":"","link_url":"","version":"58fe142d180afa25006c7974","isReference":false,"link_external":false,"parentDoc":null,"project":"54e7fca9e6e77d1900ed11f0","type":"basic","user":"54e78c71523b1b2f00e6f321","childrenPages":[]}

Installing PufferPanel

Follow these steps to get PufferPanel installed on your server.

[block:api-header] { "type": "basic", "title": "What You'll Need" } [/block] ###System Requirements:### - A VPS or Dedicated server running a clean installation of the 64bit server edition of Ubuntu 16.04, Ubuntu 14.04, Debian 8.2, or CentOS 7.1 (OpenVZ is supported) - SSH access and administrative (root or sudo) privileges on the server - PHP 7.0 minimum - MySQL 5.x (MariaDB 5.x is recommended) [block:callout] { "type": "info", "body": "PufferPanel has been tested and works with the following Linux distributions: `Ubuntu 16.04`, `CentOS 7`, `Debian 8`, and `Ubuntu 14.04`." } [/block] [block:api-header] { "type": "basic", "title": "Install Dependencies" } [/block] Please run the commands for your distribution below to install the necessary dependencies in order for PufferPanel to run. [block:code] { "codes": [ { "code": "# If you currently have apache2 installed you will not be able to use nginx as well. Please plan accordingly.\nsudo apt update\nsudo apt install -y openssl curl nginx mysql-client mysql-server php-fpm php-cli php-curl php-mysql", "language": "shell", "name": "Ubuntu 16.04" }, { "code": "# This installs the epel and remi repos for php7 support\nsudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm\nsudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm\nsudo yum install yum-utils\nsudo yum-config-manager --enable remi-php71\n\n# If you currently have apache2 installed you will not be able to use nginx as well. Please plan accordingly.\nsudo yum update\nsudo yum install nginx mariadb-server mariadb php-fpm php-common php-cli php-pdo php-mysqlnd\n\n# Make sure to run these commands to make sure the services start on reboot\nsudo systemctl enable nginx\nsudo systemctl start nginx\n\nsudo systemctl enable mariadb\nsudo systemctl start mariadb\n\nsudo systemctl enable php-fpm\nsudo systemctl start php-fpm\n\n## Make sure to set the MariaDB root password when running this\nsudo mysql_secure_installation", "language": "shell", "name": "CentOS 7" }, { "code": "# This adds the https://packages.sury.org/php/ repo in order to install php7\nsudo apt -y install apt-transport-https lsb-release ca-certificates wget\nsudo wget https://packages.sury.org/php/apt.gpg -O - | sudo apt-key add -\nsudo echo \"deb https://packages.sury.org/php/ $(lsb_release -sc) main\" > /etc/apt/sources.list.d/php.list\n\n# If you currently have apache2 installed you will not be able to use nginx as well. Please plan accordingly.\nsudo apt update\nsudo apt install -y openssl curl nginx mysql-client mysql-server php-fpm php-cli php-curl php-mysql", "language": "shell", "name": "Debian 8" }, { "code": "# This adds the https://launchpad.net/~ondrej/+archive/ubuntu/php/ repo in order to install php7\nsudo add-apt-repository ppa:ondrej/php\n\n# If you currently have apache2 installed you will not be able to use nginx as well. Please plan accordingly.\nsudo apt update\nsudo apt install -y openssl curl nginx mysql-client mysql-server php-fpm php-cli php-curl php-mysql", "language": "shell", "name": "Ubuntu 14.04" }, { "code": "# run all of the following as root!\n# mariadb is a faster and better drop in replacement for mysql\n# the latest php 7 is in edge, ncurses is in edge (tput)\napk add openssl curl nginx mariadb-client mariadb php7 php7-fpm php7-pdo_mysql php7-mcrypt php7-ctype php7-json php7-phar php7-curl php7-session ncurses --update-c\nache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted\n\n# enable on startup \nrc-update add nginx\nrc-update add php-fpm7\nrc-update add mariadb\n\n# start services\n/etc/init.d/nginx start\n/etc/init.d/php-fpm7 start\n\n# you need to setup mariadb beforehand \n/etc/init.d/mariadb setup\n/etc/init.d/mariadb start\n\n# make sure you have a secure mysql database\nmysql_secure_installation\n\n# ADDITIONAL AFTER-INSTALLER STEPS:\n# In /srv/pufferpanel/config.json, change \"localhost\" to 127.0.0.1 \n# check /srv/pufferpanel/logs/exception.log / /srv/pufferpanel/logs/error.log for \n# You will probably want to change your php-fpm user to be nginx\n# change the ownership of all files in /srv/pufferpanel to nginx:\n# chown nginx:nginx -R /srv/pufferpanel\n", "language": "shell", "name": "Alpine Linux 3.5" } ] } [/block] [block:api-header] { "type": "basic", "title": "Running the Installer" } [/block] We now offer an automated installer to help make the installation process easier. This installer can run by copy and pasting the command below into your terminal. The installer will guide you through the entire installation process. [block:code] { "codes": [ { "code": "# Please run these with either sudo in front of them, or as the root user (sudo -i)\nmkdir -p /srv && cd /srv\ncurl -L -o pufferpanel.tar.gz https://git.io/vH8Da\ntar -xf pufferpanel.tar.gz\ncd pufferpanel \nchmod +x pufferpanel\n./pufferpanel install", "language": "shell", "name": "Installer" } ] } [/block] If the web service auto-install does not work, please read the following page to configure nginx: [Configuring nginx](doc:nginx-configuration). If you prefer to use Apache, you can follow this guide instead: [Configuring Apache](doc:apache-configuration). [block:api-header] { "type": "basic", "title": "Next Steps" } [/block] Be sure to allow traffic on port 5656 to allow the pufferd daemon to communicate with PufferPanel and port 5657 to allow SFTP access to the servers. If you are using OVH, please see https://www.pufferpanel.com/docs/migrating-to-pufferd#ovh-servers as most OVH partition setups give most of the available disk space to /home. Congratulations! You will be given the URL of your PufferPanel installation after the installer has finished. Since pufferd is installed on the local node already with PufferPanel, you can get started creating servers right away!