再インストール Fedora 30 から 31 へ

 今回は、Fedora Workstation 30 から 31 に再インストールします。

【訪問者用】
 自らの経験を頼りに進めよう。

[筆者用]
 再インストールをしようとしているあなたは、もちろん次の五箇条をよく心得ていると、わたしは信じています。
一、アップグレードという手段は、この世のどこにも存在しない。
(ただし、手抜きしようとして、とめどなきエラーを味わいたいというのなら、話は別である。)
一、ownCloud Server の Linux Distribution Packages が更新されるのを、待つ。
一、ログインユーザーの作成過程で uid と gid が絡んでくるから、その作成については、予め、手はずが整っている(特に作成順序)。
一、システムディスクのパーティショニングは、素直に LVM (Logical Volume Manager) を採用する。
一、HDD、SSD 等のディスクには、UUID (Universally Unique Identifier) が、もれなく付いてくる。


## 再インストールの手順
1. Fedora Workstation のインストールメディアの作成
【訪問者用】
 さあ、始めましょう。

[筆者用]
 真っ先に、ダウンロードとベリファイとインストールメディア作成を済ませてしまおう。なぜなら、そうすることによってのみ初めて、再インストールをしようかという気持ちが胸にフツフツと湧き上がってくるのだ。例えば、「せっかくダウンロードとベリファイとインストールメディアの作成までしたんだから……」というふうに。
 逆に、バックアップを先に終わらせようとする慎重かつ勤勉な者は、そういう者ほどいつまでもバックアップを繰り返し、そうこうしている内に、しだいに再インストールをしようという意志を失っていく。そうして、サポート期限切れの Fedora をいつまでも使い続ける。


1-1. Fedora Workstation のダウンロード
 Fedora の公式サイトより、イメージファイルをダウンロードする。
 英文の説明のとおりにベリファイする。
(こういうときのために、我々は、国を挙げて早期英語教育を施しています。)
 なお、検索文字列は「verif」等。


1-2. インストールメディアの作成
【訪問者用】
 環境に合わせてインストールメディアを作成する。英文の説明のとおりに進める。
(こういうときのために、我々は、国を挙げて早期英語教育を施しています。)

[筆者用]
 DVD-RAM に焼く。
~~~ Install the burning app.
$ sudo -s
# dnf install dvd+rw-tools
~~~
~~~ Unmount DVD-RAM.
# blkid
# umount <DVD DRIVE PATH>
# exit
~~~
~~~ It’s going to Burn!
$ growisofs -dvd-compat -Z /dev/sr0=<ISO FILE PATH>
~~~
[Option notes]
・-dvd-compat は、ファイナライズ。
・-Z は、一番目のセッション。
・<ISO FILE PATH> は、~/ の展開不可。$HOME は展開可。
・試運転のオプションは、-dry-run 。

 光学ドライブの挙動が怪しい…も?…。
 ベリファイせよ。
 DVD-RAM を再挿入する。
~~~ It’s the verify.
$ blocks=$(expr $(du -b <ISO IMAGE NAME>.iso | awk '{print $1}') / 2048)
$ dd if=/dev/sr0 bs=2048 count=$blocks | md5sum
$ md5sum <ISO IMAGE NAME>.iso
~~~
 適宜、md5sum を sha1sum に置き換える。


2. システムファイルのバックアップ
【訪問者用】
 使い方を工夫して、バックアップファイル数0を目指しましょう。

[筆者用]
 バックアップファイル数は、零です。
Notes:
 あなたには、パソコン操作の他にすべきことが、うず高く重なったまま数多く残っています。ですから、いつまでも、真のライトユーザーのまま成長することなく、停滞し続けるということを、わたしは恒久的に要請します。


3. ホームフォルダのバックアップ
3-1. パスワード
【訪問者用】
とある休日の、パソコンユーザー様の、一こま――。
 アカウントとパスワードを Google Docs に保存した。
 再インストール開始。
 ……。
 さあ、再インストールも終えたことだし、これから、いろいろと再ログインが必要だ。そのために前もって、パスワードをきちんと Google Docs に保存しておいた。そういうわけだから、Google Docs にアクセスして――、……。

