3年前に購入した安い (性能が低い) PC に最近リリースされた Ubuntu 22.04LTS をインストールしてみました。(なお、この記事は 2002 年 5 月に書いています)
インストールした PC は
HP280 Pro G4
という機種です。諸元は次の通り。
- CPU : Celeron G4930
- メモリ : 8GB (オリジナルは4GBだが8GBに増設)
- ディスク : M.2 SSD 128GB
- DVD ドライブ
- USB 2.0、3.0
- ネットワーク: 有線LAN 1Gbps (Wifi なし)
- Bluetooth なし
Wifi と Bluetooth がないのは不便なので USB にドングルを挿している。
インストールメディアの作成
まず、”Ubuntu 22.04″ でググって Ubuntu のサイトから ISOイメージをダウンロードしました。
これを USB メモリや DVD-R に書き込んでインストールメディアを作りますが、この PC の場合は幸いなことに DVD ドライブが付いているので、インストール DVD を作りました。
このダウンロードファイルを単純に書き込むとインストールメディアにならないので、イメージとして書き込みます。
フリーで使える ISO Workshop というソフトをインストールしてあったので、これを利用してインストールメディアを作成しました。
DVD ドライブがないマシンだと USB メモリが必要になりますが、新品またはデータが空っぽのもので最低 4GB くらいのサイズが必要です。(8GBくらいあったほうが安心)
この場合もダウンロードしたファイルをただコピーするだけではダメで、インストールイメージを作るためのソフトが必要になります。(Rufus というのがポピュラーなようです)
インストール
インストールにはネットワーク環境が必要です。
このマシンは有線LANしかないので、LANケーブルをつないでおきます。
DVD をドライブにセットし、マシンを再起動します。
・・・しかし、Windows が起動してしまいました。
BIOS の設定変更が必要なようです。
HP の場合は F10 キーを押しながら再起動を行うと、BIOS 画面が表示されます。(一般的に会社ごとに異なるが、F10 や Delete キーが多い)
「ブート」という項目を探して、ブートデバイスの順序を変更します。この場合は DVD ドライブを先頭にします。
BIOS 画面を終了すると、自動的に再起動が開始されて DVD ドライブからアクセス音が聞こえてきました。
この後、インストールオプション画面が表示されるので、一番上のオプション (Try….) を選んで実行します。
この後がすごく時間がかかるので、しばらく別のことをしたほうがいいです。
「終わったかな」と思い、PC を見に行くと Ubuntu 画面が表示されていました。
この画面は「お試し画面」で、ディスク (SSD) へのインストールはまだ終わっていません。
画面左のアイコン一覧の一番上のアイコンあるいは右下の2つのアイコンの上のほうを選んで実行します。
この後、インストール先のディスク (Windows が入っている) を上書きするかどうか聞かれるので、上書きを実行します。
この後、しばらく時間がかかるので、お茶でも飲みながら別のことをします。
しばらくして、見に行くと Ubuntu 画面が表示されていれば OK です。
システムを最新版にアップデート
次のコマンドを実行してシステムを最新の状態にします。
sudo apt update
sudo apt -y upgrade
アプリなどのインストール
次にサーバ類やアプリケーションをインストールします。ここでは次のようなものをインストールしました。
サーバ
- openssh-server
- apache2
- mariadb-server
アプリケーションなど
- vim
- g++
- 7zip
- git
- python3
- open-jdk (defaultバージョン)
- PHP (+ mysqli + sqlite3 + mbstring)
- sqlite3
- VS Code
- 好みのブラウザ
- 好みのエディタ
- 好みのペイントソフト
- 好みのメディアプレーヤー
- 好みのオフィス (Libre Office は最初から入っている)
- 勉強したい言語やツール
終わったら、最後に apt upgrade しておきます。
動作環境の整備と動作確認
日本語ディレクトリ名を英語に戻す
インストールオプションで日本語を選択するとディレクトリ名も日本語になります。でも、端末でコマンド入力する場合など、IME を使う必要があり面倒です。
これを英語名にするには、次のコマンドを実行するだけです。(ホーム内のディレクトリ名を英語にする)
$ LANG=C xdg-user-dirs-update --force
独自ディレクトリの作成
ホーム内に次のようなディレクトリを作りました。
- bin コマンドを置いておく。
- temp 一時データ用
- workspace 作業用
- lib 共有ライブラリ用
.bashrc と .profile
パスを通したりAliasの定義などを行う。
固定IP化と他の PC からのアクセス
次の記事を参考に行いましたが、インタフェース名 enp0s3 は違っていました。事前に “ip -4 a” コマンドなどで自分の環境はどうか確認しておきます。
https://linuxfan.info/ubuntu-2004-server-static-ip-address
具体的には “enp1s0” に変更しました。あとは固定 IP アドレス以外は同じです。
ウェブサイト
HTML の置き場は /var/www/html ですが、所有者・グループが “root” なのでアクセスするには sudo が必要です。面倒なら所有者・グループを変更してしまっても OK です。
MariaDB にユーザ用データベースを作る
$ sudo mysql
により、root として MariaDB にログインする。
以下のコマンドを打って、新規ユーザ ‘user’、データベース ‘user’ を作る。
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 32
Server version: 10.6.7-MariaDB-2ubuntu1 Ubuntu 22.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database user charset=utf8;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> create user 'user' identified by '********';
Query OK, 0 rows affected (0.005 sec)
MariaDB [(none)]> grant all on user.* to 'user';
Query OK, 0 rows affected (0.005 sec)
MariaDB [(none)]>
CGI
CGI の置き場は /usr/lib/cgi-bin です。これも所有者・グループが “root” なのでアクセスするには sudo が必要です。
以前は /var/www の下にあったのですが、その方がアクセスしやすいのでシンボリックリンクを作りました。
次のような CGI (hello.cgi) を上のフォルダに作り、chmod で実行権を与えてブラウザから開くと実行できました。
#!/usr/bin/env perl
print "Content-Type: text/html\n\n";
print "<h1>Hello, World!</h1>";
PHP
PHP は何もしなくても動作しましたが、phpinfo() を見ると MySQL, MBString, SQLite3 の拡張モジュールがなかったので、/etc/php/8.1/apache2/php.ini を修正してウェブサーバを再起動します。
修正方法は extension = mysqli などを検索してコメントを外します。
その他、timezone を Asia/Tokyo にしたり、必要なら include_path, extension_dir を設定します。
Wifi と Bluetooth
この PC にはイマドキには珍しく Wifi も Bluetooth も付いていなかったので、安い中華製アダプタを USB に挿しています。
最初は認識されず、ぜんぜん動かなかったのですが、翌日、電源を入れたら動くようになっていました。
ドライバのインストールに時間がかかったようです。
ただ、Wifi はアンテナがしっかり立っているにも関わらず、ときどきダンマリになる不具合が発生しました。
やはり、有線LANのほうがよさそうなので有線LANにもどしました。
Bluetooth は中華性の安い Bluetooth スピーカに接続できて音がなることは確認しましたが、やはりケーブルでつないだほうが安心できるので、音声ケーブル接続で使っています。
なお、Wifi も Bluetooth も「設定」の中にこれらの設定項目があります。サーバの場合は、どこかのテーブルをいじったりしないといけないので大変そうです。