NordVPNでVPNを色々と試してみる

VPNも手軽になり、各国に接続することができるようになりました。

ということで、今回は、NordVPNを試していきます。

なぜ?NordVPNなのか、日本のIPアドレス割当数が多かったからですw

https://nordvpn.com/ja/

2年契約だと非常に安いのも魅力的です。

NordVPNコマンド

予定している使い方だと、コマンドでVPN接続先をぐるぐると移動してってことを行いたいのでコマンでVPN接続制御できることが大事!!

コマンドは「”C:\Program Files\NordVPN\”」配下の「nordvpn」を利用します。

用途 コマンド
VPNにクイック接続する nordvpn -c

nordvpn –connect

サーバー名で接続 nordvpn -c -n “サーバー名”

nordvpn -c –server-name “サーバー名”

指定したグループで接続 nordvpn -c -g “グループ名”

nordvpn -c –group-name “グループ名”

VPN切断 nordvpn -d

nordvpn –disconnect

ヘルプ nordvpn –help

サンプルの通りに行うと

サーバー名指定で接続は以下のようにするとアメリカの#3710に接続される

nordvpn -c -n"United States #3710"

あれ、なぜか日本に繋がった・・・。

該当のサーバーが無いと近くのところ?につながるようです。

接続先のVPNサーバーは以下の情報を参照

https://nordvpn.com/ja/servers/tools/

東京と大阪で接続を分けたい->これに関しては指定ができない。自分で接続先のサーバーを分けるしか無いのかな。

→connect時に一度、大阪のサーバーIDを指定して接続。その後、GROUPで接続をチェンジすれば。。。駄目だった、東京に接続移動してしまった。。。

VPN接続チェンジを-c -g “グループ名”で変更していくことができるのだが、認証エラーが出ることが多い気がする。

オーソドックスに接続が終わったあとはきちんと切断したほうが良さそうだ

nordvpn -c -g “グループ名”

nordvpn -d

日本のVPN先は、他の国に比べて繋がりが割る感じがある。

2023年のAIで書かせた「ウェブページのページビュー」の文章

ChatGPT3.5で生成した記事です。以前に同じタイトルで生成したものと比較するために掲載してみました。

以前の記事はこれ

 

効果的なウェブページ設計術! 陰キャでも簡単にページビューを増やす方法

【目次】
1. 効果的なウェブページ設計術!
1.1 魅力的なデザインでユーザーを引き付ける
1.2 使いやすいナビゲーションでユーザーエクスペリエンスを向上させる
1.3 速度改善でユーザーの待ち時間を減らす
2. 陰キャでも簡単にページビューを増やす方法
2.1 SNSを活用した情報発信で集客を増やす
2.2 SEO対策で検索エンジンからのアクセスを獲得する
2.3 コンテンツの質を向上させてリピーターを増やす
3. ウェブページ設計で成功するためのポイント
3.1 ユーザーのニーズを理解し、ターゲットに合わせたコンテンツを提供する
3.2 データ分析を活用して改善点を見つけ、常に進化させる
3.3 競合他社と差別化するための独自の要素を取り入れる

【1. 効果的なウェブページ設計術!】
ウェブページの設計は、ユーザーにとって魅力的で使いやすいものであるべきです。以下では、そのためのポイントを紹介します。

【1.1 魅力的なデザインでユーザーを引き付ける】
ウェブページのデザインは、ユーザーの目を引くために重要です。鮮やかな色使いや美しいフォント、魅力的な画像を使用することで、ユーザーの興味を引くことができます。

【1.2 使いやすいナビゲーションでユーザーエクスペリエンスを向上させる】
ウェブページのナビゲーションは、ユーザーがサイト内をスムーズに移動できるようにするために重要です。分かりやすく、簡潔なメニューを設置し、ユーザーが目的のページにたどり着きやすくすることが大切です。

【1.3 速度改善でユーザーの待ち時間を減らす】
ウェブページの読み込み速度は、ユーザーエクスペリエンスに大きな影響を与えます。画像や動画の最適化、キャッシュの活用などの方法を用いて、ページの読み込み時間を短縮しましょう。

