標籤
無標籤

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

最近の作業部屋活動履歴

2022-08-24
2020-08-29
2020-08-23
2020-08-22
2020-08-10
2020-08-09

最近のWikiの更新 (Recent Changes)

2022-08-24
2020-08-10
2020-08-01
2020-07-18

Wikiガイド(Guide)

サイドバー (Side Bar)

 linuxcontainersでなくてcanonicalのページのほうが、Ubuntuを使う場合は
 参考になるっぽい。
 swapaccount=1を/etc/default/grubに追加した。
 https://ubuntu.com/server/docs/containers-lxd
 いちどreboot

 sudo zfs create tank/zlxd
 sudo snap install lxd
 sudo lxd init

以下、途中で入力を誤ったら、Ctrl-Cで終了させればsudo lxd initからやり直すことができる。

Would you like to use LXD clustering? (yes/no) [default=no]: n
Do you want to configure a new storage pool? (yes/no) [default=yes]: y
Name of the new storage pool [default=default]: lxdpool0
Name of the storage backend to use (lvm, zfs, ceph, btrfs, dir) [default=zfs]: zfs
Create a new ZFS pool? (yes/no) [default=yes]: n
Name of the existing ZFS pool or dataset: tank/zlxd
Would you like to connect to a MAAS server? (yes/no) [default=no]: n
Would you like to create a new local network bridge? (yes/no) [default=yes]: y
What should the new bridge be called? [default=lxdbr0]:
What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
Would you like LXD to be available over the network? (yes/no) [default=no]: n
Would you like stale cached images to be updated automatically? (yes/no) [default=yes] y
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:

zfs list で、lxdのために tank/zlxdに作られたディレクトリ?が一覧できる。

 lxcコマンドをフルパス指定なしで使いたい場合、 /snap/bin にパスを通すように .zprofile を編集する
 sudoできない一般ユーザでもlxcは実行可能(ただし、lxdグループにそのユーザを追加する必要あり)
 sudo adduser hogeuser lxd
 lxc launch ubuntu:bionic b1
 lxc exec b1 -- bash でインスタンスにログインできる

コンテナ上(ただしCentOS)でのredmineデータベースのバックアップ

(cd /tmp && sudo -u postgres pg_dump redminedb -Fc) | xz -c > ~/redminedb.xz
(cd /tmp && sudo -u postgres pg_dump gitbucketdb -Fc) | xz -c > ~/gitbucketdb.xz
(cd /var/lib/redmine && sudo -u nginx tar cf - files) | xz -c > ~/redminefiles.tar.xz
 lxc image info ubuntu:20.04
 lxc launch ubuntu:20.04 websvr1
 lxc exec websvr1 -- bash
  コンテナwebsvr1の中で
   ~/.lesskey設定
   apt-get install zsh
   redmine4.1はruby2.7には非対応、自分で2.6を入れる
   snap install ruby --classic --channel=2.6/stable
   https://www.redmine.org/projects/redmine/wiki/RedmineInstall
   の手順に従いインストールを進める
   (ただし http://blog.redmine.jp/articles/3_4/install/ubuntu/ もごちゃまぜ)
   sudo locale-gen ja_JP.UTF-8
   sudo gem install bundler --no-document
   apt-get install imagemagick
   gitは標準で入っていた
   git clone https://github.com/redmine/redmine.git
   cd redmine
   git checkout 4.1-stable
   postgresqlのセットアップ
   apt-get install postgresql

/etc/postgresql/12/main/pg_hba.confを編集

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

だったところを以下のように修正する

# IPv4 local connections:
host    gitbucketdb     gitbucketuser   127.0.0.1/32            md5
host    redminedb       redmineuser     127.0.0.1/32            md5
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    gitbucketdb     gitbucketuser   ::1/128                 md5
host    redminedb       redmineuser     ::1/128                 md5
host    all             all             ::1/128                 md5

confを変えたので
systemctl reload postgresql

ホスト側からコンテナへ、lxc file pushでredmineのバックアップファイルを送り込む
cd /tmp
sudo -u postgres createuser -P redmineuser
(パスワードは適当に)
sudo -u postgres createuser -P gitbucketuser
(パスワードは適当に)
sudo -u postgres createdb redminedb
sudo -u postgres pg_restore -d redminedb <データベースをダンプしてできたファイル>
※「error: could not execute query: ERROR:  schema "public" already exists」というメッセージが出るかもしれないが、特に問題はない
sudo -u postgres psqlして、 \lで出てくる表示にredminedbがあればrestore成功している。
sudo -u postgres createdb gitbucketdb
sudo -u postgres pg_restore -d gitbucketdb <データベースをダンプしてできたファイル>
nginxがコンテナ側にも必要なので
apt-get install nginx
cd /var/lib
chown -R www-data. redmine
cd /var/lib/redmine
sudo -u www-data tar xf /tmp/redminefiles20200803.tar
bundle installのコマンド実行は、www-dataとしてやったほうがよいらしい
sudo -u www-data bundle install --without development test
したら cannot create "/var/www/snap/ruby/180" と怒られたので mkdir /var/www/snap ; chown -R www-data. /var/www/snap してみた
でもダメ、snapでrubyを使うのはあきらめる。
rm -rf /var/www/snap
snap remove ruby
curl -O https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.6.tar.gz
tar xf ruby-2.6.6.tar.gz
cd ruby-2.6.6
apt-get install build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev
apt-get install postgresql-server-dev-12
apt-get install libmagick++-dev fonts-takao-pgothic
apt-get install libgdbm-dev libgdbm-compat-dev
./configure --disable-install-doc
make -j4 (4のところは使っているPCの論理コア数に合わせる)
make install
chown -R www-data. /var/www
sudo -u www-data gem install bundler
「You don't have write permissions for the /usr/local/lib/ruby/gems/2.6.0 directory.」と怒られるが、無視しても問題ない模様
sudo -u www-data gem list でbundlerがLOCAL GEMSに含まれていれば、bundlerのインストールは成功
bundle installより先にconfig/database.ymlを編集しろと怒られた。
/var/lib/redmine/config/database.yml を新規作成して編集
production:
  adapter: postgresql
  database: redminedb
  host: localhost
  username: redmineuser
  password: "XXXXXXX"
  encoding: utf8
config/configuration.ymlも作成 http://blog.redmine.jp/articles/3_4/install/ubuntu/ を参考
chmod 600 database.yml configuration.yml
chown www-data. database.yml configuration.yml
cd /var/lib/redmine
sudo -u www-data bundle install --path vendor/bundle --without development test
「HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.」という警告が出たので、
/var/lib/redmine/config/application.rb の「config.i18n.fallbacks = true」を「config.i18n.fallbacks = [I18n.default_locale]」に直して再度
sudo -u www-data bundle install --path vendor/bundle --without development test
sudo -u www-data bundle exec rake generate_secret_token
sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate