Help us understand the problem. What is going on with this article?

Apache2.4系でmastodonを動かしてみた。

More than 1 year has passed since last update.

はじめに

前回の記事ではnginxを使って mastodonを動かしたが、すでに自分で使っているwebサーバーはApache2.4系なのでそっちでもmastodonを構築したときのメモ。

環境

  • CentOS7
  • Apache2.4.6

構築

nginxの設定以外は前回の記事と同じ通りに設定しました。

Apacheの設定

公式ドキュメントを参考に進めました。ほぼ公式通りです。

Apache上でmastodonを動かすためにApacheのリバースプロキシの設定が必要です。
公式ではmod_proxy_wstunnelを使って設定すると書いてあったのでそれを使いました。

mod_proxy_wstunnelはApache2.4.5以降に追加された機能なので2.4.5以降のApacheをインストールしモジュールを有効にしてください。

有効にしたらconfファイルを作成し設定します。

ほぼコピペです。
https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Alternatives.md

$ sudo vim /etc/httpd/conf.d/mastodon.conf

<VirtualHost *:80>
  ServerName ドメイン名
  RewriteEngine on
  RewriteRule "^/(.*)$" "https://ドメイン名/$1"[R=301,L]
</VirtualHost>

<VirtualHost *:443>

   ServerName ドメイン名

   DocumentRoot /home/mastodon/live/public/

   Header add Strict-Transport-Security "max-age=31536000"
   SSLEngine on
   SSLProtocol all -SSLv2 -SSLv3
   SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES:!RC4:!DH
   SSLHonorCipherOrder On

   SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン名/privkey.pem
   SSLCertificateFile /etc/letsencrypt/live/ドメイン名/cert.pem
   SSLCertificateChainFile /etc/letsencrypt/live/ドメイン名/chain.pem


   ProxyPreserveHost On
   RequestHeader set X-Forwarded-Proto "https"
   ProxyPass /500.html !
   ProxyPass /oops.png !
   ProxyPass /api/v1/streaming/ ws://localhost:4000/
   ProxyPass / http://localhost:3000/
   ProxyPassReverse /api/v1/streaming/ ws://localhost:4000/
   ProxyPassReverse / http://ドメイン名/

   ErrorDocument 500 /500.html
   ErrorDocument 501 /500.html
   ErrorDocument 502 /500.html
   ErrorDocument 503 /500.html
   ErrorDocument 504 /500.html

</VirtualHost>

再起動しアクセスできるか確認。

$ sudo systemctl restart httpd

アクセスできれば成功です。

その他

最低限の設定しかまだ行っていないので、nginxもapacheもセキュリティの対策やチューニングをしていく。
Apacheでリバースプロキシ機能を使ったのは初めてだったけどできたから良かった。
もうmastodonブーム去りつつある??

参考

ありがとうございました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away