gn5r's blog

gn5r’s blog

プログラミングとかそこら辺の記事を書くつもり

Microsoft Officeライセンス削除のメモ

Officeインストールディレクトリを確認する

Microsoft Office 2016 64Bit版でのインストールディレクト

バージョンごとのディレクトリは以下のようになっている

バージョン ディレクト
Office2010 C:\Program Files\Microsoft Office\Office14
Office2013 C:\Program Files\Microsoft Office\Office15
Office2016,2019,365 C:\Program Files\Microsoft Office\Office16

f:id:gn5r:20210105034900j:plain

上記画像のようにOSPP.VBSが確認できればOK
ライセンス削除にはこのVBSファイルを使っていくつかのスクリプトを実行する

ライセンスを削除する

管理者権限でコマンドプロンプトなどのターミナルを開く

コマンドプロンプトであれば Win + R → cmd → Ctrl + Shift + Enter で管理者権限でコマンドプロンプトを開くことができる
続いて cd C:\Program Files\Microsoft Office\Office16 を実行し、カレントディレクトリを先ほど確認したディレクトリにする

ライセンス状態を確認する

以下コマンドを実行
cscript "OSPP.VBS" /dstatus

f:id:gn5r:20210105041435j:plain

実行すると上記画像のような結果が出てくる
赤枠で囲った5桁をコピーしておく

ライセンス削除コマンドを実行する

以下コマンドを実行しライセンスを削除する
cscript "OSPP.VBS" /unpkey:XXXXX(XXXXXの部分は先ほどコピーした5桁を入力する)

f:id:gn5r:20210105041926j:plain

上記画像の様になればライセンスの削除に成功

Linux mintでFPTサーバーを構築してみる

パッケージのインストール

最新版をインストール

sudo apt update && sudo apt install -y vsftpd

バージョンを確認

vsftpd -v
vsftpd: version 3.0.3

vsftpdの設定をする

設定例

sudo vim /etc/vsftpd.conf

listen=NO
listen_ipv6=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=NO
use_localtime=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO

既存ユーザーをリストに追加する

sudo vim /etc/vsftpd.chroot_list

vsftpdをサービスに登録・起動

vsftpを起動する

confを弄ったので一度読み込んでから起動

sudo systemctl daemon-reload
sudo systemctl start vsftpd

vsftpdを自動起動させる

sudo systemctl enable vsftpd

動作確認

FFFTPを用いた接続例

IPアドレスの部分はhostsで弄ってるので接続する際は各環境に合わせてください

f:id:gn5r:20200223050457j:plain
FFFTPを使い既存ユーザーで接続した例

Zenfone3をダウングレードする

Android M より高いバージョンにすると、Google Play Storeなどで入手したZen UI Themeが適用出来ず、どうしてもThemeを適用させたかったのでそれについての備忘録
また、今回はmicroSDカード無しでファームウェアのダウングレードを行っていくので、microSDがない場合でも安心(物理的な意味で)して作業に取り掛かれます。

必要なファイルをダウンロードする

最低限必要なzipファイルはGoogle Driveに置いておきます。
ダウングレードするバージョンはJP-13.2010.1612.161になっており、Android Marshmallowの最新です。それ以外のバージョンにダウングレード(アップグレード)したい場合は公式サイトから適宜ダウンロードしてください。
ダウンロードする際に、WWJPを間違えないように!

ダウングレードの準備

下記画像を参考にzipファイルを展開、配置してください。

f:id:gn5r:20191125034955j:plain

続いて、Zenfone3本体の電源を切り、Volume Up + 電源キーを押してfastbootモードで起動します。

任意のターミナルソフトを開き、platform-toolsがカレントディレクトリの状態でfastboot devicesと入力し、PC側で認識していれば画像のようになります

f:id:gn5r:20191125035602j:plain

ダウングレードする

無事認識したら以下を入力

fastboot flash boot ..\boot.img
fastboot flash recovery ..\recovery.img

両方finished.~~と出てくれば成功です。続いて、Zenfone3のVolume Downキーを押しながらfastboot rebootと入力し、リカバリーモードへ移行します。

Zenfone3ではこのような画面になっているはずです

f:id:gn5r:20191125040832j:plain

Volme DownでApply update from ADBにカーソルを合わせ電源ボタンで決定します

PCではadb devicesと入力し、以下画像の様に認識していればadb sideload ファームウェア.zipと続けて実行しファームウェアを書き込んでください。

f:id:gn5r:20191125041001j:plain

5~10分くらいかかった気がしたので、コーヒーでも飲みながら待ちましょう。
無事書き込みが終わったらZenfone3のWipe data/facroty resetを選択しデータを初期化します。

備考

なんでAndroid 7とか8にアップグレードすると、テーマアプリのマイテーマからサードパーティ製のテーマが選択できなくなるのかがわからん...(ウイルスとか云々あったのかな)

Linux Mint に svnサーバーを建てる

なんでsvn?

簡単に言うと、仕事の環境と同じにしたいから
ソース管理はGitHubが有名ですが、社内だとGitLabとか導入してるのが大半かな?と思ってたのですが、僕の現場ではsvnでした
んで、svnは使ったことがなかったので遊び半分で構築に至った感じです
記事ごとにインストールするパッケージが違ったり、古い記事だとそもそも記載されているパッケージが存在しなかったりと若干歪まされた...

パッケージをインストール

svnってapache絡みと言うのに少し感激というか驚き
webサーバー立ち上げてるのと同じじゃね?って思ってました

余談は置いといて、以下コマンドを実行して必要なパッケージ類をインストールします

sudo apt install -y apache2 apache2-utils subversion subversion-tools libapache2-mod-svn libsvn-dev

要らんパッケージとかあるかもしれませんので、それ要らんよ!とか心優しい方教えて下さい。

svnディレクトリとリポジトリの作成

パッケージのインストールが終わったら、svn用のディレクトリを作成します
作成場所は各自お好みで、といった感じですが今回はsambaと違いホーム直下に作成します

mkdir /home/gn5r/svn

続いてリポジトリを作り権限を付与します。

svnadmin create /home/gn5r/svn/sample
sudo chown -R www-data:www-data ./svn/sample/

svnユーザーの作成

ディレクトリとリポジトリが作成出来たら、接続用のユーザーを作成します
認証方法としてBasic認証でログインするのでそれの設定(Basic以外は設定したことがないのでシラン)

sudo htpasswd -cm /etc/apache2/dav_svn.passwd gn5r

パスワードを2回入力したらユーザー作成が完了です。
ミソとして初回に作成するため-cmオプションを付与してます。
今後ユーザーを追加する場合は-cmオプション無しで実行すれば作成できます

svn設定ファイルを弄る

まず先にsudo a2enmod dav dav_svnを実行し、davとdav_svnを有効にします

僕の環境では/etc/apache2/mods-enabled/dav_svn.confにある設定ファイルを弄りました

sudo vim /etc/apache2/mods-enabled/dav_svn.confを実行

<Location /svn>
     DAV svn
     SVNParentPath /home/gn5r/svn
     AuthType Basic
     AuthName "Subversion Repository"
     AuthUserFile /etc/apache2/dav_svn.passwd
     Require valid-user
</Location>

接続テスト

ブラウザーのURL欄に192.168.10.111/svn/sampleを入力

ユーザー名とパスワードの入力を促されるので先ほど作成したユーザーとパスワードを入力します

f:id:gn5r:20190825141511p:plain

この様にsvnリポジトリーが表示されれば無事設定が完了です

Vue.jsで作ったSPAをApache2にデプロイする

はじめに

今回はVue.jsで作ったSPAをデプロイするやり方を紹介しようと思います。

.htaccessの設定で時間を割かれたのでそれの紹介もしていきます

予めVue.jsの成果物をどこかに置いておく

僕の環境では、ホーム直下にnpm buildで生成されたdistを置いています
例)/home/gn5r/dist

ここは各自の環境に合わせて、適宜パスなどを読み替えてください

ApacheのDocumentRootを変更する

まず、Vue.jsで作ったSPAをルート(example.comにアクセスしたら表示される)に設定します

sudo vim /etc/apache2/sites-enabled/000-default.conf

DocumentRoot /var/www
     ↓
DocumentRoot /home/gn5r/dist

sudo vim /etc/apache2/apache2.conf

<Directory /home/gn5r/dist> ←DocumentRootにしたディレクトリ
        Options Indexes FollowSymLinks
        AllowOverride All ←今後設定する.htaccessを有効化
        Require all granted
</Directory>

RewriteEngineを有効化

規定ではRewriteEngineが無効なので有効にします。
有効にしないと後述するルーティングが機能しなくなるので注意

sudo a2enmod rewrite

再起動が促されるので再起動

SPAのルーティングを出来るようにする

既存の設定だと SPA側でルーティングを作っていても NotFound と出てしまうのでそのための設定

Vue.jsでビルドしたディレクトリには.htaccessは無いので新しく作成します

vim ./dist/.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.html [L,QSA]

