forked from pterodactyl/documentation
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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.
- Loading branch information
Showing
4 changed files
with
186 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
.idea/ | ||
.vuepress/dist | ||
node_modules/ | ||
|
||
yarn-error.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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). |