[筆者用]
 情報漏洩せずともアカウントとパスワードは、危険にさらされやすく、また、失いやすい。ローカルのデータディスクのどこかに保存するとよかろう。


3-2. コマンドのエイリアス
【訪問者用】
 適宜、ファイルでなく、文字列をバックアップする。

[筆者用]
 「6-1. Vim と QFixHowm」の[qfixhowm コマンドのエイリアス]を見て、異同を確かめる。


3-3. 環境変数
【訪問者用】
 適宜、ファイルでなく、文字列をバックアップする。

[筆者用]
 自作の環境変数のみ、「4-15. 環境変数」を見て異同を確かめる。
(組み込み環境変数 PATH に何か追記してあることは、今日も、明日も、そしておそらくはその明後日も、もはやあるまい。)


3-4. GNOME Terminal のプロファイル
【訪問者用】
 適宜、バックアップする。

[筆者用]
 GNOME Terminal を開いて、Preferences -> Profiles の任意のプロファイルに移動する。右下の Profile ID に着目する。
 dconf Editor を開いて、/org/gnome/terminal/legacy/profiles:/ に移動する。パスなど、狂いがないか確かめる。
(バージョンアップによる仕様変更があるのでないかと、常に念頭に置く。)
・一括バックアップ
~~~ e.g.
$ dconf dump /org/gnome/terminal/legacy/profiles:/ > gnome-terminal-3-profiles.dconf
~~~
・個別にバックアップ
~~~ e.g.
$ dconf dump /org/gnome/terminal/legacy/profiles:/:<YOUR PROFILE ID>/ > gnome-terminal-profile-my-default.dconf
$ dconf dump /org/gnome/terminal/legacy/profiles:/:<YOUR PROFILE ID>/ > gnome-terminal-profile-novel.dconf
~~~
 出力したファイルを開いて、中身を確かめる(書式が分かれば、いかようにもできよう)。これらのファイルをバックアップする。


3-5. gedit の Preferences
【訪問者用】
 適宜、パックアップする。

[筆者用]
 dconf Editor を立ち上げて、Ctrl + F の検索欄に、
~~~
/org/gnome/gedit/preferences/
~~~
と入力して移動する。パスなど間違いないか確かめる。
 GNOME Terminal を立ち上げて、
~~~
$ dconf dump /org/gnome/gedit/preferences/ > gedit-my-preferences.dconf
~~~
を実行する。


3-6. その他のファイル
【訪問者用】
 ホームフォルダを任意にバックアップする。面倒なら、丸ごとバックアップする。

[筆者用]
 Documents、Downloads、Music、Pictures、Videos の中を整理して適宜バックアップする。ownCloud は放ったままにする。


3-7. 最後のファイル
[筆者用]
 ownCloud の data フォルダ内は、再インストール後に root 権限で nautilus を立ち上げれば、検索・閲覧できる。しかし、誤操作の虞があるので、一旦 ownCloud の外に保存する。
(Delete キーは、Enter キーの真横にある。)
 保存マニュアルを次に示す。
->・フォント Ricty Regular が ownCloud 外のデータディスクに保存してある。
->・無線LAN の SSID とパスワードが ownCloud 外のデータディスクに一時保存してある。
->・アカウントとパスワードが ownCloud 外のデータディスクに一時保存してある。
->・再インストール手順をフロッピーディスクに一時保存する。
(ガチャコン、ガチャコン、ガチャコン、……。あぁ、このフロッピーディスクは、平成元年、その1989年の音がするよ。)


3-8. 最後の最後
[筆者用]
 Boot Menu 用のファンクションキーを確かめる。というのも、インストールメディアは、再起動しても初ログインするまで取り出せないのだ。

 さて、これから始めるアクションのために、あなたは、次のいずれかを選択しなければなりません。

一、インストールメディアを挿入して再起動する。
一、インストールメディアなどお構いなしに再起動し、そして、その確かめておいたファンクションキーを連打して Boot Menu を表示させ、その後に、インストーメルディアを挿入してから、Alt + Ctrl + Delete キーを同時に押して再起動する。
一、操作を誤って電源を落とし、ピンを持ってきて、光学ドライブを引き出し、インストールメディアを挿入してから電源を入れる。