sudo systemctl restart apache2

を実行し再起動すれば無事完了

Linux MintにMySQLサーバーをインストールして外部接続とか

本題の前に

今回はMySQLのインストールと設定の備忘録
Qiitaとかにゴロゴロ転がっているので今更感ハンパないけど

そろそろサーバーマシンを買い替えたい今日この頃。

パッケージインストール

外部から接続するので、ポート許可とか後々必要になるためufwもインストールします

sudo apt install -y mysql-server ufw

3306ポートを許可

sudo ufw allow 3306

MySQLの設定

/etc/mysql/mysql.conf.d/mysqld.cnfが設定ファイルなのでvimなどで開いて以下の様に修正します

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 127.0.0.1
↓
# bind-address = 127.0.0.1

設定し終えたらサービスを再起動する必要があるので以下を実行

sudo systemctl reload mysql
sudo systemctl restart mysql

or

sudo /etc/init.d/mysql reload
sudo /etc/init.d/mysql restart

アカウントとデータベースを作る

続いてMySQLにログインします

sudo mysql -u root

sudoを付けないとログインできない原因が不明

以下を実行して新しいアカウントを作成しつつ同時に権限も付与させます

create user gn5r(適宜変更) identified by 'password(適宜変更)';
grant all on *.* to gn5r(さっき作ったユーザー)@'%' identified by 'password' with grant option;

ユーザーを追加する際にhostを指定していなかったのでgn5r@%になりますが、ここは適宜ホストを指定してください

追加されているかを確認するには以下SQLを実行します

select user,host from mysql.user;

f:id:gn5r:20190818110021j:plain

クライアントから接続

接続はWindowsからA5Mk-2を使用して接続します

f:id:gn5r:20190818104325j:plain

ホスト、ユーザーID、パスワードに先程設定したものを入力。
入力後、テスト接続ボタンを押下します(データベースのドロップダウンリストをクリックして一覧を出すやり方でもおk)

f:id:gn5r:20190818104338j:plain

無事接続できました

あとはA5Mk-2からクエリ投げるだけかな

Linux Mint 19.1 に VNCサーバー構築してリモート操作

前置き

今回はVNCサーバーの構築手順の備忘録です。(と言っても参考サイト様の丸パクリ...)
Qiitaに溢れるほどあるので適宜そっちを参考にするのもいいですが、サーバー移行した時に一々検索するのが面倒...

目次

参考サイト

こちらを参考(9割コピペだけど)にしながら構築していきます

内容も参考サイト様の丸パクリですがお許しください...

必要なパッケージをインストール

有名所ではvnc4serverですが、今回はx11vncを使っていきます

sudo apt install -y x11vnc

パスワードの設定とテスト接続

インストールが完了したら、VNC接続する際のパスワードを設定します

f:id:gn5r:20190818074950p:plain

2回パスワードを入力し、ファイルに書き込むか?と聞かれますがそのままEnterキー押下でおk

テストとして以下コマンドを実行します

x11vnc -auth guess -display :0 -rfbauth /home/gn5r/.vnc/passwd -rfbport 5900

gn5rの部分は適宜ユーザー名に書き換えてください

別PCからクライアントを使い接続先をLinux MintIPアドレスを指定

ちなみにクライアントはWindows10、クライアントソフトはVNC Viewerです。

f:id:gn5r:20190818080008p:plain

赤枠になっている部分にIPアドレスを記入しEnterキーを押下

f:id:gn5r:20190818080145p:plain

するとパスワードの入力が促されるので、先程設定したパスワードを入力します

f:id:gn5r:20190818080450j:plain

このように何かしらLinux Mintの画面が表示されればテストは成功です

自動起動の設定

自動起動させるためにサービスファイルを作成します

と言っても参考サイト様の丸パクリですが..

sudo vim /etc/systemd/system/x11vnc.service

[Unit]
Description=X11VNC Server 
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -display :0 -rfbauth /home/gn5r/.vnc/passwd -rfbport 5900 -forever -loop -noxdamage -repeat -shared
ExecStop=/bin/kill -TERM $MAINPID
ExecReload=/bin/kill -HUP $MAINPID
KillMode=control-group
Restart=on-failure

[Install]
WantedBy=graphical.target

:wqで上書き保存をしたら、ファイルを読み込んで自動起動に登録します

sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
sudo systemctl start x11vnc.service

備考

クライアント側が無線LANを使っている時だと、接続が切れたり動きがもっさりする
まぁVNC使わずにTeraTermなどのターミナルソフトからssh接続でほぼほぼ完結するからいいんだけど...