yottchan のすべての投稿

Debian3.1インストール後の初期設定

先の投稿で、Debian3.1のインストールプロセスの手順を示したが、ここではその続き(再起動後に表示される)、初期セットアッププロセスについて記す。

01:初期セットアップの開始(再起動後、自動的に開始!)
02:システム時刻の設定
03:タイムゾーンの設定
04:rootユーザのパスワード設定
05:ユーザアカウントの設定(フルネーム)
06:パッケージ入手先の設定
07:指定先のチェック(このとき、インストールに使ったメディアを入れておくこと!)

日本語の表示設定

08:参照メディアが複数あるかの確認
09:パッケージ参照先の追加
10:セキュリティアップデートパッケージのチェック(ここでは気にせずそのまま続行)
11:インストールパッケージの選択(ここでは目的別指定。「手動・・・」を選択)
12:Aputitudeによるパッケージの選択
13:メールサーバ設定(システム内の通知でもSMTPは使用されるが、ここでは省略)
13:未設定であることの確認
14:未使用としてもここは出てくる(なので、前に設定した一般ユーザを指定)
15:ようやく完了(base-configコマンドについては後程)

以上で、Debianインストール直後の初期セットアップは完了。

もし、やはりあのとき、別の設定をしておけば。。。。と後悔があれば、”base-config”コマンド(rootユーザで)で実行して変更することもできるし、個別に自力で変更させることも可能です。

上記手順で、「手動でパッケージをインストールする」ように選択したため(そのあとの工程でも何もパッケージを追加していないため)、サーバとしてはほとんど何も実装されていない状態です。

今後の投稿では、ここから、サーバデーモンだけでなく、操作環境などの運用面でも必要な機能を追加していこうと考えています。

Debian3.1(Sarge)のインストール

過去にせっかく作った木製レトロPCを有効利用するため、2000年台当時サーバを再現させて、当時目指した自宅内ネットワークシステムを実現させようと思いつき、手元にあったメディアのうち比較的扱いやすい掲題のLinuxをインストールすることにしました。

ちなみにベースとした木製レトロPCの主なスペックは、以下の通りです。

  • CPU:AMD K6-2 300MHz(1998年物)
  • MEM: SDRAM 128MB
  • M/B: ASUS P5A-B(1998年物)
  • HDD:IDE 10GB(IBM DTTA-351010 1998年物)

これにOSとして、LinuxのDebian3.1(2005年物)をチョイス。ほんとは上記H/Wに合わせてもう少し古いものを選びたかったのですが、手元にあるインストールメディアのうち、最も古いDebianが3.1しかなかったので、これに妥協しました。

01:インストールメディアから起動(Returnキーで開始!)
02:表示言語の選択
03:キーボードタイプの選択
04:しばらく待ちます。。。
05:ホスト名(コンピュータ名)の設定
06:ドメイン名の設定
07:インストールディスクの選択
08:ディスクパーティションタイプの選択
09:ディスクパーティションの構成(デスクトップマシンの場合)
10:パーティショニングの確定
11:ブートローダのインストール
12:インストール完了(メディアを取り出して再起動!)

上記スペックだと、インストール完了(後述の初期セットアップ含め)まで、40分ほどかかりました。

MediaWikiサーバの作り方(その3)

4)MediaWikiの初期設定&カスタマイズ

先の投稿(その2)で、一通り必要なパッケージが正常にインストール出来たら、Webブラウザで当該サーバにアクセスすることで、Mediawikiの初期セットアップウィザードが開始できるようになります。この時の操作を以下に記します。

(1)WikiサーバをGUIモードで導入していれば、ローカルでWEBブラウザを立ち上げ、そうでなければリモートからアクセスできるような状態にして(Firewall機能などで)、下記URLにアクセスする。

URL> http://<WikiサーバのFQDN>/wiki/inidex.php

すると、下図のようにMediaWikiのセットアップ画面のトップページが表示されるので、画面中の”set up the wiki”のリンクをクリックする。

(2)下図の画面にて、日本語表示および入力できるよう、ともに”ja-日本語”を選択して「continue」をクリックする。

(3)下図の画面にて、赤枠で囲った文言を確認し、「環境を確認しました。MediaWikiをインストールできます。」と表示されたら、当該ページの下端にある[続行→]をクリック

(4)下図の画面にて、先の投稿記事(その2)で作成した、データベース情報を入力の上、[続行→]をクリックする。

(5)下図の画面にて、そのまま(チェックが入っている状態で)[続行→]をクリックする。

(6)これから立ち上げたいWikiサイトの名称・構成(名前空間)・管理者アカウント情報を入力の上、[続行→]をクリックする。

(7)下図の画面にて、引き続き これから立ち上げたいWikiサイトの 構成情報を入力していく。

(8)引き続き、 これから立ち上げるWikiサイトに必要な機能を選択の上、 [続行→]をクリックする。

(9)下図の画面が表示されたら、 [続行→]をクリックする。

(10)下図のように、インストール状況が表示され、すべての処理項目が正常に実行されたことを確認(「データベースが正常にセットアップされました。」が表示される)の上、 [続行→]をクリックする。

(11)MediaWikiの初期セットアップウィザードがすべて正常に完了すると、下図の画面が表示されると同時に、いままでの設定項目内容が反映された”LocalSettings.php”をテキストエディタで開くダイアログボックスが表示されるので、いったん開いて内容を確認したのち、ローカルに保存する。(もしくは、そのまま保存する)

(12)この内容をそのまま(コピペもしくはファイルをアップロードして)、Wikiサーバ内のMediawikiディレクトリ内に、”LocalSettings.php” ファイルを新規作成の上保存し、Webサーバデーモンを再起動させる。

