{"id":1190,"date":"2023-01-30T08:45:59","date_gmt":"2023-01-29T23:45:59","guid":{"rendered":"https:\/\/fsck.jp\/?p=1190"},"modified":"2023-01-30T09:43:07","modified_gmt":"2023-01-30T00:43:07","slug":"redmine-%e3%82%92-ubuntu-20-04-%e3%81%ab%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab","status":"publish","type":"post","link":"https:\/\/fsck.jp\/?p=1190","title":{"rendered":"redmine \u3092 Ubuntu 20.04 \u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb"},"content":{"rendered":"\n<p>\u53e4\u3044\u5185\u5bb9\u3060\u304c\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6642\u306e\u30e1\u30e2\u3092\u6b8b\u3057\u3066\u304a\u304f\u3002<\/p>\n\n\n\n<h2>\u8a00\u8a9e\u3068\u5730\u57df\u306e\u8a2d\u5b9a<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo locale-gen ja_JP.UTF-8\nsudo timedatectl set-timezone Asia\/Tokyo<\/pre>\n\n\n\n<h2>\u958b\u767a\u74b0\u5883\u3001Web\u30b5\u30fc\u30d0\u305d\u306e\u4ed6\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo apt install -y build-essential zlib1g-dev libssl-dev \\\n libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev\nsudo apt install -y mariadb-server libmariadb-dev\nsudo apt install -y apache2 apache2-dev\nsudo apt install -y imagemagick fonts-takao-pgothic\nsudo apt install -y subversion git\nsudo apt install -y postfix<\/pre>\n\n\n\n<h2>ruby \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">curl -O https:\/\/cache.ruby-lang.org\/pub\/ruby\/2.7\/ruby-2.7.6.tar.gz\ntar xvf ruby-2.7.6.tar.gz\ncd ruby-2.7.6\n.\/configure --disable-install-doc\nmake\nsudo make install<br>cd ..<\/pre>\n\n\n\n<h2>MariaDB\u3067\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u751f\u6210<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo mysql<br>CREATE DATABASE redmine CHARACTER SET utf8mb4;\nCREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password';\nGRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';\n\\q<\/pre>\n\n\n\n<h2>redmine \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30fb\u8a2d\u5b9a<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo mkdir \/var\/lib\/redmine\nsudo chown www-data \/var\/lib\/redmine\nsudo -u www-data svn co https:\/\/svn.redmine.org\/redmine\/branches\/4.2-stable \/var\/lib\/redmine\nsudo cp -p \/var\/lib\/redmine\/config\/database.yml{.example,}\nsudo vi \/var\/lib\/redmine\/config\/database.yml<\/pre>\n\n\n\n<p>database.yml\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u7de8\u96c6<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">--- \/var\/lib\/redmine\/config\/database.yml.example        2022-06-14 07:48:44.550006498 +0000+++ \/var\/lib\/redmine\/config\/database.yml        2022-06-14 07:50:28.124755810 +0000\n@@ -6,8 +6,8 @@\n   adapter: mysql2\n   database: redmine\n   host: localhost\n-  username: root\n-  password: \"\"\n+  username: redmine\n+  password: \"password\"\n   # Use \"utf8\" instead of \"utfmb4\" for MySQL prior to 5.7.7\n   encoding: utf8mb4\n<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo cp -p \/var\/lib\/redmine\/config\/configuration.yml{.example,}\nsudo vi \/var\/lib\/redmine\/config\/configuration.yml<\/pre>\n\n\n\n<p>configuration.yml\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u7de8\u96c6<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">--- \/var\/lib\/redmine\/config\/configuration.yml.example   2022-06-14 07:48:44.510007084 +0000+++ \/var\/lib\/redmine\/config\/configuration.yml   2022-06-14 07:52:21.095751263 +0000\n@@ -227,6 +227,12 @@\n # specific configuration options for production environment\n # that overrides the default ones\n production:\n+  email_delivery:\n+    delivery_method: :smtp\n+    smtp_settings:\n+      address: \"localhost\"\n+      port: 25\n+      domain: \"ubuntu-redmine.example.com\"\n\n # specific configuration options for development environment\n # that overrides the default ones<\/pre>\n\n\n\n<h2>ruby \u306e bundle install<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">cd \/var\/lib\/redmine\nsudo bundle install --without development test<\/pre>\n\n\n\n<h2>\u30c8\u30fc\u30af\u30f3\u751f\u6210\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4f5c\u6210<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo -u www-data bin\/rake generate_secret_token\nsudo -u www-data RAILS_ENV=production bin\/rake db:migrate<\/pre>\n\n\n\n<h2>passenger \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo gem install passenger -N\nsudo passenger-install-apache2-module --auto --languages ruby<\/pre>\n\n\n\n<h2>Apache \u306e\u8a2d\u5b9a<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">passenger-install-apache2-module --snippet\nsudo vi \/etc\/apache2\/conf-available\/redmine.conf<\/pre>\n\n\n\n<p>redmine.conf\u306e\u4e2d\u8eab<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;Directory \"\/var\/lib\/redmine\/public\"&gt;\n  Require all granted\n&lt;\/Directory&gt;\n\nLoadModule passenger_module \/usr\/local\/lib\/ruby\/gems\/2.7.0\/gems\/passenger-6.0.14\/buildout\/apache2\/mod_passenger.so\n&lt;IfModule mod_passenger.c&gt;\n  PassengerRoot \/usr\/local\/lib\/ruby\/gems\/2.7.0\/gems\/passenger-6.0.14\n  PassengerDefaultRuby \/usr\/local\/bin\/ruby\n&lt;\/IfModule&gt;\n\nPassengerMaxPoolSize 20\nPassengerMaxInstancesPerApp 4\nPassengerPoolIdleTime 864000\nPassengerStatThrottleRate 10\n\n&lt;Directory \/var\/lib\/redmine\/public&gt;\n  Allow from all\n  Options -MultiViews\n  Require all granted\n&lt;\/Directory&gt;\n\nAlias \/redmine \/var\/lib\/redmine\/public\n&lt;Location \/redmine&gt;\n  PassengerBaseURI \/redmine\n  PassengerAppRoot \/var\/lib\/redmine\n&lt;\/Location&gt;<\/pre>\n\n\n\n<p>apache\u306e\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u3080<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo a2enmod ssl\nsudo a2ensite default-ssl\nsudo a2enconf redmine\nsudo apache2ctl configtest\nsudo systemctl reload apache2<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u53e4\u3044\u5185\u5bb9\u3060\u304c\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6642\u306e\u30e1\u30e2\u3092\u6b8b\u3057\u3066\u304a\u304f\u3002 \u8a00\u8a9e\u3068\u5730\u57df\u306e\u8a2d\u5b9a sudo locale-gen ja_JP.UTF-8 sudo timedatectl set-timezone Asia\/Tokyo \u958b\u767a\u74b0\u5883\u3001We [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[13,9],"tags":[],"_links":{"self":[{"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/posts\/1190"}],"collection":[{"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fsck.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1190"}],"version-history":[{"count":3,"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/posts\/1190\/revisions"}],"predecessor-version":[{"id":1193,"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/posts\/1190\/revisions\/1193"}],"wp:attachment":[{"href":"https:\/\/fsck.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fsck.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fsck.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}