mirror of
https://github.com/immense/Remotely.git
synced 2025-10-26 11:27:15 +00:00
Add CentOS installer script.
This commit is contained in:
parent
56874062bd
commit
38eb8b00c7
140
Utilities/Remotely_CentOS_Install.sh
Normal file
140
Utilities/Remotely_CentOS_Install.sh
Normal file
@ -0,0 +1,140 @@
|
||||
#!/bin/bash
|
||||
echo "Thanks for trying remotely! If you have any questions, feel free to email me at Translucency_Software@outlook.com."
|
||||
echo
|
||||
|
||||
read -p "Enter path where the Remotely server files are located (typically /var/www/remotely): " appRoot
|
||||
if [ -z "$appRoot" ]; then
|
||||
appRoot="/var/www/remotely"
|
||||
fi
|
||||
|
||||
read -p "Enter server host (e.g. remotely.yourdomainname.com): " serverHost
|
||||
|
||||
yum update
|
||||
|
||||
# Install .NET Core Runtime.
|
||||
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
|
||||
|
||||
yum -y install apt-transport-https
|
||||
yum -y update
|
||||
yum -y install aspnetcore-runtime-3.1
|
||||
|
||||
|
||||
# Install other prerequisites.
|
||||
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||
yum -y install yum-utils
|
||||
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
|
||||
yum -y install unzip
|
||||
yum -y install acl
|
||||
yum -y install ffmpeg
|
||||
yum -y install libc6-dev
|
||||
yum -y install libgdiplus
|
||||
|
||||
|
||||
# Download and install Remotely files.
|
||||
mkdir -p $appRoot
|
||||
wget "https://github.com/Jay-Rad/Remotely/releases/latest/download/Remotely_Server_Linux-x64.zip"
|
||||
unzip -o Remotely_Server_Linux-x64.zip -d $appRoot
|
||||
rm Remotely_Server_Linux-x64.zip
|
||||
setfacl -R -m u:apache:rwx $appRoot
|
||||
chown -R apache:apache $appRoot
|
||||
|
||||
|
||||
# Install Nginx
|
||||
yum -y install nginx
|
||||
|
||||
systemctl start nginx
|
||||
|
||||
|
||||
# Configure Nginx
|
||||
nginxConfig="server {
|
||||
listen 80;
|
||||
server_name $serverHost *.$serverHost;
|
||||
location / {
|
||||
proxy_pass http://localhost:5000;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade \$http_upgrade;
|
||||
proxy_set_header Connection keep-alive;
|
||||
proxy_set_header Host \$host;
|
||||
proxy_cache_bypass \$http_upgrade;
|
||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||
}
|
||||
|
||||
location /BrowserHub {
|
||||
proxy_pass http://localhost:5000;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade \$http_upgrade;
|
||||
proxy_set_header Connection \"upgrade\";
|
||||
proxy_set_header Host \$host;
|
||||
proxy_cache_bypass \$http_upgrade;
|
||||
}
|
||||
location /DeviceHub {
|
||||
proxy_pass http://localhost:5000;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade \$http_upgrade;
|
||||
proxy_set_header Connection \"upgrade\";
|
||||
proxy_set_header Host \$host;
|
||||
proxy_cache_bypass \$http_upgrade;
|
||||
}
|
||||
|
||||
location /RCBrowserHub {
|
||||
proxy_pass http://localhost:5000;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade \$http_upgrade;
|
||||
proxy_set_header Connection \"upgrade\";
|
||||
proxy_set_header Host \$host;
|
||||
proxy_cache_bypass \$http_upgrade;
|
||||
}
|
||||
location /RCDeviceHub {
|
||||
proxy_pass http://localhost:5000;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade \$http_upgrade;
|
||||
proxy_set_header Connection \"upgrade\";
|
||||
proxy_set_header Host \$host;
|
||||
proxy_cache_bypass \$http_upgrade;
|
||||
}
|
||||
}"
|
||||
|
||||
echo "$nginxConfig" > /etc/nginx/conf.d/remotely.conf
|
||||
|
||||
# Test config.
|
||||
nginx -t
|
||||
|
||||
# Reload.
|
||||
nginx -s reload
|
||||
|
||||
|
||||
# Create service.
|
||||
|
||||
serviceConfig="[Unit]
|
||||
Description=Remotely Server
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=$appRoot
|
||||
ExecStart=/usr/bin/dotnet $appRoot/Remotely_Server.dll
|
||||
Restart=always
|
||||
# Restart service after 10 seconds if the dotnet service crashes:
|
||||
RestartSec=10
|
||||
SyslogIdentifier=remotely
|
||||
Environment=ASPNETCORE_ENVIRONMENT=Production
|
||||
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target"
|
||||
|
||||
echo "$serviceConfig" > /etc/systemd/system/remotely.service
|
||||
|
||||
|
||||
# Enable service.
|
||||
systemctl enable remotely.service
|
||||
# Start service.
|
||||
systemctl start remotely.service
|
||||
|
||||
firewall-cmd --permanent --zone=public --add-service=http
|
||||
firewall-cmd --permanent --zone=public --add-service=https
|
||||
firewall-cmd --reload
|
||||
|
||||
# Install Certbot and get SSL cert.
|
||||
yum -y install certbot python2-certbot-nginx
|
||||
|
||||
certbot --nginx
|
||||
@ -17,15 +17,15 @@ apt-get update
|
||||
wget -q https://packages.microsoft.com/config/ubuntu/$UbuntuVersion/packages-microsoft-prod.deb
|
||||
dpkg -i packages-microsoft-prod.deb
|
||||
add-apt-repository universe
|
||||
apt-get install -y apt-transport-https
|
||||
apt-get -y install apt-transport-https
|
||||
apt-get update
|
||||
apt-get install -y aspnetcore-runtime-3.1
|
||||
apt-get -y install aspnetcore-runtime-3.1
|
||||
rm packages-microsoft-prod.deb
|
||||
|
||||
|
||||
# Install other prerequisites.
|
||||
apt-get install -y unzip
|
||||
apt-get install -y acl
|
||||
apt-get -y install unzip
|
||||
apt-get -y install acl
|
||||
apt-get -y install ffmpeg
|
||||
apt-get -y install libc6-dev
|
||||
apt-get -y install libgdiplus
|
||||
@ -42,7 +42,7 @@ chown -R www-data:www-data $appRoot
|
||||
|
||||
# Install Nginx
|
||||
apt-get update
|
||||
apt-get install -y nginx
|
||||
apt-get -y install nginx
|
||||
|
||||
systemctl start nginx
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user