投稿

WordPress 5.5からXMLサイトマップが標準で組み込まれたので試してみた

今までは「Google XML Sitemaps」プラグインを使っていた。WordPress標準で提供されるならプラグインを1個削除できて嬉しいと思って調査したときの覚書。 環境: WordPress 5.5, PHP 7.3.215.5にアップデート直後は/wp-sitemap.xmlにアクセスすると提供されるサイトマップが表示される。
WordPress標準XMLサイトマップの分かった事/注意点ページ一覧/投稿一覧、カテゴリー一覧、ユーザー一覧がサイトマップとして公開される。
ユーザー一覧を外部に公開することになるので注意
→ Google XML Sitemaps 4.1.1~はWordPress標準XMLサイトマップを無効にしている動作を管理画面で設定できない
→ 動作を変えるにはhookする必要あり新規投稿や更新した際に自動でGoogleへ更新通知をしてくれない(Google XML Sitemapsはしてくれる)
→ 動作を変えるにはhookする必要あり
Google XML Sitemapsからの移行ユーザー一覧は公開したくないので「wp_sitemaps_add_provider」にhookして制御する必要あり。詳細はこちら。
New XML Sitemaps Functionality in WordPress 5.5 | Make WordPress Core
その他注意点nginxに設定したGoogle XML Sitemaps Plugin用rewriteの記述を削除投稿した時にGoogleへ更新Pingを送るには「transition_post_status」へhookする
参考: Post Status Transitions | WordPress Codex
参考: サイトマップの作成と送信 - Search Console ヘルプそもそもXMLサイトマップはGoogleが自動収集してくれるわけではない。robots.txtかSearch Consoleを使って送信する。

【関連記事】CentOS8 + Nginx + PHP + MariaDB + Node.js + Certbotの環境を構築する手順まとめWordPressのXML-RPCとREST API(WP-JSON)を無効にする(Nginxの設定)

fatal: parameter inet_interfaces: no local interface found for ::1

さくらVPS上のCentOS8でPostfixをインストールしたときの覚書。
環境: CentOS 8.2, postfix 3.3.1

Postfixをインストール後起動しようとすると下記エラー postfix[3635]: fatal: parameter inet_interfaces: no local interface found for ::1 systemd[1]: postfix.service: Control process exited, code=exited status=1 systemd[1]: postfix.service: Failed with result 'exit-code'. systemd[1]: Failed to start Postfix Mail Transport Agent. さくらVPSはデフォルトでIPv6が無効になっている。 IPv6有効化手順(CentOS 8) | さくらのVPSニュース
設定確認 # less /etc/sysctl.conf
今のところIPv6は必要ないので、hostsファイルをコメントアウト # less /etc/hosts 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 #::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
postfixを起動して確認。自動起動ON # systemctl start postfix # systemctl status postfix # systemctl enable postfix
mailコマンドで確認(ない場合は「dnf install mailx」でインストール) # mail hoge@gmail.com
メールログ確認 # less /var/log/maillog

【関連記事】 【CentOS8】さくらVPSサーバーの初期設定 2020年版CentOS7 + Nginx + PHP7 + MariaDB + Node.jsの環境を構築する手順まとめ

Windows10のXbox Game Barをマルチディスプレイ環境で使う

操作説明動画を作るためにWindows10の録画する機能を使ったときの覚書。
環境: Windows 10 Pro 1909
Windows10にはデフォルトで「Xbox Game Bar」という録画するアプリがインストールされている。Winキー+Gで起動できる。

これをマルチディスプレイ環境のセカンダリーディスプレイで起動するには、セカンダリーディスプレイのアプリにフォーカスしておいてから「Winキー+G」を押す。
Xbox Game Barが起動してからだと録画するディスプレイを選択できない。

別のWindowsノートPCに環境を構築して(仮想マシンでもいい)、リモートデスクトップで接続して録画すると、右クリックしたときにいろんなアプリが出てこなくて綺麗な操作説明動画が録れる。

Subversionのウェブ管理ツールUSVNをインストール

Subversionをウェブで管理できるPHP製のUSVNをインストールしたときの覚書。USVNを使うとリポジトリ作成、ユーザー/グループ管理、フォルダごとの権限設定をウェブ管理画面から行うことができる。

