1
0
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:
HeyJack 2020-12-08 19:11:43 +00:00
parent cd698b8cc2
commit c3c972a557

View File

@ -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