$> sudo cp ./LocalSettings.php /opt/mediawiki-1.36.2/
$> cd /opt/mediawiki-1.36.2/
$> sudo chown ubuntu:ubuntu ./LocalSettings.php 
$> chmod 664 ./LocalSettings.php
$> ls -ltr
total 1636
-rw-rw-r--  1 ubuntu ubuntu   19421 Nov  5  2019 COPYING
-rw-rw-r--  1 ubuntu ubuntu      95 Nov  5  2019 FAQ
-rw-rw-r--  1 ubuntu ubuntu     102 Nov  5  2019 composer.local.json-sample
-rw-rw-r--  1 ubuntu ubuntu     199 Nov  5  2019 SECURITY
-rw-rw-r--  1 ubuntu ubuntu     168 Oct  1 01:46 CODE_OF_CONDUCT.md
-rw-rw-r--  1 ubuntu ubuntu    4490 Oct  1 01:46 api.php
-rw-rw-r--  1 ubuntu ubuntu    1525 Oct  1 01:46 README.md
-rw-rw-r--  1 ubuntu ubuntu    8245 Oct  1 01:46 img_auth.php
-rw-rw-r--  1 ubuntu ubuntu    1977 Oct  1 01:46 index.php
-rw-rw-r--  1 ubuntu ubuntu    1951 Oct  1 01:46 load.php
-rw-rw-r--  1 ubuntu ubuntu    4610 Oct  1 01:46 opensearch_desc.php
-rw-rw-r--  1 ubuntu ubuntu     998 Oct  1 01:46 rest.php
-rw-rw-r--  1 ubuntu ubuntu    1439 Oct  1 01:46 thumb_handler.php
-rw-rw-r--  1 ubuntu ubuntu   13612 Oct  1 01:48 CREDITS
-rw-rw-r--  1 ubuntu ubuntu    4544 Oct  1 01:48 UPGRADE
-rw-rw-r--  1 ubuntu ubuntu   48038 Oct  1 01:48 RELEASE-NOTES-1.36
-rw-rw-r--  1 ubuntu ubuntu    3612 Oct  1 01:48 INSTALL
-rw-rw-r--  1 ubuntu ubuntu 1247893 Oct  1 01:48 HISTORY
-rw-rw-r--  1 ubuntu ubuntu    5073 Oct  1 01:48 composer.json
-rw-rw-r--  1 ubuntu ubuntu  156893 Oct  1 01:48 autoload.php
-rw-rw-r--  1 ubuntu ubuntu    1430 Oct  1 01:48 jsduck.json
-rw-rw-r--  1 ubuntu ubuntu   23581 Oct  1 01:48 thumb.php
drwxr-xr-x  2 root   root      4096 Nov  9 13:27 cache
drwxr-xr-x  2 root   root      4096 Nov  9 13:27 images
drwxr-xr-x  5 root   root      4096 Nov  9 13:27 docs
drwxr-xr-x 83 root   root      4096 Nov  9 13:27 includes
drwxr-xr-x  6 root   root      4096 Nov  9 13:27 languages
drwxr-xr-x  4 root   root      4096 Nov  9 13:27 mw-config
drwxr-xr-x 15 root   root     12288 Nov  9 13:27 maintenance
drwxr-xr-x  5 root   root      4096 Nov  9 13:27 resources
drwxr-xr-x  9 root   root      4096 Nov  9 13:27 tests
drwxr-xr-x 30 root   root      4096 Nov  9 13:27 extensions
drwxr-xr-x  5 root   root      4096 Nov  9 13:27 skins
drwxr-xr-x 17 root   root      4096 Nov  9 13:27 vendor
-rw-rw-r--  1 ubuntu ubuntu    6026 Jan 21 16:40 LocalSettings.php 
$>

$> sudo systemctl restart apache2

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres>
     Active: active (running) since Fri 2022-01-21 15:30:19 JST; 13s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 728549 ExecStart=/usr/sbin/apachectl start (code=exited, status=0>
   Main PID: 728563 (apache2)
      Tasks: 6 (limit: 462)
     Memory: 25.8M
     CGroup: /system.slice/apache2.service
             ├─728563 /usr/sbin/apache2 -k start
             ├─728564 /usr/sbin/apache2 -k start
             ├─728565 /usr/sbin/apache2 -k start
             ├─728566 /usr/sbin/apache2 -k start
             ├─728567 /usr/sbin/apache2 -k start
             └─728568 /usr/sbin/apache2 -k start

Jan 21 15:30:19 wikisv01 systemd[1]: Starting The Apache HTTP Server...
Jan 21 15:30:19 wikisv01 systemd[1]: Started The Apache HTTP Server.

(13)最後に、WEBブラウザで再度アクセス(この段階では、index.phpは指定不要)して、下図のようなMediaWikiのトップ画面が表示され、前作業で入力した当該Wikiサイトの管理者アカウントでログインできることを確認する。

ログイン後、さらに自分Wikiサイトの目的に応じたカスタマイズを実施していくことになるが、この作業については、後日の投稿に記す予定です。

以上。

MediaWikiサーバの作り方(その2)

3.稼働させるサーバサービスに必要なパッケージの導入

作業の順番としては、「2.OSの環境設定」が先なのですが、、、、

Linuxカーネルバージョンが、3.x系になってから、各種Linuxディストリビューションとも、systemdやNetwork-Mangerなど最新機能によって、構築作業での操作が大幅に変わり、以前までやっていた作業を、書籍やほかのWEBサイトで調べながら、試行錯誤の結果、最低限のところまでやれただけで、やり切れてないところや、やったことも十分なものか怪しい状況なので、もっと勉強して、整理出来たら投稿しようと思っています。

そういったことで、上記作業工程でも結構時間がかかってしまい、放置してしまうと、それだけお金が無駄になってしまいますし、やらなきゃいけないことがたくさんあるので、最も重要な主機能に当たるWikiサーバ機能を実装していくことにしました。

今回構築するWikiサーバの具体的な仕様としては、

  1. OSは、さくらインターネットVPSサーバでサポートされているLinuxOSのうち、プライベートで使用している(2ndマシンとして)Ubuntu20.04 Server とする。
  2. RDBMSは、通常使用されるMySQLやMariaDBではなく、会社で唯一使用しているLinuxサーバで実装しているPostgreSQLを使用する。(これは、単に個人的な要件)
  3. 上記RDBMSおよび、PHP、Webサーバサービスは、前項1に記すOSにバンドルされているパッケージを採用する。(PHPはバージョン7.4.3、WEBサーバはApache2.4.xx)
  4. MediaWikiは、現時点で最新のもの(バージョン:1.36.2)

では、さっそく上記必要パッケージをインストールしていく。

1)PHPおよびApache Webサーバのインストール

