Fedora39 構築手順 - 自分用メモ

自分用メモなのでかなり割愛しています。詳細を知りたい場合は各々のサイトでご確認ください。

Fedora39 のインストール

Fedora39 は最小パッケージでインストール メディアからのインストール手順は割愛します

ネットワークの設定

IPv4 のネットワークの設定

メディアからのインストール後、再起動を実施した後に IPアドレスの設定画面が今までは表示されてましたが、 その後のバージョンではこのモードが表示されずログイン画面が表示されます。

そのため、ネットワーク設定のためのコマンドを使用して設定をします

※ ipv6 の設定も行わなければならないが、コンソールはコピー&ペーストができないため、  入力文字数が複雑な IPv6 の設定はターミナルエミュレータが接続できるようになってから行う

設定の確認

nmcli connection show ens3

SSHの接続設定

コンソール画面上では操作がしづらいので、まず ssh が使える状態にしてからターミナルエミュレータで設定を行います

SELinuxの設定

/etc/sysconfig/selinux

設定後OSを再起動する。

ssh の設定

/etc/ssh/sshd_config

sshの接続ポート番号を任意の番号に変更

ssh プロセスの再起動

Firewall の設定

デフォルトは ssh のポートしか空いてないので、http のポートを開ける。

ステータスの確認
空いてるポート番号を確認

 

ターミナルエミュレータからの接続

ドメイン名接続の場合は IPv6 が優先されてしまうため、IPv4 のみが設定されている状態だと接続できない そのため、IPv4 の IP アドレスを直接入力して接続を行う

IPv6 のネットワークの設定

パッケージのインストール

プロセスの起動

chronydの設定

/etc/chrony.conf

※現在はディストリビュータ毎の pool サーバを指定することで、ラウンドロビンで ntp サーバを参照するので設定不要です。

タイムサーバとの同期の確認

 

nginxの設定

/etc/nginx/nginx.conf

phpファイルアップロード機能を追加する際の必須条件
httpの圧縮転送を有効にする

圧縮の確認

Content-Encoding: gzip が確認できたらOK

phpの設定

php.ini

ファイルのアップロード容量の変更
タイムゾーンの設定

MariaDBの設定

root のパスワード変更

NetworkManager-wait-online のエラーの対処法

NetworkManager-wait-online はネットワークが正常に起動しているかを確認するデーモンですが、VPS環境のようにネットワークチェックに時間がかかる環境だとデフォルトの60秒では早すぎてエラーが出ます。そこで起動時間を240秒に変えることで回避することができます。

時間を30秒から240秒に変更

/etc/systemd/system/NetworkManager-wait-online.service

certbot コマンドの設置

無料の SSL 証明書を取得する方法です。

certbotコマンドのインストール

※このコマンドを動かすために必要な python ライブラリなども同時にダウンロードされる

証明書の自動生成

そのあと、規約の同意(Agree)

既存の証明書をただ更新するだけの場合

 

証明書のインストールの確認

SSLの編集

/etc/nginx/nginx.conf

certbot-renew.timer の設定

証明書の期限を定期的に自動更新する設定を入れます。

※cron は脆弱性の問題があり Fedora36 からデフォルトではインストールされない。そのため、cron の代替えである systemd の timer 機能を使用する。

certbot-renew.timer の設定の確認

上記コマンドで certbot-renew.timer が表示されたら設定されている証明になります。 certbot をインストールすると自動で設定される

certbot-renew.timer の手動設定

もし、systemctl list-timers コマンドで certbot-renew.timer が設定されていない場合は手動で設定します

※インストールすると自動で設定されていることが多い

Let's Encrypt の更新時処理を追加する

Let's Encrypt には証明書の更新をトリガーとして、処理を実行させる機能があります

目的に応じて以下のフォルダにスクリプトを入れることで実行させることができます

deploy 新規作成時 pre 前処理 post 後処理

certbot-post.sh の作成と設置

以下のスクリプトを /etc/letsencrypt/renewal-hooks/post に配置する

追加設定

MeCab のインストール

本体のインストール

ipadic のインストール

各種ソフトウェアのダウンロード

MeCabのダウンロード

IPADICのダウンロード

/usr/local/etc/mecabrc

wikipedia.dic を作成しているのでそれを利用するように修正する。 /usr/local/lib/mecab に作成した辞書やユーザ辞書を配置する。

php_mecab のインストール

php-mecab-0.5.0 は PHP7 系に未対応の為、PHP7系対応済みの php-mecab-0.6.0 を使用する。

PHPと連動設定
ユーザ辞書の追加