――これより再インストールを開始します。OK, やりましょう。――


4. 再インストール
・パソコンの電源を入れるか、もしくは、再起動して、Boot Menu を表示させる。
・インストールメディアを挿入し、Alt + Ctrl + Delete キーを同時に押して再起動する。
・画面に従ってインストールする。
->[言語]
 英語のままにする。
(我々は、国を挙げて早期英語教育を施しています。)
->[キーボード]
 英語キーボードを削除して、日本語キーボードに設定する。
(パスワードの事故を防ぐ。)
->[時刻]
 日本時刻に設定する。
->[パーティショニング]
 システムディスクを選択する。Automatic に任せる。質問されたら、システムディスクの全パーティションを削除して進める。インストールパーティションが LVM (Logical Volume Manager) になるが、そのまま従う。
(仕様変更は、ハードとソフトを総合的に見て、なされる……はずだ。)

・再起動を開始させたなら、確かめておいた Boot Menu 用のファンクションキーを静かに連打する。
・システムディスクを選択する。


4-1. ログインユーザー1番目の設定
[ユーザー設定]
 1番目のユーザーは、予備にする。
 ここで一旦、手を止めなさい。そして、データディスクのファイル群の uid と gid を、思い出すのです。
 ユーザー作成の順序をやり損なうと……。

 Skip the wireless network!

[色温度の調整]
 Win キーを押して、「Displays」と検索する。Night Light で調整する。


4-2. ログインユーザーの追加と再ログイン
 Win キーを押して、「users」と検索する。
 設定画面でユーザーを追加する。終えたら、ログアウトして、この2番目以降のログインユーザーで再ログインする。

 Skip the wireless network!

 ここから先の説明は、2番目以降のログインユーザーで進めます。
Notes:
 あなたは、管理者(Administrator)であるべきです。


4-3. 再び、色温度の調整
 Win キーを押して、「Displays」と検索する。Night Light で調整する。


4-4. Nautilus (Files) の設定
 Preferences のウィンドウより、それぞれ、
[Symbolic Links]
 Befavior -> Link Creation.
[Thumbnails]
 Search & Preview -> Thumbnails.
として、そのウィンドウを閉じる。


4-5. 再インストール手順をコピー
 前もって保存しておいたフロッピーディスクを挿入し、ファイルをホームフォルダ内にコピーする。
(ガチャコン、ガチャコン、ガチャコン、……。あぁ、このフロッピーディスクは、平成元年の、その1989年の、音がして、タイムトラベラー。)
 コピーを終えたら、フロッピーディスクを抜く。
(フロッピーディスクは、うかつにファイルを選択すると、読み込み時間が長いのだ。)

【筆者用】
 万全の態勢を整えたあなたに忠告します。たとい、自作の再インストールマニュアルがあろうとも、あなたは、再インストールを一気に終わらせてしまおうなどという焦燥感を、ただちに消しなさい。
 あなたには、他にすべきことが、山積みになったままあるのです。

 わたしは、あなたが、ここから先の操作を一日で終わらせようなどという横着はせぬことを、深く信じています。


――ここから先、root 権限を手にするあなたに、 man の逐一確かめを怠らないという慎重さと熟慮を、わたしは、強く要請します。――
(その英文 man マニュアルを読むために、我々は、国を挙げて早期英語教育を施しているのです。)


4-6. 内蔵HDD(ハードディスク)の自動マウント
Notes:
 内蔵ハードディスクは、外付けと違って、/run/media/<LOGIN USER NAME> に自動マウントされません。

[自動マウントの手順]
 まず、ボリュームラベルを調べる。
(こういうときのために、予めデータディスクにはボリュームラベルを貼っておこう。)
 ハードディスクをマウントしてしまう。
(マウントポイントのディレクトリを作らずに再起動したことのある、かつてのわたしは、愚かであった。)
~~~
$ sudo -s
# blkid
# mkdir /mnt/<VOLUME LABEL>
# mount <FILE SYSTEM> /mnt/<VOLUME LABEL>
~~~
Notes:
 <FILE SYSTEM> の意味が分からぬときは、
