新しいPCでVirtual Boxを使う

今年の1月に新しいパソコンを購入したものの、古いパソコンで動いていたVirtual BoxのゲストOS(Linux)が動作しなかったので、しばらく古いパソコンも使っていました。Virtual Boxで使っているLinuxのカーネルにVirtual Box用のモジュールを組み込んでいるのですが、CPUの世代の違いでそのままでは動作しないようです。新しいパソコン用に新たにLinuxをインストールするのが面倒でそのままになっていました。

3月に時間が空いたので、やっと最近になって新しいパソコンにVirtual Boxをインストールして、Linux(RockyLinuxとLinux Mint)をインストールしました。古いパソコンと同じようにVirtual Box用のモジュールを組み込んだので、このパソコン専用ですね。

新しいパソコン、最新のIntel製CPUなので、コアの数が10個もあり、ゲストOSに複数のコアを割り当てできる、と思ったのですが、思ったより遅い。タスクマネージャーでチェックすると、どうもメモリーが足りないらしい。やはりWindows11 Homeで8Gバイトしかないのは無理があったか。ゲームも思ったより遅かったし。

目標は、Virtual Boxで2つのLinuxサーバーを起動し、2台が連携した処理をチェックすること。さらにゲームをもっと綺麗な画面でやること。ということで、メモリーの増設は必須ということになった。

安価なパソコンでLinuxを、と思っていたのだが、用途を考えるとある程度は出費が必要のようだ。

はじめてのマルチポスト投稿

マルチポスト投稿、使い方がすこしずつ解ってきました。これ、テーマの中のfunctions.phpに書く方法がネットで紹介されていたので、その方法を使ってます。functions.phpで用意するPHPのコードは次のとおり。

1. ポストタイプを追加とは
WordPressの記事をデータベースで確認すると、wp_postsというテーブルにpost_typeという項目があり、そこにポストタイプが記録されます。そして記事として表示されるのはpost_typeが「post」のみ。

今回設定するマルチポスト投稿では、この「post」の他に記事として表示可能なpost_typeを設定し、デフォルトの「post」と同じように使えるようにします。

2. functions.phpに設定する内容
さっそくですがfunctions.phpにカスタムポストを設定する手順です。
(1) WordPressの関数、register_post_type()でポストタイプを追加する。
(2) WordPressの関数、add_filter()で、追加したポストタイプを表示する際のURLを定義する。’post_type_link’と’rewrite_rules_array’の2つを定義する。
(3) WP_Widgetクラスを継承した新しいWidgetのクラスを定義する。このクラス内に__construct()でウィジェット名定義し、widget()で機能を定義する。

3. 使い方
使い方は次のとおり。
(1) ポストタイプが有効になると、WordPressの管理メニューにデフォルトの「投稿」の他、新しいポストタイプの投稿が表示されます。このメニューでカスタムポスト投稿の記事を追加します。
(2) 記事を公開したら、表示されるかチェックします。
(3) 管理メニューから「外観」の「ウィジェット」を使い、functions.phpに追加したウィジェットを追加します。(テーマによって、表示される場所に制限があります。)

4.試した例
下記は、WordPressデフォルトのテーマ「twentysixteen」のサイドメニューにカスタムポスト投稿「最新の技術記事」用ウィジェットを追加した例です。

CentOSの残念な話

会社で初めて使ったLinuxは、当時、まだ無料で使えたRed Hat Linuxでした。よくLinux関係の雑誌に付録で付いていたので、それを利用したと思います。

その後、Red Hat LinuxがEnerprise版のみ、つまり全て有料になったので、無料で使えるCentOSに移りました。それから、長い付き合いです。

ところが、CentOSの方針が変わって、使うメリットが無くなってしまいました。Windows10も、半年毎に更新が当たり前になり、長く使えるOSは年々減っている印象です。Ubuntuも、長く使えるバージョンと半年毎に更新されるバージョンからの選択ですが、半年毎に更新を使っているし。

だから、私の場合は、CentOSの新しいバージョンでも、半年毎にきちんとアップデートしてもらえれば、使い続けるのですが。なんか、Red HatのFodoraと同じ位置づけに変わるような話になっているのが不安。