$> sudo apt-get install php php-apcu php-intl php-mbstring php-xml php-pgsql apache2


[sudo] password for ubuntu:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  apache2-bin apache2-data apache2-utils libapache2-mod-php7.4 libapr1
  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libjansson4 liblua5.2-0
  libonig5 libpq5 php-apcu-bc php-common php7.4 php7.4-cli php7.4-common
  php7.4-intl php7.4-json php7.4-mbstring php7.4-opcache php7.4-pgsql
  php7.4-readline php7.4-xml ssl-cert
Suggested packages:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser
  php-pear php-gd openssl-blacklist
The following NEW packages will be installed:
  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.4 libapr1
  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libjansson4 liblua5.2-0
  libonig5 libpq5 php php-apcu php-apcu-bc php-common php-intl php-mbstring
  php-pgsql php-xml php7.4 php7.4-cli php7.4-common php7.4-intl php7.4-json
  php7.4-mbstring php7.4-opcache php7.4-pgsql php7.4-readline php7.4-xml
  ssl-cert
0 upgraded, 32 newly installed, 0 to remove and 86 not upgraded.
Need to get 6880 kB of archives.
After this operation, 29.7 MB of additional disk space will be used.
Do you want to continue? [Y/n]Y

・・・・・・・・省略・・・・・・・・・

導入後、Apache Webサーバデーモンは利用可能な状態で立ち上がっているので、その状態を念のため確認してみる。

$> systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
     Active: active (running) since Sat 2022-01-22 23:35:45 JST; 25min ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 78669 (apache2)
      Tasks: 6 (limit: 468)
     Memory: 17.4M
     CGroup: /system.slice/apache2.service
             tq78669 /usr/sbin/apache2 -k start
             tq78672 /usr/sbin/apache2 -k start
             tq78673 /usr/sbin/apache2 -k start
             tq78674 /usr/sbin/apache2 -k start
             tq78675 /usr/sbin/apache2 -k start
             mq78687 /usr/sbin/apache2 -k start

Jan 22 23:35:45 ik1-101-57125 systemd[1]: Starting The Apache HTTP Server...
Jan 22 23:35:45 ik1-101-57125 systemd[1]: Started The Apache HTTP Server.
$>

さらに、動作確認として、Apache2-Webサーバのドキュメントルート(= /var/www/html/ )に、デフォルトでApache2の構成情報が表示されるindex.htmlファイルが用意されているので、これが表示されるかを確認するものよいかと思われる。

ただし、確認出来たら、このファイルはセキュリティ上削除しておくこと。代わりに、運用上Webサーバが動作しているかをチェック(=ヘルスチェック)するために、簡単な内容のindex.htmlを別途用意しておくことを推奨。

2)PostgreSQLの導入

引き続き、Wikiサーバのデータを登録するRDBMSとして選択した、”PostgreSQL”をインストールする。

$> sudo apt-get install postgresql

[sudo] password for ubuntu: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libllvm10 libpq5 postgresql-12 postgresql-client-12
  postgresql-client-common postgresql-common sysstat
Suggested packages:
  postgresql-doc postgresql-doc-12 libjson-perl isag
The following NEW packages will be installed:
  libllvm10 libpq5 postgresql postgresql-12 postgresql-client-12
  postgresql-client-common postgresql-common sysstat
0 upgraded, 8 newly installed, 0 to remove and 55 not upgraded.
Need to get 30.6 MB of archives.
After this operation, 121 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y

           ・・・・・・・省略・・・・・・・

Success. You can now start the database server using:

    pg_ctlcluster 12 main start

Ver Cluster Port Status Owner    Data directory              Log file
12  main    5432 down   postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log
update-alternatives: using /usr/share/postgresql/12/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
Setting up sysstat (12.2.0-2ubuntu0.1) ...

Creating config file /etc/default/sysstat with new version
update-alternatives: using /usr/bin/sar.sysstat to provide /usr/bin/sar (sar) in auto mode
Created symlink /etc/systemd/system/multi-user.target.wants/sysstat.service → /lib/systemd/system/sysstat.service.
Setting up postgresql (12+214ubuntu0.1) ...
Processing triggers for systemd (245.4-4ubuntu3.15) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
$>

ただ、このように導入しただけでは、WikiサーバのDBとして利用できないが、いったんこのままにして、メインのMediaWikiパッケージをインストールする。

3)MediaWikiパッケージの導入

MediaWikiサイトから、tar+zip形式のインストールパッケージをダウンロードして、導入サーバのApache-Webサーバのドキュメントルートディレクトリに展開するだけであるが、直接そこに配置せず、/opt配下に展開して、ここへのリンクをドキュメントルートに配置することにする。(詳細は、後述)

(ちなみに、この理由は、MediaWikiをバージョンアップする場合、上書きではなく、新バージョンディレクトリを別途展開して、そこにリンクを張りなおすことで、不具合時の切り戻しを容易にしたり、MediaWikiの機能拡張を追加したり、環境設定ファイル変更する際に、これらをまとめてバックアップ&リストアしやすくするため。)