【2. 陰キャでも簡単にページビューを増やす方法】
陰キャでも、効果的な方法を用いればページビューを増やすことができます。以下では、その方法を紹介します。

【2.1 SNSを活用した情報発信で集客を増やす】
SNSを活用して、ウェブページの情報を発信しましょう。興味を持ってもらえるようなコンテンツやキャッチーなタイトルを作成し、SNS上でシェアすることで、多くの人にアクセスしてもらえます。

【2.2 SEO対策で検索エンジンからのアクセスを獲得する】
検索エンジン最適化(SEO)を行うことで、ウェブページが上位に表示されやすくなります。適切なキーワードの選定やメタタグの最適化などの方法を用いて、検索エンジンからのアクセスを増やしましょう。

【2.3 コンテンツの質を向上させてリピーターを増やす】
ウェブページのコンテンツの質を向上させることで、リピーターを増やすことができます。興味深い情報や役に立つ情報を提供し、ユーザーが何度も訪れたくなるようなコンテンツを作成しましょう。

【3. ウェブページ設計で成功するためのポイント】
ウェブページの設計で成功するためには、以下のポイントに注意しましょう。

【3.1 ユーザーのニーズを理解し、ターゲットに合わせたコンテンツを提供する】
ユーザーのニーズを理解し、それに合わせたコンテンツを提供することが重要です。ターゲット層の興味や関心に合わせた情報を提供することで、ユーザーの満足度を高めることができます。

【3.2 データ分析を活用して改善点を見つけ、常に進化させる】
ウェブページの成果を分析し、改善点を見つけるためにデータ分析を活用しましょう。ユーザーの行動分析やコンバージョン率の確認などを行い、常にウェブページを進化させることが重要です。

【3.3 競合他社と差別化するための独自の要素を取り入れる】
競合他社と差別化するためには、独自の要素を取り入れることが重要です。ユニークなコンテンツや特徴的なデザインなど、他社とは異なる魅力を持つウェブページを作成しましょう。

以上が、効果的なウェブページ設計術と陰キャでも簡単にページビューを増やす方法、そしてウェブページ設計で成功するためのポイントです。これらのポイントを意識しながら、魅力的で使いやすいウェブページを作成してください。

 

 

2018年のときは何言っているかわりませんでしたが、進化したなと実感しました。

 

Javascriptの圧縮解除

いくつかあるけど、これでよいのかな。

っていうかminじゃないのに圧縮されているとかどうなの??まあ、合ってな思い込みでした。。。。

 

https://www.10bestdesign.com/dirtymarkup

Windows Server 2022で自動ログオンさせる方法

レジストリで設定するようになります。従来と同じです。

・regeditでレジストリを起動します。

・以下のキーの値を設定します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

 

名前
DefaultDomainName ドメイン名
DefaultUserName ユーザー名
DefaultPassword パスワード
AutoAdminLogon 1

DefaultPasswordがない場合は作成する
名前 : DefaultPassword
種類 : REG_SZ
データ : パスワード

Windows Server 2012のActive DirectoryにWindows Server 2022にADとして追加してみた。

この記事を書いていることはそろそろ、Windows Server 2012のお役目御免のタイミングかと思います。

それなのでWindowsServer2022を追加してWindowsServer2012をお休みさせる予定の手順をまとめてみました。

事前準備

・Windows Server 2012のActive Directoryサーバーを用意します。
以下はご自身の環境に合わせてご変更ください。

ホスト名 win2012ad1
IPアドレス 192.168.255.11
ドメイン名 sample.local

 

・Windows Server 2022を初期インストール状態、IPアドレス割り当て済み状態を用意します。

ホスト名 win2022ad2
IPアドレス 192.168.255.12

準備1

Win2022ad2で作業します。Windows Server 2022を「sample.local」ドメインに参加します。

・DNSをwin2012ad1のIPアドレスにします。

・コンピューターのプロパティを開きます。その後、「このPCの名前を変更(詳細設定)」をクリックします。

・変更ボタンを押します。

・所属するグループを選択して参加先のドメイン名を入力し、「OK」ボタンをクリック後、管理者アカウント情報を入力します。

 