~~~
# df -h
~~~
の出力を確かめよ。

 次に、/etc/fstab を更新する。
 追記する fstab のテンプレートを示す。 
~~~ /etc/fstab
# My Settings
# [/mnt/<VOLUME LABEL>:] was on [<FILE SYSTEM>:] during installation. Volume label is "<VOLUME LABEL>".
UUID=<その都度、調べよ> /mnt/<VOLUME LABEL> ext4 defaults,nofail 0 2
~~~
 事故を防ぐため、HHD の UUID は、その都度、調べる。
(わたしは、ハードディスクを換装した後 UUID が同じであったという経験をしたことがないというのを、よく知っている。)
~~~
# cp /etc/fstab /etc/fstab_org
# blkid
~~~
 ここで、Ctrl + Shift + T キーを同時に押して、新規タブを出す。
~~~ 新規タブ
$ sudo -s
# vi /etc/fstab
~~~
 Ctrl + PageUp と Ctrl + PageDown でタブを切り替えながらテンプレートを完成させる。
 終えたら、ウィンドウを全て閉じて、再起動する。
 ログインして、自動マウントできているか確かめる。
Notes:
 自動マウントしているか確かめるには、
~~~
$ df -h
~~~
を実行して、その結果を出力しよう。


4-7. ネットワーク設定
 前もって保存していたファイルを開く。
 Win キーを押して、「wi-fi」と検索する。
 設定する。


4-8. アプリのウィンドウを常に画面中央(デスクトップ中央)に表示
 dconf Editor をインストールする。
~~~
$ sudo -s
# dnf install dconf-editor
# exit
~~~
 dconf Editor を立ち上げて、Ctrl + F の検索欄に、
~~~
/org/gnome/mutter
~~~
と入力して移動する。「center new windows」と検索して、ボタンを右にずらす。


4-9. 日本語入力 mozc のインストール
 手書きで漢字を入力する必要があるので、mozc を使う。
~~~
# dnf install ibus-mozc
~~~
[設定]
・かな入力。
・入力履歴の無効。
・サジェストの無効。


4-10. フォントのインストール
 ownCloud 外にあるはずのフォントファイル Ricty Regular をホームフォルダ内にコピーする。
 そのファイルを開いて、右上の install を押す。
(システム全体にインストールだとか、そういうことは、もう面倒だから、しない。)


4-11. GNOME Terminal の調整
[フォント]
 設定画面でマルチバイトの固定幅フォントが表示されない。
 dconf Editor を使って設定する。
 dconf Editor を開いて、
~~~
/org/gnome/terminal/legacy/profiles:/:<YOUR PROFILE ID>/font
~~~
に移動する。設定する。例えば、「Ricty Regular 14」。

[プロファイルのリストア]
 バックアップしておいた .dconf ファイルをリストアする。
 まず、dconf Editor を立ち上げて、/org/.../profiles:/ のパスに仕様変更がないか確かめる。

・一括リストア
 GNOME Terminal を開いて、Preferences -> Profiles の Unnamedプロファイルに移動する。右下の Profile ID に着目する。適宜、バックアップファイルを修正する。
~~~ e.g.
$ dconf load /org/gnome/terminal/legacy/profiles:/ < gnome-terminal-3-profiles.dconf
~~~
を実行すると、即反映される。

・個別リストア
 GNOME Terminal を開いて、Preferences -> Profiles の Default プロファイルに移動する。
 ▼ -> Clone して必要な分のプロファイルを複製する。「3-5. GNOME Terminal の設定」より、ここでは、2つ複製する。新規プロファイルを選んで、右下の Profile ID に着目する。
~~~ e.g.
$ dconf load /org/gnome/terminal/legacy/profiles:/:<NEW PROFILE ID>/ < gnome-terminal-profile-my-default.dconf
$ dconf load /org/gnome/terminal/legacy/profiles:/:<NEW PROFILE ID>/ < gnome-terminal-profile-novel.dconf
~~~


