「技術系」カテゴリーアーカイブ

Google Cloud Platform(GCP)で無料サーバ構築

Google Cloud Platform(GCP)には無料枠として「Always Free」というのがあります。GCP使ったことなかったので、今回初めて知りました。

スペック

Compute Engineにて、以下の仮想サーバを無料で使えます。

サーバ:e2-micro(CPU0.25コア、メモリ1GB)
ストレージ:30GB
下り転送量:月1GB以下まで

転送量が少ないので普通のwebサーバとしては使えないけど、他のサーバ達を管理するサーバとして使えないかなと。

構築

いつもOSはCentOS使ってたけど今月で使えなくなるので、Ubuntuにしました。そしてwebサーバもApacheからnginxに乗り換えです。

どちらもあんまりいじったことないので、うっかり設定抜けでセキュリティホールとかあったら怖いし、ここに詳細は書きません。少しずついじっていこう。

あとはSSLをLet’s Encryptで設定して、BASIC認証つけてとりあえず完成です。

今後

サーバが生きてるかどうかの監視と、バックアップの自動化をやっていくつもりです。バックアップ自体は各サーバのローカルでやってるけど、別サーバに保存したかったんだよね。

そういえば転送量1GB無料の注釈に「ただし中国とオーストラリアを除く」と書かれてます。この2ヶ国からのアクセスは1GB以下でも料金かかってしまうようです。ぐぐるとこれのせいでサーバ運用を諦めた人達もいるので、何とか頑張ろう。

90日間300ドル分は試せるので、その間にいい感じの仕組みを作ります。

ノートPCの画面の明るさが勝手に変わるのを止める!

先月買ったVAIOですが、エディタなど黒いウインドウを表示すると画面全体が勝手に暗くなるんですよ。

バッテリーの節約機能っぽいけど、エディタとブラウザを頻繁に切り替えていると見づらくて仕方ない。お節介な機能です。

以前のノートPCには電源オプションに「ディスプレイ暗転時の明るさ」や「自動輝度調整を有効にする」といった設定がありましたが、このノートPCにはない。

電源関連の設定をいじったり、海外サイトにあったレジストリで設定項目を復活させる方法を試したり、VAIOのサポートに問い合わせたりもしました。そんな試行錯誤をして、ようやく解決法を見つけたよ。

スタートボタン > インテル グラフィックス・コマンド・センター > システム > 電源 > バッテリー駆動

パネル・セルフリフレッシュとディスプレイ・パワー・セービングをオフ

これで画面が暗くならなくなった。VAIOの電源設定でもなく、Windowsのコンパネでもなく、インテルのGPU設定だったんだね。わかってしまえば何てことないんだけど、結構苦労しました。

ようやく普通に使えます。

ノートパソコンVAIO SX14(2020年モデル)買う

仕事でノートPCが必要になったので、VAIO SX14を購入しました。去年の10月に出たものです。

今まで使っていたのは5年前に買ったVAIO Z(2016年モデル)です。さすがに仕事で使うには厳しい。

ホントは少し前に出たVAIO Zが欲しかったけど、これより10万円高いので諦めたw

スペック

VAIO SX14 (S1431)
CPU:Core i7-1065G7 (1.30GHz)
MEM:16Gbyte
GPU:インテル Iris Plus グラフィックス
SSD:512GB
液晶:14.0インチ(1920×1080)
OS:Windows 10 Pro
ドライブ:無し
重量:0.99kg
カラー:ALL BLACK EDITION

5年前に買ったのとあんまり変わってないように見えるけど、CPUやGPUの性能が2倍以上になってるみたいです。

4K液晶も気になったけど、バッテリーの持ちが半分になるので止めました。

使用感など

持ってみたら軽くてびっくりした。中身空っぽなのかと思ったよ。最近重たいMacbook Proばかり使ってたから比べ物にならないくらい軽いね。毎日持ち運ぶものだから助かる。

必要なアプリとかインストールするのは2時間くらいで完了。昔は半日仕事だったんだけど楽になった。しかし、アプリやサイトにログインするたびにGoogleのセキュリティ通知が飛んでくる。Google様にどっぷり依存してるなw