今、自宅でUbuntuが使えているので、CentOSが使えなくても不便はないのですが、まあ、残念な話ですね。CentOSの代わりも出てきそうですが、しばらくは様子見でしょうか。

Java、Solaris/SPARC版はついに引退

https://www.publickey1.jp/blog/20/java_14solarissparc.html
Java 14正式版が登場。テキストブロック、インストーラー作成ツールなど新機能。Solaris/SPARC版はついに引退

私はJavaでプログラムを書かないので、Javaのバージョンアップに関心がありません。時々、Javaのランタイムが必要なWebサイトがあり、面倒だと思っているくらいです。

この記事で目を引いたのは、「Solaris/SPARC版はついに引退」の文字。
思えば、今、Linuxが使えるのは、大学4年生の時、前年に入ったばかりのでSun Microsystems製のSun3/60で、SunOSを使えたからでした。その後、会社にもその系列があり、世の中がLinuxに切り替わるころまで、Solarisを仕事で使っていたのが、今のスキルのベースになっています。

仕事でJavaは使わなかったものの、Javaを利用する環境がSolarisで作られていたのはよく知っています。いつの間にかパソコン用のプログラム言語になっていったのを、寂しく思っていたくらいでした。

それが、ついに引退ですね。私にとっては、青春の思い出のお店が、廃業するような感じです。

IT系な仕事

レンタルサーバーは、Webから申し込めば、すぐに利用できるものと思っていましたが、VPNサーバーはそうはいかないようです。12月からブログサーバーの設定を始める予定が、今週、2週間遅れでスタートしました。担当者は、確かに12/2(月)に申し込んだのですが、登録完了日が12/16だったそうで、それくらいかかると知っていれば、そのつもりで準備していたのですが…

ということで、CentOS 8を、VPNのレンタルサーバーに設定し、旧ブログサーバーからデータを引越しして、主な設定が4日で完了しました。もっとも時間がかかったのがデータの転送で、旧サーバーもVPNでレンタルしていたサーバーでしたが、容量が不足してしまい、いろいろ手を入れていたので、それを戻すのがやっかいでした。

それと、CentOS 8は、前に設定したCentOS 7とは、yumでインストールできるパッケージが違っているので、PHPの設定に戸惑いました。まあ、残念ながら監視システムとして考えていたmuninが動作しなかったので、別の何かをこれから用意する、という課題も残っています。

普段、自分でも何やってんだろ、と思える作業しかなったので、こういったLinuxサーバーの設定は、刺激が多いのでやる気がでますね。

VirtualBoxに入れたCentOS7の不具合

先週から、VirtualBoxに入れてあるCentOS7が使えなくて困っています。

正確に言えば、操作はできるのですが、かなり限定されます。なにせ、ターミナルを開いてしまうと、そのターミナルしか使えない、という不具合。いつもは、ターミナルが3つとWebブラウザが1つと、窓をたくさん開いて作業しているのですが、1つしかないと不便でしょうがいない。

原因も解っていて、今月kernelをアップデートしたことで、この不具合が発生しました。VirtualBoxをバージョンアップしたりしたのですが、だめで、今は使えない状態です。これ、後で調べたらバージョンアップの既知のエラーにもあったので、カーネルのバージョンアップまでこのままかな、とあきらめてます。

CentOSは本番環境と同じなので、こっちを使いたいのですが、無理ならUbuntuで
デバックかな。

WordPressのワーニングメッセージ

派遣先で管理しているlinuxサーバーに、WordPressのワーニングが出るようになりました。PHPのワーニングで、発生源がWordPressのシステムファイルということで放置してきたのですが気なったので検索してみました。

メッセージは、次のようなものです。