4-12. gedit の調整
・Preferences のリストア
 dconf Editor を立ち上げて、Ctrl + F の検索欄に、
~~~
/org/gnome/gedit/preferences/
~~~
と入力して移動する。これで、パスに仕様変更がないか確かめた。
 GNOME Terminal を立ち上げて、
~~~
$ dconf load /org/gnome/gedit/preferences/ < gedit-my-preferences.dconf
~~~
を実行する。gedit で確認する。


4-13. 日本語フォントの追加インストール(間に合わせ)
 Firefox の「の」字が、野暮ったいものになっている場合、いったん日本語環境にして再ログインする。
 Win キーを押して、「region」と検索する。Language を日本語に変更する。
 再ログインする。その際、ホームフォルダ内の名前は英語のままでよい。
 そして、Firefox を立ち上げ、適当に検索して、サジェストの「の」字が整うまで、タイプする。整わぬ場合は、もう諦める。
(フォント設定で Meiryo?などをインストールすればよいのだろうが、しない。1年以内に再インストールするのだから。)
 終わったら、英語環境に戻して再ログインする。
(我々は、国を挙げて早期英語教育を施しています。)


4-14. コマンドのエイリアス
【訪問者用】
 バックアップした文字列をリストアする。

[筆者用]
 誤作動防止のため、ownCloud 再インストール後に、リストアする。


4-15. 環境変数
【訪問者用】
 バックアップした文字列をリストアする。

[筆者用]
 組み込み環境変数 PATH に何か追記することは、今後、ただの一度もあるまい。
 自作の環境変数のみ記す。
 ~/.bash_profile 等のファイルを開いて、
~~~ ~/.bash_profile
# User specific environment and startup programs
~~~
などと書いてある下に、自作の環境変数を記述する。
~~~ 書式
export <任意の大文字アルファベット文字列>="<任意のパス>"
~~~
~~~ e.g.
export TEST_ENV=”~/directory/or/folder”
~~~
Notes:
 記述せねばならぬ .bash_profile 等のファイル名は覚えない。それとおぼしきファイルの中の、頭と尻のコメントとその周辺のスクリプトから、コピー&ペーストする場所を推して知るべきであろう。
(我々、ユーザーというものは、突然の仕様変更に、殊に抗し難いのである。)


4-16. 壁紙の裁決
 この段階で、デフォルトの壁紙を自由裁量で下す。


――ここまでで、訪問者の方の再インストールは終わった。ここから先は、筆者のための続きである。――


5. ownCloud の再インストール(ローカル限定)
 MariaDB, Apache Web Server, PHP Runtime, ownCloud Server, ownCloud Client の順でインストールする。
 Firewalld と SELinux については、ownCloud や RedHat 等のマニュアルを参照する。

Notes:
 ownCloud Server を再インストールしようとしているあなたは、次の五箇条をよく心得ていると、わたしは、深く信じています。

一、再インストールの前に、公式マニュアルにて必要動作環境を調べ、バージョンチェックを怠らない。
一、一気に終わらせようとせず、日をまたぎながら少しずつ進める。
(あなたには、他にすべきことが、山積みになったままあるのです。)
一、プログラムの仕様変更は日常茶飯事であるのだから、操作方法・設定方法は覚えない。
一、検索しさえすれば、目的の説明事項にたどり着ける。
一、覚書は、未来の自分に理解できるように作成する。

Notes:
 ここから先、あなたは、プライベートクラウド ownCloud Server の再インストールを、試みることになります。
 わたしは、あなたが、たといどんな困難に遭おうとも、頭を落ち着かせて、また、そうでありながらなお勢い任せにクリックしたり Enter キーを連打したり、というのをせぬことを、信じています。

――これより ownCloud Server の再インストールを開始します。OK, やりましょう。――


5-1. バージョンチェック
 公式サイト https://owncloud.org に聞きに行く。
~~~
 https://owncloud.org -> Download -> Linux Distribution Packages -> Go to packages
~~~
 ownCloud Server のバージョンを表示させる。そして、別タブで、
~~~
 https://owncloud.org -> Download -> Installation Guide
~~~
 右上のバージョンを適宜、変更して表示させる。続いて、