液晶が13.3インチから14インチに微妙に大きくなったけど、ぱっと見よくわからないね。使い始めれば違いがわかるかな。

まとめ

これでストレスなく開発できます。

【4Kテレビ】ブラビアKJ-43X8500H購入!

ソニー 43V型 液晶 テレビ ブラビア KJ-43X8500H 4Kチューナー 内蔵 Android TV (2020年モデル)買いました。

これ1台で特別定額給付金が無くなったw

スペック

画面サイズ:43インチ
画素数:3,840×2,160(4K)
リフレッシュレート:60Hz
高画質:HDR10、倍速駆動パネル、4Kアップコンバート等
その他:Android TV等

購入動機

PS5を購入する権利が当たったので、4Kテレビを買うことにしました。

今使ってるテレビは11年前に買ったシャープの32インチです。動作に問題はないんだけど、画質がHDだし、やはり4Kでやりたい(情報量がピクセル比で9倍違う)。

安い4Kテレビも幾つか調べたんだけど、色味が悪いとか動作がおかしいとかレビューにあったので、それなりの値段のにしました。スペックが去年のとあまり変わらないけど今年のを選択。少し安いX8000Hもあるけど、倍速機能のあるX8500Hを選択しました。

使用感

やはり32→43インチはでかいね。横幅が18センチ大きくなった。そのため今まで置いてた場所には置けず、部屋の模様替えしたよ。

テレビの足が細い金属の板みたいなものなので、倒れないかちょっと心配。

地上波見てみたけど色が鮮やかだし、4Kアップコンバートのお陰か綺麗に見えます。良いね。YouTubeやAbemaTVも問題なく見れました(画像はAbemaTV)。

Android TV乗ってるので、アプリやゲームも出来ます。試しにVLCプレーヤー使ったらNASの動画も再生できました。これで大画面で見れる。

外付HDDつなぐと番組録画出来るらしい。レコーダー不要とは便利だね。余ってるHDDつないでみるか。

あと、今購入したらHuluとU-NEXTが3ヶ月無料で見れます。後で登録しよう。

まとめ

最近のテレビは多機能だね。もうデカいタブレットみたいなものだ。

ともかくこれでPS5が届いても大丈夫です。

サーバの初期設定する(CentOS8.2)

サーバ移転したのでまた書きました。自分用に。

さくらのVPSを使っているので、ところどころ www????.sakura.ne.jp として入力しています。

ユーザ作成

まずはrootのパスワードを変更します。

# passwd

作業用アカウントを作成します。

ユーザーhoge作成
# useradd hoge

hogeのパスワード設定
# passwd hoge

hogeをwheelグループに入れる
# usermod -G wheel hoge

作業用アカウント(wheelグループ)以外ではrootになれないように制限します。元から設定済みでしたが念のため。

# visudo

この行を有効化
%wheel ALL=(ALL) ALL

suできるユーザを指定。

# vi /etc/pam.d/su

この行を有効化
auth required pam_wheel.so use_uid

rootで直接ログインできないようにします。

# vi /etc/ssh/sshd_config

yesをnoに変更する
PermitRootLogin no

SSH再起動。

# systemctl restart sshd

CentOS8ではTCP wrapperが廃止されたので、SSHのアクセス制限はfirewalldでやる必要があります。未対応。

パッケージ管理

yumからdnfに変わりました。必要なリポジトリを追加します。

# dnf install epel-release
# dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Remiを指定してインストールする場合には以下のように記述します。

# dnf --enablerepo=remi install (パッケージ名)

全部のアプリをアップデートする。

# dnf --enablerepo=remi update

ファイアウォール

起動
# systemctl enable firewalld
# systemctl start firewalld
設定追加
# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --add-service=https --zone=public --permanent
# firewall-cmd --add-service=smtp --zone=public --permanent
# firewall-cmd --add-port=110/tcp --zone=public --permanent
# firewall-cmd --add-port=587/tcp --zone=public --permanent
# firewall-cmd --reload

