月額350円から使える月額固定のVPSサーバ。料金従量制で細かいとめんどくさいときによさそう。 Wordpressとかを一瞬でセットアップしたりもできる。今回は、BitnamiというLAMP環境全部ついてるやつを使ってみた。XAMPPみたいな感じだった。 PHP、MySQLが若干だけ古いもののPHP7だし、Apache2.4でNginxではないものの、とりあえず全部設定してあるので非常に楽です。
ほぼエックスサーバ並に設定は簡単かなと思います。若干の難点は、独自ドメインに対するSSL設定がちょっと大変な点ですかね。 エックスサーバが簡単すぎるだけですが、Let'sエンクリプトを普通にダウンロードして、ゴニョゴニョやる必要があります。
httpd.confとか、php.iniとかは下記にいました。
/opt/bitnami/apache2/conf/httpd.conf /opt/bitnami/php/etc/php.ini
phpmyadminちゃんもいます。
ちなみに、デフォルトだと、アップロードに時間がかかると、下記のような408エラーにすぐなります。20秒もまってくれない感じがあります。 また、アップロードサイズにも40MBという制限がありました。
Request Timeout Server timeout waiting for the HTTP request from the client.
408エラーに対しては、httpd.confに下記を追加したら、出なくなりました。15とか60というのは秒です(多分)。
RequestReadTimeout header=15 body=60
また、アップロードサイズは、php.iniの下記を修正して、php-fpmを再起動したら大丈夫でした。
post_max_size = 500M upload_max_filesize = 500M memory_limit = 512M max_execution_time = 600
httpdとphp-fpmを再起動するのは下記です。
sudo /etc/init.d/bitnami restart apache sudo /etc/init.d/bitnami restart php-fpm
Let's Encryptの利用方法について
昔下記にメモりました。といっても古い情報なので、本家サイトも見ます。
やってみる
$ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository universe $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-get install certbot python-certbot-apache
インストールされた
$ certbot --version certbot 0.31.0
bitnamiのapacheをとめてから、certbotを動かして証明書を取得する
$ sudo /etc/init.d/bitnami stop apache $ sudo certbot --apache $ sudo /etc/init.d/bitnami start apache
これで証明書取得できたし、勝手に証明書を反映までしてくれてるんだけど、Bitnamiではなく、標準のapahceの設定を書き換えてるっぽいので、意味なかった。ちなみに、bitnamiのapacheを止めないで、certbotを実行すると、apache起動しようとしたけどダメだった幽霊のようなプロセスが残っていまして、bitnamiのアパッチが起動できなかったので、プロセスを探してkillしたらできました。
標準のapacheを変えてくれたので、直接的には無意味だったのですが、どう編集したらいいかが分かるのでよかったです。certbotで証明書取得時に、下記のような文字列が出てきますので、ここにあるファイルを開くと、設定内容が書いてあります。
Redirecting vhost in /etc/apache2/sites-enabled/000-default.conf to ssl vhost in /etc/apache2/sites-available/000-default-le-ssl.conf
上記のconfに書いてある設定を、/opt/bitnami/apache2/conf/bitnami/bitnami.conf
に書いたら出来ました。
自動更新
ドライランはテストです。
$ sudo certbot renew --dry-run
エラーになりますね。やっぱり、apacheを止めて、renewして、apache restartが必要なようです。
/etc/cron.dに、certbotというファイルがあるので、それをコピーして、certbot_renewというのを作って下記を設定しました。
0 3 1 * * root sudo /etc/init.d/bitnami stop apache; sudo certbot renew >> /var/log/cron.log 2>&1; sudo systemctl restart apache2; sudo systemctl stop apache2; sudo /etc/init.d/bitnami start apache
謎の再起動後の停止をしてますが、なんかcertbotが勝手に起動した標準のapache2を、再起動しないで停止しようとしても止まらなかったんです。。