- [情報技術] 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」、どちらのほうが使用容量が小さいのかを調べてみました。手順は次の通りです。
-
- 2つのディレクトリ「git」と「hg」を作成。
- gitにはGitでリポジトリを、hgにはMercurialでリポジトリを作成。
- gitとhgそれぞれに空のテキストファイル「test.md」を作成。
- それぞれで初コミット。(時点A)
- それぞれのtest.mdに「addline」を追記。
- それぞれで2回目コミット。(時点B)
- ## 結果
- ### 時点A
-
- ### 時点B
-
- 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通り書きます。
- # 下準備
-
- コマンドで `ruby` を使えるようにする。
- コマンドで `gem` を使えるようにする。
- `gem environment` でインストール先を確認。
- コマンドで `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