※以下のエラーの場合:DNS周り、IPv6になっていないかを確認します。

・Active Directoryに参加できたら再起動して準備完了です。

WindowsServer2022のActive Directory追加手順

・サーバーマネージャーから「役割と機能の追加」をクリックします。

・指示に従って進めていき、「サーバーの役割の選択」で「Active Directoryドメインサービス」にチェックを入れます。
※ポップアップで表示されたものは追加します。

・そのまま画面に従って進めていき、「インストール オプションの確認」で「必要に応じて対象サーバーを自動的に再起動する」にチェックを入れ、「インストール」をクリックします。

・インストールが終わり「閉じる」をクリックした後、サーバーマネージャーから「このサーバーをドメインコントローラーに昇格する」をクリックします。

・「既存ドメインにドメインコントローラーを追加する」を選びます。

このときに「ユーザーアカウント名を指定してください。」と表示された場合は「変更」をクリックしてユーザーアカウントをドメインの管理者のアカウントを指定します。

・後は画面に従っていき、「インストール」をクリックしてインストール行います。
SYSVOLフォルダ等は場所を移動するものではないと過去の経験上そう思っています。

再起動が終わって、Active Directoryの同期等が行われます。同期しているので15分ぐらいは、待ちましょう!

win2012ad1とwin2022ad2の同期確認をする

やっぱりこのあたりは、きちんと行わないと後のトラブルになるのでしっかりと行う必要があります。PDCという言い方はないのですが、もう、古い人間なのとなんだかんだPDCという概念が残っているようなのでそうしています。

操作は、wind2022ad2で実施

・コマンドプロンプトを開いて、同期状態を確認します。

実行コマンド:repadmin /replsummary

失敗が0であることを確認。

テスト用のはきれいにエラーがありません。そりゃ、運用していないので。

