プログラマのつれづれなるままにプログラマのつれづれなるままに音宮志久が思ったことなどをネタにします。プログラムネタ・数学ネタがメインです。Fedora36インストールメモFedora36インストールメモコメントを残す1年に1回は出るFedoraのインストールの話です。いろいろな都合でこの時期に書いています。名目上は「ソフトウェア等の開発やテストサーバ」として使うためのものなのですが、今現在は単に外部回線から内部データにアクセスするため+VPNなどを使うことでアクセス元を変更するために使っている状態になっています。今回は「インストールメモ」ということで、来年にも同じことをやるのであれば何をしたのかを残しておくことを主目的に、一部発生した問題についての解説をしながらやっていきたいと思います。そもそもサーバとして何で使っているのか?今現在は開発系の要件がないので使っているサービスはかなり少ないです。ファイルサーバ(Samba)Webサーバ(http+phpなど)サーバ操作(SSHなど)動画変換(ffmpeg+QSV)DDNS管理が使えればそれほど問題はないんですよね...。実はというと動画配信サーバ的な使い方(Webミーティング)もテストしてみたいな~とかは考えているのですが、とりあえず「いざとなったら外部からサービスを追加して動かせる状態にしておく」ことができれば対応は可能なので...。いうことにしておいてください。今回もそうですがサーバのアップグレードではなく新規インストールをして環境を構築します。そのため、元のサーバのデータはできる限り待避しておく必要があります。何かの都合で前のサーバの設定ファイルを見る可能性がかなりあると思います。いうことで、/etc/以下の領域/usr/local/以下の領域(何かをインストールしたとき)/var/以下にあるデータ/home/以下にあるユーザデータはしっかり待避しておきましょう。Fedora36のインストールインストールメディアを作るのが面倒なのでUSBメモリでのインストールです。今の時代光学ドライブをつけていないことも普通にありますからね...。Rufusを使えば作れますのでISOのデータを書き写してブートしましょう。気になったのはrootの扱いです。Fedora34のインストールの時にはなかったような気がするのですが、rootの設定で「rootパスワードを無効にする」という状態が追加されていました。これにより無理にrootにパスワードを設定する必要はなくなっています。rootアカウントが利用できないわけではなく、sudoを使って昇格すればいいだけですが、これのおかげでrootが乗っ取られる心配が多少下がります。基本的にはrootパスワードは無効にしてsudoにより処理するのが前提になるようですね。WakeOnLanを使う場合にはネットワークインタフェースにしっかりとその設定(MagicPacketによるWakeOnLanを有効にする)をしておきましょう。するとインストール後にWakeOnLanの設定をnmcilで...などと考える必要はなくなります。各種サービスの設定というわけでサービスを設定しておきます。今回はインストール方法もメモとして残しておきます。ちなみにsudoは省略してroot権限でインストールしている扱いにしています。TelnetSSHを使えばよいはずなのでいまさら使わなくてもよいとは思いますがなんとなく入れてしまうtelnetです。ちなみに外部からtelnetでアクセスできるなんてセキュリティ的にダメダメな設定にはしませんよ。内部でのやりとりだけです。accept"ファイアウォールにしっかりと「ローカルIPしか受け付けない」としておかないと大変なことになります。今回はIPv4のみ受け付ける設定にしています。Sambaネットワーク内のファイル共有(特にWindows)だとこれを入れないと始まりません。あと、このサーバから別のサーバに接続することも考えてクライアントも入れていますので注意してください。nmbSELinuxも入れて設定しているのでこんな感じになっています。Sambaで接続するためのユーザを追加するpdbeditもはいっています。sslh実は今回一番苦労したのがこれです。sslhとは何かというと「特定のポート(主に443)」に接続したとき、その接続方法によりWebサービスやSSH、OpenVPNなどの適切なサービスに接続するマルチプレクサ」で、sshのポートを特別に開く必要がなくなり、いくつかのネットワーク環境で接続時にはねられる可能性が少なくなるという利点があるので使っています。それはいいのですが...。今回苦労した点が「Fedora35およびFedora36に初期から入っているsslhは1.21系統で、これにはバグがあり、特定の条件でSegmentFaultを出して停止するため、1.22系統を使う必要があるが、今現在のFedora36には1.22系統のパッケージがない」という点です。ソースコードをダウンロードして作り直さないとまともに使えない、ということになります。今回はそのビルドの手順になっています。次回のアップデートでは別のものに変えるか、このバグがなくなればよいな~と思っています。installということでビルドに必要な一部develパッケージのインストール、ソースコードの取得およびビルドを行っています。ちなみにこれより前にFedora36についているsslhもインストールしているのでそちらに入っているデータが使われている可能性はありますが...。httpd,phpこれも今回迷いました。HTTP3を使ったテストができるようにNginxを入れようか、とも思ったのですが、結局Apacheにすることにしてphpも標準のものを使うことにしました。設定がかなり面倒ですからね...。ちなみにSSLについては自己署名で作っています。Encryptあたりから署名をとってくればすむような気はするのですが、今回はしていません。あと、暗号形式は楕円曲線暗号を利用しています。--add-service=httpsちょっと注意なのが証明書に入れるハッシュ形式です。OpenSSL側はSHA3に対応しているようなのですが、Apache側がSHA3に対応していないらしく、証明書を発行するときにSHA3を使った形式にするとサーバが起動できないという事態になります。HTTPSを利用するときにはsslhを利用する関係でApache側のリッスンをlocalhostだけにしておかないとこちらもサーバが起動できなくなる原因になります。ffmpeg+QSV最後に動画変換用のffmpegとハードウェアエンコード(QSV)を行うための設定です。libva-intel-hybrid-driverちょっと問題になるのはRPMFusionを入れる必要があったことです。ffmpegだけならばRPMFusionを入れなくてもFedora36側にffmpeg-freeというパッケージがあるのでそれを使えばよいのですが、QSVを使うためにlibvaを使おうとするとinte-hybrid-driverのインストールだけではQSVをうまく使うことができない様子だったのでRPMFusionをインストールしてそちらからffmpegやlibva-intel-driverを持ってきています。した手順の差があるようです。実は細かい点(DDNSのアップデート処理)を書いていなかったりするのですが、メモ代わりなので書きません。記事を見に来てくれた人向けにある程度有用な情報をメモ代わりに書いておいて共有しておきたいと思います。コメントをキャンセルメールアドレスが公開されることはありません。名前メールサイトΔ{{#message}}{{{message}}}{{/message}}{{^message}}送信は失敗しました。{{status_code}})。このフォーム処理機能の開発者に連絡して、このメッセージを改善してください。詳しく{{/message}}{{#message}}{{{message}}}{{/message}}{{^message}}送信は成功したようです。送信が処理されていない場合があります。このフォーム処理機能の開発者に連絡して、このメッセージを改善してください。気になるプログラムネタや数学ネタがあったら書き込みたいのだが残業が長すぎて眠気が全くとれず体調があまりよくない。過労などでぶっ倒れるかもしれない。あと、さすがに独り身が寂しいのでなんとかしたいと考えてはいるのだが...。アクセスカウンタアクセス数:スポンサーリンクモバイルバージョンを。