geeko.jp サーバーをアプデートした話
openSUSE Advent Calendar ももう17日目ですね
今日はこの blog が動いている geeko.jp のサーバーのメンテナンスの話です。このサーバーは ConoHa で動いており、13.1, 42.3 とアップデートをしてきました。今回は42.3 から 15.0 にアップデートしました。
アップデート方法
いつもオンラインでアップデートしています。クラウドの場合、ディスクイメージをダウンロードして、ConoHa にアップロードし、インストーラを起動してアップデートはちょっと大変です。オンラインアップデートであればリポジトリの URL を書き換えて zypper dup するだけなので簡単です。
リポジトリのURLを書き換える方法はいくつかありますが、YaST のリポジトリ設定からバージョンの部分を書き換えるのがオススメです。
zypper dup --download-only zypper dup
ディスク容量には余裕があるので、一度ダウンロードが完了するのを待ってから、アップデートを適用しました。
MySQL から MariaDB へ
15.0 には、これまで提供されてきた mysql-community-server のパッケージがなく、完全に Maria DB に置き換えられています。やったことは以下の3つです。
- mariadb のパッケージをインストールする
- 設定ファイルを更新する
- systemctl で mariadb を自動起動するようにする
設定ファイルは、新しい設定ファイルをそのまま使いました。一応、これまでのファイルと新しい設定ファイル /etc/my.conf.rpmnew を比較したところ、内容はかなり増えていますが、コメントアウトされた部分以外はほとんど同じでした。
+bind-address = 127.0.0.1 +log-error = /var/log/mysql/mysqld.log +secure_file_priv = /var/lib/mysql-files -sql_mode='' +sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
SuSE Firewall2 から Firewalld へ
Leap 15.0からCentOSなどでお馴染みの firewalld が使えるようになりました。これまでのSuSE Firewall2 も引き続き使うことができます。移行する場合は手動で SuSEfirewall2 パッケージを削除して、firewalld をインストールする必要があります。
Firewalld では次のように使用したいサービスのポートを開けられます。
firewall-cmd --permanent --add-service https firewall-cmd --reload
Let’s Encrypt で TLS に対応
アップデートしたついでに、Webサーバーを TLS に対応させました。証明書は無償の Let’s Encrypt で取得しました。
Let’s Encrypt の certbot コマンドを使えば、証明書の取得から Apache の設定まで1コマンドです。このあたりの細かい話は Geeko Magazine SP 2018冬号に書いていますので、ぜひ読んでみて下さい。
変わらなかったもの: PHP とPerlアプリケーション
geeko.jp で動いていた WordPress や Vanilla Forum、Pukiwiki はそのまま動きました。このあたりは 13.1 からのアップデートと比べると、とても楽でした。
おわりに
ということで、大したことではありませんが、geeko.jp のサーバーをアップデートしたときの話を書いてみました。42.3のサポート期間はあと半年くらいですので、これから 15.0 にアップデートする方は参考にしてみて下さい。
明日は鹿さんが USB オーディオの話の続きを書いてくれるそうです。