~~~
 Installation -> System Requirements
~~~
のページを開く。
 最後に、dnf info コマンドで自分の環境と照らし合わせる。
~~~ e.g.
$ sudo -s
# dnf info mariadb [httpd,php...]
~~~
(やった! この度の Fedora 31 は何もしなくていい!)

Notes:
 もしバージョンアップしすぎていたら、Remi's Modular repository (Remi's RPM repository) をインストールする。そのサイト https://blog.remirepo.net/pages/Config-en の Fedora の説明に沿って進めればよい。
 そして、あなたは、dnf info コマンドの出力結果にバージョンダウンのパッケージが表示されているのを、確認せねばなりません。


5-2. systemctl コマンドの使い方
~~~ 状態の表示
# status <SERVICE NAME>
~~~
~~~ 自動起動の有効化
# enable <SERVICE NAME>
~~~
~~~ 自動起動の無効化
# disable <SERVICE NAME>
~~~
~~~ 起動
# start <SERVICE NAME>
~~~
~~~ 再起動
# restart <SERVICE NAME>
~~~
~~~ 停止
# stop <SERVICE NAME>
~~~

――では今から、MariaDB, Apache Web Server, PHP Runtime, ownCloud Server の順でインストールを開始します。――


5-3. MariaDB
・Install
~~~
$ sudo -s
# dnf install mariadb-server
# vi /etc/my.cnf.d/mariadb-server.cnf
~~~
 Let’s add.
~~~Find character: \[mysqld\]
[mysqld]
character-set-server=utf8
~~~
 Close vi.
~~~ Start mariadb.service.
# systemctl enable mariadb
# systemctl start mariadb
~~~

・Setting Up
~~~
# mysql_secure_installation
Enter current password for root (enter for none): Press Enter Key
Set root password? [Y/n] y
Remove anonymous users? [Y/n] y(匿名ユーザーの削除)
Disallow root login remotely? [Y/n] y(root のリモートログイン無効)
Remove test database and access to it? [Y/n] y(テストデータベース削除)
Reload privilege tables now? [Y/n] y(特権情報リロード)
~~~
(パスワードとして登録できない文字は、\ 。探せば他にもありそうだ。)

・Access MariaDB on Root User for Check
~~~ Let’s Login!
# mysql -u root -p
~~~
~~~ List users information.
MariaDB [(none)]> select user,host,password from mysql.user;
~~~
~~~ List database information.
MariaDB [(none)]> show databases;
~~~
~~~ Exit.
MariaDB [(none)]> exit
~~~
 ファイアウォールは、リモート操作をしないので、そのまま何も変えない。


5-4. Apache Web Server
・Install
~~~
# dnf install httpd
~~~
~~~ Move or delete the welcome page.
# mv /etc/httpd/conf.d/welcome.conf /home/<USER NAME>/Documets
~~~

・Setting Up
~~~ Keep ``httpd.conf`` as original.
# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.default
~~~
~~~ Setting up ``httpd.conf``.
# vi /etc/httpd/conf/httpd.conf
~~~
~~~Find character: Options Indexes
# Options Indexes FollowSymLinks
Options FollowSymLinks
~~~
~~~ Find character: AllowOverride controls
# AllowOverride None
AllowOverride All
~~~
~~~Find character: DirectoryIndex
# DirectoryIndex index.html
DirectoryIndex index.html index.cgi index.php
~~~
~~~ Add to the last line.
# Add the my settings.
ServerTokens Prod
KeepAlive On
~~~
 Close vi.
~~~ Start httpd.service.
# systemctl enable httpd
# systemctl start httpd
~~~
 まず localhost で動くようにするのが目的なので、ファイアウォールはそのままにする。

・Try Html Page
~~~
# vi /var/www/html/index.html
~~~
~~~ {.html}
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Test Page
</div>
</body>
</html>
~~~
 Close vi.
 Open Firefox.
 Type ``localhost/index.html`` on address bar.
 OK? ``Test Page``.


5-5. PHP Runtime
・Install
~~~
# dnf install php php-mbstring php-pear
# vi /etc/php.ini
~~~
 Let’s add.
