投稿

2021の投稿を表示しています

CentOS Stream 8 + Ruby + fontcustomをインストール

CentOS7でやった時のリライト版。思ったより時間が掛かった。 環境: CentOS Stream 8, ruby 2.6.7p197, fontcustom 2.0.0 参考サイト 【CentOS】SVGをWOFFなどのWebフォントへ変換するfontcustomをインストール GitHub | FontCustom/fontcustom: Generate custom icon webfonts from the comfort of the command line. fontcustomのGitHubページを参考にコマンド実行。powertoolsにfontforgeはあった。 # cd /opt/software/ # dnf install fontforge --enablerepo powertools # git clone https://github.com/bramstein/sfnt2woff-zopfli.git sfnt2woff-zopfli && cd sfnt2woff-zopfli && make && mv sfnt2woff-zopfli /usr/local/bin/sfnt2woff # git clone --recursive https://github.com/google/woff2.git && cd woff2 && make clean all && sudo mv woff2_compress /usr/local/bin/ && sudo mv woff2_decompress /usr/local/bin/ Rubyをインストール。 モジュール一覧で確認。 # dnf module list ruby CentOS7の時は2.6だったので冒険せず2.6をインストール。 # dnf module install ruby:2.6 バージョン確認 # ruby --version ruby 2.6.7p197 (2021-04-05 revision 67941) [x86_64-linux] fontcustomをインストール # gem install fontcustom エラー F

WARNING: [pool www] ACL set, listen.owner = 'nginx' is ignored

php-fpmが下記ログを出力してたので調査したときの覚書。 WARNING: [pool www] ACL set, listen.owner = 'nginx' is ignored 環境: CentOS Stream 8, nginx 1.20.1, php 7.4.6 設定ファイルに記載されている。 # less /etc/php-fpm.d/www.conf ; When POSIX Access Control Lists are supported you can set them using ; these options, value is a comma separated list of user/group names. ; When set, listen.owner and listen.group are ignored listen.acl_users = apache,nginx ;listen.acl_groups = acl_usersが有効の場合、 listen.ownerとlisten.groupが無視される。 CentOS8のdnf module listからPHPをインストールするとlisten.acl_usersが有効になっている。 CentOS7のremiリポジトリからインストールしたPHPはコメントアウトされていた。 ACL(POSIX Access Control Lists)とは 従来の3bitでのパーミッション管理(所有者・グループ・その他)を拡張したアクセス権限管理。 Windowsサーバー環境をLinuxサーバー環境へ置き換える場合に有用らしい。 カーネル2.6からサポート。 Linux でのアクセス制御リスト | セキュリティ強化ガイド | openSUSE Leap 15.3 現在のカーネルのバージョン確認 # uname -r ACLのアクセス権限を確認するにはgetfaclコマンドを使う # getfacl /run/php-fpm/www.sock getfacl: Removing leading '/' from absolute path names # file: run/php-fpm/www.sock # owner: root # group: ro

PHPでCSV出力。ダウンロードせず文字化けしてブラウザで表示される。

久しぶりにCSV出力を実装したときの覚書。 環境: nginx 1.20.1, PHP 7.4.6 CSVでダウンロードするように実装した後、データが多くなると文字化けしてダウンロードまでいかない現象が発生。 参考サイト php://outputが書き込みの途中で出力される - Qiita ※ コメントを読むこと ポイントは fputcsv前にheader関数を使いHTTPヘッダーを送信(設定)する。 参考:  PHP: header - Manual output_bufferingを十分な値に設定する。 参考:  PHP: 実行時設定 - Manual output_bufferingの詳細 output_bufferingは出力するための作業領域容量を設定する。 生成するCSVファイルが大きくなる可能性がある場合は、実ファイルとして保存する処理に変更する。 そもそも 出力バッファを使わずに実ファイルとして生成→readfile→unlinkする べき。 ファイル名は他の処理と被らないようにランダム生成。 どうしても出力バッファを使いたい場合はoutput_bufferingの設定を変更する。 # less /etc/php.ini output_buffering = 40960 再読み込み # systemctl reload php-fpm ちなみにPHP CLIは常にoutput_bufferingが0なのでコマンドで確認しても常に0。 # php -i | grep output ブラウザでphpinfo()を確認する必要がある。

Bootstap5のウェブページをブラウザで印刷したときのBreakpoint

ホームページを印刷するときになるべく見た目通りに印刷するにはどうしたらいいか調査したときの覚書。 環境: Google Chrome 92, Bootstrap 5.0.2 結局、ブラウザ印刷はB3用紙(364 x 515 mm)とCSSで定義することにした。 @page {   margin: 5mm;   size: 364mm 515mm; } ※ @pageのsizeはChromeとEdgeで有効。Firefoxは効かない。 size - CSS: カスケーディングスタイルシート | MDN 印刷したときの横幅(Bootstrap Breakpoint) B3(364 x 515 mm)の場合 B3の横幅364mmを(両端のマージン10mm引いて)pixelに変換すると ディスプレイ: (364㎜ - 10mm) * 0.04inch * 72dpi = 1020px 印刷: (364㎜ - 10mm) * 0.04inch * 96dpi = 1359px CSSの@media(BootstrapのBreakpoint)は72dpiで計算される。 この場合、BootstrapのLarge(lg)が適用。 その後、印刷用に横幅1359pxで再描画。 だからブラウザで印刷したときは見た目とBreakpintの位置に違和感がある。 (あくまでも実験した結果による推測です) A4(210 x 297 mm)の場合 ディスプレイ: (210㎜ - 10mm) * 0.04inch * 72dpi = 576px 印刷: (210㎜ - 10mm) * 0.04inch * 96dpi = 768px BootstrapのSmall(sm)が適用されて横幅768pxで印刷。 A3(297 x 420 mm)の場合 ディスプレイ: (297㎜ - 10mm) * 0.04inch * 72dpi = 827px 印刷: (297㎜ - 10mm) * 0.04inch * 96dpi = 1102px BootstrapのMedium(md)が適用されて横幅1102pxで印刷。 関連記事 Bootstrap3のWEBページを印刷してもいい感じに

