タグ: LinuxMint Page 1 of 2

Linux Mint 21にRedmine 5.0をインストール。

2022/09/03 時点のLinux Mintの最新版21に、やはり最新版のRedmine 5.0のインストールを行えるかを検証しました。

以下、うまくいったときの手順です。

前提

  • OSの初期設定のみが完了しています。
  • また、Webでよく見られる「mysql_secure_installation」は普通に行ったら躓くので、その対応も行っています。

手順

  • 全て管理者権限で実施します。
  • 検証なのでhttps通信などは考慮しません。

apacheリポジトリの追加(脆弱性対応)

add-apt-repository ppa:ondrej/apache2
# 途中、Press[Enter]と表示されるので空エンターを打ちます。

基本パッケージのインストール

aptitude update
aptitude install build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev mysql-server mysql-client apache2 apache2-dev libapr1-dev libaprutil1-dev imagemagick libmagick++-dev fonts-takao-pgothic subversion git ruby libruby ruby-dev libmysqlclient-dev

passengerのインストール

aptitude install libapache2-mod-passenger
systemctl restart apache2.service

gemで必要なライブラリをインストール

gem install bundler racc mysql2 strscan
# redmine5.0の場合、stscanも必要でした

mysql初期パスワード設定

参考 https://level69.net/archives/28557
vi /etc/mysql/mysql.conf.d/mysqld.cnf
追記内容
# 末尾に以下を追加
default_authentication_plugin=mysql_native_password

設定後にmysqlサービス再起動

systemctl restart mysql

MySQL rootパスワード設定

mysql -u root -p
# 未設定のためパスワードは不要です
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'パスワード';
#パスワードは任意のものを入力ください
flush privileges;
exit

mysql初期設定

mysql_secure_installation
初期設定内容
Enter password for user root: 
# 上記で設定したパスワードを入力します

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: 
# Yを入力してEnter

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
# ポリシーに合わせて0/1/2を入力(ローカル環境のため0としました)