現在の設定は以下で確認できます。

# firewall-cmd --list-all --zone=public

webサーバ

Apache 2.4をインストールします。

# dnf install httpd

起動
# systemctl enable httpd
# systemctl start httpd

ドメインごとに管理するユーザを分けます。普通にユーザを作成すると自分のホームディレクトリより上の階層に行けてしまうので、chrootを使って行けないようにします。

グループ作成。

# groupadd sftpgroup

グループに所属するユーザにchrootを適用します。

# vi /etc/ssh/sshd_config

サブシステム変更
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp -u 0022

グループと行ける範囲を末尾に追加
Match group sftpgroup
ChrootDirectory ~
ForceCommand internal-sftp -u 0022

sshdを再起動します。設定間違うとサーバにアクセスできなくなるので、念の為ターミナルをもう1つ開いておいたり。

# systemctl restart sshd

あとはユーザを作成していけば /home/hoge/ がsshのルートディレクトリになります。

ユーザ作成
# useradd -g sftpgroup hoge
# passwd hoge

ホームディレクトリの所有者をrootにする
# chown root:root /home/hoge
# chmod 755 /home/hoge

ディレクトリ作成とパーミッション変更
# mkdir /home/hoge/public_html
# chmod 777 /home/hoge/public_html

バーチャルホスト

ドメインごとにconfファイルを作成します。以下はhoge.com用です。

# vi /etc/httpd/conf.d/hoge.conf

<VirtualHost *:80>
ServerAdmin webmaster@hoge.com
DocumentRoot /home/hoge/public_html
ServerName hoge.com
ServerAlias www.hoge.com
ErrorLog logs/hoge.com-error_log
CustomLog logs/hoge.com-access_log common
</VirtualHost>

公開前にサイトを確認できるようにします。ユーザー名がhogeの場合、こんなチルダ付のURLで見れるようになります。
http://www????.sakura.ne.jp/~hoge/

# vi /etc/httpd/conf.d/userdir.conf

コメントアウト
#UserDir disabled

有効化
UserDir public_html

Allにする
AllowOverride All

必要なものだけ
Options IncludesNoExec ExecCGI FollowSymLinks

SSL

OpenSSLは既に入っているので、mod_sslをインストールします。

# dnf --enablerepo=remi install mod_ssl

証明書は無料のLet’s Encryptを使います。

インストール
# dnf install certbot

ドメイン追加
# certbot certonly --webroot -w /home/hoge/public_html -d hoge.com

バッチで証明書を自動更新します。

# crontab -e

00 04 01,15 * * certbot renew --post-hook "systemctl restart httpd"

SSLサーバの設定はドメインの設定ファイルに追加します。

vi /etc/httpd/conf.d/hoge.conf

<virtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/hoge.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/hoge.com/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/hoge.com/chain.pem
ServerAdmin webmaster@hoge.com
DocumentRoot /home/hoge/public_html
ServerName hoge.com
ErrorLog logs/hoge.com-error_log
CustomLog logs/hoge.com-access_log common
</VirtualHost>

設定できたら再起動。

# systemctl restart httpd

MySQL

以前はMariaDBを使ってたけど、色々あってMySQLに戻ってきました。

# dnf install mysql mysql-server

起動

# systemctl enable mysqld
# systemctl start mysqld

初期設定

# mysql_secure_installation
出てくる質問は以下の通り(英語)。
・パスワード検証ポリシー:0
・rootのパスワード:
・rootのパスワード確認用:
・いいですか?:y
・匿名ユーザの削除:y
・リモートからrootユーザ接続禁止:y
・テスト用データベースの削除:y
・変更を有効にする:y

デフォルト文字コードはutf8mb4だったので、そのままにしておきます。

終わったら再起動。

# systemctl restart mysqld

PHP

PHP7.4とそれに関係するものをインストール。

# dnf module install php:remi-7.4
# dnf install --enablerepo=remi php-devel php-mysqlnd php-pear php-mbstring php-pdo php-gd

