前提

  • nginx サーバーは引き続き動作しているため、nginx から 410 Gone を返却する
  • Hollo を乗せていたインスタンスでは別のアプリケーションを動かしているため、インスタンスごと消去するのではなく不要なデータのみ削除する

操作

nginx から 410 Gone を返却する

# サービスはいったん止めておく
sudo systemctl stop nginx hollo

# `hollo.rettuce.page` アクセス時に表示するHTMLファイルの作成
vi /var/www/html/410.html
<!DOCTYPE html>
<html>
    <!-- 適当なHTMLファイルを作成する -->
    <head>
        <meta charset="UTF-8">
        <title>HTTP 410 Gone</title>
    </head>
    <body>
        <p>HTTP 410 Gone</p>
    </body>
</html>
# /var/www/html/410.html の権限変更が必要な場合はよしなに実施
sudo chown www-data:www-data /var/www/html/410.html
sudo chmod 775 /var/www/html/410.html

# nginx の設定変更
sudo vi /etc/nginx/sites-available/hollo.rettuce.page
server {
    server_name hollo.rettuce.page;
    
    listen [::]:443 ssl;
    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/hollo.rettuce.page/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/hollo.rettuce.page/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    error_page 410 /410.html;
    location = /410.html {
        root /var/www/html/;
        internal;
    }
    location ~ ^/ {
        return 410;
    }
}

server {
    if ($host = hollo.rettuce.page) {
        return 301 https://$host$request_uri;
    }

    listen 80 ;
    listen [::]:80 ;
    server_name hollo.rettuce.page;
    return 404;
}
# 設定の確認
sudo nginx -t

# nginx 起動
sudo systemctl start nginx
  • hollo.rettuce.page410 Gone のページとステータスコード返却していることを確認する
  • DB のバックアップを取得する場合はこのあたりでよしなに取得する

不要データの削除

# チェックアウト済みのソースを削除
su - hollo

# user hollo
rm -rf hollo/
exit
# package の削除
# Hollo でのみ使用しているものを適宜削除する
sudo apt remove --purge nodejs
sudo apt remove --purge npm
sudo apt remove --purge ffmpeg

# 削除対象の postgres を確認
dpkg -l | grep postgres

# 出てきた package をそれぞれ削除する
sudo apt remove --purge postgresql
sudo apt remove --purge postgresql-17
sudo apt remove --purge postgresql-contrib
sudo apt remove --purge postgresql-12
sudo apt remove --purge postgresql-client-12
sudo apt remove --purge postgresql-client-common
sudo apt remove --purge postgresql-common
sudo apt remove --purge postgresql-common-dev

sudo apt autoremove
  • 1回再起動
  • 再起動後、相乗りさせていたアプリケーションが動作していることを確認する
# 不要ユーザーの削除
sudo userdel postgres
sudo userdel hollo