お名前.comからor.jp(属性型ドメイン)のドメイン移管

お名前.comからValue Domainにドメイン移管したときの覚書。運営は同じGMOグループ。 きっかけは「ホームページが見れないんですけど何かありました?」と連絡がきて、お客様管理のドメインがクレジットカードの期限切れで更新できなくなったため、今後は弊社でドメイン管理することになった。 復旧するのに11,000円掛かるので、ドメインの期限切れは要注意。 公式ヘルプを参考に 移管状況確認/承認メール再送/AuthCode修正/移管キャンセル|お名前.com Navi ガイド|ドメイン取るならお名前.com ドメイン移管手順 お名前.comにログイン 移管前のDNS情報をメモっておく。 ドメイン機能一覧 → 属性型JPドメイン情報変更 → 組織情報変更申請(記載事項変更) で連絡先メールアドレスを確認。 ※ このメールアドレスに移管承認メールが届く。 ※ 変更するのに1,155円掛かる。反映まで1日ぐらい掛かる。 Value Domainの 属性型JPドメインの登録・設定 → 新しい指定業者変更の申請 から移管したいドメインを入力申請 お名前.comのドメイン機能一覧 → 移管状況確認 → 他社への移管状況確認 で承認メールの送信先を確認。 移管申請から数時間で承認メールが来た。 承認後、1時間ほどで移管完了。 DNS情報を登録してネームサーバーもValue Domainへ切り替える。 お名前.comの組織情報変更だけでお金とるのには驚いた。 維持費用の値段高いし、コントロールパネル使いにくいし、いいことない。 「お名前.com」というマーケティングの勝利だと思う。 【関連記事】 JPドメインの指定事業者変更とドメイン名移転の違い Value DomainからGoogle Domainsにドメイン移管する

PowerShell7でEmacs(Linux)のキーバインド設定

PowerShell7にしたらCtrl+Bで移動できなくなったので調査したときの覚書。 PowerShell7はクロスプラットフォームエディションっていうからBashっぽいキーバインドがデフォルトで使えると思ったらそうでもなかった。 PowerShell 7.0 の新機能 - PowerShell 環境: Windows10 21H1, PowerShell 7.1.3 今のPowerShellのバージョンを表示 PS> $PSVersionTable Microsoft StoreからPowerShell7をインストールしたらWindows Terminalからpwshすると切り替わる PS> pwsh PS> $PSVersionTable Ctrl+Bで移動できなくなったのはPSReadLineモジュールが効いてないから。 モジュールをインストールしなおす。 まずはPowerShellGetから。 公式サイト を参考に。 PS> pwsh PS> Install-Module -Name PowerShellGet -Force PowerShell7を起動しなおす。 PSReadLineモジュールをインストール。 PS> Install-Module PSReadLine エラーになったので下記コマンドを実行。 PS> Install-Module PSReadLine -AllowPrerelease -Force インストール完了。 「-Force」付けたから?管理者権限で起動したからかも。 キーバインド変更 PS> Set-PSReadLineOption -EditMode Emacs これだけだと再起動すると元に戻るので、設定ファイルを置く。 モジュールPathを表示 PS> $env:PSModulePath D:\Documents\PowerShell\Modules PowerShell5は「WindowsPowerShell」だった。 D:\Documents\PowerShell\Microsoft.PowerShell_profile.ps1を作る。 Import-Module PSReadLine Set-PSReadlineOption -EditMode Emacs これでP

CentOS Stream8 + ImageMagick + php-imagickをインストール

CentOS Stream8の環境にImageMagickをインストールしたときの覚書。 php-gdで十分かと思ったけども、やっぱりインストールしておくことにした。 環境: CentOS Stream 8, ImageMagick 6.9.10.86-1.el8, PHP 7.4.19 参考サイト How To Install ImageMagick and PHP Imagick on CentOS 8 / RHEL 8 | ITzGeek EPELリポジトリはインストール済み。 ImageMagick-develをインストールするのにPowerToolsリポジトリを有効にする必要がある。 ImageMagick-develはphp-imagickをビルドするのに必要。 # dnf config-manager --set-enabled powertools ImageMagickをインストール #dnf install ImageMagick ImageMagick-devel PHP拡張ライブラリをインストール # dnf install php-devel php-pear make imagickをビルド。 # pecl install imagick 拡張ライブラリを読み込むようにphp.iniを作る # echo "extension=imagick.so" > /etc/php.d/imagick.ini 再起動 # systemctl restart php-fpm 確認 # php -i | grep imagick 【関連記事】 CentOS Stream 8 + Nginx + PHP + MariaDB + Postfixの環境を構築(2021年版) ホームページ開発に画像形式WebPを導入 CentOS7 + Nginx + PHP7 + MariaDB + Node.jsの環境を構築する手順まとめ

CentOS Stream 8 + Nginx + PHP + MariaDB + Postfixの環境を構築(2021年版)

