Skip to content

Commit c9ba3a9

Browse files
committed
Fix Mysql and Postgresql keyring
1 parent f31eac9 commit c9ba3a9

File tree

12 files changed

+198
-25
lines changed

12 files changed

+198
-25
lines changed

app/Support/helpers.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
use App\Models\User;
44
use Illuminate\Http\Request;
55
use Illuminate\Support\Facades\Artisan;
6+
use Illuminate\Support\Facades\Auth;
67
use Illuminate\Support\Facades\File;
78
use Illuminate\Support\Facades\Route;
89
use Illuminate\Support\ProcessUtils;
@@ -228,7 +229,7 @@ function format_nginx_config(string $config): string
228229
function user(): User
229230
{
230231
/** @var User $user */
231-
$user = auth()->user();
232+
$user = Auth::user();
232233

233234
return $user;
234235
}
@@ -299,3 +300,8 @@ function move_directory(string $from, string $to): void
299300

300301
File::deleteDirectory($from);
301302
}
303+
304+
function is_self_hosted(): bool
305+
{
306+
return config('app.self_hosted', true);
307+
}

config/app.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,4 +225,6 @@
225225
'demo' => env('APP_DEMO', false),
226226

227227
'force_https' => env('FORCE_HTTPS', false),
228+
229+
'self_hosted' => env('SELF_HOSTED', true),
228230
];

resources/views/ssh/services/database/mysql/install-80.blade.php

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,29 @@
11
#!/bin/bash
22

3+
# Stop and purge any existing MySQL installation
4+
sudo systemctl stop mysql 2>/dev/null || true
5+
sudo systemctl stop mysql.service 2>/dev/null || true
6+
7+
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y mysql-server mysql-server-* mysql-client mysql-common mysql-community-server 2>/dev/null || true
8+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y 2>/dev/null || true
9+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoclean 2>/dev/null || true
10+
11+
# Remove old repository and keys
312
sudo rm -f /etc/apt/sources.list.d/mysql.list
13+
sudo rm -f /usr/share/keyrings/mysql-archive-keyring.gpg
14+
sudo rm -f /etc/apt/trusted.gpg.d/mysql.gpg
415

516
sudo DEBIAN_FRONTEND=noninteractive apt-get update
617

718
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget lsb-release gnupg
819

9-
DEBIAN_FRONTEND=noninteractive wget https://dev.mysql.com/get/mysql-apt-config_0.8.34-1_all.deb
20+
# Fetch the updated MySQL GPG key from keyserver and export to proper keyring location
21+
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C
22+
gpg --export B7B3B788A8D3785C | sudo tee /usr/share/keyrings/mysql-archive-keyring.gpg > /dev/null
1023

11-
echo "mysql-apt-config mysql-apt-config/select-server select mysql-8.0" | sudo debconf-set-selections
12-
sudo DEBIAN_FRONTEND=noninteractive dpkg -i mysql-apt-config_0.8.34-1_all.deb
24+
# Manually add MySQL 8.0 repository
25+
CODENAME=$(lsb_release -sc)
26+
echo "deb [signed-by=/usr/share/keyrings/mysql-archive-keyring.gpg] http://repo.mysql.com/apt/ubuntu ${CODENAME} mysql-8.0" | sudo tee /etc/apt/sources.list.d/mysql.list
1327

1428
sudo DEBIAN_FRONTEND=noninteractive apt-get update
1529

@@ -22,8 +36,6 @@
2236
sudo systemctl enable mysql
2337
sudo systemctl start mysql
2438

25-
rm -f mysql-apt-config_0.8.34-1_all.deb
26-
2739
if ! sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;"; then
2840
echo 'VITO_SSH_ERROR' && exit 1
2941
fi

resources/views/ssh/services/database/mysql/install-84.blade.php

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,29 @@
11
#!/bin/bash
22

3+
# Stop and purge any existing MySQL installation
4+
sudo systemctl stop mysql 2>/dev/null || true
5+
sudo systemctl stop mysql.service 2>/dev/null || true
6+
7+
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y mysql-server mysql-server-* mysql-client mysql-common mysql-community-server 2>/dev/null || true
8+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y 2>/dev/null || true
9+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoclean 2>/dev/null || true
10+
11+
# Remove old repository and keys
312
sudo rm -f /etc/apt/sources.list.d/mysql.list
13+
sudo rm -f /usr/share/keyrings/mysql-archive-keyring.gpg
14+
sudo rm -f /etc/apt/trusted.gpg.d/mysql.gpg
415

