タイトル通り、Raspberry に、Redmineサーバを準備してみます。
誤解を生みそうですが、運用目的でセットアップするわけではありません。
最近では、Windowsサーバをクラウドでリースして、Bitnamiで簡単にセットアップ…で運用開始は出来ますが、バージョンアップしたい、移設したいと、使い込めば要望は尽きず…
でも、簡単に始めたものだから、そんな要望に応えるには、知識も技術も足らず困難…と。
今回の目的
Raspberry PI に、Redmineサーバを準備してみる事で、Debianに、Redmineを準備するプロセスを学んでみようと思います。
Raspberryの準備
Raspberry 本体は、4以上でメモリ多めを推奨します。
(以前、仮想svのLinuxで、メモリ不足でinstallが完了しない悲劇にあった事が…)
Raspberry Pi OS は Lite(64bit/Debian GNU/Linux 12 bookworm)を利用します。
最終的に、以下のバージョンで構築されます。
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [aarch64-linux-gnu]
Apache/2.4.62 (Debian)
redmine 6.0
psql (PostgreSQL) 15.10 (Debian 15.10-0+deb12u1)
Phusion Passenger(R) 6.0.23
各種インストールとセットアップ
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install postgresql
sudo apt-get install apache2 apache2-dev
sudo apt-get install ruby ruby-dev
sudo apt-get install subversion
sudo mkdir /home/redmine
sudo groupadd redminegrp
sudo useradd -g redminegrp -d /home/redmine redmine
sudo passwd redmine (パスワードを決めましょう)
sudo passwd postgres (パスワードを決めましょう)
sudo vi /etc/postgresql/15/main/pg_hba.conf (パスワードで利用する為変更)
- local all all peer
+ local all all md5
sudo vi /etc/postgresql/15/main/postgresql.conf (ローカル利用を明示)
- #listen_addresses = 'localhost'
+ listen_addresses = 'localhost'
sudo reboot (再起動して設定変更を適用)
su - postgres (ssh実行ユーザ切替)
createuser -P redmine (redmine用DBユーザ)
createdb -E UTF-8 -O redmine -T template0 redmine (データベース作成)
exit (postgresユーザ作業終了)
sudo mkdir /test
sudo chmod 777 -R /test
cd /test
svn co https://svn.redmine.org/redmine/branches/6.0-stable/ redmine
sudo chmod 777 -R redmine
cd redmine/config
cp database.yml.example database.yml
vi database.yml (不要な行は全てコメントアウトする事)
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "パスワード"
cd /test/redmine
sudo apt install libyaml-dev
sudo apt-get install libpq-dev
sudo gem install bundler
vi Gemfile (テストの為にwebrickを入れましょう)
gem "webrick"
bundle config set --local without 'production:rmagick'
sudo bundle install (かなり時間が掛かります)
色々とエラーが発生する箇所です
エラーの文面が読み解ければ良いですが、英語は…それも長文… orz
とりあえず、流し読みで構わないので、エラー個所から下へ、拾える単語だけ拾って見て行くと、このライブラリが足らないから、このコマンドでINSTALLしてね…みたいな文面が見つかるはずです。
この辺りは経験がモノを言う世界なので、苦しんで身に付けましょう。
エラーをAiに聞いて、対応を検討して貰うのも有効です。
sudo bundle exec rake generate_secret_token
「/test/redmine/config/initializers/secret_token.rb」が作成されます
RAILS_ENV=production bundle exec rake db:migrate (DBの初期作成)
RAILS_ENV=production bundle exec rake redmine:load_default_data (日本語)
bundle exec rails server -u webrick -e production (稼働テストをしましょう)
起動に時間が掛かるので、しばらく時間をおいて、以下のURLへアクセスしてみましょう
「http://IPアドレス:3000」
ホーム画面が起動すれば、Redmineのセットアップは終了です。
次にApacheへ連携します。
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install zlib1g-dev
sudo gem install passenger
sudo passenger-install-apache2-module (非常に長い処理です…)
ここも色々とエラーが発生する箇所です。
でも、エラーは確認しやすいので、頑張って身に付けましょう。
sudo vi /etc/apache2/ports.conf
Listen 3000
sudo vi /etc/apache2/sites-enabled/redmine.conf
<VirtualHost *:3000>
DocumentRoot /test/redmine/public
<Directory "/test/redmine/public">
Allow from all
Require all granted
</Directory>
Alias /redmine /test/redmine/public
<Location /redmine>
PassengerBaseURI /redmine
PassengerAppRoot /test/redmine
</Location>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
LoadModule passenger_module /var/lib/gems/3.1.0/gems/passenger-6.0.23/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /var/lib/gems/3.1.0/gems/passenger-6.0.23
PassengerDefaultRuby /usr/bin/ruby3.1
</IfModule>
sudo chown -R www-data:www-data /test/redmine
sudo systemctl restart apache2
しばらく時間をおいて、以下のURLへアクセスしてみましょう
「http://IPアドレス:3000/redmine」
初期ログイン時のユーザID/パスワードは、「admin」です。
お疲れさまでした~