Estimated strength of the password: 50 
Change the password for root ? ((Press y|Y for Yes, any other key for No) : 
# 既に設定しているのでn

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : 
# anonymousユーザーを削除するためY

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : 
# rootユーザのリモートログインを禁止するためY

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : 
# テストDBを削除するためY

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : 
# 設定を反映するためy

MySQLでredmine用のユーザーを作成

mysql -uroot -p
# 上記で設定したパスワードを入力します
CREATE DATABASE redmine character set utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'パスワード';
# 任意のパスワードを設定
GRANT ALL ON redmine.* TO 'redmine'@'localhost';
flush privileges;
exit

redmineを取得

mkdir /var/lib/redmine
chown www-data:www-data /var/lib/redmine
sudo -u www-data svn co https://svn.redmine.org/redmine/branches/5.0-stable /var/lib/redmine
database.yml編集
cp -pi /var/lib/redmine/config/database.yml.example /var/lib/redmine/config/database.yml
vi /var/lib/redmine/config/database.yml
編集する箇所(production)を以下のように編集
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "redmine用のパスワード"
  encoding: utf8mb4

bundleによるDBマイグレーション

cd /var/lib/redmine
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo -u www-data bundle exec rake generate_secret_token
sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate
sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data

apacheの設定ファイルを作成

cd /etc/apache2/sites-available
vi redmine.conf
設定内容(動作確認のため、以下のものだけ)
<VirtualHost *:80>
    RailsEnv production
    DocumentRoot /var/lib/redmine/public

    <Directory "/var/lib/redmine/public">
            Allow from all
            Require all granted
    </Directory>
</VirtualHost>

上記で作成したredmine.confを有効化

a2ensite redmine.conf
apache2ctl configtest
# Syntax OKを確認
systemctl restart apache2.service

この後、ブラウザにIPアドレス/ホスト名を入力してredmineの画面が出ることを確認しました。

Chuwi herobox proのLinuxサーバー化(準備編-2-)

こちらの続き。SSH接続できるようにしていきます。

作業メモ

最初のアップデートを行います。

sudo su -
aptitude update
aptitude upgrade

これには多少時間がかかります。

アップデート後、再起動を行います。

reboot

再起動後、heroboxを有線接続できるようにします。

sudo su -
aptitude install linux-image-oem-20.04d
reboot

カーネルを差し替え、オンボードNICを認識させる作業を行います。作業後、再起動をします。

接続を有線に切り替え、IPアドレスを固定します。

こちらに関してはGUIメニューで行いました。また、以下の作業も追加しています。

  • DNSサーバの向き先を自室内のDNSに切り替える
  • IPv6を無効化する

追加作業:DNS登録

ローカルDNSに上記で固定したIPアドレスを登録します。登録後

  • 登録した名前でIPアドレスが解決できること
  • 登録した名前にpingが返ってくること

を確認します。

sshを導入します。

aptitude install ssh

ローカル環境のため、公開鍵暗号の設定は割愛です。

クライアントからSSH接続できることを確認します。

ここまで確認できればディスプレイ接続もキーボード/マウスも不要です。LANケーブルと電源が接続された状態で固定します。

次は、別途、クライアントターミナルからサーバの基本設定を行っていきます。

Mod Securityが検知したIPアドレスの抜き出し。

やりたいこと

Mod Securityを導入してから、不正アクセスがerror.logに現れるようになりました。
そのアドレスをネガティブリストに放り込むことで後続のアクセスをブロックする方法は設定しました。

そこで、

  • 日ごとにerror.logで検知したログを確認し
  • IPアドレスのみを抜き出してリスト化する

設定を行います。

環境

  • Ubuntu 20.04(Linux Mint)
  • Apache 2.4
  • Mod Security

※ログは/var/lib/redmine/log に格納されています。

手順

一般ユーザで実施します。

参考:

https://linux.just4fun.biz/?%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8B%E3%82%89IP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AE%E3%81%BF%E6%8A%BD%E5%87%BA%E3%81%99%E3%82%8B

apacheのerror.logからIPアドレスを抜き出します。

cd /var/lib/redmine/log
cat error.log | awk 'match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) { print  substr($0, RSTART, RLENGTH) }'
# IPアドレスのみ表示されることを確認。

IPアドレスを並べ替え、重複を除外します。

cd /var/lib/redmine/log
cat error.log | awk 'match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) { print  substr($0, RSTART, RLENGTH) }' | sort | uniq
# 一意のアドレスのみが表示されることを確認。

自動実行するスクリプトを作成します。

cd /hoge/
vi negativelist.sh
スクリプト内容
#!/bin/sh

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

cd /var/lib/redmine/log
cat error.log | awk 'match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) { print  substr($0, RSTART, RLENGTH) }' | sort | uniq > /var/lib/redmine/log/suspicious_ip.`date +%Y%m%d`

スクリプトに実行権限を付与します。

chmod +x negativelist.sh

日ごとに実行されるように設定します。

sudo su -
crontab -u www-data -e
# redmineのログプラグインで閲覧できるよう、apache実行ユーザのcronを編集します
cron内容
0 8 * * * /hoge/negativelist.sh

これで、「Mod Securityが不正アクセスと見なしたIPアドレスを日ごとに抜き出す」仕組みが整いました。

(シェルスクリプトで指定したディレクトリ内に、suspicious_ip.yyyymmdd というファイルが作成されます。
 また、/var/lib/redmine/log 配下に置くことで、redmineのログプラグインで表示することができます。)

直接ネガティブリストに追記しないのは、偽陽性で自分自身がブロックされるのを防ぐためです。

Chuwi Heroboxの有線接続化とNASマウント。

既知の問題点

  • 小さい
  • 無音
  • それでいて拡張性がある

ということで使い始めているChuwi Herobox Pro。Linuxを運用する上で

「オンボードNICを認識しない」

という問題点がありました。それを解決するために検索していたらUbuntu 20.04にはHeroboxに適合するドライバが入っていないとの情報にたどり着きました。

解決

以下の方法で解決しました。なお、入っているOSはLinux Mint 20.03(una)です。

  1. 無線LAN接続設定無効化
  2. 以下のコマンドを実行
aptitude install linux-image-oem-20.04d

機器再起動後、無事に有線接続を確認。後は無線に入れ込んでいたIPアドレス設定を施せば完了です。

こうして、接続も安定化したのでもう一つの解決策にも着手します。

NASのマウントとバックアップ向き先変更

先日、「MySQLのバックアップ先をUSBメモリにする」暫定作を書きましたが、もっと容量があって冗長化されているところ:NASに変更します。

これを元にNASをマウント。mysqlのバックアップ先も以下のように変更します。

#!/bin/sh

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

cd /home/manualmaton/bin
mysqldump --defaults-extra-file=dbaccess.conf --no-tablespaces -h localhost redmine > /path/to/NAS/Directory/redmine_backup.`date +%Y%m%d`

これで、平常時のDBバックアップもうまくいきました。

後は、redmine全体のバックアップ設計を考えていきます。

Chuwi HeroboxにLinux Mintをインストール。

導入したファンレス小型PC・Chuwi HeroboxにはWindows 10がプリインストールされておりますが、それは日の目を見ることはありませんでした。

OSインストール

今回はUbuntu系で比較的軽いLinux Mintを使いました。

下準備

  1. Linux Mint公式サイトからISOイメージをダウンロードします。
  2. RufusでUSBブートディスクを作ります。
  3. Heroboxに500GBのSSDを接続します。

インストール

redmine専用サーバにするため、ディスクの割り当ては

  • 増設した500GB SSD:/var
  • 元々の256GB SSD:/ およびスワップ

としてOSインストールは完了。

固有の問題

問題なく動きましたけれどLinux Mintのファームウェアの関係か、有線LANを認識してくれませんでした。

無線LANで運用するのでそこは割り切ります。

Linux Mint初期設定

以下を施しました。

  1. aptitude updage → upgradeでパッケージを更新
  2. IPアドレスを固定
  3. 以前作成していたローカルDNSサーバ設定
  4. それに伴いIPv6を無効化

後はSSHを入れてWindowsターミナルから接続を確認しました。

次はredmineとプラグインのインストールです。

LinuxMint 20にインストールしたSteamでWinゲームが作動。

情報をブラウジングしてよかったと思った瞬間です。

ふと見つけたこんな記事。

Ubuntu Weekly Recipe
第626回 UbuntuでもSteamのWindowsゲームを!

https://gihyo.jp/admin/serial/01/ubuntu-recipe/0626?page=3

かなり求めていた情報でした。手順としてはそれほど迷いませんでした。

  1. Linux版Steamクライアントをダウンロード
  2. 自分のアカウントと接続。
  3. 設定→アカウント→「ベータへの参加」
  4. Steamクライアント再起動
  5. 設定→アカウント→Steam Play→「Enable Steam Play for supported titles」にチェック
  6. 「他のすべてのタイトルでSteam Playを有効化」にチェック。
  7. 再びSteamクライアント再起動

で、

インストールができて、

Steam版『大鎌戦役』がしっかり動きました。

マザーボードオンボードのグラフィック機能を用いているため、流石に過日に記事にした『Train Station Renovation』や『アズールレーン クロスウェーブ』は動きませんでしたが、ボードゲーム系のアプリがストレスなく動くことに感激。

ここまで来たら、グラフィックボードをつけて動くまで試してみたくなります。

新しいノートPCを入手。(lenovo Thinkpad Edge E135)

九州旅行に行く前――

色々と思うことがあって新しいPCを買おうと思いたちました。新PCの基準は

  • ある程度新しいモデルであること。
  • サイズは11インチ程度。
  • 各種カスタマイズがしやすいこと。
  • 手頃な値段であること。

これらを満たすものとなると、もはやlenovo Thinkpad Edge E135しかなかったわけで。バッテリーの持ち時間やマイクロドライブの有無はE130に軍配が上がりますが、価格面でこちらを選んだ次第。

2013-09-22 09.48.03

天板の色も選択できるのが魅力的でした。僕は濃い青を選択。屋外で利用することを考えて、アンチグレアの液晶にしています。

2013-09-22 09.48.24

見た目とは裏腹に結構ワイド。しっかりしたキーピッチとストロークはThinkpadブランドの面目躍如です。

 

2013-09-22 10.02.19

何よりも素晴らしいと思ったのが、メモリやHDDに「裏蓋のネジを外すだけでアクセスできること」。早速、HDDを交換しました。注意すべきはE130シリーズに用いられているHDDは7.5mm厚。普通に売られているノート用HDDは9mm厚なので、交換される方は素直に7mm代のものを用意したほうが無難です。

BIOSは交換したHDDを認識し、早速Linux Mint 15 KDEをインストール。

2013-09-22MintKDE

KDEは確かに見栄えがいいもののUnix系デスクトップ環境で「一番重い部類」に入るのが悩みどころ。それが、今回はしっかりしたスペックのもとで動くのが何よりです。

中古Let's noteは半年持たずにお役御免となってしまいましたが…… しかし、そのお陰でLinuxデスクトップ環境の素晴らしさに目覚めたのは大いなる収穫でした。

Linux Mint 14 KDE版でLineを使う。

まぁ、ソフトそのものの是非は別として…… PC版クライアントが存在するため、連絡の取りやすさが一気に便利になったLine。それをLinux Mintで使えないものか? と探していたら参考になる記事がありました。

wineでLINE(ライン)を動かす 

LinuxMint14のSoftware Centerで動いているWineのバージョンは1.4だったので、

$ sudo add-apt-repository ppa:ubuntu-wine/ppa
$ sudo apt-get update
$ sudo apt-get install wine
$ wine reg add "HKCU\Software\Wine\X11 Driver" /v InputStyle /d root /f

として、Wineのアップグレードと日本語入力を可能にさせます。最後にLineのインストールを行い、元から登録していたメールアドレスとパスワードでログイン。

line 

以前の会話はおろか、きちんと入力できています。

Linuxでも、どうにかソフトが動く素晴らしさ。技術の日々の革新を思い知った次第です。

 

中古PC再生計画-最終的な評価-

ここ一週間もの間、猫に関するエントリーで集中していましたが、タイトルにもあるように「中古PCを一線級に整える」一連の流れを総括しようと思います。

今まで、こんな記事を書いてきました。

  1. 中古PC・再生計画-1-筐体の入手とHDD換装。
  2. 中古PC・再生計画-2-Ubuntuのインストールとデスクトップ変更。
  3. 中古PC・再生計画-3-Ubuntu12.10にAdobe AirとTweetDeckをインストールする。
  4. 中古PC・再生計画-4-BluetoothとDVD再生。
  5. 中古PCを再生させて-フィードバック-
  6. 中古PC・再生計画-5-リフレッシュバッテリーに換装。
  7. 中古PC・再生計画-6-仮想環境の構築とソフトウェアルータOS(Vyatta)の導入。
  8. 中古PC・再生計画-7-OSをUbuntuからLinuxMintに変更。
  9. 中古PC・再生計画-8-ネットやアプリケーションの速度を心持ち上げる
  10. 中古PC・再生計画-9-モバイルスピーカーを入手しました。

記事を最初に書いたのが4月のはじめですから、ゆうに3ヶ月が経過したことになります。結論から言えば「全く問題なく音楽、動画の再生、写真の編集や閲覧、そしてネット閲覧ができる」ようになりました。

まず、ベースマシンとなるLet's note CF-W7の基本性能に救われました。5年前の機体ではありますが、筐体は軽くて堅牢。液晶はバッチリ見られますし、光学ドライブがこのサイズで付いてくるので、持ち歩くのにピッタリ。

手を入れたのは

  • HDD増設(80GB→1TB)
  • メモリ増設(512GB→3GB)
  • バッテリーをリフレッシュバッテリーに換装
  • Bluetoothドングルを追加

だけ。購入価格1万7千円でしたから、プラス1万5千円で、数世代前のものが第一線級に復帰。尤も、一番の変化は「OSの変化」でしょうね。

WindowsXP(最初)→Ubuntu12.10 → Ubuntu13.04 → LinuxMint14 → OpenSuSe → LinuxMint14(KDE版)

3ヶ月で5回も変わりましたが、今は軽さの割に華やかなデスクトップ画面と、digiKamによる画像編集があるLinuxMintに落ち着いてきた次第です。

元々は「LPIC Level1を取得した記念」で購入した中古PCが、外出時の「片腕」となっていることに、感動しています。「お金をそれほどかけずにPCを再生させたい」という人は、Linuxは一つの選択肢だと思いました。

KDEのサウンドの不具合と、ワークアラウンド。

さて、僕のLinuxのメイン機であるLet's noteはビジネス用途のためにマルチメディア関連は充実しているとは言い難いものがあります。

とりわけ顕著なのがサウンド。スピーカーはモノラルで申し訳程度。それでは、大量に入れた音楽や動画ファイルを活かしきれません。というわけで、昨晩はヘッドフォンを挿入して音を試してみたんですね。

……スピーカーから“も”音が出ていました。

何かが邪魔をしているのか、仕様なのかが分かりませんが、一難去ってまた一難です。

しかし、Bluetoothが有効になっていることを思い出し、[システム設定]→[マルチメディア]→[Phonon]から[Audio Hardware Setup]タブを開き、[ハードウェア]の[サウンドカード]を[オフ]に変更。代わりに、認識されたBluetoothヘッドフォンを有効化。

すると、問題なくBluetoothからしっかりと音楽が聞こえます。

逆に考えると、これは望んでいた事態。電車の中やカフェでは「Bluetoothヘッドフォンを有効化しない限り本体からは音が出ない」のですから。

それにしても、今まで電車の中でこのPCから音楽を再生しなくて助かりました。ナチュラルに起こった危機回避に感謝です。

Page 1 of 2

Powered by WordPress & Theme by Anders Norén