add centos 8

This is a base install for centos 8.

Covers the Panel and Daemon.
Uses packages provided by redhat. (no extra repos other than docker.)

Many changes in CentOS 8 make this a much easier install.
This commit is contained in:
Michael Parker 2019-09-29 04:03:38 -04:00
parent 1d3fd328e4
commit 7f4d34cb32
4 changed files with 186 additions and 2 deletions

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
.idea/
.vuepress/dist
node_modules/
yarn-error.log

View File

@ -55,9 +55,10 @@ module.exports = {
collapsable: false,
children: [
'/community/installation-guides/panel/centos7.md',
'/community/installation-guides/panel/ubuntu1804.md',
'/community/installation-guides/panel/centos8.md',
'/community/installation-guides/panel/debian9.md',
'/community/installation-guides/panel/debian10.md',
'/community/installation-guides/panel/ubuntu1804.md',
]
},
{
@ -65,9 +66,10 @@ module.exports = {
collapsable: false,
children: [
'/community/installation-guides/daemon/centos7.md',
'/community/installation-guides/daemon/ubuntu1804.md',
'/community/installation-guides/daemon/centos8.md',
'/community/installation-guides/daemon/debian9.md',
'/community/installation-guides/daemon/debian10.md',
'/community/installation-guides/daemon/ubuntu1804.md',
]
},
{

View File

@ -0,0 +1,48 @@
# CentOS 8
In this guide we will install Pterodactyl's Daemon (wings) — including all of it's dependencies — and configure it to use a SSL connection.
[[toc]]
::: tip
This guide is based off the [official installation documentation](/daemon/installing.md) but is tailored specifically for CentOS 8.
:::
## Install Requirements
We will first begin by installing all of the Daemon's [required](/daemon/installing.md#dependencies) dependencies.
### General Requirements
```bash
dnf install -y tar unzip make gcc gcc-c++ python2
alternatives --set python /usr/bin/python2
```
### Docker
```bash
dnf install -y dnf-utils device-mapper-persistent-data lvm2
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce --nobest
systemctl enable docker
systemctl start docker
```
### Nodejs
```bash
dnf install -y nodejs
```
### Server Ports
```bash
firewall-cmd --add-port 8080/tcp --permanent
firewall-cmd --add-port 2022/tcp --permanent
firewall-cmd --permanent --zone=trusted --change-interface=docker0
firewall-cmd --reload
```
## Installing the Daemon
Great, now all of the dependencies and firewall rules have been dealt with. From here follow the [official Daemon installation documentation](/daemon/installing.md#installing-daemon-software).

View File

@ -0,0 +1,132 @@
# CentOS 8
In this guide we will install Pterodactyl — including all of it's dependencies — and configure our webserver to serve it using SSL.
[[toc]]
::: tip
This guide is based off the [official installation documentation](/panel/getting_started.md) but is tailored specifically for CentOS 8.
:::
## Install Requirements and Additional Utilities
We will install all of Pterodactyl's [required](/panel/getting_started.md#dependencies) dependencies and a few aditional utilities.
::: tip
If you run `sestatus` and it shows `SELinux status: enabled` you should install the following packages for later
:::
### SELinux tools
```bash
dnf install -y policycoreutils selinux-policy selinux-policy-targeted setroubleshoot-server setools setools-console mcstrans
```
### MariaDB
```bash
dnf install mariadb mariadb-server
## Start maraidb
systemctl start mariadb
systemctl enable mariadb
```
### PHP 7.2
We recommend the remi repo to get the latest php packages.
```bash
## Get dnf updates
dnf update -y
## Install PHP 7.2
dnf install -y php php-common php-fpm php-cli php-json php-mysqlnd php-gd php-mbstring php-pdo php-zip php-bcmath php-dom php-opcache
```
### Composer
```bash
dnf install -y zip unzip tar # Required for Composer
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
```
## Install Utility Pakcages
### Nginx
```bash
dnf install -y nginx
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
```
### Redis
```bash
dnf install -y redis
systemctl start redis
systemctl enable redis
```
#### SELinux commands
The following command will allow nginx to work with redis and
```bash
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_execmem 1
setsebool -P httpd_unified 1
```
## Server Configuration
This following section covers the configuration of parts of the server to run the panel.
### Configuring MariaDB
The fastest way to set up mariadb is to use the `mysql_secure_installation` command and follow prompts
```bash
mysql_secure_installation
```
The following are safe defaults.
Change to your own secure password
`Set root password? [Y/n] Y`
Get rid of users that could access the db by default
`Remove anonymous users? [Y/n] Y`
Keep root off the external interfaces
`Disallow root login remotely? [Y/n] Y`
Extra databases that aren't needed
`Remove test database and access to it? [Y/n] Y`
Clears and sets all the changes made
`Reload privilege tables now? [Y/n] Y`
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
#### Adding MariaDB user
To add your first user to the database, see our tutorial on [setting up MySQL](/tutorials/mysql_setup.md).
### Setup PHP
Place the contents below in a file inside the `/etc/php-fpm.d` folder. The file can be named anything, but a good standard is `www-pterodactyl.conf`. This config will match the nginx config later in the guide.
<<< @/.snippets/php-fpm/pterodactyl-centos.conf
Start and enable php-fpm on the system.
```bash
systemctl enable php-fpm
systemctl start php-fpm
```
### Nginx
Please check our [tutorial](/tutorials/creating_ssl_certificates.md) on generating SSL certificates for more information.
#### SSL Configuration
<<< @/.snippets/webservers/nginx-centos.conf{5,11,26-27}
### Redis Setup
The default Redis install is perfectly fine for the panel. If you have Redis already in use you may want to look into
[running another Redis instance](https://community.pivotal.io/s/article/How-to-setup-and-run-multiple-Redis-server-instances-on-a-Linux-host).
## Installing the Panel
Excellent, we now have all of the required dependencies installed and configured. From here, follow the [official Panel installation documentation](/panel/getting_started.md#download-files).