Raspberry Pi Zero Ver.1.3上でredmineを動作させたときのメモ
参考
Raspbian StretchにRedmine - オレッジベース
- ハードウェア
- Raspberry Pi Zero Ver.1.3
- TM-microUSBLAN
- ソフトウェア
- Raspbian Buster Lite (2019-09-26)
- redmine3.4.6
- maria-db
- あらかじめTM-microUSBLANのMACアドレスに対して、固定のIPが振られるようルータに設定しておく。
- raspbianのイメージを書き込んだ後、Windowsでマウントし、bootフォルダに「ssh」という空ファイルを作成する。 →これで起動直後からsshでログイン可能になる。
起動し、固定のIPにpiユーザでssh接続する(初期パスワードは「raspberry」)。
$ sudo raspi-config
- 「8.Update」
- 「1.Change User Password」
- 「2.Network Options」-「N1 Hostnmae」ホスト名変更。
- (任意)「3 Boot Options」-「B1 Desktop/CLI」-「B1 Console」
- (任意)「3 Boot Options」-「B3 Splash Screen」-「No」
- 「4.Localisation Options」-「I1 Change Locale」 ja_JP.UTF-8を追加してデフォルトにする。
- 「4.Localisation Options」-「I2 Change Timezone」 Asia/Tokyoに変更。
- 「5.Interface Options」-「P2 SSH」 enabledにする。
- 「7.Adfanced Options」-「A1 Expand Filesystem」
→<Finish>
rebootするか聞かれるのでYes。
再度、piユーザでssh接続する(パスワードは変更したもの)
$ sudo apt-get update $ sudo locale-gen ja_JP.UTF-8 $ sudo apt-get install -y build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev
$ sudo apt-get install -y imagemagick libmagick++-dev fonts-takao-pgothic パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 E: パッケージ fonts-takao-pgothic が見つかりません
↓でうまくいく
$ sudo apt install -y imagemagick libmagick++-dev fonts-takao-gothic
DBのインストール
$ sudo apt-get install mariadb-client mariadb-server $ sudo apt-get install libmariadbd-dev ※2 $ $ sudo mariadb -u root Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 51 Server version: 10.3.17-MariaDB-0+deb10u1 Raspbian 10 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> MariaDB [(none)]> CREATE DATABASE redmine CHARACTER SET utf8mb4; Query OK, 1 row affected (0.004 sec) MariaDB [(none)]> MariaDB [(none)]> CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'redmine'; Query OK, 0 rows affected (0.003 sec) MariaDB [(none)]> MariaDB [(none)]> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; Query OK, 0 rows affected (0.004 sec) MariaDB [(none)]> MariaDB [(none)]> exit; Bye $
rubyのインストール
$ sudo apt-get install ruby2.5 ruby-dev $ sudo gem install bundler
ruby-devが無い場合※1
$ cd /tmp $ wget http://www.redmine.org/releases/redmine-4.0.4.tar.gz $ sudo -u www-data tar zxf ./redmine-4.0.4.tar.gz /tmp $ ls -l 合計 2472 drwxr-xr-x 17 www-data www-data 4096 6月 10 21:53 redmine-4.0.4 -rw-r--r-- 1 pi pi 2519330 6月 10 21:53 redmine-4.0.4.tar.gz drwx------ 3 root root 4096 10月 13 10:10 systemd-private-308038d2dfb641a2a653ceb0e46bd36d-systemd-timesyncd.service-DPYecA tmp $ tmp $ sudo mv ./redmine-4.0.4 /var/lib/redmine tmp $ cd /var/lib/redmine/config /var/lib/redmine/config $ sudo cp -p database.yml.example database.yml /var/lib/redmine/config $ sudo vi database.yml /var/lib/redmine/config $
/var/lib/redmine/config $ sudo cp -p configuration.yml.example configuration.yml /var/lib/redmine/config $ /var/lib/redmine/config $ /var/lib/redmine/config $ sudo vi configuration.yml
$ sudo -u www-data bundle install --without development test --path vendor/bundle pi@pizero:/var/lib/redmine/config $ sudo -u www-data mkdir -p app/assets/config/ pi@pizero:/var/lib/redmine/config $ sudo -u www-data touch app/assets/config/manifest.js pi@pizero:/var/lib/redmine/config $ sudo -u www-data vi app/assets/config/manifest.js $ sudo -u www-data bundle exec rake generate_secret_token ※3 $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
$ sudo gem install passenger -v 5.1.12 --no-rdoc --no-ri
apacheのインストール
$ sudo apt install apache2 libcurl4-openssl-dev apache2-dev libapr1-dev libaprutil1-dev
$ sudo passenger-install-apache2-module --auto --languages ruby
--autoなしで
sudo dd if=/dev/zero of=/swap bs=1M count=1024 sudo mkswap /swap sudo swapon /swap sudo vi /etc/apache2/conf-available/redmine.conf sudo a2enconf redmine apache2ctl configtest sudo service apache2 reload
※1
Fetching nokogiri 1.10.4 Installing nokogiri 1.10.4 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /var/lib/redmine/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.4/ext/nokogiri /usr/bin/ruby2.5 -r ./siteconf20191013-7917-zbl4t7.rb extconf.rb mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h extconf failed, exit code 1 Gem files will remain installed in /var/lib/redmine/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.4 for inspection. Results logged to /var/lib/redmine/vendor/bundle/ruby/2.5.0/extensions/arm-linux/2.5.0/nokogiri-1.10.4/gem_make.out An error occurred while installing nokogiri (1.10.4), and Bundler cannot continue. Make sure that `gem install nokogiri -v '1.10.4' --source 'https://rubygems.org/'` succeeds before bundling. In Gemfile: rails was resolved to 5.2.3, which depends on actioncable was resolved to 5.2.3, which depends on actionpack was resolved to 5.2.3, which depends on actionview was resolved to 5.2.3, which depends on rails-dom-testing was resolved to 2.0.3, which depends on nokogiri pi@pizero:/var/lib/redmine/config $ apt-cache search libxml2
※2
Fetching mysql2 0.5.2 Installing mysql2 0.5.2 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /var/lib/redmine/vendor/bundle/ruby/2.5.0/gems/mysql2-0.5.2/ext/mysql2 /usr/bin/ruby2.5 -r ./siteconf20191013-8099-1xs8c6x.rb extconf.rb checking for rb_absint_size()... yes checking for rb_absint_singlebit_p()... yes checking for rb_wait_for_single_fd()... yes checking for -lmysqlclient... no ----- mysql client is missing. You may need to 'apt-get install libmysqlclient-dev' or 'yum install mysql-devel', and try again. ----- *** 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. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/$(RUBY_BASE_NAME)2.5 --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=${mysql-dir}/include --with-mysql-lib --without-mysql-lib=${mysql-dir}/lib --with-mysql-config --without-mysql-config --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=${mysql-dir}/include --with-mysql-lib --without-mysql-lib=${mysql-dir}/lib --with-mysqlclientlib --without-mysqlclientlib To see why this extension failed to compile, please check the mkmf.log which can be found here: /var/lib/redmine/vendor/bundle/ruby/2.5.0/extensions/arm-linux/2.5.0/mysql2-0.5.2/mkmf.log extconf failed, exit code 1 Gem files will remain installed in /var/lib/redmine/vendor/bundle/ruby/2.5.0/gems/mysql2-0.5.2 for inspection. Results logged to /var/lib/redmine/vendor/bundle/ruby/2.5.0/extensions/arm-linux/2.5.0/mysql2-0.5.2/gem_make.out An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue. Make sure that `gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'` succeeds before bundling. In Gemfile: mysql2 pi@pizero:/var/lib/redmine/config $
pi@pizero:/var/lib/redmine/config $ sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data `/var/www` is not a directory. Bundler will use `/tmp/bundler/home/pi' as your home directory temporarily. (in /var/lib/redmine) rake aborted! Sprockets::Railtie::ManifestNeededError: Expected to find a manifest file in `app/assets/config/manifest.js` But did not, please create this file and use it to link any assets that need to be rendered by your app: Example: //= link_tree ../images //= link_directory ../javascripts .js //= link_directory ../stylesheets .css and restart your server