なお、本手順を実施するにあたって、事前に MediaWikiサイト 内のMediaWikiインストールパッケージのURLを、実際にWebブラウザで辿って押さえておくこと。
(本手順実施時のURLは、”https://releases.wikimedia.org/mediawiki/1.36/mediawiki-1.36.2.tar.gz”であった。)

$> wget https://releases.wikimedia.org/mediawiki/1.36/mediawiki-1.36.2.tar.gz

--2021-11-09 13:22:07--  https://releases.wikimedia.org/mediawiki/1.36/mediawiki-1.36.2.tar.gz
Resolving releases.wikimedia.org (releases.wikimedia.org)... 103.102.166.224, 2001:df2:e500:ed1a::1
Connecting to releases.wikimedia.org (releases.wikimedia.org)|103.102.166.224|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 49653546 (47M) [application/x-gzip]
Saving to: ‘mediawiki-1.36.2.tar.gz’

mediawiki-1.36.2.ta   0%[                    ]       0  --.-KB/s          mediawiki-1.36.2.ta   0%[                    ]  38.91K   127KB/s
・・・省略・・・
mediawiki-1.36.2.ta 100%[===================>]  47.35M  8.88MB/s    in 7.1s

2021-11-09 13:22:16 (6.69 MB/s) - ‘mediawiki-1.36.2.tar.gz’ saved [49653546/49653546]

$> cd /opt
$> ls
mediawiki-1.36.2.tar.gz
$> tar zxf mediawiki-1.36.2.tar.gz
・・・・省略・・・・
$> ls
mediawiki-1.36.2   mediawiki-1.36.2.tar.gz
※”mediawiki-1.36.2”が、パッケージを展開してできたMediaWiki本体のディレクトリである。
$> cd mediawiki-1.36.2
$> ls
CODE_OF_CONDUCT.md  cache                       maintenance
COPYING             composer.json               mw-config
CREDITS             composer.local.json-sample  opensearch_desc.php
FAQ                 docs                        resources
HISTORY             extensions                  rest.php
INSTALL             images                      skins
README.md           img_auth.php                tests
RELEASE-NOTES-1.36  includes                    thumb.php
SECURITY            index.php                   thumb_handler.php
UPGRADE             jsduck.json                 vendor
api.php             languages
autoload.php        load.php
$>

次に、Apache2-Webサーバのドキュメントルートに移動して、前手順で生成したMediaWiki本体のディレクトリへのリンクを作成する。

$> cd /var/www
/html
$> ln -s /opt/mediawiki-1.36.2 ./wiki 
$> ls -l
-rw-r--r-- 1 root root   838 Nov  9 15:34 index.html
lrwxrwxrwx 1 root root    21 Nov 15 22:51 wiki -> /opt/mediawiki-1.36.2
$>

4)Image Magickの導入

MediaWikiで画像ファイルをアップロードして利用する際に、画像ファイルをサムネイルで表示できるようにするための機能プログラム「Image Magick」をインストールする。

$> sudo apt-get install imagemagick
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  gsfonts imagemagick-6-common imagemagick-6.q16 libfftw3-double3
  libilmbase24 liblqr-1-0 libmagickcore-6.q16-6 libmagickcore-6.q16-6-extra
  libmagickwand-6.q16-6 libnetpbm10 libopenexr24 netpbm
Suggested packages:
  imagemagick-doc autotrace enscript ffmpeg gimp gnuplot grads graphviz hp2xx
  html2ps libwmf-bin mplayer povray radiance texlive-base-bin transfig
  ufraw-batch libfftw3-bin libfftw3-dev inkscape libjxr-tools
The following NEW packages will be installed:
  gsfonts imagemagick imagemagick-6-common imagemagick-6.q16 libfftw3-double3
  libilmbase24 liblqr-1-0 libmagickcore-6.q16-6 libmagickcore-6.q16-6-extra
  libmagickwand-6.q16-6 libnetpbm10 libopenexr24 netpbm
0 upgraded, 13 newly installed, 0 to remove and 46 not upgraded.
Need to get 8135 kB of archives.
After this operation, 25.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
         ・・・・・以下省略・・・・・

5)Wiki用データベースの作成

下記内容でWiki用データベースを作成する。

  • データベース名=WIKIDB00
  • データベースユーザ名=wikidbuser
  • 上記ユーザパスワード=******

まず、作成するまえに、PostgreSQL用のコマンドを実行するためのシステムユーザ”postgres”(PostgreSQLのバイナリパッケージインストール時に自動的にシステムユーザに追加される)を利用可能にする。

$> sudo passwd postgres
New password: 
Retype new password: 
passwd: password updated successfully
$> 

postgreユーザになって、以下のコマンドを実行してWiki用データベースとアクセスユーザを用意する。

$> su - postgres
Password: ********
postgres$> 
postgres$> which createuser
/usr/bin/createuser
postgres$>
postgres$> createuser -S -D -R -P -E wikidbusr
Enter password for new role: ******* 
Enter it again: 
postgres$> echo $?
0
postgres$> which createdb
/usr/bin/createdb
postgres$> createdb -O wikidbusr WIKIDB00
postgres$> echo $?
0
postgres$> echo $?

注)上記作業を”postgres”ユーザ以外で実行してしまうと、下記エラーとなる。

ubuntu$> sudo createuser -S -D -R -P -E wikidbusr
[sudo] password for ubuntu: 
Enter password for new role: 
Enter it again: 
createuser: error: could not connect to database template1: FATAL:  role "root" does not exist

念のため、作成したデータベースとユーザ(ロール)が存在するかを確認する。

ubuntu$> su - postgres
Password:
postgres$>
postgres$> psql
psql (12.9 (Ubuntu 12.9-0ubuntu0.20.04.1))
Type "help" for help.

postgres=# \l
                              List of databases
   Name    |   Owner   | Encoding | Collate |  Ctype  |   Access privileges