各種設定。

# vi /etc/php.ini

post_max_size = 128M
upload_max_filesize = 128M
date.timezone = "Asia/Tokyo"
display_errors = On

変更を反映。
# systemctl restart php-fpm

phpMyAdmin

せっかくなのでMySQLの管理ページを入れる。

# dnf install --enablerepo=remi phpmyadmin

ここにもアクセス制限。

vi /etc/httpd/conf.d/phpMyAdmin.conf

<Directory /usr/share/phpMyAdmin/>
の中の
Require local

Require host .jp
などに変更

メールサーバ

Postfix(送信)の設定。

# dnf install postfix cyrus-sasl cyrus-sasl-md5 cyrus-sasl-plain

# vi /etc/postfix/main.cf
以下のように修正
myhostname = www????.sakura.ne.jp
mydomain = www????.sakura.ne.jp
myorigin = $mydomain
inet_interfaces = all
#inet_interfaces = localhost
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP unknown

以下を追加(スパム対策)
disable_vrfy_command = yes
smtpd_helo_required = yes

以下を追加(バーチャルドメイン用)
virtual_alias_maps = hash:/etc/postfix/virtual

以下を追加(SMTP-Auth用)
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = cyrus
smtpd_sasl_path = smtpd
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

以下を追加(メールへの添付可能サイズを無制限にする)
message_size_limit = 0
mailbox_size_limit = 0

メール送信時にサブミッションポート(587)を使用します。

# vi /etc/postfix/master.cf

以下の行のコメントアウトを外す
submission inet n - n - - smtpd
-o smtpd_sasl_auth_enable=yes
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING

再起動。

# systemctl restart postfix
# systemctl enable postfix

SMTP認証のためにSaslauthdを使用します。アプリと認証処理を分離してくれるものらしい。

# vi /etc/sysconfig/saslauthd

Linuxユーザのパスワード(/etc/shadow)を使う
MECH=shadow

起動します。

# systemctl enable saslauthd
# systemctl start saslauthd

Dovecot(受信)の設定。

dnf install dovecot

# vi /etc/dovecot/conf.d/10-mail.conf
以下の行のコメントアウトを外す
mail_location = maildir:~/Maildir
# vi /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
listen = *
# vi /etc/dovecot/conf.d/10-auth.conf
パスワードを平文にする
disable_plaintext_auth = no
# vi /etc/dovecot/conf.d/10-ssl.conf
SSL接続しない
ssl = no

Dovecotを起動します。

# systemctl enable dovecot
# systemctl start dovecot

useradd時にメールボックス用のディレクトリを自動で作成されるようにします。

# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
# chmod -R 700 /etc/skel/Maildir/

/home/hoge-info/Maildir/new/
/home/hoge-info/Maildir/cur/
/home/hoge-info/Maildir/tmp/

メールアドレス作成

メールアカウント用のユーザをシェルログイン不可で作成します。

# useradd -s /sbin/nologin hoge-info
# passwd hoge-info

メールアドレスとその振り分け処理を作成します。ドメインごとにanythingの行を入れないとメールが使用できません。

# vi /etc/postfix/virtual

hoge.com         anything
info@hoge.com hoge-info
web@hoge.com hoge-web

振り分けを反映させます。

# postmap /etc/postfix/virtual

まとめ

CentOS7からちょこちょこ変更が入ってるね。

追記
まさか移行1ヶ月でCentOS終了してしまうとは… 次はRocky Linuxかなあ。

液晶ディスプレイDELL S2721DGF購入!

DELLの液晶ディスプレイS2721DGFを買いました。

これまで使っていたのはU2412Mという7年前に買った24インチです。特に性能に問題はなかったんですが、大きめのディスプレイが欲しくなったので。

いわゆるゲーミングモニターですが、IPSなので普段使いもできます。

4Kと迷ったけど、27インチ4Kでは拡大しないと小さすぎるだろうと思い、QHDにしました。

スペック

サイズ:27インチ
パネルタイプ:Fast IPS
解像度:QHD(2560×1440)
リフレッシュレート:165Hz
応答時間:1ms
その他:DisplayHDR 400