PHP Warning:  preg_match(): Compilation failed: unrecognized character after (?< at offset 10 in
...../wp-includes/class-wp-block-parser.php on line 382

そして、次のブログを参考にさせてもらいました。

wordpress4.9.2にアップグレードしたらWarning: preg_match(): Compilation failed: unrecognized character afterというエラーメッセージが出た件

この記事によると、原因は、PHPのバージョンみたいです。

使っているサーバーが古いということもありますが、PHPはOSのデフォルトを使用しています。どうやらそれが原因のようです。

最近のPHP7を使えばワーニングは出ないそうです。新しくすれば、消えるのでしょうが、すぐには新しくできないので、このまま放置するしかありません。

Ubuntuの最新ならPHPも新しいのですが、古いCentOSでは、細工しないと新しいPHPは入らないのでちょっとやりたくない。今、OSを新しくする、ということであれば、やってもいいけど、今も稼動しているサーバーではそれは避けたいし。

これは後任の方にお願いするしかないですね。

Win版SSH

Windowsでlinuxコマンドを使う

最近、PowerShellを使う機会があり、マイクロソフトらしくないな、と感じたばかりでしたが、Windows10では、ssh が使えることを知りました。

WindowsとLinuxの混在環境が標準で扱いやすく――Windows 10のLinuxサポート最新情報

普段、派遣先で使っているパソコンは、Windows7 pro なので、残念ながら入ってません。しかし、Windows10をインストールしたパソコンで試したところ、確かに使えました。

このsshはプロ用かな

昔のマイクロソフト製品には、telnetが入っていて、たまに、DOS窓でSolarisに接続したりしてたのですが、ここ数年はできなくなっていました。sshが使えるようになったので、また、DOS窓でlinuxに接続できる、ということでしょう。

そういえば、CentOSやUbuntuにも、telnetは入っておらず、sshを使ってます。linuxサポートというより、最近の傾向にあわせただけとも思えますが。しかし、GUIが基本のWindowsで、DOS窓で使うコマンドは目立たないだけに、プロ用、ということでしょうね。

rootのホームの.forward

派遣先の大学でメール環境が大きく変わったので、設定変更あ必要な機器が多数ある。バックアップなど、自動でメールを送信している仕組みがたくさんあり、それらも影響を受けるためだ。

UPSやNASなどは、ブラウザで設定すれば済むので簡単だが、他はそうはいかない。バックアップはアプリを立ち上げて設定が必要だし、システムのコンフィグファイルを変更するなんてのも多い。

そんな中で、古いLinuxからの自動でメールを発信していた。知ってはいたものの動いているので、放置してきたが、今回手を入れることに。

正直、こんな設定はかなり久しぶり。しかし、どこに設定されているか解らない。ひとしきり/etcの中を探したが、見つけられなかった。

mailのログをチェックしていると、root@localhost に送信していることが解った。さらに、rootのホームに、.forwardが。

今時、UNIXが複数の人が同時に使用できるOSだった、というこをどれだけ覚えているだろうか。20年前のSolarisは、そうやってよく使っていた。各自がそれぞれホームディレクトリを持っていた。そして、そのSolarisのサーバー宛に届いたメールは、別のサーバーに転送できる。その仕組みで使われるのが、.forwardで、設定している人もいた。

しかし、これは一般ユーザーが設定するもので、root で設定したのは見たことがない。こういうシステムからのメッセージはいろいとと届くので、/etc/aliasで管理者の個人のアカウントに転送するのが正しい使い方だ。担当者が変わっても、/etc/aliasを書き換えれば済むし、引継ぎも簡単。

それが、rootの.forwardで設定されたら、気が付かないでしょ。これは、UNIXを管理した経験の無い人が設定したのかな、と思ってますが、世の中こんなものなのかな。

個人用NASでLAMPスタックのWebサーバー

昨日、派遣先でいっしょに仕事をしている担当者から、大胆な提案がありました。まじめな場面ではなく、雑談から出た話なので、本気かどうかはわかりません。
 
学内に設置する小型のサーバーを検討しているそうです。利用頻度が少なく、利用者も限定されるものの、協力会社にも公開する情報があり、その情報を公開する仕組みを簡単に作りたいとのこと。
 
利用頻度を考えると、サーバーに費用をかけられない。それなら、RAID構成で安い製品となる個人向けのNASに、Linuxを入れてDBと連携するWebサーバーを作れないかな、だそうです。確かにハードは10万円以内だし、ソフトも無料でできそうです。
 
あまりに大胆な発言に、すぐに回答できませんでした。
 
技術的にはできるだけに無理と即答はできず。かといって、設定できる自信も無いし。パソコンならなんとでもできますが、相手が専用機となるといっきにハードルが上がるな。
 
今は、Ubuntuが動作するNASがあるので、それでやれるかどうか、情報収集だけはをやってみようかと思います。果たして、やれるのでしょうか。
 
QNAP Linux Station