~~~ Find character: date.timezone
;date.timezone =
date.timezone = "Asia/Tokyo"
~~~
 Close vi.

・Try PHP Page
~~~
# vi /var/www/html/index.php
~~~
~~~ {.php}
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
<?php
   print "PHP Test Page";
?>
</div>
</body>
</html>
~~~
 Close vi.
~~~
# systemctl restart httpd
~~~
 Open Firefox.
 Type ``localhost/index.php`` on address bar.
 OK? ``PHP Test Page``.

Notes:
~~~ Also create the phpinfo page.
# echo '<?php phpinfo(); ?>' > /var/www/html/info.php
~~~
 Close vi.
 Open Firefox.
 Type ``localhost/info.php`` on address bar.


5-6. ownCloud Server
・Install
 Go to https://owncloud.org web site.
~~~
 Download -> ownCloud Server -> Linux Distribution Packages -> Go to packages
~~~
 Copy and Paste.
 Got it!
 (Run as root user.)

・Register User and Database for ownCloud in MariaDB
~~~
# mysql -u root -p
MariaDB [(none)]> create database owncloud;
MariaDB [(none)]> grant all privileges on owncloud.* to owncloud@'localhost' identified by '<YOUR PASSWORD>';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
~~~

Note:
 Register your password again.
~~~
MariaDB [(none)]> set password for owncloud@'localhost'=password('<YOUR PASSWORD>');
~~~

・SELinux Tuning
 Read the manual on the official website.
~~~
 https://owncloud.org -> Download -> Installation Guide -> Installation -> SELinux Configuration -> Preparation
~~~
 Copy and Paste.
 Got it!
 (Run as root user.)
Note:
 If you get an error, skip it.

・Install PHP Extensions
 Read the manual on the official website.
~~~
 https://owncloud.org -> Download -> Installation Guide -> Installation -> Installation Options -> Manual Installation -> PHP Extensions
~~~
~~~ e.g.
Ctype, cURL, DOM, GD, HASH Message Digest Framework (hash), iconv, intl, JSON, libxml, Multibyte String (mbstring), OpenSSL, PDO, Phar, POSIX, SimpleXML, XMLWriter, Zip, Zlib
~~~
 18 in total.

 The brute force algorithm has confirmed the following facts!
~~~ Brute force!
php-ctype -> php-common
php-curl -> php-common
php-dom -> php-xml
php-gd -> php-gd
php-hash -> php-common
php-iconv -> php-common
php-intl -> php-intl
php-json -> php-json
php-libxml -> php-common
php-mbstring -> php-mbstring
php-openssl -> php-common
php-pdo -> php-pdo
php-phar -> php-common
php-posix -> php-process
php-simplexml -> php-xml
php-xmlwriter -> php-xml
php-zip -> php-pecl-zip
php-zlib -> php-common
~~~
 And php-mysqlnd is required to use MySQL/MariaDB.
~~~ Install 9 in total.
# dnf install php-common php-xml php-gd php-intl php-json php-pdo php-process php-pecl-zip php-mysqlnd
~~~
~~~ Restart httpd.service.
# systemctl restart httpd
~~~
 Open Firefox.
 Type ``localhost/owncloud`` on address bar.
 Click ``Storage & database ▼``.
 And then configure ``MySQL/MariaDB``.
 OK?
 Installation was successful!!

Notes:
 ただし、まだ、ユーザー作成しない。
 先に、data ディレクトリをシンボリックリンクに替える。
(エラー回避のため、デフォルトの data ディレクトリの場所は変えない。)

~~~ Backup data folder.
# cp -a /mnt/<VOLUME LABEL>/owncloud/data /mnt/<VOLUME LABEL>/owncloud/backups/<BACKUP FILE NAME>
~~~
Notes: -a is archive option.

~~~ Create symbolic link.
# mv /var/www/html/owncloud/data /var/www/html/owncloud/data_org
# ln -s /mnt/<VOLUME LABEL>/owncloud/data /var/www/html/owncloud/data
~~~
 Open Firefox.
 Type ``localhost/owncloud`` on address bar.
