mirror of
https://github.com/pterodactyl/documentation.git
synced 2025-12-10 00:09:39 -06:00
Add the tutorials
This commit is contained in:
parent
208bec591e
commit
2475ab6d69
@ -35,6 +35,7 @@ module.exports = {
|
||||
collapsable: false,
|
||||
children: [
|
||||
'/',
|
||||
'/project/terms.md',
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -53,6 +54,14 @@ module.exports = {
|
||||
'/',
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'Tutorials',
|
||||
collapsable: false,
|
||||
children: [
|
||||
'/tutorials/mysql_setup.md',
|
||||
'/tutorials/creating_ssl_certificates.md',
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'API Reference',
|
||||
collapsable: true,
|
||||
|
||||
@ -4,4 +4,4 @@ Pterodactyl is the open-source game server management panel built with PHP7, Nod
|
||||
Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to administrators
|
||||
and users.
|
||||
|
||||
What more are you waiing for? Make game servers a first class citizen on your platform today.
|
||||
What more are you waiting for? Make game servers a first class citizen on your platform today.
|
||||
|
||||
BIN
images/example_setup.png
Normal file
BIN
images/example_setup.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.9 KiB |
18
project/terms.md
Normal file
18
project/terms.md
Normal file
@ -0,0 +1,18 @@
|
||||
# Terminology
|
||||
**Panel** — This refers to Pterodactyl Panel itself, and is what allows you to add additional
|
||||
nodes and servers to the system.
|
||||
|
||||
**Node** — A node is a physical machine that runs an instance of the Daemon.
|
||||
|
||||
**Daemon** — A service written in Nodejs that interfaces with Docker and the Panel to provide secure access for
|
||||
controlling servers via the Panel.
|
||||
|
||||
**Server** — In this case, a server refers to a running instance that is created by the panel. These servers are
|
||||
created on nodes, and you can have multiple servers per node.
|
||||
|
||||
**Container** — Each server will be running inside an isolated container to enforce hardware limitations
|
||||
(such as CPU and RAM) and avoid any interference between servers on one node. These are created by Docker.
|
||||
|
||||
## Example Setup Diagram
|
||||
|
||||

|
||||
34
tutorials/creating_ssl_certificates.md
Normal file
34
tutorials/creating_ssl_certificates.md
Normal file
@ -0,0 +1,34 @@
|
||||
# Creating SSL Certificates
|
||||
This tutorial briefly covers creating new SSL certificates for your panel and daemon using LetsEncrypt™. To
|
||||
begin, we will be installing certbot, a simple script that will automatically renew our certificates and allow much
|
||||
cleaner creation of them. The command below is for Ubuntu distributions, but you can always check [Certbot's official
|
||||
site](https://certbot.eff.org/) for installation instructions.
|
||||
|
||||
``` bash
|
||||
sudo apt-get install letsencrypt
|
||||
```
|
||||
|
||||
## Creating a Certificate
|
||||
After installing certbot, we need to then generate a certificate. There are a couple ways to do that, but the
|
||||
easiest is to have letsencrypt spin-up a temporary web-server to do this. In order for this to work, you will
|
||||
first need to stop NGINX or Apache.
|
||||
|
||||
Then, in the command below, you should replace `example.com` with the domain you would like to generate a certificate
|
||||
for. If you have multiple domains you would like certificates for, simply add more `-d anotherdomain.com` flags to the
|
||||
command. You can also look into generating a wildcard certificate but that is not covered in this tutorial.
|
||||
|
||||
Once you've generated the certificate you should start NGINX or Apache again to have the certificates applied (assuming
|
||||
that you've already configured the webservers to use SSL).
|
||||
|
||||
``` bash
|
||||
letsencrypt certonly -d example.com
|
||||
```
|
||||
|
||||
## Auto Renewal
|
||||
You'll also probably want to configure automatic renewal by adding the command below to a cronjob that runs daily.
|
||||
You can add the command below to that crontab. For advanced users, we suggest installing and using [acme.sh](https://acme.sh)
|
||||
which provides more options, and is much more powerful than certbot.
|
||||
|
||||
``` text
|
||||
letsencrypt renew
|
||||
```
|
||||
47
tutorials/mysql_setup.md
Normal file
47
tutorials/mysql_setup.md
Normal file
@ -0,0 +1,47 @@
|
||||
# Setting up MySQL
|
||||
MySQL is a core component of Pterodactyl Panel but it can be confusing to setup and use if you've never done so before.
|
||||
This is a very basic tutorial that skims just enough of the surface to set MySQL up and running with the panel.
|
||||
If you're interested in learning more, there are some great tutorials available on the Internet.
|
||||
|
||||
## Logging In
|
||||
The first step in this process is to login to the MySQL command line where we will be executing some statements to get
|
||||
things setup. To do so, simply run the command below and provide the Root MySQL account's password that you setup when
|
||||
installing MySQL. If you do not remember doing this, chances are you can just hit enter as no password is set.
|
||||
|
||||
``` bash
|
||||
mysql -u root -p
|
||||
```
|
||||
|
||||
## Creating a User
|
||||
For security sake, and due to changes in MySQL 5.7, you'll need to create a new user for the panel. To do so, we want
|
||||
to first tell MySQL to use the mysql database, which stores such information.
|
||||
|
||||
Next, we will create a user called `pterodactyl` and allow logins from localhost which prevents any external connections
|
||||
to our database. You can also use `%` as a wildcard or enter a numeric IP. We will also set the account password
|
||||
to `somePassword`.
|
||||
|
||||
``` sql
|
||||
USE mysql;
|
||||
|
||||
# Remeber to change 'somePassword' below to be a unique password specific to this account.
|
||||
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'somePassword';
|
||||
```
|
||||
|
||||
## Create a Database
|
||||
Next, we need to create a database for the panel. In this tutorial we will be naming the database `panel`, but you can
|
||||
substitute that for whatever name you wish.
|
||||
|
||||
``` sql
|
||||
CREATE DATABASE panel;
|
||||
```
|
||||
|
||||
## Assigning Permissions
|
||||
Finally, we need to tell MySQL that our pterodactyl user should have access to the panel database. To do this, simply
|
||||
run the command below. If you plan on also using this MySQL instance as a database host on the Panel you'll want to
|
||||
include the `WITH GRANT OPTION` (which we are doing here). If you won't be using this user as part of the host setup
|
||||
you can remove that.
|
||||
|
||||
``` sql
|
||||
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
|
||||
FLUSH PRIVILEGES;
|
||||
```
|
||||
Loading…
x
Reference in New Issue
Block a user