感想

液晶綺麗だね。画面が鮮やかになった気がする。そのうちHDR対応したものも見てみよう。

ピクセル数比較で画面が1.6倍広くなりました。そんなに変わらないかなと思ったけど、実際に見ると結構広くて驚く。

24インチから27インチに変わったけど、サイズ的には横幅が5cm広がったくらいかな。まあ3インチだし、ベゼルも細くなったしね。文字サイズはそのままで問題なかった。

リフレッシュレートは驚異の165Hz! なんだけど、あんまり変わった気がしない。ちゃんと設定変更してるんだけどな。後でゲーム試してみよう。

まとめ

最近、画面が狭く感じていたので、このディスプレイを使えば捗りそうです。

Rakuten Mini 1円+1年間通信料無料で新規契約!

楽天モバイルでRakuten UN-LIMITプランを新規申し込みで1年間無料、そしてAndroidスマホRakuten Miniを1円で買えるというキャンペーンやっていたので早速申し込みました。

画像は単3電池と並べたもの。手のひらサイズです。

料金

もともとの定価と、今回購入した際の金額を表にしてみました。
以下、税込金額。

定価実際の額
基本使用料3,278円x12ヶ月=39,336円0円
端末代21,800円1円
事務手数料3,300円3,300円
事務手数料還元0円-3,300円
Rakuten Link利用還元0円-3,000円
A8セルフバック0円-2,000円
合計60,860円-4,999円

無料はおろか逆に4,999円もお金がもらえました(楽天ポイント含む)。
そして定価との差額では合計65,859円もお得でした。

もの凄いバラマキですw

Rakuten Mini使用感

画像は左がRakuten Mini(3.6インチ)、右がSH-03J(5.3インチ)です。

小さいので押しづらいかと思いましたが、とりあえず大丈夫そう。それより環境構築しないと使いづらいね。

バッテリーの減りは早い気がする。初期設定とアップデートしただけで20%くらい減った。これは仕方ないか。

充電がUSB3.0なのが良いです。他の端末とケーブルが共有化できる。

もしかして、壁紙変更できない…? 背景色も白か黒しか選べないし。どんな仕様だ。

まとめ

まだ家の中でしか触っていないので、電波の具合とかは不明です。とりあえずサブ端末としてちまちま使っていきます。

4TBのNAS(HDL-AAX4)を買う

I/Oデータ LAN接続型ネットワークハードディスクHDL-AAX4買いました。

数日前に発売した新しいNASです。5年前に買った2TBのNASが空き容量25%を切ったので乗り換えです。

使ってみる

読み込み速度が173.5MB/sと、前のに比べて1.9倍速くなってます。実際にNASからローカルにデータコピーしてみると、2.5倍くらい速くなってた。素晴らしい。

1.5TBのバックアップデータをNASに持ってくるのに9時間で済みました。前回は半分のサイズでも28時間かかったのに。技術の進化だね。

ただ設定画面がリニューアルして重くなった。ページ開くのに数秒かかる。滅多に使わないから別にいいけど。

あとゴミ箱機能が、フォルダ削除した時にフルパス状態のフォルダとしてtrashboxに入るようになった。これは便利なような不便なような…

まとめ

容量が2倍に増え、転送速度も2倍速くなりました。VRや4Kなどで今後爆発的にデータ量が増えそうですが、これでしばらくは安心です。

追記

数ヶ月ほど使用しましたが、たまにフォルダを開こうとすると数秒ほど固まる、その後数十秒ほど異様に重くなるという現象が発生しています。

原因わかりませんが、アップデートとかで何とかならないかなあ…

DELL XPS 8930買う。あとOculus Linkつなぐ

DELLのデスクトップPC XPS 8930買いました。

今使ってるPCがそろそろ4年経つし、ちょうど年末年始セールで約8万円引だったので。安いな!

スペック

