Mint Xfce にプロキシサーバーを設定して、Rust アプリケーションを動作させるまでの一連の流れを説明しています。
2025年10月9日
サスペンド復帰後に画面が真っ暗になるという Mint 固有の症状がなおりました。
2025年10月9日に追加
Linux Mint には、サスペンドから復帰した時に画面が真っ暗になるという症状があります。システム自体は起動しているのですが、 画面だけが表示されません。ところが 22.1 Xia をやめて 22.2 Zara を新規インストールしたところ、この症状がなおりました。 ただ、その前に PC のドライバーをアップデートしていますので、そちらが良かったのかもしれません。手順は次のとおりです。
Appearance → Settigs → Window Scaling で 2x を選ぶ。
Google Chrome をインストールする
Update Manager を起動する
Update Manager を起動中に Keyboard → Shortcut-key で SuperL の項目を削除する。
# Caps Lock キーを Ctonrol キーにする
sudo nano /etc/default/keyboard
XKBOPTIONS="ctrl:nocaps" // Caps Lock を Control にする
XKBOPTIONS="ctrl:swapcaps" // Caps Lock と Control を入れ替える
sudo dpkg-reconfigure keyboard-configuration
再ログイン後に有効になります。
# Emacs キーバインドにする。次の方法で、nano, Firefox などいくつかのアプリケーションが Emacs キーバインドになります。
Settings Manager → Settings Editor で Channell の一番下の xsettings を開き、Gtk のグループの中に
プロパティ KeyThemeName データ型 String 値 Emacs を追加してください。
プロパティは欄は、/Gtk/KeyThemeName と入力します。
再ログイン後に有効になります。
sudo nano /etc/nanorc
# 次の行を追加
set linenumbers
Language で Japanese を設定
Input Method で Japanese を選び、Install して、Fcitx を選ぶ
再ログイン後日本語になります。
パネル右下のキーボードアイコンを右クリックして「設定」を選ぶと、インプットメソッド切り替え設定などが行えます。
このコーナーでは、データベースとして SQLite を使っています。
# SQlite のインストール
sudo apt install sqlite3
sudo apt install libsqlite3-dev
# Rust のインストール
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
sudo apt install rustup
sudo apt update sudo apt install apache2 # 端末の IP アドレス、もしくは URL で Apache2 のデフォルトページが表示されます。 # 設定ファイルの変更 sudo nano /etc/apache2/apache2.conf 170行目 # 修正前 <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> #修正後、AllowOverride のところを None から All に変更する。 <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> #設定を有効にする sudo a2enmod rewrite sudo service apache2 restart
# プロキシを有効にする
sudo a2enmod proxy
sudo service apache2 restart
sudo a2enmod proxy_http
sudo service apache2 restart
apachectl -M | grep proxy
proxy_module (shared)
proxy_http_module (shared)
# プロキシサーバの設定
sudo nano /etc/apache2/apache2.conf
# ファイルの最後に次を追加、Basic認証用のコードも記載しています。
<Location "/tera">
ProxyPass http://0.0.0.0:8080
ProxyPassReverse http://0.0.0.0:8080
</Location>
<Location "/askama">
ProxyPass http://0.0.0.0:3000
ProxyPassReverse http://0.0.0.0:3000
</Location>
# Bacis認証用のコード
<Location "/">
AuthType Basic
AuthName "Basic Authentication"
AuthUserFile /var/www/html/.htpasswd
Require user ユーザー名
</Location>
# 設定を有効にします。
sudo service apache2 restart
sudo apt install openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh
sudo apt install git
git clone https://github.com/ユーザー名/tera_proxy.git
mv tera_proxy tera
cd tara
carog build --release
nohup ./target/release/tera &
# IP アドレス/tara、もしくはURL/tera で表示されます。
cd ..
git clone https://github.com/ユーザー名/askama_proxy.git
mv askama_proxy askama
cd askama
cargo build --release
nohup ./tatget/release/askama &
# IP アドレス/askama、もしくはURL/askama で表示されます。
index ページを作り替えます。
cd /var/www/html sudo mv index.html original_index.html sudo nano index.html <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Home</title> <link rel="stylesheet" href="/tera/static/style.css"> </head> <body> <div class="container"> <h1>Home</h1> <div><a href="/tera"><button>Tera</button></a></div> <div><a href="/askama"><button>Askama</button></a></div> <!-- <div><a href="/task/public"><button>Task</button></a></div> <div><a href="/bbs/public"><button>BBS</button></a></div> <div><a href="/ledger/public"><button>Ledger</button></a></div> <div><a href="/cart/public"><button>Amazoness</button></a></div> --> </div> </body> </html>
サイトに認証機能をつけます。
sudo nano /var/www/html/.htaccess
AuthUserFile /var/www/html/.htpasswd
AuthName "Please enter your ID and password"
AuthType Basic
Require valid-user
パスワードは、 htpasswdファイル生成(作成) で作ります。
sudo nano /var/www/html/.htpasswd
先ほどコピーした文字列をそのままペーストします。
2025年10月9日に修正しました。
# Tera のプロジェクトディレクトリに tera.sh というファイルを作り、次のように記述します。
#!/bin/bash
cd ~/rust/tera && nohup ./target/release/tera &
# 次に実行権限を与えます。
chmod +x tera.sh
# 「セッションと起動」を開き、「自動開始アプリケーション」タブを選び、「追加」ボタンをクリックします。
# 表示される「アプリケーションの追加」パネルで任意の名前と説明を記入します。
# コマンド欄には、tera.sh までのパスを記入します。右のアイコンをクリックすると、ファイルを選択画面で選べます。
# トリガーは、Mint 22.1 Xia の場合は「再起動時」、Mint 22.2 Zara の場合は「ログイン時」を選びます。
# 最後に「OK」ボタンをクリックして、「閉じる」ボタンをクリックします。
# Askama も同じようにして設定します。
。
# データの送信
scp todo.db ユーザー名@xxx.xxx.xxx.xxx:~/tera
scp test.db ユーザー名@xxx.xxx.xxx.xxx:~/askama
# データの取得
csp ユーザー名@xxx.xxx.xxx.xxx.:~/tara/todo.db .
csp ユーザー名@xxx.xxx.xxx.xxx.:~/askama/test.db .
# ルーターのグローバル IP アドレスを調べる
curl httpbin.org/ip
# URL の IP アドレスを確認する
nslookup example.com
# ホスト名を変更する
sudo hostnamectl set-hostname 新しいホスト名
reboot
# 再起動後、ターミナルを開くと新しいホスト名になっています。
# 都合により再起動できない場合は次のようにします。
sudo systemctl restart systemd-hostnamed
# ターミナルを一度閉じて、もう一度開くとホスト名が変更されています。
# アプリケーションのアンインストール(設定や環境なども完全に削除する)
sudo apt purge xxxx