環境: CentOS 8.1, Apache 2.4.37, PHP 7.3.5, USVN 1.0.9
1. PHP7をインストールphpのモジュール一覧 # dnf module list php
php7.3をインストール # dnf module install php:7.3/common
その他のPHPモジュールをインストール # dnf install php-mysqlnd php-gd
CentOS8からはApacheのモジュールではなくphp-fpmをデフォルトで使用するようになった。
起動、自動起動ON、確認 # systemctl start php-fpm # systemctl enable php-fpm # systemctl list-unit-files -t service | grep php-fpm # php --version
実行ユーザーがapacheになっているか確認 # less /etc/php-fpm.d/www.conf
php.confを確認 # less /etc/httpd/conf.d/php.conf
Apacheの再読み込み # apachectl configtest # systemctl reload httpd
確認用phpファイルを作成 # vi /var/www/html/index.php <?php phpinfo();
ブラウザでIPアドレスを入力して表示されるか確認。 ポートを開けるのを忘れずに。

2.MariaDBとphpMyAdminをインストール前とほぼ一緒なので省略 CentOS8 + Nginx + PHP + MariaDB + Node.js + Certbotの環境を構築する手順まとめ

3.USVNをインストールUSVN(User-friendly SVN)を使うとsvnadminコマンドを使わずにリポジトリ作成やユーザー管理などが行える。 GitHub上のドキュメントを参考にインストールする。 GitHub | usvn/usvn: Manage Subversion repositories via a we…

UpCloudのVPSを試してみた

SubversionのホストにいいVPSサービスを探しているときの覚書。UpCloudがスペックを柔軟に変更できて、コストパフォーマンスも良さそう。
使ってみた感想など FREE TRIALの間は容量25GBの最低プランのVPS1つしか作れないFREE TRIALから抜け出すためには金額をチャージする必要があるUpCloudはチャージした金額から消化される仕組みストレージ容量を増やすと月額金額が思ったより高い ということで、さくらVPSの方がコストパフォーマンスがいいことが分かった。
ちなみにカゴヤVPSのOpenVZはsystemdの変更に対応してくれないので除外。 そもそもカゴヤVPSからの乗り換え先を探している。

【関連記事】 コストパフォーマンスがいいVPSを探す。回線速度を測定CentOS8 + Nginx + PHP + MariaDB + Node.js + Certbotの環境を構築する手順まとめカゴヤ・クラウドVPS(CentOS)の初期設定

CentOS8からはOpenLDAPでなくて389-directory-server

CentOS8でopenldap-serversがなかったので検索したときの覚書。
環境:  CentOS8.1

OpenLDAPサーバーは非推奨になった。 下記記事が詳しい。 OpenLDAPサーバーがRHEL8/CentOS8のリポジトリから無くなったので対策検討 - Qiita
代替サーバーとして389-directory-server
389 Directory Server - Main Page
特徴とOpenLDAPとの違いは下記サイトが分かりやすい オープンソースの認証サーバ / 389 Directory Serverとは 389はLDAPが使用するポート番号に由来。
モジュール一覧を表示してみる。 # dnf module list
OpenLDAPでユーザー管理しようと思ったけど、もう少し考えてみる。

 【関連記事】 【CentOS8】さくらVPSサーバーの初期設定 2020年版CentOS + Subversion + LDAP + ApacheをInstallして設定

【CentOS8】さくらVPSサーバーの初期設定 2020年版

さくらのVPSをレンタルして設定したときの覚書。
サーバー環境: CentOS 8.1, OpenSSH_7.4p1, OpenSSL 1.0.2k-fips クライアント環境: Windows 10, TeraTerm 4.95

1.OSインストール「標準OS」をインストール。 カスタムOSで最小構成にしようとしたけどエラーになったのでやめた。
起動サービス確認 # systemctl list-unit-files -t service
ファイアウォールはコンソールから設定できるパケットフィルタを使い、VPS上でポート制御は行わない。
ホスト名変更 # hostnamectl set-hostname sakura01.dksg.co.jp # hostnamectl status
SELinux確認 # getenforce
EPELリポジトリ追加 # dnf install epel-release

2.SSHの鍵認証SSHのバージョン確認 # ssh -V OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
SSHでアクセスするときに鍵認証する。 公開鍵と秘密鍵の生成。 # ssh-keygen パスフレーズはなし。
確認 # ssh-keygen -l 3072 SHA256 RSA 3072bitで生成されている。
sshdの設定変更。パスワードによる認証を無効化。  # less /etc/ssh/sshd_config PubkeyAuthentication yes PasswordAuthentication no
AuthorizedKeysFileの名前に公開鍵を変更する。 # cd .ssh/ # mv id_rsa.pub authorized_keys
秘密鍵をアクセスするWindowsマシン側にコピーする。 一応名前を変えておく。 # less id_rsa # mv id_rsa id_rsa.sshd
sshd再起動。今接続しているsshのセッションは切れないので大丈夫。 # systemctl restart sshd
TeraTermのパスワード認証でアクセスできないことを確認。 TeraTermで秘密鍵を指定してアクセスしてみる。 エラー read error SSH2 private key file error:0906D06C:PEM routines:P…