CANADOH

QR Code

Home

  1. INDEX
  2. SEARCH
  3. RECORD
  4. RSS
  5. ADMIN
Home > Documents >Memo >

Memo

2024 年 9 月投稿文

< Sep 2024 >

[情報技術] Apache2が起動失敗(libxmlsec1_openssl.mo原因)

ubuntuを22.04から24.04にアップグレードする際にupdate managerがコケたので、`apt dist-upgrade`でアップグレードを完了させたら、Apache2が起動失敗するようになりました。

$ systemctl status apache2

でログを確認すると、

/lib/x86_64-linux-gnu/libxmlsec1-openssl.so.1: undefined symbol: xmlSecKWDes3Encode

となっていました。

aptで該当のライブラリを検索したら、「libxmlsec1-openssl」は古くて「libxmlsec1t64-openssl」に変える必要がありそうでした。

そもそもこのライブラリを使っているのが、Apache2モジュール「auth_mellon」なので、このモジュールを削除してインストールし直せばOKです。

$ sudo apt reinstall libxmlsec1t64-openssl
$ sudo apt autoremove

2024-09-06 (Fri) by Canaid SK

[情報技術] GIt vs Mercurial

分散型バージョン管理システムの「Git」と「Mercurial」、どちらのほうが使用容量が小さいのかを調べてみました。手順は次の通りです。

  1. 2つのディレクトリ「git」と「hg」を作成。
  2. gitにはGitでリポジトリを、hgにはMercurialでリポジトリを作成。
  3. gitとhgそれぞれに空のテキストファイル「test.md」を作成。
  4. それぞれで初コミット。(時点A)
  5. それぞれのtest.mdに「addline」を追記。
  6. それぞれで2回目コミット。(時点B)

## 結果

### 時点A

  • .git 184KB
  • .hg 100KB

### 時点B

  • .git 208KB
  • .hg 104KB

Mercurialのほうがかなり小さいことがわかりました。

2024-09-06 (Fri) by Canaid SK

[情報技術] UbuntuにRailsインストールでエラー:"yaml.h not found"

Ubuntu上でRuby on Railsをインストールする際、下記のエラーが出ました。

checking for yaml.h... no
yaml.h not found
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

「yaml.hが見つからない」ということなので、入れました。

$ sudo apt install libyaml-dev

その後、再度インストールを試みました。

$ gem install -i ./ rails

オプション:-i は、インストールディレクトリの指定です。

結果は、正常に完了でした。

2024-09-23 (Mon) by Canaid SK

[情報技術] Ruby on Rails を公式マニュアル通りにインストールできないときのインストール方法

Ruby on Railsを公式サイトのドキュメント

https://guides.rubyonrails.org/getting_started.html

通りに実施するとエラーが出てインストールできない。その理由が権限問題(インストール先に書き込む権限がない)の場合は、下記手順でインストールできます。2通り書きます。


# 下準備

  1. コマンドで `ruby` を使えるようにする。
  2. コマンドで `gem` を使えるようにする。
  3. `gem environment` でインストール先を確認。
  4. コマンドで `bundle` を使えるようにする。(bundlerをインストール)


#1 ユーザーディレクトリにインストール

$ mkdir {任意のディレクトリ}
$ cd {任意のディレクトリ}
$ gem install --user-install rails
$ which rails # railsコマンドの有無の確認
$ rails new --skip-bundle {rails用ディレクトリ}
$ cd {rails用ディレクトリ}
$ bundle config set --local path 'vendor/bundle' # ファイル保存先指定
$ bundle install
$ bin/rails server # rails起動


#2 任意のディレクトリにすべて集約するインストール

$ mkdir {任意のディレクトリ}
$ cd {任意のディレクトリ}
$ bundle init # 初期状態作成

Gemfileという設定ファイルが現れるので、テキストエディタで開いて

# gem "rails"

の「#」を取り除いてファイルを上書きします。

$ bundle config --local path "vendor/bundle"
$ bundle install # rails導入
$ bundle exec rails new .

設定ファイルの上書きの可否を問われますので、「y」で上書きをします。

$ bin/rails server # rails起動


`bundle config set --local path "vendor/bundle"`

`bundle config --local path "vendor/bundle"`

は同じものです。「set」の有無は自由です。

そして、"vendor/bundle" は別の名前でも大丈夫です。

bundleコマンドの元「bundler」自体はgemで導入できますが、rubyをインストールした際に一緒に入っているかもしれません。コマンドの有無を確認して、なければ手動で導入してください。

2024-09-25 (Wed) by Canaid SK

< PREV | NEXT >