読者です 読者をやめる 読者になる 読者になる

Azureでredmineのmarketなんちゃらを利用してhttpsでアクセス出来るようにするまで

Web PC Tips Linux

3回くらい仮想マシンを作っては消し、作っては消し、、、した。

Azureでredmineを選択する

→ 特に悩むところが無いので割愛。Ubuntuにしたかったので 2.5x系。*1

一応パッケージの更新

sshは構築時の設定でパスワードか公開鍵でアクセス出来るようになる。rootにはsudoでなれた。(パスワードなし)Ubuntuなのでaptが使える(Ubuntuと明言されてない3.xが使える方も使えた気がするけれど忘れた)

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-update
$ sudo reboot

一応kernel更新したらやっとく

$ sudo apt-get autoremove

不安なら残しまそう、、、

独自ドメインサブドメインの運用

(※)あとから書いてるのですべてが正しい保証はありません

バーチャルホストを利用する設定になってないので、設定を直す

$ sudo vi /opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf

Include "/opt/bitnami/apps/redmine/conf/httpd-vhosts.conf"

を書き足す。書き足したら↑のhttpd-vhosts.confをいじる。

<VirtualHost *:80>
   ServerName hogehoge.com
   <ifModule mod_rewrite.c>
         RewriteEngine On
         LogLevel alert rewrite:trace3
         RewriteCond %{HTTPS} off
         RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
   </ifModule>
</VirtualHost>

<VirtualHost *:443>
  ServerName hogehoge.com
  DocumentRoot "/opt/bitnami/apps/redmine/htdocs/public"
  <Directory "/opt/bitnami/apps/redmine/htdocs/public">
      PassengerEnabled on
      Options -MultiViews
      Options FollowSymLinks
      AllowOverride All
      <IfVersion < 2.3 >
      Order allow,deny
      Allow from all
      </IfVersion>
      <IfVersion >= 2.3>
      Require all granted
      </IfVersion>

      RackBaseUri "/opt/bitnami/apps/redmine/htdocs/public"
      PassengerAppRoot "/opt/bitnami/apps/redmine/htdocs"
      <IfModule pagespeed_module>
          ModPagespeedDisallow "*"
      </IfModule>
  </Directory>
  PassengerPreStart http://127.0.0.1:80
  SSLEngine on
  SSLCertificateFile "/opt/bitnami/apps/redmine/conf/certs/server.crt"
  SSLCertificateKeyFile "/opt/bitnami/apps/redmine/conf/certs/server.key"
  Include "/opt/bitnami/apps/redmine/conf/httpd-app.conf"
</VirtualHost>

HTTPへのアクセスはHTTPSにリダイレクトさせる設定にする。サブドメイン運用にするのにSetEnv RAILS_RELATIVE_URL_ROOT "/redmine"が邪魔をしていて、"/"にすると、cssとかの参照に失敗するのか画面が崩れる。RackBaseUriを入れて上げてSetEnv RAILS_RELATIVE_URL_ROOT "/redmine"を消したらなんとなくうまく行った模様。いいのかドウかは不明、、、

このままだと証明書がオレオレでブラウザが警告を出すので証明書をちゃんと取る。

オレオレSSL証明書からの脱却

StartSSLで取ろうとしたものの何かうまく行かなくて、id:TNarutoさんがつぶやいてるのを見て知ったLet's Encryptで取りなおした。

qiita.com

standaloneしたあとで再度 webpathしようとしたせいか上手く行かなかったのでstandaloneで作りなおした物のほぼ参照先URL様の内容どおりで出来た、ハズ。git cloneして落としたディレクトリ内で

./letsencrypt-auto certonly --standalone -d hogehoge.com

/etc/letsencrypt/live/hogehoge.com/ 配下にファイルが生成されるので、httpd-vhost.confの該当箇所を↓のように直す。

  SSLCertificateFile "/etc/letsencrypt/live/hogehoge.com/fullchain.pem"
  SSLCertificateKeyFile "/etc/letsencrypt/live/hogehoge.com/privkey.pem"

apache再起動

$ sudo /opt/bitnami/ctlscript.sh restart apache

実はこれが一番のハメじゃ無いかと思う。serviceもsystemctlも違った。(当然ながら/etc/init.d/xxxも)

ちなみに、デフォルトで何故かvsftpdが起動していて落としたいのに落とし方がわからないのでufwで21ポートをcloseしてやり過ごしている(のを今思い出した)



普通のUbuntuに慣れているとこのbitnamiさんがとてもワケワカメなきがする、、、、

*1:ぶっちゃけドウでも良かったけれど