-----------+-----------+----------+---------+---------+-----------------------
 WIKIDB00 | wikidbusr| UTF8     | C.UTF-8 | C.UTF-8 |
 postgres  | postgres  | UTF8     | C.UTF-8 | C.UTF-8 |
 template0 | postgres  | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgres          +
           |           |          |         |         | postgres=CTc/postgres
 template1 | postgres  | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgres          +
           |           |          |         |         | postgres=CTc/postgres
(4 rows)

postgres=# \q
postgres$> 

上記操作の詳細については、後日PostgreSQLを勉強してから、改めてPostgreSQLに関する記事を書こうと思う。

最後に、PHPスクリプトからPostgreSQLに接続できるようにPHP環境設定ファイル(php.ini)に修正を施す。
過去のバージョンであれば、php.iniは、/etcディレクトリ内にあったはずだが、昨今のバージョンだと、かなり構成が変わっており、見つけ出すのが困難。
そこで、下記コマンドを実行して、そのありかを表示させる。

$> php -i |grep php.ini
Configuration File (php.ini) Path: /etc/php/7.4/cli
Loaded Configuration File:         /etc/php/7.4/cli/php.ini

以上の出力結果から、php.iniのパスが分かったので、このファイルの内容を一部修正する。
$> sudo vi /etc/php/7.4/cli/php.ini

なお、修正箇所は、下記2か所である。
L934: extension=pdo_pgsql   ←コメント記号の”;”をはずす。
L936: extension=pgsql   ←コメント記号の”;”をはずす。

変更を有効にするため、Apache2-Webサーバデーモンを再起動する。
$> systemctl restart apache2

以上で、必要パッケージのインストールと、MediaWikiセットアップのための準備が整った。

次回は、MediaWikiのセットアップ操作をまとめる。

MediaWikiサーバの作り方(その1)

小生、年齢のせいではなく、元から記憶力がよくない(嫌なことは覚えているが、勉強や仕事で学んだ知識は特に)ので、いままで自分の仕事や趣味におけるナレッジ(KB)を記録しておくために、WikiとLAMP環境が日本で流行った頃から、MediaWikiを使ったwikiサーバを立てて(サーバのログからだと、2007年頃)、それから今なお独り利用し続けています。

このサーバで利用しているVPSサービスが、お○前ドットコムのものでしたが、先の投稿「さくらインターネットのVPSを使ってみた!」に記した通り、新機能追加で操作がしにくくなり、サポート対応やメールでの通知やログイン画面で、うるさくドメイン更新手続きの通知が表示され、嫌気がさしてさくらのVPSに乗り換えることにしました。

そこで、システム全体的にバージョンもかなりかけ離れてしまっているため、最新バージョンで作り直そうと決意しました。(それと、蓄積された情報も不要なもの・中途半端なものなどが多数散乱しているので、大掃除することも併せて実施)

VPSサービスで立ち上げたサーバの作業としては、下記のような作業の流れとなります。

  1. さくらインターネットでのVPSサーバの立ち上げ(先の投稿に記載済みの)
  2. OSの環境設定(ここから、随時投稿予定)
  3. 稼働させるサーバサービスに必要なパッケージの導入
  4. MediaWikiの初期設定&カスタマイズ
  5. VPSサービスのサーバ運用機能の追加設定
  6. サービスイン(その後のサーバ運用操作)

各作業の詳細については、随時投稿していきます。(どなたかの参考になれば、幸いです。)

さくらインターネットのVPSを使ってみた!

いままで、VPS(Virtual Private Server)サービスとして、長年お○まえドットコムを使ってきたが、新機能追加に対するサポートの悪さ(当初からもそうだったが)が我慢できなくなったので、安心サポートで価格も安いということで定評のあるさくらインターネットのVPSに移行しようと決心して、早速使ってみた。

ちなみに、金額とスペックは、、、、
最低スペック{CPU:仮想1Core,メモリ:512MB,ストレージ:25GB(SSD)}で、月額料金643円(2021年11月9日時点)!
その他、料金&スペックについては、下記URLを参照のこと。https://vps.sakura.ad.jp/specification/

スペックを見ると、かなりロースペックで心もとない感はあるが、
(公開しているけど)個人利用のWEBサーバであることから、これで十分だと思われる。

( 当時お○まえドットコムは、ドメインサービスもあり、コスパに優れるという評価で選んだのだが、ちょっとした検証用公開サーバを立てると、外部から攻撃を受けなければスカスカのリソース利用状況で月985円飛んでいくのを思うと、もったいない感があった )

しかも、2週間のお試し期間(3台まで)もあるので、このスペックで用途に合っているかや使い勝手やサポートなどを実際に使ってみて決めることが可能。

それでは早速、当該サービスを申し込んで使ってみることに。。。
(ちなみに、小生は個人のホームページを同社のレンタルサーバサービスを利用していたので、当該サービスの新規利用の手続き・操作については省略となります)

まずは、上述のURLにアクセスすると、下図の画面が表示されるので、画面中の「お申込み」をクリックする。

仮想サーバの立ち上げ00
<申し込みスタート!>