516
sudo DEBIAN_FRONTEND=noninteractive apt-get update
617

7-
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y lsb-release
18+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget lsb-release gnupg
819

9-
DEBIAN_FRONTEND=noninteractive wget https://dev.mysql.com/get/mysql-apt-config_0.8.34-1_all.deb
20+
# Fetch the updated MySQL GPG key from keyserver and export to proper keyring location
21+
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C
22+
gpg --export B7B3B788A8D3785C | sudo tee /usr/share/keyrings/mysql-archive-keyring.gpg > /dev/null
1023

11-
echo "mysql-apt-config mysql-apt-config/select-server select mysql-8.4-lts" | sudo debconf-set-selections
12-
sudo DEBIAN_FRONTEND=noninteractive dpkg -i mysql-apt-config_0.8.34-1_all.deb
24+
# Manually add MySQL 8.4 LTS repository
25+
CODENAME=$(lsb_release -sc)
26+
echo "deb [signed-by=/usr/share/keyrings/mysql-archive-keyring.gpg] http://repo.mysql.com/apt/ubuntu ${CODENAME} mysql-8.4-lts" | sudo tee /etc/apt/sources.list.d/mysql.list
1327

1428
sudo DEBIAN_FRONTEND=noninteractive apt-get update
1529

@@ -22,8 +36,6 @@
2236
sudo systemctl enable mysql
2337
sudo systemctl start mysql
2438

25-
rm -f mysql-apt-config_0.8.34-1_all.deb
26-
2739
if ! sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;"; then
2840
echo 'VITO_SSH_ERROR' && exit 1
2941
fi

resources/views/ssh/services/database/mysql/uninstall.blade.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
sudo DEBIAN_FRONTEND=noninteractive apt-get autoclean -y
66

