ChromeOS Flexに redmineをインストール

ChromeOS Flexに redminをインストール

参考サイトにのっているコマンドを実行するとできました。

使っているコマンドはにたようなものですが、インストール場所が違いうまく動かなかったようです。。。

sudo apt-get install default-libmysqlclient-dev

gem install rmagick -v '2.16.0

sudo bundle 2.0.0.pre.3 install --without development test --path vendor/bundle

サーバーの実行コマンド

cd /var/lib/redmine/
sudo bundle exec rails server webrick -e production

動いたが。。。しかし

下記のようなエラーが出ました。

Internal error
An error occurred on the page you were trying to access.
If you continue to experience problems please contact your Redmine administrator for assistance.

If you are the Redmine administrator, check your log files for details about the error.

これは、ログファイルを見ると次のような原因があったようです。

Processing by WelcomeController#index as HTML
Completed 500 Internal Server Error in 41ms (ActiveRecord: 22.9ms)

ActiveRecord::StatementInvalid (Mysql2::Error: Table 'redmine.settings' doesn't exist: SHOW FULL FIELDS FROM settings):
app/models/setting.rb:231:in check_cache' app/controllers/application_controller.rb:90:inuser_setup'

こちらのサイトを見ると下記のような解決策がありました。
下記コマンドを実行

sudo rake db:migrate RAILS_ENV="production"

変わりませんでした。。。

ActiveRecord::StatementInvalid (Mysql2::Error: Table 'redmine.settings' doesn't exist: SHOW FULL FIELDS FROM settings):
app/models/setting.rb:231:in check_cache' app/controllers/application_controller.rb:90:inuser_setup'

下記コマンドを実行

sudo bundle exec rake redmine:plugins:migrate RAILS_ENV="production"

変わりませんでした。。。

「ログの内容を見てみるとDB二テーブルが作成されていない」ということなので、初期データ(DBにセットする)をセットする方法を探したところ
こちらのページにありました。

cd /var/lib/redmine

bundle exec rake generate_secret_token

RAILS_ENV=production bundle exec rake db:migrate

以前実行したコマンドですが、MariaDBを起動していなかったので、データが投入されなかったと思われる。。。

きたーーーーー!!!!

失敗したケース

参考サイトはこちらです。

一応Rubyがインストールされていない場合は下記コマンドでインストールしてください。
APT 経由のインストールはBundleがうまく行かない

sudo apt-get install ruby

ズバリ、下記のコマンドを実行しますが、ウェブサーバーはインストール済み(初期インストールされているようです)なので飛ばします。
これも一応コマンドでインストール可能です。

sudo apt install apache2

そして、rubyコマンドを一度アンインストールして再度インストールします。このページを参考にしました。

実行コマンド1:sudo apt update
実行コマンド2:sudo apt install gcc make
実行コマンド3:sudo apt install libssl-dev zlib1g-dev

rubyのインストール

git clone --depth 1 https://github.com/rbenv/rbenv.git ~/.rbenv

# rbenv の高速化
cd ~/.rbenv && src/configure && make -C src

# .bashrc や .bash_profile 等に以下の記述を追加
# 
# export PATH="$HOME/.rbenv/bin:$PATH"
# eval "$(rbenv init - bash)"
# 
# source ~/.bashrc 等で再読み込み

git clone --depth 1 https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

# インストール可能な Ruby のバージョンを確認
rbenv install -l

# バージョンを指定して Ruby をインストール
# ここではバージョン 3.1.2
rbenv install 3.1.2

# バージョン切り替え
# ここではバージョン 3.1.2
rbenv global 3.1.2

# source ~/.bashrc 等で再読み込み

「rbenv install -l」のところで、rbenvコマンドが使えなかったので、ディレクトリを移動して行いました。
次のようなコマンドを実行しました。

cd ~/.rbenv/bin
rbenv install -l
rbenv install 3.0.5

  1. MySQLではなくMariaDBを使用しますので下記のコマンドを実行します。
    sudo apt-get install mariadb-server mariadb-client

  2. redmineのダウンロードはこちらからtar.gzをダウンロード(redmine-5.0.4をDL)

  3. tarファイルを解凍
    tar -zxvf redmine-5.0.4.tar.gz redmine-5.0.4/

  4. 空のデータベース作成
    DB起動: sudo systemctl start mariadb
    mariaDBログイン:sudo mysql -u root
    DB作成:create database redmine ※今回はDB名を「redmine」にしました。

  5. 解凍したredmineのフォルダ以下にある「config」の下に「configuration.yml 」を作成する
    <configuration.yml>

    production:
    email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: "localhost"
      port: 25
      domain: "example.com"
    
    rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf
  6. 同様に「dbtabase.yml」も作成

    production:
    adapter: mariadb
    database: redmine
    host: localhost
    username: root
    password: ""
    # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
    encoding: utf8mb4

    他にも「development」「test」などありますが、同じ設定です。

  7. bundlerのインストール
    ※ rubyコマンドの問題でここからうまくいきませんでした。

sudo gem install bundler

  1. bundlerでredmineに必要なものをインストール

    sudo bundler install --without development test

ここで、以下のようなエラーがありました。対応は下記を参照ください

An error occurred while installing redcarpet (3.5.1), and Bundler cannot continue.

  1. Rmagickのインストール

    bundle install --without development test rmagick

  2. Gemfile.local というファイルをRedmineのディレクトリに作成
    bundle install の実行時にインストール(作成)されますのでGemFileをコピーして「GemFile.local」を作成

  3. セッションストア秘密鍵の生成

    bundle exec rake generate_secret_token

無限ループしてしまった。。。

  1. データベースのテーブル等の作成

    RAILS_ENV=production bundle exec rake db:migrate

rbenvの補足

rubyのインストールをするときに、rbenvを使用して行う必要があった(他の方法もあるらしいが。。。)以下を参考にしました。
apt経由でのrubyインストールだとbundleがうまく動かないようです。

ブログ記載中に記述内容がとんでしまい。。。細かい部分が消えてしまいましたが、参考に見たページを記載しています。

RUBYのインストール

rbenvをインストールしてから次のコマンドを使います。

rbenv install バージョン番号
rbenv local バージョン番号

うまく行かない場合

rbenv, ruby, bundlerがうまくインストールできていない場合セットアップがうまくいきません。
上記のセットアップをちゃんと行い再度セットアップします。
つまりは、項番の8からやり直す形です。

  1. bundlerでredmineに必要なものをインストール

rbenvでインストール

下記コマンドを実行して動くか確認しながら行う

rbenv version
3.1.3 (set by /home/ユーザー名/.ruby-version)

rbenv exec gem --version
3.3.26

rbenv exec gem install bundler
Successfully installed bundler-2.3.26
Parsing documentation for bundler-2.3.26
Done installing documentation for bundler after 1 seconds
1 gem installed

rbenv exec bundle --version
Bundler version 2.3.26

無限ループの原因

Unknown database adapter mariadb found in config/database.yml,

上のようなメッセージがありました。
これは、DB接続用のファイルdatabase.ymlの異kの部分を間違っていたためでした。具体的には「mysql2」と書くべきところが「mariadb」になっていたためです。

production:
  adapter: mysql2 // ここがmariadbになっていた。。。
  database: redmine
  host: localhost
  username: redmine
  password: "my_password"

秘密鍵の生成

エラーメッセージに下のような文言がh出力されます。

Missing secret_token and secret_key_base for 'production' environment, set these values in config/secrets.yml

この解決策は、redmineインストールフォルダ内のconfig/フォルダ内に「secrets.yml」を作成することです。
このページを参考にしました。
シークレットキー(秘密鍵)を生成して、secrets.ymlに記述します。
生成するときは bundle exec rake secret のコマンドを使用する。

# Be sure to restart your server when you modify this file.

# Your secret key is used for verifying the integrity of signed cookies.
# If you change this key, all old signed cookies will become invalid!

# Make sure the secret is at least 30 characters and all random,
# no regular words or you'll be exposed to dictionary attacks.
# You can use `rake secret` to generate a secure secret key.

# Make sure the secrets in this file are kept private
# if you're sharing your code publicly.

development:
  secret_key_base: 生成した値

test:
  secret_key_base: 生成した値

# Do not keep production secrets in the repository,
# instead read values from the environment.
production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

最後にこのコマンドを実行

bundle exec rails server webrick -e production

まとめ

rubyコマンド、rbenv,、gem、bundlerがちゃんとインストールされていればうまくいくようだ。
詰まったら、各コマンド(gemなど)がインストールできていることを確認すれば良い

最後に「rails」コマンドが必要なようでした。以下のようなエラーメッセージがありました。

bundler: command not found: rails

なので次のコマンドをたたきしました。

rbenv exec gem install rails

前提としては、「rbenv」がインストールできていることです。

そして、DBのパスワード再設定方法はこちらのサイトを参考にしました。
DBのユーザー名とパスワードの変更も忘れないようにします。(database.ymlの修正)

ChromeBookにXAMMP(+ WordPress) Windowsとの連携

XAMMPをインストール

前回は、古いPCにChromeBookをインストールしました。これで、子どもたちが使用しているChromeBookと同じOSを使用することができます。※厳密にはちがうけど。。。
しかし、せっかくLinuxを導入するのならサーバーを回したくなるのも人情。かと言って「複雑なことはちょっと。。。」という人はXAMMPなどいかがでしょうか?参考サイトはこちらです。
つまるところ「Apache + MySQL(MariaDB) + PHP 」をワンセットにしたもののことです。

目的

WordPressをインストールして自宅でサーバーを運用しようというものです。
詰まるところは、自宅内で特定のURL(IPアドレス)に接続すれば、ワードプレスが使用可能となります。

インストールするもの

  1. XAMPP:WordPressを動かすためのサーバー
  2. WordPress: サーバー上で動くCMS(コンテンツマネジメントシステム)

セットアップするもの

A. XAMPP: インストール時にセットアップ完了します
B. ProFtp: プラグインを追加するのに必要なファイルアップローロ用のFTPサーバー

WordPressとは

俗に言うCMSで、コンテンツマネジメントシステムです。今回はこのシステムをインストールしてこれにプラグイン(追加機能)、学習管理機能(Learn Press※英語なので翻訳してみると良いです)を追加しようというものです。
WordPressは、単純にブログサイトを作るときに使用するものですが、プラグインでLMS(学習管理システム)が使えるようなので、今回はこれを使用します。
他にもLMSはあるので、それをインストールしても良いのですが、Java言語などは、別のレンタル・サーバーを借りないといけないので。。。

まとめると、次のような目的を達成します。

  1. WordPressをインストールしてCMSを自前のChromeBookで動かせるようにする
  2. 自宅のWifi(同じSSID)から接続して、日記なりブログなり記載が可能になる
  3. プラグインのLearn Pressを使用して学習管理を行えるようにする

フォルダのパス

ダウンロードフォルダ:/mnt/chromeos/MyFiles/Downloads
上記のパスが、ダウンロードフォルダになります。
<エクスプローラー>

<ターミナルのパス>

インストール手順

  1. こちらのページからインストーラーをダウンロード
  2. ダウンロードしてきたファイルを実行する
    2-1. ファイルのパーミッション(権限)を変更して実行できるようにする。
    chmod 755 /mnt/chromeos/MyFiles/Downloads/xampp-linux-x64-8.1.10-0-installer.run
    2-2. カレントディレクトリの移動
    cd /mnt/chromeos/MyFiles/Downloads/
    2-3. ファイルの実行
    sudo ./xampp-linux-x64-8.1.10-0-installer.run
  3. 途中で質問があるので、これに対して「Y」を入力してください
  4. PHPのインストール確認、次のコマンドを実行/opt/lampp/bin/php -v
  5. XAMMPの起動確認、次のコマンドを実行sudo /opt/lampp/lampp start

エラーがあったとき

こちらにエラーのメッセージがあります。

ブラウザ ウィンドウに「ERR_NAME_NOT_RESOLVED」または「ERR_CONNECTION_REFUSED」のメッセージが表示された場合

本来は「localhost」なのだろうが、セキュリティなのかわからないが、アクセスするURLが「 http://penguin.linux.test/dashboard/ 」 になっていた。。。

これは、なぜこうなるのかがわからない状態です。。。しかし、GUIからの起動を行えば問題なく起動できました。

localhostでないと

今度は、localhostにアクセスできないというエラーが出た。
使用するブラウザがだめらしい(原因等は不明)なのでchromiumをインストール
このあとは、問題なくインストールできました。

WordPressインストール

こちらのページからダウンロードできます。WordPressのダウンロードページです。

今回は、ChromeBook、つまりLinuxなので「*.tar.gz」をダウンロードしました。
このファイルを上記のXAMMPにある「httpdoc」に移動

  1. ディレクトリを移動:cd /opt/lampp/htdocs/
  2. ファイルの移動:sudo mv /mnt/chromeos/MyFiles/Downloads/wordpress-6.1.1-ja.tar.gz ./
  3. ファイルの解凍:sudo tar -zxvf wordpress-6.1.1-ja.tar.gz

DB名などは、phpMyAdminで確認できます。DBだけ存在するものを指定して、その他は自分で決める形でインストールできました。

FTPの設定

プラグインの追加時に、FTPのユーザーとパスワードが求められるが、デフォルトで以下のようになる。
ユーザー名:daemon
パスワード:xampp

こんな感じでインストールできました。

補足ですが、PCを公開しないのであれば、ファイルのアクセス権限を変更するのも一つの方法です。
sudo chmod 775 -R WordPressをインストールしたフォルダ
<サンプル>

sudo chmod 775 -R /opt/lammp/wordpress

Windowsとの連携

サーバーなど立ち上げて、データやコンテンツの記載などを行うときにはWindowsとのファイル互換が必要になると思います。
互換というのは、WindowsでもLinux(ChromeOS)でも開けたほうが良いよね?ということです。
今回は、ChromeOSなので、Google ドライブ経由が無難だと思うのでこれを使用します。

参考ページお見ると次のような手順が記載されていました。

  1. GoogleDriveの設定を開く
  2. 「オフラインにチェックをつける」

細かいことは面倒だと思ったら、GoogleDrive経由でダウンロードするのも一つの方法です。

Chromebookを使いましょう〜インストールとセットアップ〜

Chromebookを使う

古いPCにChromeOS(Flex)をインストールして使おうと考えました。
基本的には、ICT教育、GIGAスクール関連などで、Chromebookを購入された方が多いと思っていますが、
ChromebookはLinuxです。Linuxとは無料のOS(オープンソースといいます)でいろんなバージョン(ディストリビューション)があり、その一つがChromebookなのです。

しかし、ChromebookはLinux化が必要らしく。。。その手順とオープンソース・ソフツウェアの良さを伝えられれば良いと思っています。
次の項目を記載しております。

  • ChromeOSのインストール
  • Linux化

まずは、インストールから。

ChromeOSのインストール

こちらのサイトを参考に実行しました。

初めに作成するリカバリUSBの指定で少してこずりましたが、なんとか。。。

ChromeOS in MUGA

以前2万円で購入したドンキPCにChromeOSをインストールしました。
手順は次の通り

1.リカバリユーティリティをクロームに追加

  1. USB(8G)をリカバリーディスク化する。つまり、USBブートでChromeOSをPCにインストールする。そのためのUSBを作成する。
  2. 対象のPCをUSBブートする

注意点

リカバリUSBの作成時に次の注意が必要です。

モデルの選択

リストからモデルを選択して

ChromeOS Flexを選択する。ChromeOSは、ChromeOS用デバイスでのリカバリ用かもしれない

その後は、ガイドに従い操作を行い。対象のPCにUSBを刺してUSBブート!

ショートカットについて

こちらのドキュメントを参考にしました。

「設定→デバイス→キーボード→キーボードショートカットの表示」で確認できます。

細かいキーボード配列に関してはこちらのページ(Dellさんページ)に記載がありました。

基本

上記のドキュメントにあるキーがどのキーなのかを一覧化しました。

キー 表示名
F5 ウィンドウを表示 キー
ウィンドウズボタン 検索キー、ランチャーキー

ショートカットキー

キー 表示名
Ctrl + F5 全体スクリーンショット
Ctrl + Shift + F5 範囲選択スクリーンショット

このスクリーンショットを取るときに、動画の作成もできます。ビデオマークをクリックします。
終了時は、画面の右下に録画ボタンみたいのがありますのでそれをクリック。

Linux化

単純に、設定→デベロッパ→Linux開発環境とクリックしていけば良いです。

これで、コマンドでアプリケーションをインストール、debファイルでインストールなどできます。

Androidスマートフォン連携

Googleが操作の説明していましたが、自分には使い道が見つかりませんでした。
以下のことができるようです。

  • チャットの通知を同期する。
  • ファイルを共有する。
  • Chromebook でテキスト メッセージを送受信する。
  • Chromebook をスマートフォンのネットワークに接続する。
  • スマートフォンで Chromebook のロックを解除する。