CPU:Core i7-9700K 4.6GHz
MEM:16Gbyte
GPU:NVIDIA GeForce RTX 2070 SUPER 8GB
SSD:1TB + HDD:2TB
DRV:DVDドライブ
WLAN:802.11ac
OS:Windows10 Pro 64bit

CPUは1.5倍くらい、GPUは4倍くらい性能上がりました。これでVRができる。

あとは何といってもSSD 1TB。これまでは256GBだったから、データを別HDDに置いたり不要なアプリをちまちま消したりと、面倒くさいことしてたけど、1TBあればもう全部載せられるね。

使ってみた

液晶は替えてないので、見た目や使用感はあんまり変わらないね。

ただ動かなくなったツールがいくつか。Windows 10同士なのに何故…? そのうち調べよう。

前のPCでは動かなかったレイトレーシング対応のQuake II RTXが動きました。これでようやく性能実感できたw PCゲームやるのが楽しみです。

Oculus Link

Oculus Link用のケーブルが公式だと1万円以上するので、アキバで千円ちょっとのを買ってきました。エレコムのUSB 3.1で2mのケーブルです。

しかし、OculusアプリをインストールしてOculus Questをつなぐも認識しない。これは失敗したか? と思いつつもアプリ再インストールしたりQuest再起動したりと色々いじってたら認識した!

Oculus LinkのデスクトップからSteamVRを起動して、VRゲームの体験版を開くことができました。ただ、ボタンが効かない。あとOculusアプリが不安定なのかちょくちょく途切れる。画面が上下逆さまになった。んーまだβ版だから仕方ないか。

まあこれでOculus Rift用のゲームも出来るようになったので良し。ケーブル2mは短かかったけど、激しいアクションしなければ問題ないか。

まとめ

PCが高性能になったし、VRゲームや3Dバリバリのゲームとか作ってみたいね。

Amazon Echo Dot 第3世代を999円で購入!

Echo Dot 第3世代とAmazon Music Unlimited 1ヶ月分合わせて999円という激安セールをしていたので購入しました。85%offです。

スマートスピーカー買うのはこれが初めてです。

セットアップ

Echoの電源入れてからスマホにアプリインストール。あとは指示に従ってスマホ操作するだけで動くようになりました。簡単だ。

次に半年前に導入したPhilips Hue Goと連携しました。こっちはHueの会員登録したり、ブリッジのボタン押したりとちょっと手間がかかりました。さらに接続に何度も失敗する。おかしいなあと思いアプリ再起動したら、ちゃんと接続されてました。

使用感

3~4メートル離れててもちゃんと聞き取るね。PCで音楽流してても認識した。まずまずの精度です。

「アレクサ、今日の天気は?」と聞くとちゃんと答えてくれるし、「アレクサ、ジャズをかけて」と言うと音楽流してくれる。面白いねえ。

今回いちばん欲しかった機能がHue Goとの連携。せっかくのスマート照明だけど、スマホ操作でしか使えてなかったからね。これからは「アレクサ、ライト点けて」「アレクサ、ライト消して」と言うだけでやってくれる。楽ちんだ。

フレーズ一覧

呼びかける際には頭に「アレクサ」と付けます。

挨拶
「おはよう」「行ってきます」「ただいま」 「おやすみ」
天気
「今日の天気は?」「今の気温は?」「寒い」「雨降ってる?」
ミュージック
「ジャズ聞かせて」「(アーティスト名)のニューアルバムをかけて」
kindle
「(本のタイトル)読んで」
翻訳
「これはペンですを英語に翻訳して」「英語で猫は何て言うの?」
時間
「今何時?」「タイマー3分」
アラーム
「午前7時に音楽で起こして」(リピート終了させるのはアプリから?)
通知(黄色い点滅)
「通知は何?」
照明(スキル)
「ライト点けて」「ライト消して」

これ以外にも大量にあるけど、とりあえず使いそうなものを。多少言い回しを変えてもちゃんと拾ってくれます。

まとめ

まだ基本機能把握してないし、スキル機能で出来ることが増やせるみたいなので、色々試してみようかな。

数百円でこんなオモチャが手に入るとか素晴らしいね。