いくつかあるけど、これでよいのかな。
っていうかminじゃないのに圧縮されているとかどうなの??まあ、合ってな思い込みでした。。。。
https://www.10bestdesign.com/dirtymarkup
いくつかあるけど、これでよいのかな。
っていうかminじゃないのに圧縮されているとかどうなの??まあ、合ってな思い込みでした。。。。
https://www.10bestdesign.com/dirtymarkup
レジストリで設定するようになります。従来と同じです。
・regeditでレジストリを起動します。
・以下のキーの値を設定します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
名前 | 値 |
DefaultDomainName | ドメイン名 |
DefaultUserName | ユーザー名 |
DefaultPassword | パスワード |
AutoAdminLogon | 1 |
DefaultPasswordがない場合は作成する
名前 : DefaultPassword
種類 : REG_SZ
データ : パスワード
この記事を書いていることはそろそろ、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 |
Win2022ad2で作業します。Windows Server 2022を「sample.local」ドメインに参加します。
・DNSをwin2012ad1のIPアドレスにします。
・コンピューターのプロパティを開きます。その後、「このPCの名前を変更(詳細設定)」をクリックします。
・変更ボタンを押します。
・所属するグループを選択して参加先のドメイン名を入力し、「OK」ボタンをクリック後、管理者アカウント情報を入力します。
※以下のエラーの場合:DNS周り、IPv6になっていないかを確認します。
・Active Directoryに参加できたら再起動して準備完了です。
・サーバーマネージャーから「役割と機能の追加」をクリックします。
・指示に従って進めていき、「サーバーの役割の選択」で「Active Directoryドメインサービス」にチェックを入れます。
※ポップアップで表示されたものは追加します。
・そのまま画面に従って進めていき、「インストール オプションの確認」で「必要に応じて対象サーバーを自動的に再起動する」にチェックを入れ、「インストール」をクリックします。
・インストールが終わり「閉じる」をクリックした後、サーバーマネージャーから「このサーバーをドメインコントローラーに昇格する」をクリックします。
・「既存ドメインにドメインコントローラーを追加する」を選びます。
このときに「ユーザーアカウント名を指定してください。」と表示された場合は「変更」をクリックしてユーザーアカウントをドメインの管理者のアカウントを指定します。
・後は画面に従っていき、「インストール」をクリックしてインストール行います。
SYSVOLフォルダ等は場所を移動するものではないと過去の経験上そう思っています。
再起動が終わって、Active Directoryの同期等が行われます。同期しているので15分ぐらいは、待ちましょう!
やっぱりこのあたりは、きちんと行わないと後のトラブルになるのでしっかりと行う必要があります。PDCという言い方はないのですが、もう、古い人間なのとなんだかんだPDCという概念が残っているようなのでそうしています。
操作は、wind2022ad2で実施
・コマンドプロンプトを開いて、同期状態を確認します。
実行コマンド:repadmin /replsummary
失敗が0であることを確認。
テスト用のはきれいにエラーがありません。そりゃ、運用していないので。
ちなみにしばらくぶりにADサーバーをチェックするとこんな感じが一般的かもしれません?気づけよ!?気づかないことが多いですΣ(´∀`;)
以下のところで対処方法を記述してみました
作業するサーバーが変わって、「win2012ad1」です。この部分が昔の時代のPDC的なイメージです。そんなことはおいておいて、役割を転送します。
転送する役割は以下の5つです。
・ PDC エミュレーター
・ RID マスター
・ インフラストラクチャーマスター
・ スキーママスター
・ ドメイン名前付け操作マスター
・PowerShellを管理者で開きます。
・以下のコマンドを実行して移行します。1行でできるので便利です。
Move-ADDirectoryServerOperationMasterRole –Identity <宛先ドメインコントローラー名> -OperationMasterRole PDCEmulator,RIDMaster,InfrastructureMaster,SchemaMaster,DomainNamingMaster
・操作マスタ(FSMO)を確認します。PowerShellで以下のコマンドを実行します。
netdom query fsmo
移行できたことが確認できればOKです。
「win2012ad1で作業を行います。」
忘れないうちに、各ドメインコントローラーで降格の優先と代替DNSのIPアドレスを変更します。(win2012ad1の削除)
・サーバーマネージャーから「役割と機能の削除」をクリックします。
・指示に従って画面を進めていき「サーバーの役割」で「Active Directory ドメインサービス」のチェックを外します。
・関連サービスも削除します。
・検証結果がエラーで表示されますがその中にある「このドメインコントローラーを降格する」をクリックします。
・Active Directoryドメインサービス構成ウィザードが表示され、「次へ」をクリックします。
・「削除の続行」にチェックを入れて、「次へ」をクリックします。
・降格後のパスワードを入力して「次へ」をクリックします。
・「降格」ボタンをクリックします。
・再起動が強制的に実施されます。
・ログインを行います。DNSを変え忘れたときは、ドメインでなくローカルでログインしましょう!
・サーバーマネージャーを開き「役割と機能の削除」をクリックします。
・「Active Directory ドメインサービス」と「DNSサーバー」のチェックを外します。
・画面に従っていき、削除を行います。
・削除が終わったら、サーバー再起動を行います。(コマンドだと「shutdown /r /t 0」)
・これで作業は終わりです。
win2022ad2のIPアドレスを「win2012ad1」にしたい場合は、IPアドレスを変更して、サーバーを再起動してください。(win2012ad1はシャットダウンした状態もしくはIPアドレスを変更した後に行ってください)
これは対処しないとNG案件です。時間経過しているので強制同期スタートです。
レジストリーに下記の強制同期キーを記述して、サーバーを再起動してみた。再起動後は削除
レジストリ キー: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters\
値: Allow Replication With Divergent and Corrupt Partner
タイプ: REG_DWORD
値のデータ: 1
結果としては前進した!
「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
すこしこの状態で様子を見ましょう!
参考URL
Advanced Custom Fields(ACF)がバージョン6系になって、日付の戻り値がバージョン5と異なっていた。いやそもそもDBへの格納される値が異なっている。
バージョン6からは、「/」が入った日付型になっていてバージョン5は数字だけだったのでおいおいって感じでクエリ等で操作しているときは気をつけたほうが良い。
ファイルで使用していたフィールドの内容変更が反応しない(更新や削除)
フィールド名が異なると問題なく動作する・・・どうしたもんか・・・
っていうか、全体的にACFの内容の編集ができない。どうしてだ。
→WP FrontEndプラグインとACFの連携が有効になっていたため、更新できなかった。連携をオフにした。
ひさびさにLinuxサーバーを構築してみました。Centosが終わったので「almalinux」 にOSの種類を変えてみました。
SSHにはterateam、SCPは、WinSCPという定番を使っております。
・sshの設定でRootユーザーのログイン禁止とパスワード禁止設定されているのか
PermitRootLogin no
PermitEmptyPasswords no
・.sshディレクトリは、700であること
・ .sshディレクトリ配下の公開鍵や認証情報は、600であること
・秘密鍵ファイルの—–END OPENSSH PRIVATE KEY—– の後に改行が入ってないと(これは、キー読み込み時にエラーを吐き出す)
・WinSCPを最新版にする
・SSHクライアントをTeraTeamではなく、Windows10に附属のSSHを利用する
をやってみました。
・Windows側で利用しているクライアントソフトの問題でした・・・
バージョンアップしないとね・・・。
WindowsでもSSHの鍵はセキュリティーでうんぬんって言われるので、該当のキーは利用するユーザーのみに限定して回避しました。
もういい加減「phpexcel」の部分を「phpspreadsheet」に置き換えようとざっくりとそのまま使いまわしして、調整したときに発生した問題をまとめてみました。
mergeCellsByColumnAndRow | 1から始まるように変更 |
setCellValueExplicitByColumnAndRow | 1から始まるように変更 |
Worksheet::getDefaultStyle() | // PHPexcel時 $worksheet->getDefaultStyle(); // phpspreadsheet時 |
以下のURLがPHPexcelからphpspreadsheetに乗り換えるときに参考になります。
https://phpspreadsheet.readthedocs.io/en/latest/topics/migration-from-PHPExcel/
kinstaでPHP7.4→8.1に変更してざっくりと速度を測定してみました。
なんでざっくりかというとホームページを制作途中のため、ざっくりなページでで試してみましたw
PHPバージョン | HTML読み込み終了までの時間 |
PHP7.4 | 1.25秒 |
PHP8.1 | 0.952秒 |
ざっくりと24%速度が改善しています。PHPバージョンを変更するだけでこれだけ改善します。計測用に何度も行ったわけではないのでご参考までに。
※Chromeのデベロッパーツールで計測しました。
アクセス速度を改善したい場合はこれはやるべき事項ですね。
PHP8.1の効果が2022年11月9日時点で効果が確認できかなったので結果掲載はやめました( ;∀;)
「エックスサーバーで運用するときは最新且つ推奨のPHPバージョンを利用しているのがよい!!」
という本日の結論でした。時代とともに変わると思いますが・・・。
とりあえず、エックスサーバーでワードプレスを運用中の方はPHP7.4で今のところ行きましょう!
Ads by datafeedr.comを入れたままPHP8に変更したら、そのまま動作はするが管理画面でエラーが発生なのでざっくりと対応してみた。
なんだかんだ代替プラグインがないこともあるんでどうにかね。
配列の問題ね。厳格化になっていっているからね。
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でした。
実用に向けて色々とやってみました。今回は、アップロードに関してです。
変更はできないとのこと。一時的なものは、SFTPなどでアップしてほしいとのこと。
配信サーバーに利用しようとしたんでないけど、動画ファイルアップロードしたいって言われたら、上記のことを言われた。動画配信は別サーバー使うけど。
速度が早い分気を使う点が多数あるので、単純に一般的な日本の共用レンタルサーバーからの移動は調整や作り変えなど必要によっては発生するかもしれません。
基本的にサポートは英語でしたが、Google翻訳でやりとりでOKでした。
実際のサイトデータを入れてどうかチェックしていきます。
運用想定サイト:会員向けの動的コンテンツがメインでほぼキャッシュ利用できない。
→個別に依頼してキャッシュを無効化していただく必要がある。
サイト公開まで「Password Protected」プラグインでパスワード保護していることが多いのですが、キャッシュに引っかかりました。
→対象のクッキー情報を送ってパスしていただきました。(プラグインの設定ページ記述されています。)
除外してもらうときの内容
Cookie 名:”bid_1_password_protected_auth”
はい。キャッシュにヒットしました。
→依頼して除外
無効化っぽい?です。回答あやふや。まあ、ちゃんと動いていたからいいや
この一択となりました。