77
sudo rm -f /etc/apt/trusted.gpg.d/mysql.gpg
8+
sudo rm -f /usr/share/keyrings/mysql-archive-keyring.gpg
89
sudo rm -rf /var/lib/apt/lists/*mysql*
910
sudo rm -rf /var/lib/dpkg/info/mysql*
1011
sudo rm -rf /var/cache/apt/archives/*mysql*

resources/views/ssh/services/database/postgresql/install-12.blade.php

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
1-
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
1+
#!/bin/bash
22

3-
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
3+
# Stop and purge any existing PostgreSQL installation
4+
sudo systemctl stop postgresql 2>/dev/null || true
5+
sudo service postgresql stop 2>/dev/null || true
6+
7+
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-* 2>/dev/null || true
8+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y 2>/dev/null || true
9+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoclean 2>/dev/null || true
10+
11+
# Remove old repository and keys
12+
sudo rm -f /etc/apt/sources.list.d/pgdg.list
13+
sudo rm -f /usr/share/keyrings/postgresql-archive-keyring.gpg
14+
sudo apt-key del ACCC4CF8 2>/dev/null || true
15+
16+
sudo DEBIAN_FRONTEND=noninteractive apt-get update
17+
18+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget lsb-release gnupg
19+
20+
# Import PostgreSQL GPG key to modern keyring location
21+
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-archive-keyring.gpg
22+
23+
# Add PostgreSQL repository with signed-by directive
24+
CODENAME=$(lsb_release -cs)
25+
echo "deb [signed-by=/usr/share/keyrings/postgresql-archive-keyring.gpg] https://apt.postgresql.org/pub/repos/apt ${CODENAME}-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
426

527
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
628

resources/views/ssh/services/database/postgresql/install-13.blade.php

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
1-
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
1+
#!/bin/bash
22

3-
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
3+
# Stop and purge any existing PostgreSQL installation
4+
sudo systemctl stop postgresql 2>/dev/null || true
5+
sudo service postgresql stop 2>/dev/null || true
6+
7+
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-* 2>/dev/null || true
8+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y 2>/dev/null || true
9+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoclean 2>/dev/null || true
10+
11+
# Remove old repository and keys
12+
sudo rm -f /etc/apt/sources.list.d/pgdg.list
13+
sudo rm -f /usr/share/keyrings/postgresql-archive-keyring.gpg
14+
sudo apt-key del ACCC4CF8 2>/dev/null || true
15+
16+
sudo DEBIAN_FRONTEND=noninteractive apt-get update
17+
18+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget lsb-release gnupg
19+
20+
# Import PostgreSQL GPG key to modern keyring location
21+
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-archive-keyring.gpg
22+
23+
# Add PostgreSQL repository with signed-by directive
24+
CODENAME=$(lsb_release -cs)
25+
echo "deb [signed-by=/usr/share/keyrings/postgresql-archive-keyring.gpg] https://apt.postgresql.org/pub/repos/apt ${CODENAME}-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
426

527
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
628

resources/views/ssh/services/database/postgresql/install-14.blade.php

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
1-
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
1+
#!/bin/bash
22

3-
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
3+
# Stop and purge any existing PostgreSQL installation
4+
sudo systemctl stop postgresql 2>/dev/null || true
5+
sudo service postgresql stop 2>/dev/null || true
6+
7+
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-* 2>/dev/null || true
8+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y 2>/dev/null || true
9+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoclean 2>/dev/null || true
10+
11+
# Remove old repository and keys
12+
sudo rm -f /etc/apt/sources.list.d/pgdg.list
13+
sudo rm -f /usr/share/keyrings/postgresql-archive-keyring.gpg
14+
sudo apt-key del ACCC4CF8 2>/dev/null || true
15+
16+
sudo DEBIAN_FRONTEND=noninteractive apt-get update
17+
18+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget lsb-release gnupg
19+
20+
# Import PostgreSQL GPG key to modern keyring location
21+
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-archive-keyring.gpg
22+
23+
# Add PostgreSQL repository with signed-by directive
24+
CODENAME=$(lsb_release -cs)
25+
echo "deb [signed-by=/usr/share/keyrings/postgresql-archive-keyring.gpg] https://apt.postgresql.org/pub/repos/apt ${CODENAME}-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
426

527
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
628

resources/views/ssh/services/database/postgresql/install-15.blade.php

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
1-
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
1+
#!/bin/bash
22

3-
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
3+
# Stop and purge any existing PostgreSQL installation
4+
sudo systemctl stop postgresql 2>/dev/null || true
5+
sudo service postgresql stop 2>/dev/null || true
6+
7+
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-* 2>/dev/null || true
8+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y 2>/dev/null || true
9+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoclean 2>/dev/null || true
10+
11+
# Remove old repository and keys
12+
sudo rm -f /etc/apt/sources.list.d/pgdg.list
13+
sudo rm -f /usr/share/keyrings/postgresql-archive-keyring.gpg
14+
sudo apt-key del ACCC4CF8 2>/dev/null || true
15+
16+
sudo DEBIAN_FRONTEND=noninteractive apt-get update
17+
18+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget lsb-release gnupg
19+
20+
# Import PostgreSQL GPG key to modern keyring location
21+
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-archive-keyring.gpg
22+
23+
# Add PostgreSQL repository with signed-by directive
24+
CODENAME=$(lsb_release -cs)
25+
echo "deb [signed-by=/usr/share/keyrings/postgresql-archive-keyring.gpg] https://apt.postgresql.org/pub/repos/apt ${CODENAME}-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
426

527
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
628

resources/views/ssh/services/database/postgresql/install-16.blade.php

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
1-
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
1+
#!/bin/bash
22

3-
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
3+
# Stop and purge any existing PostgreSQL installation
4+
sudo systemctl stop postgresql 2>/dev/null || true
5+
sudo service postgresql stop 2>/dev/null || true
6+
7+
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-* 2>/dev/null || true
8+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y 2>/dev/null || true
9+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoclean 2>/dev/null || true
10+
11+
# Remove old repository and keys
12+
sudo rm -f /etc/apt/sources.list.d/pgdg.list
13+
sudo rm -f /usr/share/keyrings/postgresql-archive-keyring.gpg
14+
sudo apt-key del ACCC4CF8 2>/dev/null || true
15+
16+
sudo DEBIAN_FRONTEND=noninteractive apt-get update
17+
18+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget lsb-release gnupg
19+
20+
# Import PostgreSQL GPG key to modern keyring location
21+
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-archive-keyring.gpg
22+
23+
# Add PostgreSQL repository with signed-by directive
24+
CODENAME=$(lsb_release -cs)
25+
echo "deb [signed-by=/usr/share/keyrings/postgresql-archive-keyring.gpg] https://apt.postgresql.org/pub/repos/apt ${CODENAME}-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
426

527
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
628

0 commit comments

Comments
 (0)