新規VPSを借りて設定したときの覚書。 環境: さくらVPS、CentOS Stream 8 サーバー作成直後の初期設定は下記記事を参考に。 今回は同じ秘密鍵を使うのでインスタンス作成してすぐSSHログインできる。 【CentOS8】さくらVPSサーバーの初期設定 2020年版 目次 初期設定 nginxのインストール PHPのインストール MariaDBをインストール phpMyAdminをインストール SSLの設定 Postfix + DKIM(送信ドメイン認証)をインストール cron設定 ネットワーク回線速度とベンチマーク測定 1.初期設定 SSHログインしたらまずはアップデート。 # dnf update ホスト名変更 # hostnamectl set-hostname server02.webrec.co.jp # hostnamectl status タイムゾーン確認 # timedatectl status SELinux確認 # getenforce これで再起動 # reboot さくらVPSの管理コンソールでパケットフィルタからsshの他にWeb(http, https)を許可。 DNS(管理用の名前解決)の設定もしておく。 EPELリポジトリ追加 # dnf install epel-release # dnf update certbotをインストール。 python3もインストールされる。 # dnf install certbot pipを最新にする # pip3 install --upgrade pip pipモジュール一覧、アップデート可能な一覧 # pip list # pip list -o 過去の経験 からcertbot周りを最新にしておく。 # pip install -U certbot requests setuptools urllib3  Gitの設定 # git config --global user.name "Hoge" # git config --global user.email "hoge@company.co.jp" GitLabの秘密鍵を登録しておく(他のサーバーからコピペ)。 # vi .ssh/id_rsa.gitlab.com # vi .ssh/

