- 投稿日:
WSLのUbuntuにRedmineを建ててnginxを通して適当なバーチャルホストでアクセスするまで
確認環境
Env | Ver |
---|---|
Ubuntu | 20.04.6 |
Ruby | 2.7.0 |
Redmine | 5.1.0 |
nginx | 1.18.0 |
インストール方法
基本は公式の通り
DB作成
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
インストールコマンド流す
wget https://www.redmine.org/releases/redmine-5.1.0.zip
unzip redmine-5.1.0.zip
cd redmine-5.1.0
cp config/database.yml.example config/database.yml
# DB接続は公式ドキュメントに沿って適当に設定する
# nano config/database.yml
sudo apt install -y ruby-full make gcc libmysqlclient-dev
sudo gem install bundler
bundle config set --local without 'development test'
sudo bundle install
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
bundle exec rails server -e production -p 9999 -d
nginxから繋ぐ
普通にリバプロするだけ
server {
listen 80;
client_max_body_size 100m;
server_name redmine.test;
access_log /var/log/nginx/redmine.access.log;
error_log /var/log/nginx/redmine.error.log;
location / {
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:9999;
}
}
トラブルシューティング
An error occurred while installing redcarpet (3.6.0), and Bundler cannot continue.
makeとgccがない
sudo apt install -y make gcc
An error occurred while installing mysql2 (0.5.5), and Bundler cannot continue.
MySQLの開発ライブラリがない
sudo apt install -y libmysqlclient-dev
"/usr/bin/ruby2.7: warning: shebang line ending with \r may cause problems" redmine
無視してよい
デフォルトポートを3000から変えたい
以下のように-p
で指定
bundle exec rails server -e production -p 9999 -d
デーモンにしたい
以下のように-d
で指定。殺すときはpkill ruby
で行ける
bundle exec rails server -e production -p 9999 -d
Windows側のスタートアップで起動したい
不明。少なくとも以下の形式だと上手く動かない。
wsl -d Ubuntu -u root -- <command>
systemdを有効化すると色々不具合があるのでinit.dで起動できれば解決できる気はするのだが、上手くいかなかった。
- 投稿日:
特定ブランチ以外を全部消す
Git 2.25.1で確認
# マージされてないのは残す
git branch -d $(git branch | grep -vP <PCRE pattern>)
# 強制削除
git branch -D $(git branch | grep -vP <PCRE pattern>)
参考:git-branch - List, create, or delete branches (git-scm.com)
マージコミットをリバートする
Git 2.25.1で確認。基本-m 1
で問題ないと思われる
git revert -m 1 <commit>
コミット間のハッシュを見る
Git 2.25.1で確認
# 新しい順
git log --pretty=format:'%H' <commit>..<commit>
# 古い順
git log --pretty=format:'%H' <commit>..<commit> --reverse
- 投稿日:
確認環境
Env | Ver |
---|---|
Ubuntu | 20.04.4 LTS |
gpg | 2.2.19 |
手順
gpg -k
で削除したいキーの下記XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
相当の部分をコピペ
pub rsa3072 2021-01-17 [SC]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
uid [ 不明 ] Foo Bar <foobar@example.com>
sub rsa3072 2021-01-17 [E]
gpg --delete-secret-keys XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
で秘密鍵を消すgpg --delete-keys XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
で公開鍵を消すgpg -k
で削除出来ているか確認
- 投稿日:
ブートドライブをクローンしてクローン元を削除したら起動しなくなったので、その時にやったことのメモ
前提条件
- OSがWindows 11
- Windows 10のインストールUSBがある
事前手順
- SSD1からSSD2へブートディスクをクローン
- OSをシャットダウン
- UEFIを起動し、SSD2を指定してブート
- コンピューターの管理からSSD1のボリュームを消す
- EFIシステムだけは消えなかったのでdiskpartを使う方法で削除した
- OSをシャットダウン
- 電源を入れる
- ブルースクリーンになり0xc000000eエラーが発生
解決方法
Windows 10のインストールUSBを持っていたので、これを使ってリカバリを試みた。
リカバリ用コマンドプロンプトの起動
- Windows 10のインストールUSBを挿入しUEFIからインストールモードで起動
- 言語選択画面をそのままパスする
- 「コンピューターを修復する」を選択
- トラブルシューティング→コマンドプロンプト
ブート情報の修復
UEFI/GPTインストールしたWindowsの「ブート領域」の復旧方法を参考にやっているのだが、途中でbootrec /fixboot
が「アクセスが拒否されました」と言ってコケて中断してしまったため、この作業に意味があったのかどうかよくわかっていない。
diskpart
を流すlist volume
で今回作成したブートボリュームとEFIシステムボリュームを特定する。この場合はVolume 2と3。select volume 3
でEFIシステムボリュームを選択assign letter=b:
でドライブレターを割り当てる。因みにこのドライブレターは再起動で消える。exit
cd /d b:\EFI\WMicrosoft\boot
するren BCD BCD.bak
bootrec /Rebuildbcd
bootrec /fixboot
- 「アクセスが拒否されました」と言ってコケた
ドライブレターの修正
bootrec /fixboot
がコケた時にドライブレターのせいじゃね?と思って試してみたやつ
diskpart
を流す- Cドライブにデータドライブが入っていたので適当にドライブレターを変える
select volume 0
assign letter=H:
- Eドライブにブートドライブが入っていたのでCに変える
select volume 2
assign letter=C:
exit
で抜ける- リカバリメニューに戻るので「PCの電源を切る」を選択
この後PCを通常起動したら起動するようになったので解決。起動後にHドライブはなかったので結局どれが決定打だったのかよくわかっていない。なおHドライブはEドライブ扱いになっていた。取り敢えず起動するようになったのでいっか。
この後、もう一度リカバリモードに入り、前述のブート情報の修復の手順で作成したBCD.bak
を削除した。