ちなみにしばらくぶりにADサーバーをチェックするとこんな感じが一般的かもしれません?気づけよ!?気づかないことが多いですΣ(´∀`;)
以下のところで対処方法を記述してみました

Win2012AD1サーバーでFSMOの転送処理を行う

作業するサーバーが変わって、「win2012ad1」です。この部分が昔の時代のPDC的なイメージです。そんなことはおいておいて、役割を転送します。

転送する役割は以下の5つです。

・ PDC エミュレーター
・ RID マスター
・ インフラストラクチャーマスター
・ スキーママスター
・ ドメイン名前付け操作マスター

・PowerShellを管理者で開きます。

・以下のコマンドを実行して移行します。1行でできるので便利です。

Move-ADDirectoryServerOperationMasterRole –Identity <宛先ドメインコントローラー名> -OperationMasterRole PDCEmulator,RIDMaster,InfrastructureMaster,SchemaMaster,DomainNamingMaster


・操作マスタ(FSMO)を確認します。PowerShellで以下のコマンドを実行します。

netdom query fsmo

移行できたことが確認できればOKです。

ラスト!Win2012ad1のドメインコントローラーを降格します!

「win2012ad1で作業を行います。」

忘れないうちに、各ドメインコントローラーで降格の優先と代替DNSのIPアドレスを変更します。(win2012ad1の削除)

・サーバーマネージャーから「役割と機能の削除」をクリックします。

・指示に従って画面を進めていき「サーバーの役割」で「Active Directory ドメインサービス」のチェックを外します。

・関連サービスも削除します。

・検証結果がエラーで表示されますがその中にある「このドメインコントローラーを降格する」をクリックします。

・Active Directoryドメインサービス構成ウィザードが表示され、「次へ」をクリックします。

・「削除の続行」にチェックを入れて、「次へ」をクリックします。

・降格後のパスワードを入力して「次へ」をクリックします。

・「降格」ボタンをクリックします。

・再起動が強制的に実施されます。

・ログインを行います。DNSを変え忘れたときは、ドメインでなくローカルでログインしましょう!

・サーバーマネージャーを開き「役割と機能の削除」をクリックします。

・「Active Directory ドメインサービス」と「DNSサーバー」のチェックを外します。

・画面に従っていき、削除を行います。

・削除が終わったら、サーバー再起動を行います。(コマンドだと「shutdown /r /t 0」)

・これで作業は終わりです。

win2022ad2のIPアドレスを「win2012ad1」にしたい場合は、IPアドレスを変更して、サーバーを再起動してください。(win2012ad1はシャットダウンした状態もしくはIPアドレスを変更した後に行ってください)

「このサーバーとの最後のレクリケーション以来、廃棄(Tombstone)の有効期間を超えた時間がたっているため、ディレクトリサービスはこのサーバーでレプリケートできません。」を対処する

これは対処しないとNG案件です。時間経過しているので強制同期スタートです。

レジストリーに下記の強制同期キーを記述して、サーバーを再起動してみた。再起動後は削除

レジストリ キー: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters\
値: Allow Replication With Divergent and Corrupt Partner
タイプ: REG_DWORD
値のデータ: 1

結果としては前進した!

「(8606) オブジェクトの作成に必要な属性が足りません。このオブジェクトは、削除されて既にガーベジ コレクションが行われ、存在しない可能性があります。」を対処する。

「tombstoneLifetime」の値を確認する。

サーバーマネージャーから「ADSIエディター」を開く

 

・「ADSIエディタ」>「右クリック」>「接続」をクリックする。

・「接続ポイント」を「識別名または名前付きコンテキストを選択するまたは入力する」を選択する。

接続値として以下のようにする

例:ドメイン名.localの場合
repadmin /showattr CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=ドメイン名,DC=local /atts:tombstonelifetime

・既定の名前付きコンテキストの下の「CN=」のプロパティを開く。(表示されなければ、「既定の名前付きコンテキスト」をダブルクリックすれば表示される

・「tombstonelifetime」の値を確認する。これだと180

残りオブジェクトを削除する

*上記で日数見たけど、結局オーバーしているのは削除しないとというお話なので削除します。

削除するにはGUIDが必要だそうで。GUIDも調べる
削除コマンド:repadmin /removelingeringobjects <Dest_DSA_LIST> <Source DSA GUID> <NC> /ADVISORY_MODE

PDCのサーバーのGUIDを以下のコマンドで調べる。

repadmin /showrepl /v サーバー名

・削除を実行する

repadmin /removelingeringobjects <削除するサーバー+ドメイン名> <調べたGUID> <DC=のドメイン名指定> /ADVISORY_MODE

・レジストリでレプリケーションを停止する

・レジストリキーの値を0にする

HKLM\System\CurrentControlSet\Services\NTDS\Parameters\Strict Replication Consistency

・Active Directoryサイトとサービスで今すぐレプリケーションを実行し、エラーがないことを確認する。

詳しくは以前のこちらの記事を参照

・上記の作業が終わったら、レジストリキーの値を1に戻す。(忘れずに)

・それで最初に戻って同期のエラーがないか確認する

repadmin /replsummary

・追加した以下のレジストリキーを削除する

レジストリ キー: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters\
値: Allow Replication With Divergent and Corrupt Partner

すこしこの状態で様子を見ましょう!

Advanced Custom Fields(ACF)のv5系→v6で日付の戻り値、ファイルは気をつけないと

Advanced Custom Fields(ACF)がバージョン6系になって、日付の戻り値がバージョン5と異なっていた。いやそもそもDBへの格納される値が異なっている。

バージョン6からは、「/」が入った日付型になっていてバージョン5は数字だけだったのでおいおいって感じでクエリ等で操作しているときは気をつけたほうが良い。

 

ファイルで使用していたフィールドの内容変更が反応しない(更新や削除)

フィールド名が異なると問題なく動作する・・・どうしたもんか・・・

っていうか、全体的にACFの内容の編集ができない。どうしてだ。

→WP FrontEndプラグインとACFの連携が有効になっていたため、更新できなかった。連携をオフにした。

ひさびさにサーバー構築してみたらSSHが鍵でログインできない!件

ひさびさにLinuxサーバーを構築してみました。Centosが終わったので「almalinux」 にOSの種類を変えてみました。

SSHにはterateam、SCPは、WinSCPという定番を使っております。

 

SSHで鍵でログインできない件でチェックした事項

・sshの設定でRootユーザーのログイン禁止とパスワード禁止設定されているのか
PermitRootLogin no
PermitEmptyPasswords no

・.sshディレクトリは、700であること

・ .sshディレクトリ配下の公開鍵や認証情報は、600であること

・秘密鍵ファイルの—–END OPENSSH PRIVATE KEY—– の後に改行が入ってないと(これは、キー読み込み時にエラーを吐き出す)

・WinSCPを最新版にする

・SSHクライアントをTeraTeamではなく、Windows10に附属のSSHを利用する

 

をやってみました。

SSHで鍵を使ってログインできなかった件の結論としては

・Windows側で利用しているクライアントソフトの問題でした・・・

 

バージョンアップしないとね・・・。

 

WindowsでもSSHの鍵はセキュリティーでうんぬんって言われるので、該当のキーは利用するユーザーのみに限定して回避しました。

 

phpexcelからphpspreadsheetに乗り換えたときのメモ

もういい加減「phpexcel」の部分を「phpspreadsheet」に置き換えようとざっくりとそのまま使いまわしして、調整したときに発生した問題をまとめてみました。

■調整事項

mergeCellsByColumnAndRow 1から始まるように変更
setCellValueExplicitByColumnAndRow 1から始まるように変更
Worksheet::getDefaultStyle() // PHPexcel時
$worksheet->getDefaultStyle(); 

// phpspreadsheet時
$worksheet->getParent()->getDefaultStyle();

 

以下のURLがPHPexcelからphpspreadsheetに乗り換えるときに参考になります。
https://phpspreadsheet.readthedocs.io/en/latest/topics/migration-from-PHPExcel/

kinstaでPHP7.4→8.1に変更してざっくりと速度を測定してみた

kinstaでPHP7.4→8.1に変更してざっくりと速度を測定してみました。

なんでざっくりかというとホームページを制作途中のため、ざっくりなページでで試してみましたw

ホームページの速度結果

PHPバージョン HTML読み込み終了までの時間
PHP7.4 1.25秒
PHP8.1 0.952秒

ざっくりと24%速度が改善しています。PHPバージョンを変更するだけでこれだけ改善します。計測用に何度も行ったわけではないのでご参考までに。

※Chromeのデベロッパーツールで計測しました。

アクセス速度を改善したい場合はこれはやるべき事項ですね。

 

PHP7.4 vs PHP8.1をエックスサーバーで試してみた。

PHP8.1の効果が2022年11月9日時点で効果が確認できかなったので結果掲載はやめました( ;∀;)

「エックスサーバーで運用するときは最新且つ推奨のPHPバージョンを利用しているのがよい!!」

 

という本日の結論でした。時代とともに変わると思いますが・・・。

 

とりあえず、エックスサーバーでワードプレスを運用中の方はPHP7.4で今のところ行きましょう!

PHP8でAds by datafeedr.comの管理画面がエラーだとよ。

Ads by datafeedr.comを入れたままPHP8に変更したら、そのまま動作はするが管理画面でエラーが発生なのでざっくりと対応してみた。

なんだかんだ代替プラグインがないこともあるんでどうにかね。

 

エラー内容:Uncaught TypeError: Cannot access offset of type string on string

配列の問題ね。厳格化になっていっているからね。

 

エラーを対処するまでの流れ

1.ワードプレスのデバックモードを有効にする

2.エラーのプログラムと行と内容を特定する

3.今回はPHP7系で警告出ていると思うから内容を確認。

4.配列の定義あるときとないときの対処の記述がないのでそのあたりをごにょごにょと記述する。

「(get_option( ‘dfads-settings’ )」の値がないのに「$output[‘dfads_enable_shortcodes_in_widgets’]」=XXXXって

それはそれは怒られます。

ざっくりとemptyで判定しといた。

    	        $output = array(
			'dfads_enable_shortcodes_in_widgets'=>0,
		);
		if(!empty(get_option( 'dfads-settings' )))
		{
			$output = get_option( 'dfads-settings' );			
		}

もう1箇所出ていたから同じような感じで。

あとは、phpの7と8で試してOKでした。