DNS CAA(Certificate Authority Authorization)を設定(Let's Encrypt)

  SSL Server Test をやってみてDNS CAAの項目をクリアしようと調査したときの覚書。 1.DNS CAAとは SSLサーバー証明書の発行を許可する仕組み。 Let's Encryptなどの認証局がサーバー証明書を発行する際にDNSを確認し、ドメイン所有者がその認証局に証明書発行を許可するかチェックする。 現在は任意設定のためDNSにCAAレコードがなくても発行可能。 参考サイト DNS CAA レコード設定について – さくらのサポート情報 SSL/TLSサーバ証明書、コードサイニング証明書 | 国内最安値DigiCert(デジサート)正規代理店 2.Value Domainで設定 DNS設定を追加。 ワイルドカード証明書は発行しない。 caa @ 0 issue "letsencrypt.org" caa @ 0 issuewild ";" caa @ 0 iodef "hoge@test.co.jp" CAAを設定する特典はないので、他の認証局が誤発行するのを防ぐ用途。 ただSSL Testで注意されなくなるので気持ちがいい。 SSL Server Test (Powered by Qualys SSL Labs) 【関連記事】 NginxのSSL/TLS設定を見直す(2019年版)

CentOS Stream 8でMariaDBを10.3から10.5へアップグレード

dnfコマンドでMariaDBを10.3から10.5へアップグレードしたときの覚書。 環境: CentOS Stream release 8 MariaDB 10.3のサポートは2023年5月まで。 MariaDB 10.5のサポートは2025年6月まで。 詳細はMariaDB公式サイトを確認する。 MariaDB Server Releases - MariaDB Knowledge Base Changes and Improvements in MariaDB 10.5 - MariaDB Knowledge Base 10.5からはmysqlコマンドからmariadbコマンドに変更になった(mysqlコマンドも使える)。 ホームページ用途で気にする変更はなさそう。 dnfコマンドはFedora公式サイトを参考に。 Switching module streams :: Fedora Docs 現在インストールされているバージョンを確認 # dnf module list mariadb [i]付きがインストールされているバージョン。 phpMyAdminなどからバックアップしておく。 10.3から10.5に切り替える。 # dnf module reset mariadb 10.3も10.5もリストにあるのでインストールコマンドでいける。 # dnf module install mariadb:10.5 確認 # dnf module reset mariadb phpMyAdminでも確認する。 念のため自動起動が有効になっているか確認 # systemctl list-unit-files -t service | grep mariadb 【関連記事】 CentOS8のPHPを7.4にdnfでUpgrade CentOS8 + Nginx + PHP + MariaDB + Node.js + Certbotの環境を構築する手順まとめ

会社名変更(商号変更)の手続き

会社名を変更したときの覚書。 環境: 株式会社、埼玉県川口市、一人社長 手続きなど参考にしたサイト 社名(商号)変更に必要な手続き(書式例付き)|税理士検索freee 株式会社の社名変更で行った手続き・作業をまとめました | お役立ち記事 | 大阪のWeb制作会社 ナンクマ 事前準備 同じ商号がないか調査 参考サイト:  国税庁法人番号公表サイト 社印、銀行印、角印を注文 会社名、住所、代表者名が入ったゴム印は必須。ないと銀行手続きが全部手書き。 ドメイン取得 新会社ロゴをデザイン会社に発注 取引先に挨拶状の送付 今回は登記変更してから挨拶状を送ったけど事前に送るのが一般的。 登記変更 会社設立ひとりでできるもん で申請に必要な書類を作成。5,500円。 臨時株主総会議事録を含めた法務局へ提出する書類全てを生成してくれる。 代表個人の印鑑証明書を市役所で取得(印鑑登録証が必要) さいたま地方法務局へ提出 印紙代: 30,000円 登記完了日が13日後 登記完了~各役所の手続き 登記完了後は、登記事項証明書と印鑑証明書を取り寄せる。 登記・供託オンライン申請システム から登記事項証明書を2部申請。 1通500円。直接行くより100円安い。 印鑑証明書は法務局へ行くことにした。 ※ 行くときは印鑑カードを忘れないように(未来の自分へ) 結局必要になった書類の数 登記事項証明書: 4通 銀行, 信用金庫, レンタルオフィス, 公庫 印鑑証明書: 4通 銀行, 信用金庫, レンタルオフィス, 公庫 次回は 申請用総合ソフト で電子申請する。 役所 e-Tax, eLTAX, e-Govから電子申請する。 eLTAX(ウェブ版)が使いやすくなってた。 税務署: e-Tax(ウェブ版)の利用者情報を変更、 「法人設立及び異動手続きの申請・届出」→「事業年度等を変更した場合等の届出」(スクロールしないと出てこない) 一応、履歴事項全部証明書のスキャンしたPDFを添付した。 県税事務所: eLTAX(ウェブ版)の「異動届(法人二税・特別税)」 市役所:eLTAX(ウェブ版)の「異動届(法人住民税)」 年金事務所:e-Govから「健康保険・厚生年金保険適用事業所所在地名称変更(訂正)届(管轄内)(管轄外)(2019年5月以降手続き)」を選択。 送信時にマイナンバーカードで署名する。

Google Workspace(旧G Suite)のプライマリドメインを変更する

会社名を変更に伴いドメインも変更するので、Goole Workspaceのプライマリドメインを変更したときの覚書。 環境: Google Workspace Business Starter、従業員一人 参考 Google Workspace のプライマリ ドメインを変更する - Google Workspace 管理者 ヘルプ 事前に新ドメインのDNSのMXレコードは設定しておいた。 手順 管理コンソールのドメインの「ドメイン追加」で新しいドメイン追加 (TXTレコードを追加してドメインの所有権を証明) 追加後のドメインの管理画面で新しいドメインを「プライマリに設定」する ユーザー一覧から「ユーザー名の変更」からメインのメールアドレスを変更 一旦ログアウトして、新しいメールアドレスでログインし直す。 Google Chromeのアカウント名を変更 Googleアカウントの個人情報を更新。その他の情報もこの機会に更新。 Google Workspaceのその他変更 アカウント設定: プロファイルの名前を変更、ロゴ画像変更 メール設定:DKIM認証を設定 無事、前のアドレスからのメールも転送された。 【関連記事】 Windows10をクリーンインストールして初期設定。バックアップ作業 【G Suite】ドメインエイリアスをプライマリドメインに。無償版から有償版に切り替え

certbotエラー:No module named 'urllib3.packages.six'

 certbotが下記エラーになったときの覚書。   File "/usr/lib/python3.6/site-packages/urllib3/exceptions.py", line 2, in <module>     from .packages.six.moves.http_client import ( ModuleNotFoundError: No module named 'urllib3.packages.six' 環境: CentOS Stream release 8, certbot 1.14.0, urllib3 1.24.2 urllib3でエラーになっている。 Google先生に聞くとurllib3とrequestsを強制的にアップグレードするコマンドを教えてくれる。 nginx - Certbot :ImportError: No module named | requests.packages.urllib3 - Stack Overflow 現在のpipモジュール一覧 # pip list アップデート可能な一覧 # pip list -o まずはpip自体を最新にする。 # pip install -U pip urllib3をアップデート # pip install -U urllib3 下記エラー ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. requests 2.20.0 requires urllib3<1.25,>=1.21.1, but you have urllib3 1.26.4 which is incompatible. requests 2.20.0との相性がよくないらしい。 requestsを最新にする。 # pip install -U requests setuptoolsのバージョンが低かったのが気になったので最新にする(今回のエラー

PowerShell7をMicrosoft Storeからインストール

Windows10を再インストールしてセットアップしているときの覚書。 環境: Windows10 20H2, PowerShell 5.1.19041.906 現在のバージョンを確認 PS > $PSVersionTable Name                           Value ----                           ----- PSVersion                      5.1.19041.906 PSEdition                      Desktop PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...} BuildVersion                   10.0.19041.906 CLRVersion                     4.0.30319.42000 WSManStackVersion              3.0 PSRemotingProtocolVersion      2.3 SerializationVersion           1.1.0.1 インストール方法はマイクロソフトの公式サイトを参考に。 Windows への PowerShell のインストール - PowerShell 現在はMicrosoft Storeで配布されている。 「PowerShell」で検索してインストール。 PS > $PSVersionTable Name                           Value ----                           ----- PSVersion                      7.1.3 PSEdition                      Core GitCommitId                    7.1.3 OS                             Microsoft Windows 10.0.19042 Platform                       Win32NT PSCompatibleVersions           {1.0,

Windows10のTera Term文字化け

Windows10を再インストールしたときの覚書。 Tera Termをインストールしたら文字化けしていた。 環境: Windows 10 pro 20H2, Tera Term 4.105 メニューのSetup(左から3番目) → General(TCP/IPの下) Language: UTF-8 LanguageUI: Default.lng Setup(左から3番目) → Terminal locale: japanese Setup(左から3番目) → Font MSゴシック/標準/11 文字セット: 日本語 Setup(左から3番目) → Save SetupでTERATERM.INIを上書きして次回起動時も反映されるようにしておく。 サーバー側の設定を確認するコマンド(CentOS) # env 【関連記事】 Windows10をクリーンインストールして初期設定。バックアップ作業 TeraTermの日本語文字化け対策して、次回起動時も反映する設定

Windows10をクリーンインストールして初期設定。バックアップ作業

SSDの容量をアップグレードする(SSD交換)タイミングでOSをクリーンインストールしたときの覚書。 前はOSをSSDごとコピーしたけどもOS移行ソフトが中華製なので、今度からはクリーンインストールして移行することにした。 1.バックアップ OS用ディスクとデータ用ディスクは分けてある。 外付けHDDに「C:\Users」以下の ユーザーディレクトリごとコピーする。 サイズが大きいので必要そうなものだけコピー。 .gitcconfig .sshディレクトリ Desktop C:\Windows\System32\drivers\etc\hosts (AppDataのバックアップは必要なし) ついでに例年の全体バックアップ作業も行った。 その他準備しておくこと マザーボードの最新ドライバ ビデオカードの最新ドライバ プリンタの最新ドライバ Intel(R) Rapid Storage Technologyの最新ドライバ Tera Term Menuの一覧(teraterm\ttpmenu.ini)をバックアップ。 参考: Tera Term Menu Tutorial keyhacの設定ファイルでコミットし忘れがないか確認。 PhpStormの設定をエクスポート 「JetBrainsアカウントで同期する」設定があるのでいらないかも。。。 FileZillaの設定をエクスポート モリサワフォントのパッケージキー確認(インストール時に必要) ※ 別のPCを使う場合は事前にライセンスとPCの切り離しが必要 ※ SSD交換しただけ(PC名も同じにした)だと前のライセンスキーでインストール完了した 複合プリンタのIPアドレス確認 2.クリーンインストール Windows10のインストールDVDディスクを作成する。公式からツールをダウンロード。 Windows 10 のダウンロード ディスク交換しなければ公式ツールでクリーンインストールできる。 Windows 10 のクリーン インストールでフレッシュに始める 「MediaCreationTool20H2.exe」を実行してisoファイルを作りDVDに焼く。 片面1層DVDは容量オーバーなので片面2層のDVDが必要。 片面1層DVDしか手持ちなかったのでUSBメモリにディスクイメージを作った。 後の手順 PCをシャットダウンして

【WebARENA Indigo】CentOS Streamの初期設定

 新しくWebARENA IndigoでCentOS Streamをインストールしたときの覚書。 環境: KVM Instance 6 vCPU, 8GB RAM, 160 GB SSD, 1000Mbps, CentOS Stream8 SSHでログインするときのユーザー名はcentos、パスワードなし SSH接続でインスタンスにログインする | お客さまサポート まずはrootになってアップデート # sudo su - # dnf update ホスト名変更 # hostnamectl set-hostname indigo01.webrec.co.jp # hostnamectl status タイムゾーンを日本時間にする。 # timedatectl status # timedatectl list-timezones | grep Tokyo # timedatectl set-timezone Asia/Tokyo # timedatectl status SELinuxを確認して無効 # getenforce # less /etc/selinux/config #SELINUX=enforcing SELINUX=disabled ファイヤーウォールはコンソール画面で設定する。 ファイアウォールを設定する | お客さまサポート まずはssh, http, httpsだけ許可。 sshはIPアドレスで制限。 緊急時に外部からアクセスするときは、個別に設定することにした。忘れてそう。。。 これで再起動 # reboot gitインストール # sudo su - # dnf install git # git --version git version 2.27.0 EPELリポジトリ追加 # dnf install epel-release # dnf update certbotをインストール。python3もインストールされる。 # dnf install certbot pip3を最新にする # pip3 install --upgrade pip ネットワーク回線速度測定 どれくらいのネットワーク速度が測定するためのツールをインストール # pip3 install speedtest-cli 実行 # speedtest-cli Down

Adobe Illustratorのデフォルトのフォントを小塚から変更

 イラストレーターのデフォルトフォントが毎回「小塚ゴシック」になっているを変更したときの覚書。 環境: Windows 10, Adobe Illustrator 25.2.1 参考サイト Illustrator でのフォントの使用 C:\Users\(User)\AppData\Roaming\Adobeの下にバージョンごと複数フォルダがあるが、最新を参照していると思ったがそうではなかった。 最新だけ残しあとは削除。 参考サイトの手順に従いWeb.aiの標準文字スタイルを変更して上書き保存。 新規作成してみるとデフォルトが変わっている。 【関連記事】 3つ折りリーフレット(A4)作成。Illustrator CCでトンボとガイド設定

IIJmioのファミリーシェアプラン物理SIMx3からギガプラン物理SIM+eSIMx2へ変更

 月額料金が安くなりそうだったのでプラン変更したときの覚書。 【変更前】 ファミリーシェアプラン: 2,560円 物理SIM: Android 物理SIM: iPhone 物理SIM: iPad 【変更後】 Android用ギガプラン(データ2GB): 748円 iPhone用ギガプラン(eSIM2GB): 440円 iPad用ギガプラン(eSIM2GB): 440円 合計: 1,628円 変更手順 物理SIMからeSIMへ変更できないので、ファミリーシェアプランの2つのSIM削除 ファミリーシェアプランをギガプランのデータ2GBへ変更 新規にギガプラン(eSIM2GB)を2つ契約 気付いた事 新規に契約したeSIMは当月から使える。 すぐメールでアクティベーションコードが送られてきて、認証後のQRコードをiPhoneでスキャンすれば使えるようになる。 変更後も当月末までファミリーシェアプランは使えるから新規eSIMは来月1日に契約すればよかった。 eSIMのおかげで通話SIMをどの端末で使うか自由度が広がった。 【関連記事】 通話を録音したい(Android) 自宅ネット回線をモバイルルーターからホームルーターに切替

川口市で小型保冷庫を処分

会社で使っていた小型の保冷庫を処分しようと調査したときの覚書。 商品はこちら。amazonで約1万円で購入。縦横30cmぐらい。 TWINBIRD 2電源式コンパクト電子保冷保温ボックス D-CUBE S グレー HR-DB06GY 参考サイト 家電のリサイクルについて|川口市ホームページ 手順 郵便局で家電リサイクル券を購入: 5,200円 運送業者に依頼: 約5,500円 もしくは自分で指定取引所まで持っていく: (交通費) 運送業者に依頼すると購入金額を超える。 下記へ自分で持っていくことにした。営業時間を電話して確認。 SBS即配サポート株式会社岩槻デポ さいたま市岩槻区馬込1529-1 営業時間: (平日)9:00~11:30、13:00~16:30 蓮田駅から徒歩20分。 電車代:片道418円。 簡単に処分できると思ったら意外と面倒だった。

NginxのSSLでもdefault_serverを設定 → return 444で十分だった

サーバーからウェブサイトを削除したらNot foundにならなかったので設定したときの覚書。 環境: CentOS 7.9, Nginx 1.18.0, OpenSSL 1.0.2k 参考サイト Nginxで「default_server」を指定して想定外のアクセスを遮断する方法  |  4thsight.xyz 作業場所に移動 # mkdir /etc/nginx/ssl.d # cd /etc/nginx/ssl.d 秘密鍵を作る # openssl genrsa 2048 > selfcert.key 証明書署名要求(CSR)を作る # openssl req -new -key selfcert.key > selfcert.csr 自前認証局の証明書を使って署名実行。 # openssl x509 -days 3650 -req -signkey selfcert.key -in selfcert.csr > selfcert.crt この証明書をnginxに設定する。 # less ../conf.d/00_default.conf server {     listen       80 default_server;     listen      443 ssl default_server;     server_name  _;     ssl_certificate      /etc/nginx/ssl.d/selfcert.crt;     ssl_certificate_key  /etc/nginx/ssl.d/selfcert.key;     return 444; } testして再読み込み # nginx -t # systemctl reload nginx ん?他のsslサイトも見れなくなった。 元に戻す。。。というか404ではなく。444にしてみた。 # less ../conf.d/00_default.conf server {     listen       80 default_server;     server_name  _;     return 444; } testして再読み込み # nginx -t # systemctl reload nginx ブラウザで確認。 うん。これで

Apache上のWordPressのアップロード上限サイズを変更

 久しぶりにapache環境の設定変更をしたときの覚書。 デフォルトのアップロードサイズ上限は2MB。 環境: CentOS 8.3.2011, Apache 2.4.37, PHP 7.3.20 apacheのバージョンとサービス状況を確認。 # apachectl -v # systemctl status httpd 設定ファイルを確認 # less /etc/httpd/conf.d/php.conf php-fpmを使っている。 phpのバージョン確認 # php --version php.iniの場所確認。現在のアップロード上限サイズ確認 # php -i | less # php -i | grep max phpの設定変更 # less /etc/php.ini memory_limit = 128M upload_max_filesize = 10M post_max_size = 12M php-fpmの再読み込み。 # systemctl reload php-fpm モジュール版PHPの場合はhttpdを再読み込み # systemctl reload httpd WordPressの管理画面でファイルをアップロードして確認。 できない場合はエラーログを確認 # less /var/log/httpd/error_log apacheの設定でLimitRequestBody制限がかかっている場合もある。 (デフォルトは0で制限なし) core - Apache HTTP サーバ バージョン 2.4 ウェブサーバー(Apache)の実行結果をコマンドラインで確認したい場合はcurlコマンドを使う。 # cd /var/www/html/ # vi phpinfo.php <?php phpinfo(); # curl http://localhost/ phpinfo .php | less # rm phpinfo.php 【関連記事】 ファイルをアップロードするためのapacheとphp.iniの設定

無料のファイル共有サービスNextcloudをCentOS8にインストール

イメージ
Googleドライブ( Google Workspace のBusiness Starter)とOneDrive(Microsoft 365 family)ではアカウントなしのゲストユーザーが共有フォルダにファイルをアップロードできなかったので、お客様から簡単に大容量のファイルを 外部サービスを使わず 送ってもらう方法を考えたときの覚書。 ちなみにfirestorageのアップロードスペースを使えばアカウントなしで簡単にできる。 容量無制限の無料オンラインストレージ firestorage 1.Nextcloudとは オープンソースのファイル共有サービスを自サーバーに構築できる。 Nextcloud Nextcloud - Wikipedia Nextcloud · GitHub DropboxやGoogle Driveのようなオンラインストレージを自サーバーで構築できる。 PHPとJavaScriptで作られているのでカスタマイズも出来そう。 デスクトップアプリやAndroidアプリ、iOSアプリも配布している。 ライセンスはGPL。 開発も活発的に行われているので今後も期待できる。 2.CentOS8にインストール 公式サイトのドキュメントが十分に詳しい。 Example installation on CentOS 8 | Nextcloud latest Administration Manual latest documentation 環境: CentOS Stream 8, nginx 1.16.1, PHP 7.4.6 必要なツールをインストール。 # dnf install -y epel-release yum-utils unzip curl wget bash-completion policycoreutils-python-utils mlocate bzip2 nginx, php, mariadbはインストール済み。 PHPの必要なモジュールをインストール。 # dnf install -y php php-gd php-mbstring php-intl php-pecl-apcu php-mysqlnd php-opcache php-json php-zip RedisとImagemagickを使うためのモジュールをインストール

CentOS8でdnf updateしたらnpmがエラー

 CentOS8の環境でdnf updateしたらnpmのインストールで失敗する。 環境: CentOS8, nodejs v12.19.1 # dnf update Failed:   npm-1:6.14.8-1.12.19.1.1.module_el8.3.0+610+8a0c1add.x86_64 Error: Transaction failed clean allを試しても失敗。 # dnf clean all # dnf update npmを実行すると 下記エラー # npm internal/modules/cjs/loader.js:834   throw err;   ^ Error: Cannot find module '../lib/utils/unsupported.js' Require stack: - /usr/lib/node_modules/npm/bin/npm-cli.js     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:831:15)     at Function.Module._load (internal/modules/cjs/loader.js:687:27)     at Module.require (internal/modules/cjs/loader.js:903:19)     at require (internal/modules/cjs/helpers.js:74:18)     at /usr/lib/node_modules/npm/bin/npm-cli.js:19:21     at Object.<anonymous> (/usr/lib/node_modules/npm/bin/npm-cli.js:155:3)     at Module._compile (internal/modules/cjs/loader.js:1015:30)     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)     at Module.load (internal/modul

font-display: swapでWebフォントの読み込み設定

web.devのLighthouse でサイトのパフォーマンスを計測したときにfont-displayを使えと教えてくれたので調査したときの覚書。 font-displayはブラウザがフォントを表示するまでの動作を指定。 IE以外は主要ブラウザで対応済み。 font-display - CSS: カスケーディングスタイルシート | MDN Webフォントの場合は「displya:swap;」にして、読み込みをブロックしないように設定した方がいい。 Ensure text remains visible during webfont load | web.dev 【関連記事】 rel="preload"でWebフォント(@font-face)を先読み

FreePBX + Twilioで外線電話を着信(調査編)

クラウドのVPSにFreePBXをインストールしてTwilioと連携して外線電話を着信できるようにしようと調査したときの覚書。 環境: FreePBX 2011-5(December 2020), Asterisk 16.15.1 Twilioの公式ページにマニュアルがあるのでその通りにやれば出来そう。 Elastic SIP Trunking Configuration Guides - Twilio Twilioで電話番号を購入するには本人認証が必要。 TwilioでBundles(本人認証)の設定を行う(法人編) - Qiita 提出後、承認されるまで3営業日かかるらしい。 何となく出来ることは分かった。 【関連記事】 さくらのVPS上でFreePBX(CentOS7 + Asterisk16)をインストールして調査 UbuntuにAsteriskをインストールしてスマホで内線接続

さくらのVPS上でFreePBX(CentOS7 + Asterisk16)をインストールして調査

自作クラウドPBXで内線環境を構築しようと調査しているときの覚書。 環境: FreePBX 2011-5(December 2020), Asterisk 16.15.1 いろいろ試した結果、さくらのVPSにFreePBXをインストールするのが一番管理しやすい。 インストール方法は下記を参考に。 ISOイメージインストール | さくらの VPS ドキュメント FreePBX Distro(CentOS7 + Asterisk16)をインストール インストール後はSSHでAsterisk CLIを起動しておくと何が起こっているか分かりやすい。 詳細モードでAsterisk CLIを起動 # asterisk -rvvvvv スマホアプリは Zoiper を使う。 IAX2に対応したアプリが他になさそう。 その他分かったこと。 IAXのアカウントではビデオ通話できない (Zoiperの問題?)。 SIPだとビデオ通話のメニューは出てくる。Wi-Fiの環境だと表示されない (NATの設定で対応できそう) Zoiperの「Send message」で送ると電話が掛かってSMSできない。 (FreePBXの設定が分からない) 頑張れば自作クラウドPBXが実現できそう。 FreePBXがさらに進化することを期待。 一応Twilio連携を試してみる予定。 【関連記事】 AsteriskでIAX2内線を追加 UbuntuにAsteriskをインストールしてスマホで内線接続 FreePBX管理ページのメニュー概要【設定編】

【Ubuntu】Asteriskのファイアーウォール設定

 さくらのVPSに設定したAsteriskサーバーのファイアーウォール設定をしたときの覚書。 環境: Ubuntu 20.04.2, Asterisk 16.2.1 参考サイト Asterisk SIP セキュリティ - VoIP-Info.jp 前の記事 でIAXしか使わないことにした。 まずはデフォルトのポート4569/udpからずらす。 個人的には日付を元に決めている(変にこだわらい方がいい)。 # vi iax_general.conf bindport=14569 Asterisk再起動 # systemctl restart asterisk 他のサーバーからポートが空いているかチェック # nmap -sU -p14569 hoge.co.jp PORT     STATE         SERVICE 14569/udp open|filtered unknown ufwに設定追加 # ufw allow 14569/udp 有効にして確認 # ufw enable # ufw status verbose さくらのVPSのコンソール画面からパケットフィルタも設定しておく。 もう一度他のサーバーからポートスキャン。 # nmap -sU -p14569 hoge.co.jp 【関連記事】 AsteriskでIAX2内線を追加 UbuntuにAsteriskをインストールしてスマホで内線接続 Ubuntu 20.04のVPS初期設定

AsteriskでIAX2内線を追加

 SIPを使うよりIAXというプロトコルの方が通話品質がいいらしいので設定したときの覚書。 環境: Ubuntu 20.04, Asterisk 16.2.1 FreePBXが日本語で分かりやすいので、FreePBXをローカル環境に構築してFreePBXの管理画面で設定後の/etc/asterisk/を参考するのが分かりやすい。 後で気づいたけど、さくらのVPSにはISOからインストールする機能があった。 参考サイト FreePBX Distro(CentOS7 + Asterisk16)をインストール Asterisk サンプル設定ファイル iax.conf - VoIP-Info.jp FreePBXの管理画面で アプリケーション → 内線 → IAX2内線タブ で新規追加する。 そうすると/etc/asterisk/iax_additional.confに反映される。 これを参考にVPS上のAsteriskに設定。 元ファイルをバックアップして作業する。 # mv iax.conf iax.conf.sample # vi iax.conf [general] #include iax_general.conf #include iax_additional.conf # vi iax_general.conf # vi iax_additional.conf 再起動 # systemctl restart asterisk スマホのZoiPerアプリのIAXアカウントを追加して繋いでみる。 Asteriskは詳細モードで状況確認しながら。 # asterisk -rvvvvv 無事PJSIPで登録した端末と通話できた。 ダイヤルするにはextensions.confに追記が必要。 登録と管理が楽なので全部IAX内線にしようと思う。 SIPのポートは閉じる。 ただIAX対応しているAndroid, iPhoneアプリが少ない。 ざっと探した感じZoiperだけ。 気付いた事 スマホでビデオ通話が出来ない。ZoiPerが対応していないせい? 【関連記事】 UbuntuにAsteriskをインストールしてスマホで内線接続 FreePBX Distro(CentOS7 + Asterisk16)をインストール VoIPプロトコルIAX(Inter-Asterisk

UbuntuにAsteriskをインストールしてスマホで内線接続

クラウドのVPS上にAsteriskをインストールしたときの覚書。 Twilioの設定は次回予定。 環境: ubuntu 20.4, Asterisk 16.2.1 参考サイト Asterisk17 + Twilioで公衆電話回線網と接続し発信・着信できるようにする - Qiita もうハマらない!Twilio × Asteriskで普通の外線電話を作る - Qiita 1.Ubuntuのインストール 別記事にした。 Ubuntu 20.04の初期設定 2. Asteriskのインストール asteriskパッケージの検索して確認 # apt search asterisk # apt show asterisk インストール実行 # apt-get install asterisk 設定ファイル確認 # cd /etc/asterisk/ # ls よく分からないので後回し。 サービス一覧 # systemctl list-unit-files --type=service asteriskが追加されている。 # systemctl status asterisk 3.設定の確認 参考サイト Connecting to the Asterisk CLI - Asterisk Project - Asterisk Project Wiki rootになって作業する $ sudo su - 全体設定の確認 # asterisk -rx "core show settings" モジュールの一覧 # asterisk -rx "module show" chan_pjsip.soが有効になっている。 PJSIPはSIPなどの通信プロトコルに対応しているマルチメディアコミュニケーションライブラリ( 公式サイト )。 SIPクライアントアプリケーションを作るためのAPIを提供している。 Asterisk16からはSIPチャンネルドライバーとしてpjsipがデフォルトで使われている。 4.SIPの設定(pjsip.conf) 参考サイト Asterisk pjsip - VoIP-Info.jp Hello World - Asterisk Project - Asterisk Project Wiki Asterisk 16 Conf

Ubuntu 20.04のVPS初期設定

 久しぶりにUbuntuを設定したときの覚書。 環境: さくらのVPS, Ubuntu 20.04.2 SSHで接続するための公開鍵は管理コンソールで登録済み。 rootになって作業する # sudo su - パッケージを最新にする # apt update # apt upgrade ubuntuのバージョン確認 # less /etc/os-release 1.ホスト名変更 CentOSと同じ # hostnamectl set-hostname hoge.dksg.co.jp # hostnamectl status 2.ファイヤーウォール設定 ubuntuのファイヤーウォールはufw(Uncomplicated Firewall) UFW - Community Help Wiki 現状を確認 # systemctl status ufw # ufw status Status: inactive アプリケーション一覧 # ufw app list OpenSSHを許可する # ufw allow OpenSSH 有効にする(OpenSSHを許可する前に有効にするとSSHが切断されるので注意) # ufw enable 詳細モードで確認 # ufw status verbose その他は上記公式サイトかmanコマンドで確認 # man ufw 【関連記事】 CentOS8の最小構成をインストール カゴヤ・クラウドVPS(CentOS)の初期設定 Ubuntuだけ外から接続できない(routeとNameServerの設定)

Nginxで特定のIPアドレスからのアクセスを拒否

大量のお問い合わせメールが届いたので対処したときの覚書。 環境: nginx 1.18.0, WordPress 5.6.1 ちゃんとWordPressのnonceを使っていても突破される。 他にも大量のアクセスがあるのでIPアドレスごと拒否することにした。 ちなみにアクセス元IPアドレスは「185.153.199.66」 怪しいIPアドレスは下記サイトでチェック。 AbuseIPDB - IP address abuse reports - Making the Internet safer, one IP at a time Nginxの共通設定ファイルに下記のように記述。 # # Black List # deny 185.153.199.66; allowはいらない。 確認して再読み込み。 # nginx -t # systemctl reload nginx nonceを突破されるのは痛い。 独自のチェック方法を導入した方がいいかもしれない。 参考になったサイト nginxで遮断IPアドレス一覧を外部ファイルで管理する 【関連記事】 CentOS8 + Nginx + PHP + MariaDB + Node.js + Certbotの環境を構築する手順まとめ WordPressのnonceの有効期限

Googleしごと検索のJSON-LD生成ツールサイト

 Google検索したときに求人情報が表示されるGoogleしごと検索(Google for jobs)のまとめサイトを作った。 Googleしごと検索まとめサイト 一番の売りはJSON-LD生成ツールで簡単に埋め込みタグを生成できる。 WordPressのカスタムフィールドを使って、(追加プラグインなしで)既存のサイトにも応用できると思う。 まだGoogleに求人情報を表示できること自体知らない人が多いから、これから認知されてくると思う。 【関連記事】 Googleしごと検索の採用情報がインデックス登録されたか確認 Googleしごと検索について調査

通話を録音したい(Android)

 新しくAndroid端末を買って通話録音アプリをインストールしたら相手の音声が録音されてないので調査したときの覚書。 環境: ASUS ZenFone Max (M2), Android 9 Android 9からは通話録音部分で変更があったらしく、アプリで通話録音できない報告が頻発しているらしい。 端末によっては、Googleの純正通話アプリで自動録音の機能があるらしい。 ZenFone Max M2にはない。 工場出荷状態にリセットしてみたがAndroid9のまま。 (Android9にしなければよかった。。。) 試したアプリ 通話レコーダー(Appliqato): 自分の声のみ。相手の声が録音できない。 通話レコーダー(MobileIdea Studio):インストール後に「この機種では録音できない」と表示される。 仕事で使っていると通話録音は欲しい機能。 実際、録音しておいて助かったことがある。 今回は前使っていたZenFone Live(Android 8.0.0)に戻した。 開発者向けオプションを有効にして、「自動システムアップデート」を無効にしておく。 デバイスの開発者向けオプションを設定する 安い端末で気づけたのはよかった。 【関連記事】 スマホでAsterisk16に接続して内線テスト

WordPressの/wp-json/を変更したい

 セキュリティ的な理由で/wp-json/へのアクセスは完全ブロックしている。 だけど、AMPプラグインがREST APIを使うようになっているので管理画面で不具合が起きる。 そこでデフォルトのエンドポイントである「/wp-json/」から変更したときの覚書。 環境: Nginx 1.18.0, PHP 7.4.14, WordPress 5.6 REST APIのエンドポイントを変更 参考 WP REST API Is it rather easy to rename the default wp-json uri part? - WordPress Development Stack Exchange エンドポイントを決定しているのはwp-includes/rest-api.phpのrest_get_url_prefix関数。 ここのapply_filtersにフックして変更すればOK function func_rest_url_prefix( $slug ) { flush_rewrite_rules(); return 'api'; } add_filter( 'rest_url_prefix', 'func_rest_url_prefix'); 「flush_rewrite_rules」しないと変更完了しないので注意。 apiやrest-apiなど一般的な名前だと狙われるのでよく考えて決めた方がいい。 【関連記事】 WordPressのXML-RPCとREST API(WP-JSON)を無効にする(Nginxの設定)