51 Commits
main ... 2.0

Author SHA1 Message Date
5af691b06c First push of single script testing 2023-08-26 16:46:31 -07:00
9961c8679a oops, forgot to change download link for extended 2023-08-15 21:12:57 -07:00
8a79c3d8ba updated to use hugo extended 2023-08-11 08:25:14 -07:00
4c988cdc04 never have to update go version again 2023-08-11 01:20:15 -07:00
895cbc1c1c added unattended installs, and bumped golang ver 2023-08-11 00:11:16 -07:00
ece5f6ae68 fixed errors 2023-08-04 01:30:15 -07:00
205998f576 fixed heading text 2023-08-04 01:07:38 -07:00
50190c9996 new scripts and updates 2023-08-04 01:06:24 -07:00
b2306b5b97 Updates 2023-04-30 10:39:29 -07:00
cf97300af6 retired Gitlab 2023-04-18 19:09:49 -07:00
7b6e136b88 Updated the gitea script 2023-04-18 18:50:09 -07:00
931e03a7db bump gitea 2023-04-14 01:05:59 -07:00
a02e2830ef testing 2023-04-08 14:21:14 -07:00
31fe64c2e0 bump gogs 2023-04-04 18:37:14 -07:00
9ccbe37569 fixed PMA script 2023-04-04 18:32:45 -07:00
6aa2168f97 ver bump 2023-03-31 20:42:59 -07:00
6b3a3bffd3 fixed 2023-03-31 18:56:13 -07:00
421f67b5bb added ⚠️ to PMA 2023-03-31 18:43:00 -07:00
14c65580fc PMA nginx conf 2023-03-31 18:39:13 -07:00
f5c10b9b01 bump gitea to 1.19.0 2023-03-25 01:46:53 -07:00
008e098bfd set the wrong version 2023-02-22 18:16:23 -08:00
49331c443c Merge branch 'main' of https://git.oldgate.org/Sophia/thelinuxlist 2023-02-22 18:14:23 -08:00
f43a8a77d2 bump gitea version 2023-02-22 18:14:05 -08:00
4f4768a619 Update 'README.md' 2023-02-12 13:40:28 -08:00
f9a1651ce9 bumping mongodb to 6.0 and updates to jammy 2023-02-11 23:29:40 -08:00
6c2140851d added cookie gen 2023-02-09 19:11:26 -08:00
0b6915ebd7 updated PMA 2023-02-09 19:07:40 -08:00
804477aeb8 allow 8080 with UFW 2023-01-30 11:49:49 -08:00
cc987eac61 Changed pma port to 8080
I also that systemctl stuff is echoed and not wgeted
2023-01-30 09:05:00 -08:00
7054ab4815 bumping Gitea version 2023-01-24 22:12:20 -08:00
6418a4c975 updated Gitea version. 2023-01-20 16:01:40 -08:00
2bf73b8a3b updates 2023-01-19 20:52:52 -08:00
8be3efa9e0 ... i cant spell 2023-01-19 05:09:52 -08:00
5f5e2dee15 Removing php8.1 2023-01-19 05:07:39 -08:00
73859156fd Moved to Github for download. The irony stinks 2023-01-18 03:12:18 -08:00
a8222bcfdd Version bump 2023-01-18 02:55:12 -08:00
4c5d16ab18 Moved UFW down as a last step 2023-01-16 20:41:13 -08:00
b17540254a Didn't mean to delete this 2023-01-16 20:39:43 -08:00
2c0af1f3ef Merge branch 'main' of
https://git.oldgate.org/Sophia/thelinuxlist
2023-01-16 20:36:49 -08:00
135405249a Making it easier for when PHP updates come out. 2023-01-16 20:34:04 -08:00
10d3885d28 revert 81c1ce08a9
revert added pma update
2023-01-11 17:39:22 -08:00
8b65c9ae1a Merge pull request 'Merge pull request 'main' (#1) from Sophia/thelinuxlist:main into main' (#1) from wade/thelinuxlist:main into main
Reviewed-on: Sophia/thelinuxlist#1
2023-01-11 17:34:10 -08:00
81c1ce08a9 added pma update 2023-01-02 13:22:31 -08:00
151880e03c Updated Gitea ver 2022-12-29 20:19:01 -08:00
f36cb7e0bd added to README 2022-12-27 03:15:06 -08:00
41eccb7d5a added script 2022-12-27 03:12:00 -08:00
4fd5fd4fa2 forgot php8.2-fpm 2022-12-25 18:24:26 -08:00
0cd15876c8 forgot php8.2-fpm 2022-12-25 18:23:24 -08:00
71cdecdd13 Merge branch 'main' of https://git.oldgate.org/Sophia/thelinuxlist 2022-12-25 18:17:48 -08:00
22a15430b0 updated php 2022-12-25 18:16:37 -08:00
11a4547f82 Updated Gitea to 1.17.4
Signed-off-by: Sophia Atkinson <sophialul@protonmail.com>
2022-12-22 15:27:17 -08:00
47 changed files with 1412 additions and 203 deletions

View File

@ -1,75 +1,9 @@
# The Linux List # The Linux List
### ⚠️ Super Ultra Untested ⚠️
## `~Script Installs~` ## `~Script Installs~`
### Tested scrips ✔️ ## Now Just One script!
### Broken Scripts ### `wget -O scripts.sh https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/2.0/scripts/scripts.sh && bash scripts.sh`
### Untested Scripts ⚠️
---
## Gitea
### ✔️ Install
### `wget -O giteainstall.sh https://sop.wtf/sh/giteainstall && bash giteainstall.sh`
### ✔️ Uninstall
### `wget -O gitearemove.sh https://sop.wtf/sh/gitearemove && bash gitearemove.sh`
---
## MariaDB
### ✔️ Install
### `wget -O mariadbinstall.sh https://sop.wtf/sh/mariadbinstall && bash mariadbinstall.sh`
### ✔️ Uninstall
### `sudo apt remove mariadb-server mariadb-client -y && apt autoremove -y`
---
## phpMyAdmin
### ✔️ Install
### `wget -O pmainstall.sh https://sop.wtf/sh/pmainstall && bash pmainstall.sh`
### ✔️ Uninstall
### `wget -O pmauninstall.sh https://sop.wtf/sh/pmauninstall && bash pmauninstall.sh`
---
## MongoDB
### ✔️ Install
### `wget -O mongodbinstall.sh https://sop.wtf/sh/mongodbinstall && bash mongodbinstall.sh`
### ✔️ Uninstall
### `sudo apt remove mongodb-org libssl1.1 -y && sudo apt autoremove`
---
## Gitlab
### ✔️ Install
### `wget -O gitlabinstall.sh https://sop.wtf/sh/gitlabinstall && bash gitlabinstall.sh`
### ✔️ Uninstall
### `wget -O gitlabuninstall.sh https://sop.wtf/sh/gitlabuninstall && bash gitlabuninstall.sh`
---
## Gogs
### ✔️ Install
### `wget -O gogsinstall.sh https://sop.wtf/sh/gogsinstall && bash gogsinstall.sh`
### ✔️ Uninstall
### `wget -O gogsuninstall.sh https://sop.wtf/sh/gogsuninstall && bash gogsuninstall.sh`
---
## Wordpress
### ✔️ Install
### `wget -O wpinstall.sh https://sop.wtf/sh/wpinstall && bash wpinstall.sh`
---
## Fail2Ban
### ✔️ Install
### `wget -O fail2baninstall.sh https://sop.wtf/sh/fail2baninstall && bash fail2baninstall.sh`
---

20
conf/pmaapache.conf Normal file
View File

@ -0,0 +1,20 @@
Listen 8080
<VirtualHost *:8080>
ServerName localhost
<Directory /usr/share/phpmyadmin>
AllowOverride None
Require all granted
</Directory>
DocumentRoot /usr/share/phpmyadmin
Include /etc/phpmyadmin/apache.conf
ErrorLog ${APACHE_LOG_DIR}/phpmyadmin.error.log
CustomLog ${APACHE_LOG_DIR}/phpmyadmin.access.log combined
# Error log location should be in /var/log/apache2
</VirtualHost>

17
conf/pmanginx.conf Normal file
View File

@ -0,0 +1,17 @@
server {
listen 8080;
listen [::]:8080;
server_name localhost;
access_log /var/log/nginx/phpmyadmin.vhost.access.log;
error_log /var/log/nginx/phpmyadmin.vhost.error.log;
root /usr/share/phpmyadmin;
index index.php;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

87
scripts/caddyinstall.sh Normal file
View File

@ -0,0 +1,87 @@
#!/usr/bin/env bash
trap 'exit 130' INT
while true
do
read -r -p "Would you like to install Caddy Server? [Y/n] " input
case $input in
[yY][eE][sS]|[yY])
break
;;
[nN][oO]|[nN])
break
;;
*)
echo "That wasn't an option..."
;;
esac
done
# Check if curl is installed
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
apt remove golang -y
rm -rf /tmp/go/
mkdir /tmp/go/
cd /tmp/go/
VER="1.20.7"
if [ -n "$(uname -a | grep x86_64)" ]; then
curl -fsSL -o "/tmp/go/go"$VER".linux-amd64.tar.gz" "https://go.dev/dl/go"$VER".linux-amd64.tar.gz"
fi
if [ -n "$(uname -a | grep armv6l)" ]; then
curl -fsSL -o "/tmp/go/go"$VER".linux-armv6l.tar.gz" "https://go.dev/dl/go"$VER".linux-armv6l.tar.gz"
fi
if [ -n "$(uname -a | grep i386)" ]; then
curl -fsSL -o "/tmp/go/go"$VER".linux-386.tar.gz" "https://go.dev/dl/go"$VER".linux-386.tar.gz"
fi
rm -rf /usr/local/go && tar -C /usr/local -xzf *.tar.gz
chmod +x /usr/local/go/bin/go
export PATH=$PATH:/usr/local/go/bin
cd ~
rm -rf /tmp/caddy
mkdir /tmp/caddy
cd /tmp/caddy
VER=$(curl --silent "https://api.github.com/repos/caddyserver/xcaddy/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's|[v,]||g')
if [ -n "$(uname -a | grep x86_64)" ]; then
curl -fsSL -o "/tmp/caddy/xcaddy_"$VER"_linux_amd64.tar.gz" "https://github.com/caddyserver/xcaddy/releases/download/v"$VER"/xcaddy_"$VER"_linux_amd64.tar.gz"
fi
if [ -n "$(uname -a | grep armv6l)" ]; then
curl -fsSL -o "/tmp/caddy/xcaddy_"$VER"_armv6.tar.gz" "https://github.com/caddyserver/xcaddy/releases/download/v"$VER"/xcaddy_v"$VER"_armv6.tar.gz"
fi
if [ -n "$(uname -a | grep armv7l)" ]; then
curl -fsSL -o "/tmp/caddy/xcaddy_"$VER"_linux_armv7.tar.gz" "https://github.com/caddyserver/xcaddy/releases/download/v"$VER"/xcaddy_v"$VER"_linux_armv7.tar.gz"
fi
if [ -n "$(uname -a | grep armv5l)" ]; then
curl -fsSL -o "/tmp/caddy/xcaddy_"$VER"_linux_armv5.tar.gz" "https://github.com/caddyserver/xcaddy/releases/download/v"$VER"/xcaddy_v"$VER"_linux_armv5.tar.gz"
fi
tar xvf *.tar.gz xcaddy
sudo mv xcaddy /usr/bin
mkdir ~/caddy
cd ~/caddy
xcaddy build
sudo mv caddy /usr/bin
sudo groupadd --system caddy
sudo useradd --system \
--gid caddy \
--create-home \
--home-dir /var/lib/caddy \
--shell /usr/sbin/nologin \
--comment "Caddy web server" \
caddy
sudo chown root:root /usr/bin/caddy
sudo chmod 755 /usr/bin/caddy
sudo mkdir /etc/caddy
sudo chown -R root:caddy /etc/caddy
sudo mkdir /etc/ssl/caddy
sudo chown -R root:caddy /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy
sudo mkdir /var/www
sudo chown caddy:caddy /var/www
sudo sh -c 'curl https://raw.githubusercontent.com/caddyserver/dist/master/init/caddy.service > /etc/systemd/system/caddy.service'
sudo systemctl daemon-reload
sudo systemctl status caddy
sudo ufw allow proto tcp from any to any port 80,443

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/usr/bin/env bash
trap 'exit 130' INT
while true while true
do do
read -r -p "Would you like to install fail2ban? [Y/n] " input read -r -p "Would you like to install fail2ban? [Y/n] " input

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/usr/bin/env bash
trap 'exit 130' INT
while true while true
do do
read -r -p "Would you like to install Gitea? [Y/n] " input read -r -p "Would you like to install Gitea? [Y/n] " input
@ -16,27 +16,58 @@ do
;; ;;
esac esac
done done
GITEA_VER="1.17.3" set -b
ping -c1 "github.com" &>"/dev/null"
ping -c1 "api.github.com" &>"/dev/null"
ping -c1 "dl.gitea.io" &>"/dev/null"
ping -c1 "raw.githubusercontent.com" &>"/dev/null"
if [[ "${?}" -ne 0 ]]; then
echo "I am unable to access one of the necessary domains that are needed to continue this Install."
elif [[ "${#args[@]}" -eq 0 ]]; then
# Check if curl is installed
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
VER=$(curl --silent "https://api.github.com/repos/go-gitea/gitea/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's|[v,]||g' )
sudo systemctl stop gitea sudo systemctl stop gitea
sudo apt-get install git -y sudo apt-get install git -y
sudo ufw allow 3000
sudo wget -O /usr/local/bin/gitea https://dl.gitea.io/gitea/$GITEA_VER/gitea-"$GITEA_VER"-linux-amd64
sudo chmod +x /usr/local/bin/gitea
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
sudo mkdir -pv /var/lib/gitea/{custom,data,log} if [ -n "$(uname -a | grep i386)" ]; then
sudo chown -Rv git:git /var/lib/gitea curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-386"
sudo chmod -Rv 750 /var/lib/gitea fi
sudo mkdir -v /etc/gitea
sudo chown -Rv root:git /etc/gitea if [ -n "$(uname -a | grep x86_64)" ]; then
sudo chmod -Rv 770 /etc/gitea curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-amd64"
sudo wget -O /etc/systemd/system/gitea.service https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/systemd/gitea.service fi
if [ -n "$(uname -a | grep armv6l)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-6"
fi
if [ -n "$(uname -a | grep armv7l)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-7"
fi
sudo mv /tmp/gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea
sudo chmod -R 750 /var/lib/gitea
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
curl -fsSL -o /etc/systemd/system/gitea.service https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service
sudo systemctl daemon-reload sudo systemctl daemon-reload
sudo systemctl enable --now gitea sudo systemctl enable --now gitea
sudo systemctl start gitea sudo systemctl start gitea
sudo ufw allow 3000
echo -e "==================================================================" echo -e "=================================================================="
publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org ) publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org )
intenalip=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1) intenalip=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
echo "Gitea Should be available at http://${intenalip}:3000" echo "Gitea Should be available at http://${intenalip}:3000"
echo "Or If you are using a VPS at http://${publicipaddress}:3000" echo "Or If you are using a VPS at http://${publicipaddress}:3000"
echo -e "==================================================================" echo -e "=================================================================="
fi

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/usr/bin/env bash
trap 'exit 130' INT
while true while true
do do
read -r -p "Would you like to uninstall Gitea? This is not reversible. [Y/n] " input read -r -p "Would you like to uninstall Gitea? This is not reversible. [Y/n] " input
@ -18,7 +18,9 @@ do
done done
sudo systemctl stop gitea sudo systemctl stop gitea
sudo systemctl disable gitea sudo systemctl disable gitea
rm -rf /etc/systemd/system/gitea.service sudo rm -rf /etc/systemd/system/gitea.service
echo "Backing up Files"
tar -cvzf gitea.tar.gz /var/lib/gitea/ /etc/gitea
sudo rm -rf /home/git sudo rm -rf /home/git
sudo userdel git sudo userdel git
sudo rm -rf /usr/local/bin/gitea sudo rm -rf /usr/local/bin/gitea
@ -26,3 +28,5 @@ sudo rm -rf /var/lib/gitea/*
sudo rm -rf /etc/gitea sudo rm -rf /etc/gitea
sudo ufw delete allow 3000 sudo ufw delete allow 3000
echo "Gitea has been uninstalled, and all files have are backed up in gitea.tar.gz, you can delete it at your discretion."

61
scripts/giteaupdate.sh Normal file
View File

@ -0,0 +1,61 @@
#!/usr/bin/env bash
trap 'exit 130' INT
while true
do
read -r -p "Would you like to update Gitea? [Y/n] " input
case $input in
[yY][eE][sS]|[yY])
break
;;
[nN][oO]|[nN])
break
;;
*)
echo "That wasn't an option..."
;;
esac
done
set -b
ping -c1 "github.com" &>"/dev/null"
ping -c1 "api.github.com" &>"/dev/null"
ping -c1 "dl.gitea.io" &>"/dev/null"
ping -c1 "raw.githubusercontent.com" &>"/dev/null"
if [[ "${?}" -ne 0 ]]; then
echo "I am unable to access one of the necessary domains that are needed to continue this Install."
elif [[ "${#args[@]}" -eq 0 ]]; then
# Check if curl is installed
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
VER=$(curl --silent "https://api.github.com/repos/go-gitea/gitea/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's|[v,]||g' )
sudo systemctl stop gitea
if [ -n "$(uname -a | grep i386)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-386"
fi
if [ -n "$(uname -a | grep x86_64)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-amd64"
fi
if [ -n "$(uname -a | grep armv6l)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-6"
fi
if [ -n "$(uname -a | grep armv7l)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-7"
fi
sudo mv /tmp/gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
sudo chown -R git:git /var/lib/gitea
sudo chmod -R 750 /var/lib/gitea
sudo chown root:git /etc/gitea
sudo systemctl start gitea
sudo ufw allow 3000
echo -e "=================================================================="
echo "Gitea has been updated!!"
echo -e "=================================================================="
fi

View File

@ -1,39 +0,0 @@
#!/bin/bash
while true
do
read -r -p "Would you like to install Gitlab? [Y/n] " input
case $input in
[yY][eE][sS]|[yY])
break
;;
[nN][oO]|[nN])
break
;;
*)
echo "That wasn't an option..."
;;
esac
done
sudo apt update && apt upgrade -y
sudo apt install tzdata curl ca-certificates openssh-server -y
sudo apt-get install git -y
gpg_key_url="https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey"
curl -fsSL $gpg_key_url| sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/gitlab.gpg
sudo tee /etc/apt/sources.list.d/gitlab_gitlab-ce.list<<EOF
deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ focal main
deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ focal main
EOF
sudo apt update
sudo apt install gitlab-ce
sudo ufw allow https
sudo ufw allow http
sudo ufw allow ssh
sudo ufw reload
echo -e "=================================================================="
echo "Congrats on installing GitLab Community Edition"
echo "These are your login credentials, make sure to change them."
echo "Username: root"
cat /etc/gitlab/initial_root_password | grep Password:
echo -e "=================================================================="

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/usr/bin/env bash
while true while true
do do

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/usr/bin/env bash
while true while true
do do
read -r -p "Would you like to install Gogs? [Y/n] " input read -r -p "Would you like to install Gogs? [Y/n] " input
@ -15,23 +15,60 @@ do
;; ;;
esac esac
done done
if [ ! -x /usr/bin/curl ] ; then
sudo apt install wget -y CURL_NOT_EXIST=1
GOGS_VER="0.12.10" apt install -y curl
sudo wget -O linux_amd64.tar.gz https://dl.gogs.io/$GOGS_VER/gogs_"$GOGS_VER"_linux_amd64.tar.gz else
tar xvf linux_amd64.tar.gz CURL_NOT_EXIST=0
sudo apt install git -y fi
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git sudo apt install wget git -y
wget -O goinstall.sh https://sop.wtf/sh/u/goinstall && bash goinstall.sh
sudo adduser --disabled-login --gecos 'Gogs' git
git clone --depth 1 https://github.com/gogs/gogs.git gogs
cd gogs
go build -o gogs
./gogs web
sudo mkdir /var/log/gogs sudo mkdir /var/log/gogs
sudo chown -R git:git /var/log/gogs/ sudo chown -R git:git /var/log/gogs/
sudo wget -O /etc/systemd/system/gogs.service https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/systemd/gogs.service sudo echo "
[Unit]
Description=Gogs self-hosted Git service
After=syslog.target
After=network.target
After=mysql.service
[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git
ExecStart=/home/git/gogs web
Restart=always
Environment=USER=git HOME=/home/git
# Some distributions may not support these hardening directives. If you cannot start the service due
# to an unknown option, comment out the ones not supported by your version of systemd.
ProtectSystem=full
PrivateDevices=yes
PrivateTmp=yes
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
" >> /etc/systemd/system/gogs.service
sudo rsync -avz gogs/* /home/git/ sudo rsync -avz gogs/* /home/git/
sudo chown -R git:git /home/git/ sudo chown -R git:git /home/git/
sudo ufw allow 3000 sudo ufw allow 3000
sudo systemctl daemon-reload sudo systemctl daemon-reload
sudo systemctl enable gogs sudo systemctl enable gogs
sudo systemctl start gogs sudo systemctl start gogs
rm -rf gogs linux_amd64.tar.gz sudo rm -rf gogs linux_amd64.tar.gz
echo -e "==================================================================" echo -e "=================================================================="
publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org ) publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org )

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/usr/bin/env bash
while true while true
do do
read -r -p "Would you like to install Gogs? This is not reversible. [Y/n] " input read -r -p "Would you like to install Gogs? This is not reversible. [Y/n] " input
@ -18,7 +18,7 @@ done
sudo systemctl stop gogs sudo systemctl stop gogs
sudo systemctl disable gogs sudo systemctl disable gogs
rm -rf /etc/systemd/system/gogs.service sudo rm -rf /etc/systemd/system/gogs.service
sudo userdel git sudo userdel git
sudo rm -rf /home/git sudo rm -rf /home/git
sudo rm -rf /var/log/gogs/* sudo rm -rf /var/log/gogs/*

44
scripts/goinstall.sh Normal file
View File

@ -0,0 +1,44 @@
#!/usr/bin/env bash
trap 'exit 130' INT
while true
do
read -r -p "Would you like to install Go Language? [Y/n] " input
case $input in
[yY][eE][sS]|[yY])
break
;;
[nN][oO]|[nN])
break
;;
*)
echo "That wasn't an option..."
;;
esac
done
# Check if curl is installed
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
apt remove golang -y
rm -rf /tmp/go/
mkdir /tmp/go/
cd /tmp/go/
VER=$(curl --silent "https://go.dev/dl/?mode=json" | grep '"version":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's|[v,]||g' | head -1)
if [ -n "$(uname -a | grep x86_64)" ]; then
curl -fsSL -o "/tmp/go/"$VER".linux-amd64.tar.gz" "https://go.dev/dl/"$VER".linux-amd64.tar.gz"
fi
if [ -n "$(uname -a | grep armv6l)" ]; then
curl -fsSL -o "/tmp/go/"$VER".linux-armv6l.tar.gz" "https://go.dev/dl/"$VER".linux-armv6l.tar.gz"
fi
if [ -n "$(uname -a | grep i386)" ]; then
curl -fsSL -o "/tmp/go/"$VER".linux-386.tar.gz" "https://go.dev/dl/"$VER".linux-386.tar.gz"
fi
rm -rf /usr/local/go && tar -C /usr/local -xzf *.tar.gz
chmod +x /usr/local/go/bin/go
export PATH=$PATH:/usr/local/go/bin
cd ~

View File

@ -0,0 +1,42 @@
#!/usr/bin/env bash
trap 'exit 130' INT
while true
do
read -r -p "Would you like to install Hockeypuck? [Y/n] " input
case $input in
[yY][eE][sS]|[yY])
break
;;
[nN][oO]|[nN])
break
;;
*)
echo "That wasn't an option..."
;;
esac
done
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
sudo apt-get install bzr git mercurial -y
# Check if curl is installed
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
apt remove golang -y
wget -O goinstall.sh https://sop.wtf/sh/u/goinstall && bash goinstall.sh
git clone https://github.com/hockeypuck/packaging /var/lib/hockeypuck
cd packaging
./prepare.bash
export GOPATH=$(pwd)
go install github.com/hockeypuck/server/cmd/hockeypuck
go install github.com/hockeypuck/server/cmd/hockeypuck-load
go install github.com/hockeypuck/server/cmd/hockeypuck-pbuild
bash /var/lib/hockeypuck -config /var/lib/hockeypuck/hockeypuck.conf

45
scripts/hugoinstall.sh Normal file
View File

@ -0,0 +1,45 @@
#!/usr/bin/env bash
trap 'exit 130' INT
while true
do
read -r -p "Would you like to install Hugo? [Y/n] " input
case $input in
[yY][eE][sS]|[yY])
break
;;
[nN][oO]|[nN])
break
;;
*)
echo "That wasn't an option..."
;;
esac
done
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
apt remove golang -y
apt autoremove -y
wget -O goinstall.sh https://sop.wtf/sh/u/goinstall && bash goinstall.sh
rm -rf /tmp/hugo/
mkdir /tmp/hugo/
VER=$(curl --silent "https://api.github.com/repos/gohugoio/hugo/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's|[v,]||g' )
if [ -n "$(uname -a | grep x86_64)" ]; then
curl -fsSL -o "/tmp/hugo/hugo_extended_"$VER"_linux-amd64.tar.gz" "https://github.com/gohugoio/hugo/releases/download/v$VER/hugo_"$VER"_linux-amd64.tar.gz"
fi
if [ -n "$(uname -a | grep armv6l)" ]; then
curl -fsSL -o "/tmp/hugo/hugo_extended_"$VER"-arm64.tar.gz" "https://github.com/gohugoio/hugo/releases/download/v$VER/hugo_"$VER"-arm64.tar.gz"
fi
if [ -n "$(uname -a | grep armv7l)" ]; then
curl -fsSL -o "/tmp/hugo/hugo_extended_"$VER"-arm.tar.gz" "https://github.com/gohugoio/hugo/releases/download/v$VER/hugo_"$VER"-arm.tar.gz"
fi
cd /tmp/hugo/
tar -xzf /tmp/hugo/*.tar.gz
sudo mv /tmp/hugo/hugo /usr/local/bin
cd ~

View File

@ -0,0 +1,37 @@
#!/usr/bin/env bash
trap 'exit 130' INT
while true
do
read -r -p "Would you like to install Librenms? [Y/n] " input
case $input in
[yY][eE][sS]|[yY])
break
;;
[nN][oO]|[nN])
break
;;
*)
echo "That wasn't an option..."
;;
esac
done
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
sudo apt install acl fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php-cli php-curl php-fpm php-gd php-gmp php-json php-mbstring php-mysql php-snmp php-xml php-zip rrdtool snmp snmpd whois unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-systemd python3-pip -y
sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
cd /opt
sudo git clone https://github.com/librenms/librenms.git
sudo chown -R librenms:librenms /opt/librenms
sudo chmod 771 /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
sudo -u librenms bash -c './scripts/composer_wrapper.php install --no-dev'
exit
sudo curl -fsSL -o "composer-stable.phar" https://getcomposer.org/composer-stable.phar
sudo mv composer-stable.phar /usr/bin/composer
sudo chmod +x /usr/bin/composer

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/usr/bin/env bash
trap 'exit 130' INT
while true while true
do do
read -r -p "Would you like to install MariaDB? [Y/n] " input read -r -p "Would you like to install MariaDB? [Y/n] " input
@ -16,10 +16,8 @@ do
;; ;;
esac esac
done done
apt update && apt upgrade -y apt update && apt upgrade -y
sudo apt install wget software-properties-common dirmngr ca-certificates apt-transport-https -y sudo apt install wget software-properties-common dirmngr ca-certificates apt-transport-https mariadb-server mariadb-client -y
sudo apt install mariadb-server mariadb-client -y
echo -e "==================================================================" echo -e "=================================================================="
echo "Time to Configure MariaDB." echo "Time to Configure MariaDB."
echo "Don't Know what to do? I can help!" echo "Don't Know what to do? I can help!"

View File

@ -1,4 +1,5 @@
#!/bin/bash #!/usr/bin/env bash
trap 'exit 130' INT
while true while true
do do
read -r -p "Would you like to install Mastodon? [Y/n] " input read -r -p "Would you like to install Mastodon? [Y/n] " input
@ -15,7 +16,12 @@ do
;; ;;
esac esac
done done
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
curl -sL https://deb.nodesource.com/setup_16.x | bash - curl -sL https://deb.nodesource.com/setup_16.x | bash -
apt-get install nodejs -y apt-get install nodejs -y
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/usr/bin/env bash
trap 'exit 130' INT
while true while true
do do
read -r -p "Would you like to install Misskey? [Y/n] " input read -r -p "Would you like to install Misskey? [Y/n] " input
@ -16,14 +16,16 @@ do
;; ;;
esac esac
done done
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
NODE_LTS= "18.12.1" NODE_LTS= "18.12.1"
sudo apt update && apt upgrade -y sudo apt update && apt upgrade -y
sudo apt install postgresql postgresql-contrib -y sudo apt install postgresql postgresql-contrib ffmpeg redis-server npm yarn -y
sudo systemctl start postgresql.service sudo systemctl start postgresql.service
sudo apt install npm -y
sudo apt install redis-server -y
sudo apt install ffmpeg -y
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.bashrc source ~/.bashrc
nvm install node nvm install node
@ -31,7 +33,6 @@ nvm install v$NODE_LTS
nvm use v$NODE_LTS nvm use v$NODE_LTS
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn
PASSWD_GEN=$(openssl rand -base64 10) PASSWD_GEN=$(openssl rand -base64 10)
sudo -i -u postgres psql -c "CREATE USER misskey WITH PASSWORD '$PASSWD_GEN';" sudo -i -u postgres psql -c "CREATE USER misskey WITH PASSWORD '$PASSWD_GEN';"
sudo -i -u postgres psql -c "CREATE USER misskey WITH PASSWORD '$PASSWD_GEN';" sudo -i -u postgres psql -c "CREATE USER misskey WITH PASSWORD '$PASSWD_GEN';"
@ -50,7 +51,7 @@ sed -e "s|user: example-misskey-pass = ''user: = '$PASSWD_GEN'|" >> .config/def
NODE_ENV=production yarn build NODE_ENV=production yarn build
yarn run init yarn run init
exit exit
sudo wget -O /etc/systemd/system/misskey.service https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/systemd/misskey.service curl -fsSL -o "/etc/systemd/system/misskey.service" https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/systemd/misskey.service
sudo systemctl daemon-reload sudo systemctl daemon-reload
sudo systemctl enable misskey.service sudo systemctl enable misskey.service
sudo systemctl start misskey.service sudo systemctl start misskey.service

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/usr/bin/env bash
trap 'exit 130' INT
while true while true
do do
read -r -p "Would you like to install MongoDB? [Y/n] " input read -r -p "Would you like to install MongoDB? [Y/n] " input
@ -16,12 +16,17 @@ do
;; ;;
esac esac
done done
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
sudo apt update && apt upgrade -y sudo apt update && apt upgrade -y
sudo apt install wget curl gnupg2 software-properties-common apt-transport-https ca-certificates lsb-release sudo apt install wget curl gnupg2 software-properties-common apt-transport-https ca-certificates lsb-release -y
sudo curl -fsSL https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add - sudo curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list echo "deb http://security.ubuntu.com/ubuntu jammy-security main" | sudo tee /etc/apt/sources.list.d/jammy-security.list
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update -y sudo apt update -y
sudo apt-get install libssl1.1 -y sudo apt-get install libssl1.1 -y
sudo apt install mongodb-org -y sudo apt install mongodb-org -y

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/usr/bin/env bash
trap 'exit 130' INT
while true while true
do do
read -r -p "Would you like to install phpMyAdmin? [Y/n] " input read -r -p "Would you like to install phpMyAdmin? [Y/n] " input
@ -16,26 +16,19 @@ do
;; ;;
esac esac
done done
while [ "$go" != 'apache' ] && [ "$go" != 'nginx' ]; do
read -p "Would you like to install using Nginx or Apache? (nginx/apache) " go
done
if [ "$go" == 'nginx' ]; then
sudo apt update && apt upgrade -y sudo apt update && apt upgrade -y
sudo add-apt-repository --yes ppa:ondrej/php && apt install libapache2-mod-php8.1 -y sudo apt-get install build-essential lsb-release software-properties-common -y
sudo systemtl stop apache2 sudo add-apt-repository --yes ppa:ondrej/nginx && sudo add-apt-repository --yes ppa:ondrej/php && sudo apt install php-fpm software-properties-common phpmyadmin php-mbstring php-zip php-gd php-json php-curl nginx-full php-mysql -y
sudo apt install apache2 -y sudo systemctl stop nginx
sudo apt install software-properties-common sudo wget -O /etc/nginx/conf.d/phpmyadmin.conf https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/conf/pmanginx.conf
sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl -y sudo systemctl enable nginx
sudo echo "Include /etc/phpmyadmin/apache.conf" >> /etc/apache2/apache2.conf sudo systemctl start nginx
sudo phpenmod mbstring
sudo a2dismod php8.1
sudo a2dismod mpm_prefork
sudo a2disconf php7.4-fpm
sudo a2enmod mpm_event
sudo a2enmod proxy
sudo a2enmod proxy_fcgi
sudo a2enconf php8.1-fpm
sudo systemctl restart php8.1-fpm
sudo systemctl enable apache2
## Updating phpMyAdmin. ## Updating phpMyAdmin.
PMA_VER="5.2.0" PMA_VER="5.2.1"
sudo rm -rf /usr/share/phpmyadmin.bak sudo rm -rf /usr/share/phpmyadmin.bak
sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak
sudo mkdir /usr/share/phpmyadmin/ sudo mkdir /usr/share/phpmyadmin/
@ -46,19 +39,44 @@ sudo mkdir /usr/share/phpmyadmin/tmp/ && chmod -R 777 /usr/share/phpmyadmin/tmp/
sudo rm -rf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz sudo rm -rf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz
## Thanks https://stackoverflow.com/users/3266847/benjamin-w ## Thanks https://stackoverflow.com/users/3266847/benjamin-w
randomBlowfishSecret=$(openssl rand -base64 22) randomBlowfishSecret=$(openssl rand -base64 22)
sed -e "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$randomBlowfishSecret'|" /usr/share/phpmyadmin/config.sample.inc.php > /usr/share/phpmyadmin/config.inc.php sudo sed -e "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$randomBlowfishSecret'|" /usr/share/phpmyadmin/config.sample.inc.php > /usr/share/phpmyadmin/config.inc.php
sudo systemctl restart apache2 sudo systemctl restart nginx
sudo ufw allow 8080
echo -e "==================================================================" echo -e "=================================================================="
publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org ) publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org )
intenalip=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1) intenalip=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
echo "phpMyAdmin Should be available at http://${intenalip}/phpmyadmin" echo "phpMyAdmin Should be available at http://${intenalip}:8080"
echo "Or If you are using a VPS at http://${publicipaddress}/phpmyadmin" echo "Or If you are using a VPS at http://${publicipaddress}:8080"
echo -e "==================================================================" echo -e "=================================================================="
fi
if [ "$go" == 'apache' ]; then
sudo apt update && apt upgrade -y
sudo apt-get install build-essential lsb-release software-properties-common -y
sudo add-apt-repository --yes ppa:ondrej/apache2 && apt install apache2 libapache2-mod-php php-fpm software-properties-common phpmyadmin php-mbstring php-zip php-gd php-json php-curl php-mysql -y
sudo systemctl stop apache2
sudo wget -O /etc/apache2/sites-enabled/phpmyadmin.conf https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/conf/pmaapache.conf
sudo systemctl restart php-fpm
sudo systemctl reload apache2
sudo systemctl enable apache2
## Updating phpMyAdmin.
PMA_VER="5.2.1"
sudo rm -rf /usr/share/phpmyadmin.bak
sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak
sudo mkdir /usr/share/phpmyadmin/
sudo wget https://files.phpmyadmin.net/phpMyAdmin/$PMA_VER/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz -P /usr/share/phpmyadmin/
sudo tar xzf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz -C /usr/share/phpmyadmin/
sudo mv /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages/* /usr/share/phpmyadmin
sudo mkdir /usr/share/phpmyadmin/tmp/ && chmod -R 777 /usr/share/phpmyadmin/tmp/
sudo rm -rf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz
## Thanks https://stackoverflow.com/users/3266847/benjamin-w
randomBlowfishSecret=$(openssl rand -base64 22)
sudo sed -e "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$randomBlowfishSecret'|" /usr/share/phpmyadmin/config.sample.inc.php > /usr/share/phpmyadmin/config.inc.php
sudo systemctl restart apache2
sudo ufw allow 8080
echo -e "=================================================================="
publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org )
intenalip=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
echo "phpMyAdmin Should be available at http://${intenalip}:8080"
echo "Or If you are using a VPS at http://${publicipaddress}:8080"
echo -e "=================================================================="
fi

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/usr/bin/env bash
trap 'exit 130' INT
while true while true
do do
read -r -p "Would you like to uninstall phpMyAdmin? [Y/n] " input read -r -p "Would you like to uninstall phpMyAdmin? [Y/n] " input
@ -18,7 +18,8 @@ do
done done
sudo apt remove phpmyadmin -y sudo apt remove phpmyadmin -y
sudo apt-get autoremove -y sudo apt-get autoremove -y
rm -rf /usr/share/phpmyadmin/ sudo rm -rf /usr/share/phpmyadmin/
sudo rm -rf /etc/apache2/sites-enabled/phpmyadmin.conf
sudo systemctl restart apache2 sudo systemctl restart apache2
while true while true

49
scripts/pmaupdate.sh Normal file
View File

@ -0,0 +1,49 @@
#!/usr/bin/env bash
trap 'exit 130' INT
while true
do
read -r -p "Would you like to Update phpMyAdmin? [Y/n] " input
case $input in
[yY][eE][sS]|[yY])
break
;;
[nN][oO]|[nN])
break
;;
*)
echo "That wasn't an option..."
;;
esac
done
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
sudo apt update && apt upgrade -y
sudo rm -rf /usr/share/phpmyadmin.bak
sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak
sudo mkdir /usr/share/phpmyadmin/
sudo curl -fsSL -o "/usr/share/phpmyadmin/" https://files.phpmyadmin.net/phpMyAdmin/$PMA_VER/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz
sudo tar xzf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz -C /usr/share/phpmyadmin/
sudo mv /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages/* /usr/share/phpmyadmin
sudo mkdir /usr/share/phpmyadmin/tmp/ && chmod -R 777 /usr/share/phpmyadmin/tmp/
sudo rm -rf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz
## Thanks https://stackoverflow.com/users/3266847/benjamin-w
randomBlowfishSecret=$(openssl rand -base64 22)
sudo sed -e "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$randomBlowfishSecret'|" /usr/share/phpmyadmin/config.sample.inc.php > /usr/share/phpmyadmin/config.inc.php
sudo systemctl restart apache2
sudo systemctl restart nginx
echo -e "=================================================================="
echo "phpMyAdmin has been updated!"
echo -e "=================================================================="

78
scripts/scripts.sh Normal file
View File

@ -0,0 +1,78 @@
#!/bin/bash
case $1 in
(install gitea)
wget -O giteainstall.sh https://sop.wtf/sh/giteainstall && bash giteainstall.sh
;;
(remove gitea)
wget -O gitearemove.sh https://sop.wtf/sh/gitearemove && bash gitearemove.sh
;;
(update gitea)
wget -O giteaupdate.sh https://sop.wtf/sh/giteaupdate && bash giteaupdate.sh
;;
(install hugo)
wget -O hugoinstall.sh https://sop.wtf/sh/hugoinstall && bash hugoinstall.sh
;;
(update hugo)
wget -O hugoinstall.sh https://sop.wtf/sh/hugoinstall && bash hugoinstall.sh
;;
(remove hugo)
rm -rf /usr/local/bin/hugo
;;
(install go)
wget -O goinstall.sh https://sop.wtf/sh/goinstall && bash goinstall.sh
;;
(update go)
wget -O goinstall.sh https://sop.wtf/sh/goinstall && bash goinstall.sh
;;
(remove go)
rm -rf /usr/local/go
;;
(install golang)
wget -O goinstall.sh https://sop.wtf/sh/goinstall && bash goinstall.sh
;;
(update golang)
wget -O goinstall.sh https://sop.wtf/sh/goinstall && bash goinstall.sh
;;
(remove golang)
rm -rf /usr/local/go
;;
(install mariadb)
wget -O mariadbinstall.sh https://sop.wtf/sh/mariadbinstall && bash mariadbinstall.sh
;;
(remove mariadb)
sudo apt remove mariadb-server mariadb-client -y && apt autoremove -y
;;
(install phpmyadmin)
wget -O pmainstall.sh https://sop.wtf/sh/pmainstall && bash pmainstall.sh
;;
(update phpmyadmin)
wget -O pmauninstall.sh https://sop.wtf/sh/pmauninstall && bash pmauninstall.sh
;;
(remove phpmyadmin)
wget -O pmauninstall.sh https://sop.wtf/sh/pmauninstall && bash pmauninstall.sh
;;
(install mongodb)
wget -O mongodbinstall.sh https://sop.wtf/sh/mongodbinstall && bash mongodbinstall.sh
;;
(remove mongodb)
sudo apt remove mongodb-org libssl1.1 -y && sudo apt autoremove
;;
(remove gogs)
wget -O gogsuninstall.sh https://sop.wtf/sh/gogsuninstall && bash gogsuninstall.sh
;;
(install gogs)
wget -O gogsinstall.sh https://sop.wtf/sh/gogsinstall && bash gogsinstall.sh
;;
(install wordpress)
wget -O wpinstall.sh https://sop.wtf/sh/wpinstall && bash wpinstall.sh
;;
(install wp)
wget -O wpinstall.sh https://sop.wtf/sh/wpinstall && bash wpinstall.sh
;;
(install fail2ban)
wget -O fail2baninstall.sh https://sop.wtf/sh/fail2baninstall && bash fail2baninstall.sh
;;
(install f2b)
wget -O fail2baninstall.sh https://sop.wtf/sh/fail2baninstall && bash fail2baninstall.sh
;;
esac

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/usr/bin/env bash
while true while true
do do

View File

@ -0,0 +1,70 @@
#!/usr/bin/env bash
trap 'exit 130' INT
# Check if curl is installed
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
apt remove golang -y
rm -rf /tmp/go/
mkdir /tmp/go/
cd /tmp/go/
VER="1.20.7"
if [ -n "$(uname -a | grep x86_64)" ]; then
curl -fsSL -o "/tmp/go/go"$VER".linux-amd64.tar.gz" "https://go.dev/dl/go"$VER".linux-amd64.tar.gz"
fi
if [ -n "$(uname -a | grep armv6l)" ]; then
curl -fsSL -o "/tmp/go/go"$VER".linux-armv6l.tar.gz" "https://go.dev/dl/go"$VER".linux-armv6l.tar.gz"
fi
if [ -n "$(uname -a | grep i386)" ]; then
curl -fsSL -o "/tmp/go/go"$VER".linux-386.tar.gz" "https://go.dev/dl/go"$VER".linux-386.tar.gz"
fi
rm -rf /usr/local/go && tar -C /usr/local -xzf *.tar.gz
chmod +x /usr/local/go/bin/go
export PATH=$PATH:/usr/local/go/bin
cd ~
rm -rf /tmp/caddy
mkdir /tmp/caddy
cd /tmp/caddy
VER=$(curl --silent "https://api.github.com/repos/caddyserver/xcaddy/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's|[v,]||g')
if [ -n "$(uname -a | grep x86_64)" ]; then
curl -fsSL -o "/tmp/caddy/xcaddy_"$VER"_linux_amd64.tar.gz" "https://github.com/caddyserver/xcaddy/releases/download/v"$VER"/xcaddy_"$VER"_linux_amd64.tar.gz"
fi
if [ -n "$(uname -a | grep armv6l)" ]; then
curl -fsSL -o "/tmp/caddy/xcaddy_"$VER"_armv6.tar.gz" "https://github.com/caddyserver/xcaddy/releases/download/v"$VER"/xcaddy_v"$VER"_armv6.tar.gz"
fi
if [ -n "$(uname -a | grep armv7l)" ]; then
curl -fsSL -o "/tmp/caddy/xcaddy_"$VER"_linux_armv7.tar.gz" "https://github.com/caddyserver/xcaddy/releases/download/v"$VER"/xcaddy_v"$VER"_linux_armv7.tar.gz"
fi
if [ -n "$(uname -a | grep armv5l)" ]; then
curl -fsSL -o "/tmp/caddy/xcaddy_"$VER"_linux_armv5.tar.gz" "https://github.com/caddyserver/xcaddy/releases/download/v"$VER"/xcaddy_v"$VER"_linux_armv5.tar.gz"
fi
tar xvf *.tar.gz xcaddy
sudo mv xcaddy /usr/bin
mkdir ~/caddy
cd ~/caddy
xcaddy build
sudo mv caddy /usr/bin
sudo groupadd --system caddy
sudo useradd --system \
--gid caddy \
--create-home \
--home-dir /var/lib/caddy \
--shell /usr/sbin/nologin \
--comment "Caddy web server" \
caddy
sudo chown root:root /usr/bin/caddy
sudo chmod 755 /usr/bin/caddy
sudo mkdir /etc/caddy
sudo chown -R root:caddy /etc/caddy
sudo mkdir /etc/ssl/caddy
sudo chown -R root:caddy /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy
sudo mkdir /var/www
sudo chown caddy:caddy /var/www
sudo sh -c 'curl https://raw.githubusercontent.com/caddyserver/dist/master/init/caddy.service > /etc/systemd/system/caddy.service'
sudo systemctl daemon-reload
sudo systemctl status caddy
sudo ufw allow proto tcp from any to any port 80,443

View File

@ -0,0 +1,16 @@
#!/usr/bin/env bash
trap 'exit 130' INT
sudo apt update && sudo apt upgrade -y
sudo apt install fail2ban -y
sudo cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo systemctl enable fail2ban
echo -e "=================================================================="
echo "Fail2Ban has been installed!"
echo "The F2B Config can be found at /etc/fail2ban/fail2ban.local"
echo "The F2B Jails Config can be found at /etc/fail2ban/jail.local"
echo "When it has been setup to your liking you can run ~fail2ban-client start~"
echo -e "=================================================================="

View File

@ -0,0 +1,57 @@
#!/usr/bin/env bash
trap 'exit 130' INT
set -b
ping -c1 "github.com" &>"/dev/null"
ping -c1 "api.github.com" &>"/dev/null"
ping -c1 "dl.gitea.io" &>"/dev/null"
ping -c1 "raw.githubusercontent.com" &>"/dev/null"
if [[ "${?}" -ne 0 ]]; then
echo "I am unable to access one of the necessary domains that are needed to continue this Install."
elif [[ "${#args[@]}" -eq 0 ]]; then
# Check if curl is installed
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
VER=$(curl --silent "https://api.github.com/repos/go-gitea/gitea/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's|[v,]||g' )
sudo systemctl stop gitea
sudo apt-get install git -y
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
if [ -n "$(uname -a | grep i386)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-386"
fi
if [ -n "$(uname -a | grep x86_64)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-amd64"
fi
if [ -n "$(uname -a | grep armv6l)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-6"
fi
if [ -n "$(uname -a | grep armv7l)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-7"
fi
sudo mv /tmp/gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea
sudo chmod -R 750 /var/lib/gitea
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
curl -fsSL -o /etc/systemd/system/gitea.service https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
sudo systemctl start gitea
sudo ufw allow 3000
echo -e "=================================================================="
publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org )
intenalip=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
echo "Gitea Should be available at http://${intenalip}:3000"
echo "Or If you are using a VPS at http://${publicipaddress}:3000"
echo -e "=================================================================="
fi

View File

@ -0,0 +1,16 @@
#!/usr/bin/env bash
trap 'exit 130' INT
sudo systemctl stop gitea
sudo systemctl disable gitea
sudo rm -rf /etc/systemd/system/gitea.service
echo "Backing up Files"
tar -cvzf gitea.tar.gz /var/lib/gitea/ /etc/gitea
sudo rm -rf /home/git
sudo userdel git
sudo rm -rf /usr/local/bin/gitea
sudo rm -rf /var/lib/gitea/*
sudo rm -rf /etc/gitea
sudo ufw delete allow 3000
echo "Gitea has been uninstalled, and all files have are backed up in gitea.tar.gz, you can delete it at your discretion."

View File

@ -0,0 +1,45 @@
#!/usr/bin/env bash
trap 'exit 130' INT
set -b
ping -c1 "github.com" &>"/dev/null"
ping -c1 "api.github.com" &>"/dev/null"
ping -c1 "dl.gitea.io" &>"/dev/null"
ping -c1 "raw.githubusercontent.com" &>"/dev/null"
if [[ "${?}" -ne 0 ]]; then
echo "I am unable to access one of the necessary domains that are needed to continue this Install."
elif [[ "${#args[@]}" -eq 0 ]]; then
# Check if curl is installed
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
VER=$(curl --silent "https://api.github.com/repos/go-gitea/gitea/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's|[v,]||g' )
sudo systemctl stop gitea
if [ -n "$(uname -a | grep i386)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-386"
fi
if [ -n "$(uname -a | grep x86_64)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-amd64"
fi
if [ -n "$(uname -a | grep armv6l)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-6"
fi
if [ -n "$(uname -a | grep armv7l)" ]; then
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-7"
fi
sudo mv /tmp/gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
sudo chown -R git:git /var/lib/gitea
sudo chmod -R 750 /var/lib/gitea
sudo chown root:git /etc/gitea
sudo systemctl start gitea
sudo ufw allow 3000
echo -e "=================================================================="
echo "Gitea has been updated!!"
echo -e "=================================================================="
fi

View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
sudo gitlab-ctl stop
sudo apt remove gitlab-ce -y
sudo apt update && apt upgrade -y
sudo ufw delete allow 443
sudo ufw delete allow 80

View File

@ -0,0 +1,62 @@
#!/usr/bin/env bash
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
sudo apt install wget git -y
wget -O goinstall.sh https://sop.wtf/sh/u/goinstall && bash goinstall.sh
sudo adduser --disabled-login --gecos 'Gogs' git
git clone --depth 1 https://github.com/gogs/gogs.git gogs
cd gogs
go build -o gogs
./gogs web
sudo mkdir /var/log/gogs
sudo chown -R git:git /var/log/gogs/
sudo echo "
[Unit]
Description=Gogs self-hosted Git service
After=syslog.target
After=network.target
After=mysql.service
[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git
ExecStart=/home/git/gogs web
Restart=always
Environment=USER=git HOME=/home/git
# Some distributions may not support these hardening directives. If you cannot start the service due
# to an unknown option, comment out the ones not supported by your version of systemd.
ProtectSystem=full
PrivateDevices=yes
PrivateTmp=yes
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
" >> /etc/systemd/system/gogs.service
sudo rsync -avz gogs/* /home/git/
sudo chown -R git:git /home/git/
sudo ufw allow 3000
sudo systemctl daemon-reload
sudo systemctl enable gogs
sudo systemctl start gogs
sudo rm -rf gogs linux_amd64.tar.gz
echo -e "=================================================================="
publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org )
intenalip=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
echo "Gogs Should be available at http://${intenalip}:3000"
echo "Or If you are using a VPS at http://${publicipaddress}:3000"
echo -e "=================================================================="

View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
sudo systemctl stop gogs
sudo systemctl disable gogs
sudo rm -rf /etc/systemd/system/gogs.service
sudo userdel git
sudo rm -rf /home/git
sudo rm -rf /var/log/gogs/*
sudo ufw delete allow 3000

View File

@ -0,0 +1,27 @@
#!/usr/bin/env bash
trap 'exit 130' INT
# Check if curl is installed
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
apt remove golang -y
rm -rf /tmp/go/
mkdir /tmp/go/
cd /tmp/go/
VER=$(curl --silent "https://go.dev/dl/?mode=json" | grep '"version":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's|[v,]||g' | head -1)
if [ -n "$(uname -a | grep x86_64)" ]; then
curl -fsSL -o "/tmp/go/"$VER".linux-amd64.tar.gz" "https://go.dev/dl/"$VER".linux-amd64.tar.gz"
fi
if [ -n "$(uname -a | grep armv6l)" ]; then
curl -fsSL -o "/tmp/go/"$VER".linux-armv6l.tar.gz" "https://go.dev/dl/"$VER".linux-armv6l.tar.gz"
fi
if [ -n "$(uname -a | grep i386)" ]; then
curl -fsSL -o "/tmp/go/"$VER".linux-386.tar.gz" "https://go.dev/dl/"$VER".linux-386.tar.gz"
fi
rm -rf /usr/local/go && tar -C /usr/local -xzf *.tar.gz
chmod +x /usr/local/go/bin/go
export PATH=$PATH:/usr/local/go/bin
cd ~

View File

@ -0,0 +1,26 @@
#!/usr/bin/env bash
trap 'exit 130' INT
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
sudo apt-get install bzr git mercurial -y
# Check if curl is installed
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
apt remove golang -y
wget -O goinstall.sh https://sop.wtf/sh/u/goinstall && bash goinstall.sh
git clone https://github.com/hockeypuck/packaging /var/lib/hockeypuck
cd packaging
./prepare.bash
export GOPATH=$(pwd)
go install github.com/hockeypuck/server/cmd/hockeypuck
go install github.com/hockeypuck/server/cmd/hockeypuck-load
go install github.com/hockeypuck/server/cmd/hockeypuck-pbuild
bash /var/lib/hockeypuck -config /var/lib/hockeypuck/hockeypuck.conf

View File

@ -0,0 +1,30 @@
#!/usr/bin/env bash
trap 'exit 130' INT
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
apt remove golang -y
apt autoremove -y
wget -O goinstall.sh https://sop.wtf/sh/u/goinstall && bash goinstall.sh
rm -rf /tmp/hugo/
mkdir /tmp/hugo/
VER=$(curl --silent "https://api.github.com/repos/gohugoio/hugo/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's|[v,]||g' )
if [ -n "$(uname -a | grep x86_64)" ]; then
curl -fsSL -o "/tmp/hugo/hugo_extended_"$VER"_linux-amd64.tar.gz" "https://github.com/gohugoio/hugo/releases/download/v$VER/hugo_extended_"$VER"_linux-amd64.tar.gz"
fi
if [ -n "$(uname -a | grep armv6l)" ]; then
curl -fsSL -o "/tmp/hugo/hugo_extended_"$VER"-arm64.tar.gz" "https://github.com/gohugoio/hugo/releases/download/v$VER/hugo_extended_"$VER"-arm64.tar.gz"
fi
if [ -n "$(uname -a | grep armv7l)" ]; then
curl -fsSL -o "/tmp/hugo/hugo_"$VER"-arm.tar.gz" "https://github.com/gohugoio/hugo/releases/download/v$VER/hugo_extended_"$VER"-arm.tar.gz"
echo "Hugo Extended is not supported on armv7l, Installing Hugo standard"
fi
cd /tmp/hugo/
tar -xzf /tmp/hugo/*.tar.gz
sudo mv /tmp/hugo/hugo /usr/local/bin
cd ~

View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
trap 'exit 130' INT
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
sudo apt install acl fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php-cli php-curl php-fpm php-gd php-gmp php-json php-mbstring php-mysql php-snmp php-xml php-zip rrdtool snmp snmpd whois unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-systemd python3-pip -y
sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
cd /opt
sudo git clone https://github.com/librenms/librenms.git
sudo chown -R librenms:librenms /opt/librenms
sudo chmod 771 /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
sudo -u librenms bash -c './scripts/composer_wrapper.php install --no-dev'
exit
sudo curl -fsSL -o "composer-stable.phar" https://getcomposer.org/composer-stable.phar
sudo mv composer-stable.phar /usr/bin/composer
sudo chmod +x /usr/bin/composer

View File

@ -0,0 +1,19 @@
#!/usr/bin/env bash
trap 'exit 130' INT
apt update && apt upgrade -y
sudo apt install wget software-properties-common dirmngr ca-certificates apt-transport-https mariadb-server mariadb-client -y
echo -e "=================================================================="
echo "Time to Configure MariaDB."
echo "Don't Know what to do? I can help!"
echo "1. Root password just click ENTER as there is no password"
echo "2. Switch to unix_socket authentication select. n"
echo "3. Change the root password? Y"
echo "4. Remove anonymous users? Y "
echo "5. Disallow root login remotely? y, But if it's local it's fine to say no."
echo "6. Remove test database and access to it? Y"
echo "7. Reload privilege tables now? Y"
echo -e "=================================================================="
sleep 5
sudo mysql_secure_installation
echo "If you want to install phpMyAdmin run wget -O pmainstall.sh https://sop.wtf/sh/pmainstall && bash pmainstall.sh"

View File

@ -0,0 +1,50 @@
#!/usr/bin/env bash
trap 'exit 130' INT
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
curl -sL https://deb.nodesource.com/setup_16.x | bash -
apt-get install nodejs -y
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
apt-get update -y
apt-get install yarn -y
apt-get install postgresql postgresql-contrib -y
su - postgres
psql
CREATE USER mastodon CREATEDB;
exit
adduser --disabled-login --gecos 'Mastodon Server' mastodon
su - mastodon
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec bash
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build\
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.3
rbenv global 3.0.3
gem update --system
gem install bundler --no-document
su - mastodon
git clone https://github.com/tootsuite/mastodon.git ~/live
cd ~/live
bundle config deployment 'true'
bundle config without 'development test'
bundle install -j$(getconf _NPROCESSORS_ONLN)
yarn install --pure-lockfile
RAILS_ENV=production bundle exec rake mastodon:setup
exit
cp /home/mastodon/live/dist/mastodon-web.service /etc/systemd/system/
cp /home/mastodon/live/dist/mastodon-sidekiq.service /etc/systemd/system/
cp /home/mastodon/live/dist/mastodon-streaming.service /etc/systemd/system/
systemctl start mastodon-web
systemctl start mastodon-sidekiq
systemctl start mastodon-streaming
systemctl enable mastodon-web
systemctl enable mastodon-sidekiq
systemctl enable mastodon-streaming
systemctl status mastodon-web mastodon-sidekiq mastodon-streaming

View File

@ -0,0 +1,42 @@
#!/usr/bin/env bash
trap 'exit 130' INT
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
NODE_LTS= "18.12.1"
sudo apt update && apt upgrade -y
sudo apt install postgresql postgresql-contrib ffmpeg redis-server npm yarn -y
sudo systemctl start postgresql.service
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.bashrc
nvm install node
nvm install v$NODE_LTS
nvm use v$NODE_LTS
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
PASSWD_GEN=$(openssl rand -base64 10)
sudo -i -u postgres psql -c "CREATE USER misskey WITH PASSWORD '$PASSWD_GEN';"
sudo -i -u postgres psql -c "CREATE USER misskey WITH PASSWORD '$PASSWD_GEN';"
sudo -i -u postgres psql -c "CREATE DATABASE misskey;"
sudo -i -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE misskey to misskey;"
sudo -i -u postgres psql -c "ALTER DATABASE misskey OWNER TO misskey;"
adduser --disabled-password --disabled-login misskey
sudo -i -u misskey
git clone -b master https://github.com/misskey-dev/misskey.git
cd misskey
git checkout master
yarn
cp .config/example.yml .config/default.yml
sed -e "s|user: example-misskey-user = ''user: = 'misskey'|" >> .config/default.yml
sed -e "s|user: example-misskey-pass = ''user: = '$PASSWD_GEN'|" >> .config/default.yml
NODE_ENV=production yarn build
yarn run init
exit
curl -fsSL -o "/etc/systemd/system/misskey.service" https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/systemd/misskey.service
sudo systemctl daemon-reload
sudo systemctl enable misskey.service
sudo systemctl start misskey.service

View File

@ -0,0 +1,19 @@
#!/usr/bin/env bash
trap 'exit 130' INT
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
sudo apt update && apt upgrade -y
sudo apt install wget curl gnupg2 software-properties-common apt-transport-https ca-certificates lsb-release -y
sudo curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb http://security.ubuntu.com/ubuntu jammy-security main" | sudo tee /etc/apt/sources.list.d/jammy-security.list
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update -y
sudo apt-get install libssl1.1 -y
sudo apt install mongodb-org -y
sudo systemctl start mongod
sudo systemctl enable mongod
apt autoremove -y

View File

@ -0,0 +1,66 @@
#!/usr/bin/env bash
trap 'exit 130' INT
while [ "$go" != 'apache' ] && [ "$go" != 'nginx' ]; do
read -p "Would you like to install using Nginx or Apache? (nginx/apache) " go
done
if [ "$go" == 'nginx' ]; then
sudo apt update && apt upgrade -y
sudo apt-get install build-essential lsb-release software-properties-common -y
sudo add-apt-repository --yes ppa:ondrej/nginx && sudo add-apt-repository --yes ppa:ondrej/php && sudo apt install php-fpm software-properties-common phpmyadmin php-mbstring php-zip php-gd php-json php-curl nginx-full php-mysql -y
sudo systemctl stop nginx
sudo wget -O /etc/nginx/conf.d/phpmyadmin.conf https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/conf/pmanginx.conf
sudo systemctl enable nginx
sudo systemctl start nginx
## Updating phpMyAdmin.
PMA_VER="5.2.1"
sudo rm -rf /usr/share/phpmyadmin.bak
sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak
sudo mkdir /usr/share/phpmyadmin/
sudo wget https://files.phpmyadmin.net/phpMyAdmin/$PMA_VER/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz -P /usr/share/phpmyadmin/
sudo tar xzf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz -C /usr/share/phpmyadmin/
sudo mv /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages/* /usr/share/phpmyadmin
sudo mkdir /usr/share/phpmyadmin/tmp/ && chmod -R 777 /usr/share/phpmyadmin/tmp/
sudo rm -rf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz
## Thanks https://stackoverflow.com/users/3266847/benjamin-w
randomBlowfishSecret=$(openssl rand -base64 22)
sudo sed -e "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$randomBlowfishSecret'|" /usr/share/phpmyadmin/config.sample.inc.php > /usr/share/phpmyadmin/config.inc.php
sudo systemctl restart nginx
sudo ufw allow 8080
echo -e "=================================================================="
publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org )
intenalip=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
echo "phpMyAdmin Should be available at http://${intenalip}:8080"
echo "Or If you are using a VPS at http://${publicipaddress}:8080"
echo -e "=================================================================="
fi
if [ "$go" == 'apache' ]; then
sudo apt update && apt upgrade -y
sudo apt-get install build-essential lsb-release software-properties-common -y
sudo add-apt-repository --yes ppa:ondrej/apache2 && apt install apache2 libapache2-mod-php php-fpm software-properties-common phpmyadmin php-mbstring php-zip php-gd php-json php-curl php-mysql -y
sudo systemctl stop apache2
sudo wget -O /etc/apache2/sites-enabled/phpmyadmin.conf https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/conf/pmaapache.conf
sudo systemctl restart php-fpm
sudo systemctl reload apache2
sudo systemctl enable apache2
## Updating phpMyAdmin.
PMA_VER="5.2.1"
sudo rm -rf /usr/share/phpmyadmin.bak
sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak
sudo mkdir /usr/share/phpmyadmin/
sudo wget https://files.phpmyadmin.net/phpMyAdmin/$PMA_VER/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz -P /usr/share/phpmyadmin/
sudo tar xzf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz -C /usr/share/phpmyadmin/
sudo mv /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages/* /usr/share/phpmyadmin
sudo mkdir /usr/share/phpmyadmin/tmp/ && chmod -R 777 /usr/share/phpmyadmin/tmp/
sudo rm -rf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz
## Thanks https://stackoverflow.com/users/3266847/benjamin-w
randomBlowfishSecret=$(openssl rand -base64 22)
sudo sed -e "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$randomBlowfishSecret'|" /usr/share/phpmyadmin/config.sample.inc.php > /usr/share/phpmyadmin/config.inc.php
sudo systemctl restart apache2
sudo ufw allow 8080
echo -e "=================================================================="
publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org )
intenalip=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
echo "phpMyAdmin Should be available at http://${intenalip}:8080"
echo "Or If you are using a VPS at http://${publicipaddress}:8080"
echo -e "=================================================================="
fi

View File

@ -0,0 +1,32 @@
#!/usr/bin/env bash
trap 'exit 130' INT
sudo apt remove phpmyadmin -y
sudo apt-get autoremove -y
sudo rm -rf /usr/share/phpmyadmin/
sudo rm -rf /etc/apache2/sites-enabled/phpmyadmin.conf
sudo systemctl restart apache2
while true
do
read -r -p "Would you like to also uninstall apache2? This is not reversible. [Y/n] " input
case $input in
[yY][eE][sS]|[yY])
break
;;
[nN][oO]|[nN])
break
;;
*)
echo "That wasn't an option..."
;;
esac
done
sudo systemctl stop apache2
sudo apt remove apache2 -y
sudo apt-get autoremove -y

View File

@ -0,0 +1,33 @@
#!/usr/bin/env bash
trap 'exit 130' INT
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
sudo apt update && apt upgrade -y
sudo rm -rf /usr/share/phpmyadmin.bak
sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak
sudo mkdir /usr/share/phpmyadmin/
sudo curl -fsSL -o "/usr/share/phpmyadmin/" https://files.phpmyadmin.net/phpMyAdmin/$PMA_VER/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz
sudo tar xzf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz -C /usr/share/phpmyadmin/
sudo mv /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages/* /usr/share/phpmyadmin
sudo mkdir /usr/share/phpmyadmin/tmp/ && chmod -R 777 /usr/share/phpmyadmin/tmp/
sudo rm -rf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz
## Thanks https://stackoverflow.com/users/3266847/benjamin-w
randomBlowfishSecret=$(openssl rand -base64 22)
sudo sed -e "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$randomBlowfishSecret'|" /usr/share/phpmyadmin/config.sample.inc.php > /usr/share/phpmyadmin/config.inc.php
sudo systemctl restart apache2
sudo systemctl restart nginx
echo -e "=================================================================="
echo "phpMyAdmin has been updated!"
echo -e "=================================================================="

View File

@ -0,0 +1,52 @@
#!/usr/bin/env bash
while true
do
read -p "Where would you like to mount your share?: " MOUNT_DIR
if [ -d "$MOUNT_DIR" ]; then
echo "The Directory $MOUNT_DIR Already Exist"
sleep 1
else
mkdir -p $MOUNT_DIR
echo "creating $MOUNT_DIR"
break
fi
done
while true
do
read -p "What is your Shares Username?: " SMB_USR
if [ -d "$SMB_USR" ]; then
echo "username=$SMB_USR" >> /.smb-credentials
sleep 1
else
echo "username=$SMB_USR" >> /.smb-credentials
break
fi
done
while true
do
read -p "What is your Shares Password?: " SMB_PASS
if [ -d "$SMB_PASS" ]; then
echo "password=$SMB_PASS" >> /.smb-credentials
sleep 1
else
echo "password=$SMB_PASS" >> /.smb-credentials
break
fi
done
while true
do
read -p "What is your Shares IP Address?: " SMB_ADDR
read -p "Where is your Share located on the remote server? i.e /mnt/Share: " SMB_REMDIR
if [ -d "$SMB_ADDR" ]; then
sudo mount -t cifs -o rw,vers=3.0,credentials=/.smb-credentials //$SMB_ADDR/$SMB_REMDIR $MOUNT_DIR
sleep 1
else
sudo mount -t cifs -o rw,vers=3.0,credentials=/root/.smb-credentials //$SMB_ADDR/$SMB_REMDIR $MOUNT_DIR
break
fi
done

View File

@ -0,0 +1,28 @@
#!/usr/bin/env bash
trap 'exit 130' INT
while true
do
read -p "Enter The Directory Where you want to install Wordpress: " INSTALL_DIR
if [ -d "$INSTALL_DIR" ]; then
echo "The Directory $INSTALL_DIR Already Exist"
sleep 1
else
mkdir -p $INSTALL_DIR
echo "creating $INSTALL_DIR"
break
fi
done
if [ ! -x /usr/bin/curl ] ; then
CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
curl -fsSL -o "latest.zip" https://wordpress.org/latest.zip
apt install unzip -y
unzip latest.zip -d $INSTALL_DIR
cp -r $INSTALL_DIR/wordpress/* $INSTALL_DIR
rm -rf $INSTALL_DIR/wordpress
rm -rf latest.zip
chmod -R 775 $INSTALL_DIR

View File

@ -1,4 +1,5 @@
#!/bin/bash #!/usr/bin/env bash
trap 'exit 130' INT
while true while true
do do
read -r -p "Would you like to install Wordpress? [Y/n] " input read -r -p "Would you like to install Wordpress? [Y/n] " input
@ -29,8 +30,13 @@ do
break break
fi fi
done done
if [ ! -x /usr/bin/curl ] ; then
wget -O latest.zip https://wordpress.org/latest.zip CURL_NOT_EXIST=1
apt install -y curl
else
CURL_NOT_EXIST=0
fi
curl -fsSL -o "latest.zip" https://wordpress.org/latest.zip
apt install unzip -y apt install unzip -y
unzip latest.zip -d $INSTALL_DIR unzip latest.zip -d $INSTALL_DIR
cp -r $INSTALL_DIR/wordpress/* $INSTALL_DIR cp -r $INSTALL_DIR/wordpress/* $INSTALL_DIR