すると、サーバ作成手順がウィザード形式で表示されるので、各設定項目に対して答えていく。(今回は、最安値の石狩第一DCのプラン512M。ただし、初期費用は無料といいながらも、初回支払いは”2か月分”使用料がかかるので要注意!

仮想サーバの立ち上げ01
<設定画面-その1>

次に、これから立ち上げたいサーバの設定内容になります。
”サーバ名”は、あくまで「さくらのVPS」管理WEB画面上での表示名であって、コンピュータ名(ホスト名)にはなりません。(とはいえ、あとでOSの初期設定作業でホスト名を変更する予定なので、それと合わせておくとわかりやすいです)

OSは、当然無償のLinux系OSからの選択となります。(他のプロバイダと比べて選択肢は少ないですが、WindowsOSのVPSサービスも別にあるようで、その最低価格が1,100円/月-初期費用0円というのは魅力的!)

<設定画面-その2>

引き続き、同一画面を下にスクロールしてみていくと、ここでOSの管理者ユーザのパスワードを設定。(ここでは、OSとして”ubuntu”を選択したので、rootではなく”ubuntu”ユーザになってます)

<設定画面-その3>

また、上図中での設定項目について、、、

  • 「スタートアップスクリプト」=(まだ使ったことがないので確かではないですが、同一内容でOSの環境設定を複数台で(もしくは、繰り返し何回も)実施する際にデプロイ用のスクリプトをあらかじめ用意しておけば、手間いらずになるという機能のようです。
  • 「パケットフィルター設定」=市販のブロードバンドルータのような、ステートフルなアクセスコントロールリストを設定。(旧来は、サーバ自体のF/W機能(Linux系OSならiptablesなど)でアクセス制御することが多く、素人がこれを行うと、失敗してまったく外から接続できない状況に陥て、再インストールということがありえましたが、これだと、サーバ内ではあまり制御せずに、こちらで制御するほうが安心確実で簡単ではないでしょうか。
  • 「サーバへのSSHキー登録」=(これも未確認ですが、)個人のSSHクライアントプログラム(例えば、TeraTermなど)で、直接サーバOSに接続する場合に、接続の安全性を確保するためにSSHキーを生成して、これを使ってSSH接続したい場合に使用。

いずれも、この段階で準備する必要はないので、デフォルトのままとして次へ。

次は、下図のとおり、支払い方法の設定。ここは、各自のお財布事情に合わせて指定のこと。

<設定画面-その4>

同ページを下のほうにスクロールしてみると、”2週間無料おためし”の設定がありますので、初めてのお試しなら「利用する」を選択のこと。(表示の通り3台まで受け付けOKのようです)

<設定画面-その5>

上図の画面中にある「お支払い」をクリックすると、下図のサーバ作成”完了”画面が表示される。これ以降は、さくらVPSの管理WEB画面を使って、各自のサーバ運用に必要な設定を行っていく。

<設定画面-その6>

上図中の「サーバー一覧へ」をクリックすると、下図のページに遷移するので、作成したVPSを選択(チェックを入れて)すると、「起動する」のボタンが表示されたら、これをクリックする。(数分と待つことなく、起動できる状態になる)

<設定画面-その7>

起動したら(上図の状態はすでに起動済みの状態)、状態が”稼働中”になるので、この状態になったら、VPSサーバの箇所(名前とか、IPアドレスとかどこでもよい)をクリックする。

下図のページに遷移するので、「コンソール」の箇所をクリックして、サーバコンソールを表示させる。

<設定画面-その8>

なお、この時点では、コンソールは、「VNCコンソール」と「シリアルコンソール(β版)」の2種類あった。

<VNCコンソール画面>
<シリアルコンソール(ベータ版)画面>

これらの使い勝手についてや、その他サービス機能については、(実際に使ってみて)また次回ご報告する予定です。

以上

レトロ感満載の木製パソコンの製作記

自作パソコン(作品)は、簡単で楽しいけど・・・作れば作るほど数が増えて邪魔になってくる。だからといって、小型PCにすると、利用可能なパーツが制限され、自分の欲しいスペック(とくにWin95とかWin98時代のPC)で組むことが困難になる。そして、結局小さくても、数が増えれば邪魔になる。。。

このようなことから、取り付け作業が比較的容易になる大きな筐体1つで、マザーボードを入れ替えるような運用にしても、検証目的なので、使いたいときに使えるようにしたいが、取りかえ作業は結局のところ、手間も時間もかかる不便さは拭えないし、そもそも大きな筐体は1台でも邪魔!

そこで、、、

ジャンクパソコン自作系YouTuberを見てると、 YouTuber 御用達の、アルミの削り出しで見た目かっこよく使い勝手がよさそうなベンチ台(まな板パソそこん)がまさにうってつけ!と思ったのですが、、、やはり金額的に高すぎるので、この購入はあえなく断念。でも、代わりにこのような便利なベンチ台なるものを自分で作ったらいいじゃない!って思い立ち、お得意の?DIYで実現させることにしました。

まず材料は、、、、加工が簡単で、安くて入手しやすくて、電気を通しにくい素材であること、、、を加味すると、やはり””木製”になっちゃいますね。。。

木目のパソコンなんて・・・、最初は”ダサい”って思いましたが、過去のMaker Faireでもラズパイ(か何かだったか)を木製の自作筐体に入れてポータブルパソコンに仕立てていたのを見かけた記憶がありますし、思い起こせば、かの有名なApple社のパソコン第一号となった製品「Apple Ⅰ」を、自作の木箱に入れて使っていたこともあるので、これにインスパイアされて、(パクリではなく、先人たちへのリスペクトもかねて)本事案も木製で実現させることにしました。

要件としては・・・・

  1. 狭くて荷物が多い我が家でも邪魔にならないよう、できるだけコンパクトにして、
  2. 邪魔になったときにも、押し入れなどにまとめて一式持ち歩いて収納でき、使うようになったらすぐにそこから出してすぐ使えるように、
  3. 検証に使用したいスペックに合わせて、マザーボードを簡単に取り換えられるように、

を満たして実現させることにしました。

この計画を実現するため、毎週土日は足繁く近所のホームセンター(島○ホームズ)や百均ショップに通い、安くて便利なものになるような部材を買い集めることに。

試行錯誤を重ねて、2か月程(電動工具を使うも、加工中に割れたり折れたりして、心も折れて・・・)かけて、ようやく初号機が完成!

材料も余ったことと、初号機での反省を生かそうと、早速2号機も作成!(結局、加工中に材料を割ることは避けられませんでした)

とりあえず、やっとこさ(プロトタイプとして)、下図の写真のものが出来上がりました!

●初号機

自作木製筐体初号機

●弐号機(初号機より、電源&HDDランプ、ケーブルがだらんと垂れて邪魔にならないよう正面パネル、収納可能な可動スピーカを追加)

自作木製筐体弐号機

注)加工ミスの穴や加工時につけた墨出しや電動工具で入った割れが多々目立ちますが、プロトタイプとしてみてやってください!

タイトル詐欺ではないですが、、、レトロというか、”アンティーク”なパソコンといった表現のほうが適切でしょうか。。。。

ちなみに、ポイントとして、、、百均で購入した木製のまな板を、マザーボードを固定する土台(まさに”まな板パソコン”)として使用しており、これを出し入れすることで比較的容易にマザーボードを乗せ換えることができるように実現しました。

この所作はまさにブレードサーバならぬ(プレートサーバでなくて)”プレートPC”と言っても過言ではないでしょうか!?

実際に、使ってみて、先に挙げた3つの使用を十分満たしているように感じられました。また、アルミ製の高価なベンチ台と比較して、、、木製なので、増設(追加パーツの固定)が容易なので、液晶モニタも取り付けようかと考えております。

いかがでしたでしょうか?この記事が参考になったということになれば、幸いです。

以上。

実食#16.MRE Menu 3:「Chicken, Noodles and Vegetables, in Sauce」

<内容物一式>

<お品書き>

  • 鶏肉と野菜のヌードル
  • クラッカー
  • チーズスプレッド
  • ミックスナッツ&レーズン
  • ビーフジャーキー
  • タバスコ、塩
  • ペパーミント味のリング型キャンディ(タブレット型ラムネ?)
  • 粉末オレンジジュース
  • インスタントコーヒー一式
<盛り付け>

メインディッシュは、MREの麺料理であるため、期待は持てず。相変わらずのコシのないプルフニャ食感の平太麺。味付けも薄味で鶏肉とマッシュルームを含む野菜を煮込んだ塩味ソースのヌードルといったものなのでしょう。

<見た目もイマイチなメインディッシュ>

薄味なので同梱の塩をふりかけると、パンチはないものの、可もなく不可もなく食べられる味となった。パンチがないので、ここに同梱のタバスコをかけてみることにした。当然味にパンチは出たが、量のせいかもしれないが、タバスコの風味が味全体に変わり、タバスコ好きでない限り、良い効果とは言えない。次にチーズスプレッドと一緒にして食べると、味にチーズのコクが足されて、食べ応えあるものになった。しかも、チーズスプレッドにタバスコをかけた状態で一緒に食すると、今まで何の変哲もないチキンヌードルに、パンチ+コクが追加されて、満足のいくメインディッシュに生まれ変わった感あり!

ここで、”チーズスプレッドにタバスコ”は、MREでもおなじみのハラペーニョ入りチーズスプレッドを思い出してやってみた。やはり思っていた通りの味となり、いつものチーズスプレッド+クラッカーに飽きてきたので、この状態でクラッカーにディップして食べると、より美味しくなったと感じられた!

<同梱のものでちょい足し!>

今回初登場のお菓子、ペパーミント味のリング型キャンディは、キャンディーというよりもリング形状のラムネのタブレットといった感じで、最初口に入れてしばらくなめた後、かみ砕くとラムネのようにぽろぽろとなった。ちなみに、この状態でインスタントコーヒーを飲むと、チョコミントのような感じになって、意外とよかった。

なお、オレンジジュースとビーフジャーキーは前回も登場したので省略。

以上より、今回のメニューの評価は・・・・・、

75点!

以外にも、新たにちょい足しするまでもなく、梱包されたものの中で十分味わうことができた。とはいえ、MREの麺になれてきたせいもあだろう(慣れていないと、ゆですぎた平太麺のような食感が嫌かも)。。。おやつのペパーミント味のリング型キャンディとミックスナッツでは、今までの経験からかなりの物足りなさを感じた。(遠足気分が、、、て戦闘中か!)オレンジジュースでなくチョコレートドリンクであったら、チョコミント+ナッツチョコ風味がお得に味わえて、よかったかも。

いまさらながらのWinXPパソコン製作

現在、2021年8月。掲題の通り、いまさらながらだが、PICマイコンの勉強を始るにあたって、その開発環境を整えるため(厳密には、勉強に購入した書籍での開発環境例に合わせるため)、WindowsXPパソコンが急遽必要となった。

そこで、以前よりヤフオクで入手していた当時世代に近いCPU&マザーボードを押し入れから引っ張り出し、お手製の木製ベンチ台にのせて、配線&電源ON!

ちなみに、このPCのスペックはというと、、、

  • CPU>Intel Pentium4 3.0GHz ×1
  • MEM>512MB
  • システムHDD>CFカード16GB+CFtoIDE変換モジュール ←追加購入
  • マザーボード>MSI MS-7255
  • グラフィックボード>AMD Radeon HD6450 ←追加購入
  • メディアドライブ>3.5インチFDD、CD-RW+DVD-ROMドライブ
  • その他>サウンドカードおよびNICは、オンボードを使用

とりあえず、起動することが確認できた。

すぐにできてしまったものだから、ちょっと欲が出て、、、(というのも、XPのインストールに関する情報をググっていたら、一部のWindows愛好者の中には、いまだにXPをインストールしている輩がいるようで、しかも彼らのもっぱらの興味は、現在のWindowsPCのスペック、すなわちXP当時では最高スペックにあたる、WinXPパソコンの実現のようで、これに感化されてしまって。。。)

使用目的からもオンボードで十分なはずなのに、なぜかグラフィックカードを増設しようとか、システムHDDをCFカードを使ったSSD化に使用などと、若干の無駄な出費を増やしてしまった。。。。(またも、無駄遣いをやっちまった!!)

とはいえ、負けじと最高スペックを目指そうものなら、時間もお金も浪費してしまうことは明らかであり、冷静に本来の目的を思い起こしたら、最高のXPマシンを作ることではなく、あくまで”PICマイコン開発”であることから、目的と欲望の妥協点として、 今回は”PICマイコン開発 を快適に”実施できるXPマシンを実現させるということにして、この点では十分満足できるスペック(上記スペックリストに対する個人的感想)になったかと思われます。

それからのXPマシン構築作業はというと、、、

XPのインストール自体は、特に何事もなかったので、省略します。

実際にインストールは、スペックのせいか、速やかでつつがなく終了し、懐かしいデスクトップ画面が表示されるに至ったのですが、、、

一番の問題は、XPから導入されるようになった、OSのアクティベーション機能。

この機能が今時分にOSのアクティベーションが通るかです。インターネットでググると、私と同じようなことをしている輩がいるようで、それも最新情報で昨年ごろやってたようです。

通常のインターネットでのアクティベーションは、やはりできないようで、その代わり電話をかけて音声ガイダンスでの手動アクティベーションは、いまだ健在とのこと。

それから1年たった今時分でも、いけるのではないかと期待して、アクティベーション操作でも表示される、電話番号にCall.

過去に会社でPCのセットアップ作業をやっていた時に、ダウングレードOSでのPC再セットアップの際に聞いたことがある、なつかしい音声ガイダンスがいまだに健在!

夜中に、煩わしさを感じながらも、長ったらしいキーコードを聞きながら打ち込むだけで問題なく、アクティベーションが通った。(以前は、これも通らず窓口担当者と直接対話するところまで至ったことがあるが、さすがにそれはないことでしょう。。。)

これで、気兼ねなく使えることになったのですが、、、あと残るはセキュリティ対策。

これについては、今回このPCの用途が、PICマイコン開発環境ということもあって、インターネット接続を行うことはないので、この点は無視。

いつまでこの音声ガイダンスサービスが残されるのかは不明ですが、後続のXP愛好家の輩のためにもアクティベーション成功の記録として、ご興味がある方はお試しあれ!

以上

実食#14.MRE Menu 22:「Asian Style Beef Strips with Vegetables」

<お品書き>

  • アジア風牛肉の切り落とし野菜添え
  • スナックパン
  • ラズベリーピューレを和えたアップルソース
  • ソフトキャンディ”スキットルズ ”
  • ピーナッツスプレッド
  • アップルゼリー
  • ラズベリージュース
  • ミルクチョコレートココア
  • ガムほか・・・。
<開封&盛り付け>

<レビュー>

今回の品ぞろえは、あえて甘味ものに重点を置いたような偏りが感じれられました。(レビュー時が)おかずをがっつり食べたかったときだったので、物足りなさが感じられました。。。

しかも、今回は最悪なことに、開封したらベリー系の甘酸っぱいにおいとともに、中身がねっとりしていました!何が漏れたのか調べてみたら・・・
ソフトキャンディ”スキットルズ ” が犯人でした。これ自体袋の中で溶けているようで、そのパッケージの一部がぱっくり開いており、そこから溶けたキャンディが漏れ出して袋全体に広がった模様(下の写真)。。。

”スキットルズ ”のなれの果て

このような状況から、今回もココアとラズベリージュースは、以前から登場しているので今回は省略、アップルゼリーは、アップルソースがあるのでついでに省略しました。(実際にキャンプに行った時に使いたいので)

まずは、というかさっそくメインディッシュのアジア風牛肉の何とか・・・について。

温めた後、開封して皿に取り出すと、牛肉片にピーマン(パプリカ)とタケノコの姿を確認。細切りなのでチンジャオロース?って感じ。

そう思って、一口くちにすると・・・・・、「ああ~、そういわれれば、なんとなくアジア風なよくわからないけど不味くはない味」というのが第一印象。(腐った感じではない)酸味がそこそこ感じられたので、台湾とか東南アジアの辛くない系の料理のレトルト食品って感じ。そういった地域のスーパーで容易に入手できそうな出来栄えに感じられました。

このままでもいいけど、ご飯のお供として食べるには、何か物足りない感じ。(そもそもご飯自体ついてないし、アメリカでは主食じゃないのでそんな配慮はされていないでしょうが)

そこで、ちょい足しを考えてみたのですが・・・。

これが結構難しかったです。まずは、やはりアジアなので日本の万能調味料である醤油で。塩味が足されただけって感じであまり効果なし。これなら付属のお塩を使うだけでいいかも。

つぎに、ウスターソース。これは、すべての料理を劇的に変化させるちょい足し調味料の中の最強(最凶)兵器。なので恐る恐る少量たらして食べてみると・・・。

コクと風味が足されたが、ソースの味に強制的に変えられたという感じはなく、むしろ元の味が引き立てられたって感じがして、Good!これで、ご飯もすすむのでは!?

さらに、ソースの代わりに、”ちょい足し”を高度化して(この時点でちょい足しの領域を超えてるが)、アジア感を出すため、コク出しにオイスターソース、風味づけにすりニンニク、あとピリ辛アクセントに七味唐辛子と塩を足しても、Good!!

さらに万能ねぎの刻みをふりかければ尚可と思われるが、、、ここまでくるともはや調理になっちゃうか!!

あとは、相変わらず癖のあるスナックパン。もうこれは、ピーナツスプレッドと甘ったるいジャムがあれば克服可能!今回もピーナツスプレッドとアップルソース(アップルジェリーも別にあるが)が同梱されており、さらにメインディッシュを温める際にこれに立てかけて余熱で温める程度にしておくと、心なしかふっくら感が感じられるような気がして、おいしくいただくことができました。

以上、総合評価としては、

甘味に偏りすぎた感がして、食事としては物足りなさが感じられたのと、ちょい足しをしても、劇的においしく変わったというほどでもないので、
75点でしょうか。

やはり、ソフトキャンディ―が溶け出していたのが評価の足を引っ張った感あり。