mirror of
https://github.com/tommytran732/Pterodactyl-Script
synced 2024-11-22 10:31:34 -05:00
Added Support for Fedora 33 and Removed Support for Fedora 31
This commit is contained in:
parent
cd698b8cc2
commit
c3c972a557
66
install.sh
66
install.sh
@ -133,8 +133,8 @@ os_check(){
|
|||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
elif [ "$lsb_dist" = "fedora" ]; then
|
elif [ "$lsb_dist" = "fedora" ]; then
|
||||||
if [ "$dist_version" != "32" ] && [ "$dist_version" != "31" ]; then
|
if [ "$dist_version" != "33" ] && [ "$dist_version" != "32" ]; then
|
||||||
output "Unsupported Fedora version. Only Fedora 32 and 31 are supported."
|
output "Unsupported Fedora version. Only Fedora 33 and 32 are supported."
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
elif [ "$lsb_dist" = "centos" ]; then
|
elif [ "$lsb_dist" = "centos" ]; then
|
||||||
@ -153,7 +153,7 @@ os_check(){
|
|||||||
output "Supported OS:"
|
output "Supported OS:"
|
||||||
output "Ubuntu: 20.04, 18.04, 16.04"
|
output "Ubuntu: 20.04, 18.04, 16.04"
|
||||||
output "Debian: 10, 9"
|
output "Debian: 10, 9"
|
||||||
output "Fedora: 32, 31"
|
output "Fedora: 33, 32"
|
||||||
output "CentOS: 8, 7"
|
output "CentOS: 8, 7"
|
||||||
output "RHEL: 8"
|
output "RHEL: 8"
|
||||||
exit 2
|
exit 2
|
||||||
@ -340,7 +340,7 @@ required_infos() {
|
|||||||
dns_check(){
|
dns_check(){
|
||||||
output "Please enter your FQDN (panel.domain.tld):"
|
output "Please enter your FQDN (panel.domain.tld):"
|
||||||
read FQDN
|
read FQDN
|
||||||
|
|
||||||
output "Resolving DNS..."
|
output "Resolving DNS..."
|
||||||
SERVER_IP=$(curl -s http://checkip.amazonaws.com)
|
SERVER_IP=$(curl -s http://checkip.amazonaws.com)
|
||||||
DOMAIN_RECORD=$(dig +short ${FQDN})
|
DOMAIN_RECORD=$(dig +short ${FQDN})
|
||||||
@ -351,7 +351,7 @@ dns_check(){
|
|||||||
output "If you are using Cloudflare, please disable the orange cloud."
|
output "If you are using Cloudflare, please disable the orange cloud."
|
||||||
output "If you do not have a domain, you can get a free one at https://freenom.com"
|
output "If you do not have a domain, you can get a free one at https://freenom.com"
|
||||||
dns_check
|
dns_check
|
||||||
else
|
else
|
||||||
output "Domain resolved correctly. Good to go..."
|
output "Domain resolved correctly. Good to go..."
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -422,10 +422,10 @@ repositories_setup(){
|
|||||||
apt-get -y install curl
|
apt-get -y install curl
|
||||||
elif [ "$lsb_dist" = "fedora" ] || [ "$lsb_dist" = "centos" ]; then
|
elif [ "$lsb_dist" = "fedora" ] || [ "$lsb_dist" = "centos" ]; then
|
||||||
if [ "$lsb_dist" = "fedora" ] ; then
|
if [ "$lsb_dist" = "fedora" ] ; then
|
||||||
if [ "$dist_version" = "32" ]; then
|
if [ "$dist_version" = "33" ]; then
|
||||||
|
dnf -y install http://rpms.remirepo.net/fedora/remi-release-33.rpm
|
||||||
|
elif [ "$dist_version" = "32" ]; then
|
||||||
dnf -y install http://rpms.remirepo.net/fedora/remi-release-32.rpm
|
dnf -y install http://rpms.remirepo.net/fedora/remi-release-32.rpm
|
||||||
elif [ "$dist_version" = "31" ]; then
|
|
||||||
dnf -y install http://rpms.remirepo.net/fedora/remi-release-31.rpm
|
|
||||||
fi
|
fi
|
||||||
dnf -y install dnf-plugins-core python2 libsemanage-devel
|
dnf -y install dnf-plugins-core python2 libsemanage-devel
|
||||||
dnf config-manager --set-enabled remi
|
dnf config-manager --set-enabled remi
|
||||||
@ -492,7 +492,7 @@ repositories_setup_0.7.19(){
|
|||||||
apt-get -y install software-properties-common dnsutils gpg-agent
|
apt-get -y install software-properties-common dnsutils gpg-agent
|
||||||
dpkg --remove-architecture i386
|
dpkg --remove-architecture i386
|
||||||
echo 'Acquire::ForceIPv4 "true";' | sudo tee /etc/apt/apt.conf.d/99force-ipv4
|
echo 'Acquire::ForceIPv4 "true";' | sudo tee /etc/apt/apt.conf.d/99force-ipv4
|
||||||
apt-get -y update
|
apt-get -y update
|
||||||
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
|
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
|
||||||
if [ "$lsb_dist" = "ubuntu" ]; then
|
if [ "$lsb_dist" = "ubuntu" ]; then
|
||||||
LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
|
LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
|
||||||
@ -502,7 +502,7 @@ repositories_setup_0.7.19(){
|
|||||||
add-apt-repository -y ppa:nginx/development
|
add-apt-repository -y ppa:nginx/development
|
||||||
fi
|
fi
|
||||||
apt -y install tuned dnsutils
|
apt -y install tuned dnsutils
|
||||||
tuned-adm profile latency-performance
|
tuned-adm profile latency-performance
|
||||||
elif [ "$lsb_dist" = "debian" ]; then
|
elif [ "$lsb_dist" = "debian" ]; then
|
||||||
apt-get -y install ca-certificates apt-transport-https
|
apt-get -y install ca-certificates apt-transport-https
|
||||||
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
|
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
|
||||||
@ -518,17 +518,17 @@ repositories_setup_0.7.19(){
|
|||||||
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
|
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
apt-get -y update
|
apt-get -y update
|
||||||
apt-get -y upgrade
|
apt-get -y upgrade
|
||||||
apt-get -y autoremove
|
apt-get -y autoremove
|
||||||
apt-get -y autoclean
|
apt-get -y autoclean
|
||||||
apt-get -y install curl
|
apt-get -y install curl
|
||||||
elif [ "$lsb_dist" = "fedora" ] || [ "$lsb_dist" = "centos" ]; then
|
elif [ "$lsb_dist" = "fedora" ] || [ "$lsb_dist" = "centos" ]; then
|
||||||
if [ "$lsb_dist" = "fedora" ] ; then
|
if [ "$lsb_dist" = "fedora" ] ; then
|
||||||
if [ "$dist_version" = "32" ]; then
|
if [ "$dist_version" = "33" ]; then
|
||||||
|
dnf -y install http://rpms.remirepo.net/fedora/remi-release-33.rpm
|
||||||
|
elif [ "$dist_version" = "32" ]; then
|
||||||
dnf -y install http://rpms.remirepo.net/fedora/remi-release-32.rpm
|
dnf -y install http://rpms.remirepo.net/fedora/remi-release-32.rpm
|
||||||
elif [ "$dist_version" = "31" ]; then
|
|
||||||
dnf -y install http://rpms.remirepo.net/fedora/remi-release-31.rpm
|
|
||||||
fi
|
fi
|
||||||
dnf -y install dnf-plugins-core python2 libsemanage-devel
|
dnf -y install dnf-plugins-core python2 libsemanage-devel
|
||||||
dnf config-manager --set-enabled remi
|
dnf config-manager --set-enabled remi
|
||||||
@ -670,7 +670,7 @@ install_dependencies_0.7.19(){
|
|||||||
if [ "$dist_version" = "8" ]; then
|
if [ "$dist_version" = "8" ]; then
|
||||||
dnf -y install MariaDB-server MariaDB-client --disablerepo=AppStream
|
dnf -y install MariaDB-server MariaDB-client --disablerepo=AppStream
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
dnf -y install MariaDB-server
|
dnf -y install MariaDB-server
|
||||||
fi
|
fi
|
||||||
dnf -y module install php:remi-7.3
|
dnf -y module install php:remi-7.3
|
||||||
@ -678,7 +678,7 @@ install_dependencies_0.7.19(){
|
|||||||
dnf -y install redis nginx git policycoreutils-python-utils unzip wget expect jq php-mysql php-zip php-bcmath tar
|
dnf -y install redis nginx git policycoreutils-python-utils unzip wget expect jq php-mysql php-zip php-bcmath tar
|
||||||
elif [ "$webserver" = "2" ]; then
|
elif [ "$webserver" = "2" ]; then
|
||||||
dnf -y install redis httpd git policycoreutils-python-utils mod_ssl unzip wget expect jq php-mysql php-zip php-mcmath tar
|
dnf -y install redis httpd git policycoreutils-python-utils mod_ssl unzip wget expect jq php-mysql php-zip php-mcmath tar
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
output "Enabling Services..."
|
output "Enabling Services..."
|
||||||
@ -693,7 +693,7 @@ install_dependencies_0.7.19(){
|
|||||||
systemctl enable php-fpm
|
systemctl enable php-fpm
|
||||||
service php-fpm start
|
service php-fpm start
|
||||||
fi
|
fi
|
||||||
|
|
||||||
systemctl enable cron
|
systemctl enable cron
|
||||||
systemctl enable mariadb
|
systemctl enable mariadb
|
||||||
|
|
||||||
@ -877,10 +877,10 @@ install_pterodactyl_0.7.19() {
|
|||||||
sed -i -- '/bind-address/s/127.0.0.1/0.0.0.0/g' /etc/mysql/my.conf.d/mysqld.cnf
|
sed -i -- '/bind-address/s/127.0.0.1/0.0.0.0/g' /etc/mysql/my.conf.d/mysqld.cnf
|
||||||
output 'Restarting MySQL process...'
|
output 'Restarting MySQL process...'
|
||||||
service mysql restart
|
service mysql restart
|
||||||
else
|
else
|
||||||
output 'A MySQL configuration file could not be detected! Please contact support.'
|
output 'A MySQL configuration file could not be detected! Please contact support.'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
output "Downloading Pterodactyl..."
|
output "Downloading Pterodactyl..."
|
||||||
mkdir -p /var/www/pterodactyl
|
mkdir -p /var/www/pterodactyl
|
||||||
cd /var/www/pterodactyl
|
cd /var/www/pterodactyl
|
||||||
@ -1039,7 +1039,7 @@ nginx_config() {
|
|||||||
output "Disabling default configuration..."
|
output "Disabling default configuration..."
|
||||||
rm -rf /etc/nginx/sites-enabled/default
|
rm -rf /etc/nginx/sites-enabled/default
|
||||||
output "Configuring Nginx Webserver..."
|
output "Configuring Nginx Webserver..."
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
server_tokens off;
|
server_tokens off;
|
||||||
set_real_ip_from 103.21.244.0/22;
|
set_real_ip_from 103.21.244.0/22;
|
||||||
@ -1226,7 +1226,7 @@ echo '
|
|||||||
ServerName '"$FQDN"'
|
ServerName '"$FQDN"'
|
||||||
RewriteEngine On
|
RewriteEngine On
|
||||||
RewriteCond %{HTTPS} !=on
|
RewriteCond %{HTTPS} !=on
|
||||||
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
|
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
<VirtualHost *:443>
|
<VirtualHost *:443>
|
||||||
ServerName '"$FQDN"'
|
ServerName '"$FQDN"'
|
||||||
@ -1240,9 +1240,9 @@ echo '
|
|||||||
SSLEngine on
|
SSLEngine on
|
||||||
SSLCertificateFile /etc/letsencrypt/live/'"$FQDN"'/fullchain.pem
|
SSLCertificateFile /etc/letsencrypt/live/'"$FQDN"'/fullchain.pem
|
||||||
SSLCertificateKeyFile /etc/letsencrypt/live/'"$FQDN"'/privkey.pem
|
SSLCertificateKeyFile /etc/letsencrypt/live/'"$FQDN"'/privkey.pem
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
' | sudo -E tee /etc/apache2/sites-available/pterodactyl.conf >/dev/null 2>&1
|
' | sudo -E tee /etc/apache2/sites-available/pterodactyl.conf >/dev/null 2>&1
|
||||||
|
|
||||||
ln -s /etc/apache2/sites-available/pterodactyl.conf /etc/apache2/sites-enabled/pterodactyl.conf
|
ln -s /etc/apache2/sites-available/pterodactyl.conf /etc/apache2/sites-enabled/pterodactyl.conf
|
||||||
a2enmod ssl
|
a2enmod ssl
|
||||||
a2enmod rewrite
|
a2enmod rewrite
|
||||||
@ -1251,7 +1251,7 @@ echo '
|
|||||||
|
|
||||||
nginx_config_redhat(){
|
nginx_config_redhat(){
|
||||||
output "Configuring Nginx web server..."
|
output "Configuring Nginx web server..."
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
server_tokens off;
|
server_tokens off;
|
||||||
set_real_ip_from 103.21.244.0/22;
|
set_real_ip_from 103.21.244.0/22;
|
||||||
@ -1291,7 +1291,7 @@ server {
|
|||||||
# allow larger file uploads and longer script runtimes
|
# allow larger file uploads and longer script runtimes
|
||||||
client_max_body_size 100m;
|
client_max_body_size 100m;
|
||||||
client_body_timeout 120s;
|
client_body_timeout 120s;
|
||||||
|
|
||||||
sendfile off;
|
sendfile off;
|
||||||
# strengthen ssl security
|
# strengthen ssl security
|
||||||
ssl_certificate /etc/letsencrypt/live/'"$FQDN"'/fullchain.pem;
|
ssl_certificate /etc/letsencrypt/live/'"$FQDN"'/fullchain.pem;
|
||||||
@ -1300,7 +1300,7 @@ server {
|
|||||||
ssl_prefer_server_ciphers on;
|
ssl_prefer_server_ciphers on;
|
||||||
ssl_session_cache shared:SSL:10m;
|
ssl_session_cache shared:SSL:10m;
|
||||||
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
|
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
|
||||||
|
|
||||||
# See the link below for more SSL information:
|
# See the link below for more SSL information:
|
||||||
# https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
|
# https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
|
||||||
#
|
#
|
||||||
@ -1349,7 +1349,7 @@ echo '
|
|||||||
ServerName '"$FQDN"'
|
ServerName '"$FQDN"'
|
||||||
RewriteEngine On
|
RewriteEngine On
|
||||||
RewriteCond %{HTTPS} !=on
|
RewriteCond %{HTTPS} !=on
|
||||||
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
|
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
<VirtualHost *:443>
|
<VirtualHost *:443>
|
||||||
ServerName '"$FQDN"'
|
ServerName '"$FQDN"'
|
||||||
@ -1361,7 +1361,7 @@ echo '
|
|||||||
SSLEngine on
|
SSLEngine on
|
||||||
SSLCertificateFile /etc/letsencrypt/live/'"$FQDN"'/fullchain.pem
|
SSLCertificateFile /etc/letsencrypt/live/'"$FQDN"'/fullchain.pem
|
||||||
SSLCertificateKeyFile /etc/letsencrypt/live/'"$FQDN"'/privkey.pem
|
SSLCertificateKeyFile /etc/letsencrypt/live/'"$FQDN"'/privkey.pem
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
' | sudo -E tee /etc/httpd/conf.d/pterodactyl.conf >/dev/null 2>&1
|
' | sudo -E tee /etc/httpd/conf.d/pterodactyl.conf >/dev/null 2>&1
|
||||||
service httpd restart
|
service httpd restart
|
||||||
}
|
}
|
||||||
@ -1513,9 +1513,9 @@ install_daemon() {
|
|||||||
output "Installing Docker"
|
output "Installing Docker"
|
||||||
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
|
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
|
||||||
fi
|
fi
|
||||||
|
|
||||||
service docker start
|
service docker start
|
||||||
systemctl enable docker
|
systemctl enable docker
|
||||||
output "Enabling SWAP support for Docker & installing NodeJS..."
|
output "Enabling SWAP support for Docker & installing NodeJS..."
|
||||||
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/& swapaccount=1/' /etc/default/grub
|
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/& swapaccount=1/' /etc/default/grub
|
||||||
if [ "$lsb_dist" = "ubuntu" ] || [ "$lsb_dist" = "debian" ]; then
|
if [ "$lsb_dist" = "ubuntu" ] || [ "$lsb_dist" = "debian" ]; then
|
||||||
@ -1529,7 +1529,7 @@ install_daemon() {
|
|||||||
else
|
else
|
||||||
apt -y install nodejs make gcc g++ node-gyp
|
apt -y install nodejs make gcc g++ node-gyp
|
||||||
fi
|
fi
|
||||||
apt-get -y update
|
apt-get -y update
|
||||||
apt-get -y upgrade
|
apt-get -y upgrade
|
||||||
apt-get -y autoremove
|
apt-get -y autoremove
|
||||||
apt-get -y autoclean
|
apt-get -y autoclean
|
||||||
@ -2175,4 +2175,4 @@ case $installoption in
|
|||||||
;;
|
;;
|
||||||
22) database_host_reset
|
22) database_host_reset
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
Loading…
Reference in New Issue
Block a user