~~~ ownCloud
Username: <CREATE NEW>
Password: <CREATE NEW>
~~~
~~~ MySQL/MariaDB
Database user: owncloud
Database password: <ALREADY CREATED PASSWORD>
Database name: owncloud
~~~
 Finish!

Notes:
・インストールのさなか Gateway Timeout が表示される。
・ハードディスクの書き込み終了を待つ。
・再表示させてログイン画面にすると、ハードディスクの書き込みが、また始まる。
・再び、ハードディスクの書き込み終了を待つ。
・初ログインする。
・またまた、ハードディスクの書き込みが、始まり、Gateway Timeout!
・またまたまた、ハードディスクの書き込み終了を待つ。
・再表示させて、ログイン画面に戻す。
・今こそログインする。
・``A safe home for all your data`` © 2020 ownCloud
・Oh, You have successfully installed!

――とにもかくにも、既にインストールは成功している。ハードディスクがおとなしくなるまで、待て。落ち着くのだ!


5-7. ownCloud Client
~~~ Install.
# dnf install owncloud-client
~~~
 Press the Win key, and open ownCloud client.
~~~ Type on ``Server Address`` bar.
http://localhost/owncloud
~~~
 Log in for the first time by entering the name and password you have created in advance.
Server:
-> Check ``Choose what to sync``.
-> Uncheck all folders.
-> OK
Local Folder:
-> ~/ownCloud

 Press ``Connect…``.
 And click the square button -> ``Remove folder sync connection``.
 Move ``ownCloud Manual.pdf`` file in ~/ownCloud folder.
 Finally, start it automatically.
~~~ ownCloud client
General -> General Settings
~~~
 Check ``Launch on System Startup``.

―― From now on, you are free to use it. ――


6. Fedora Workstation 常用への設定
 再インストールもあともう一息だが、ここで次のことを忠告しておく。

――人間という生き物は、最後の段階になって、にわかに気が緩み始め、また、浮つき出し、そして、それに伴って指先が、おのずから軽薄になってゆく。そうして、本来なら間違いなく踏むであろう手続きを、平気でスキップ、スキップしてゆくのだ。――


6-1. Vim と QFixHowm
 まず、ownCloud client を立ち上げて、ファイル群をサーバーと同期させる。その際、隠しファイルの同期も忘れずに行う。
 通常ファイルの同期が終わったら、次の設定をする。
~~~ ownCloud client
General -> Advanced -> Edit Ignored Files -> Global Ignore Settings
~~~
 Check ``Sync hidden files``.
 同期し終えたら、Vim の初期化ファイルを設定する。
~~~
$ mkdir ~/.vim
$ ln -s /home/<LOGIN USER NAME>/ownCloud/apps/vim_module/init_user/vimrc ~/.vim/vimrc
$ ln -s /home/<LOGIN USER NAME>/ownCloud/apps/vim_module/init_user/qfixhowm_vimrc ~/.vim/qfixhowm_vimrc
~~~
 Vim をインストールする。
~~~ Install.
$ sudo -s
# dnf install vim
~~~

[qfixhowm コマンドのエイリアス]
 さんざん作ってきたが、残ったのは、
~~~ My aliases.
# Run QFixHowm with Vim Plugin
function qfixhowm_alias () {
 vim -u "~/.vim/qfixhowm_vimrc"
}
~~~
これ1つと相成った。あと増やすとしたら、これの gvim 版ぐらいなものであろう。
 このエイリアスを ~/.bashrc 等のファイルを開いて、
~~~ ~/.bashrc
# User specific aliases and functions
~~~
などと書いてある下に記述する。その際、.bashrc 等のファイル名は覚えない。

Notes:
 我々、ユーザーという立場は、突然の仕様変更に、殊に抗し難いのである。ゆえに、記述すべき場所なんぞは、それとおぼしきファイルの中の、頭と尻のコメントとその周辺のスクリプトから、推して知るというのが……。


 さて、ついに、このときがやってきた。

――GNOME Terminal を立ち上げ直して、挙動を確かめよう!



--- [: 再インストール]
2020/03/04
令和二年三月四日(水)
大野城みずき