wordpress の SSL 対応(Let’s Encript)

wordpress の SSL 対応(Let’s Encript)

無事に wordpress を GMO クラウドから
ConoHa VPS に移行できたので
次に wordpress のSSL対応にします

ssh でログインしたら

su -

で管理者権限になり

使用するドメインは
wp.developapp.net
なので

/usr/local/certbot/certbot-auto certonly --webroot -w /var/www/html/wp.developapp.net -m メルアド-d wp.developapp.net --agree-tos

で証明書ファイルを発行

 vim /etc/httpd/conf.d/wp.developapp.net.conf 

で設定ファイルを開き

<VirtualHost *:443>
        ServerName wp.developapp.net:443
        DocumentRoot "/var/www/html/wp.developapp.net"
        ErrorLog logs/ssl-wp.developapp.net-error_log
        CustomLog logs/ssl-wp.developapp.net-access_log combined env=!no_log
        SSLCertificateFile /etc/letsencrypt/live/wp.developapp.net/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/wp.developapp.net/privkey.pem       
        SSLCertificateChainFile /etc/letsencrypt/live/wp.developapp.net/chain.pem

        SSLProtocol all -SSLv2 -SSLv3
        SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
        SSLHonorCipherOrder on
        Header always set Strict-Transport-Security "max-age=15768000"
</VirtualHost>

を追記

なお、HTTPでアクセスしてきたものを HTTPS にするには

    RewriteEngine on
    RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]


80 番ポートのところに追記します

<VirtualHost *:80>
    ServerName wp.developapp.net
    DocumentRoot /var/www/html/wp.developapp.net
    ErrorLog logs/wp.developapp.net-error_log
    CustomLog logs/wp.developapp.net-access_log combined env=!no_log

    RewriteEngine on
    RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

</VirtualHost>

設定反映のため

systemctl restart httpd

で Webサーバを再起動

これで SSL対応はできるけど
これから書く記事に対してはOKだけど
過去記事に関しては
リンクが http のため
このままだと
一部は安全ではありません
と表示されることに

wordpress letsencrypt 一部安全ではありません
で検索し
WordPressサイトをSSL化した時注意すること

を参考に

まず、ダッシュボードにログインし
Settings > general

WordPress Adress(URL)

Site Address(URL)
の部分の
http を https に変更

次に過去記事のメディアなどのURLの置き換え
これはプラグインのSearch Regexで可能なので

Plugin > AddNew

Search Regexで検索し
Activate で有効化

Tools > Search Regex

Search pattern に 
http://wp.developapp.net
というようにSSLする前のドメインを
Replace pattern には
https://wp.developapp.net/
というように SSL対応したあとのドメインを入力し
Seach をクリック

これで該当する部分がでるので
Replace & Save
で置き換えと保存

しかし、まだダメなので
アフィリエイトサイトの場合ASPのトラッキング用のリンクなどが
影響しているため、一度使用しているアフィリエイトのリンクを確認

これらのリンクに対しては今後対応することに

wordpress の引っ越し作業で画面真っ白の対処

wordpress の引っ越し作業で画面真っ白の対処

mysql データを MariaDB へインポートできたので
次にvirtualhost の設定

vim /etc/httpd/conf.d/wp.developapp.net.conf

というように
ドメイン名.conf
というファイルを作成

内容は

<VirtualHost *:80>
    ServerName wp.developapp.net
    DocumentRoot /var/www/html/wp.developapp.net
    ErrorLog logs/wp.developapp.net-error_log
    CustomLog logs/wp.developapp.net-access_log combined env=!no_log
</VirtualHost>

保存したら

systemctl restart httpd

で apache を再起動

しかし
お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

と表示される

エラーで検索し
CentOS7 PHP7.1.2 お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

を参考に

php -m | grep mysql

を実行しても何もでないので

yum install yum-utils
yum-config-manager --enable remi-php71
yum install php-mysqlnd

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

php -m | grep mysql

を実行し

mysqli
mysqlnd
pdo_mysql

がでたのを確認したら

systemctl restart httpd

で apache を再起動したけどかわらず

おそらく wordpress のバージョンが古すぎることが原因

とりあえず

wget http://ja.wordpress.org/latest-ja.zip

で最新のwordpress をダウンロード

mv wordpress /var/www/html/wp.developapp.net
chown -R apache:apache /var/www/html/wp.developapp.net/
cd /var/www/html/wp.developapp.net/
cp wp-config-sample.php wp-config.php
vim wp-config.php
systemctl restart httpd

今度は
データベース接続確立エラーになった

ログインユーザに問題があるとおもい
wordpress ユーザで mysql でログインしようとしてもできないので
サーバー移動による hostname があやしいと思い

root で mysql にログインして調べたら

select host,user from mysql.user;

を実行すると
host が % になっている

念の為

 show variables like 'hostname';

で hostname もみてみたら
やはり違っている

このあたりから調べることに
Warning: mysqli_real_connect(): (HY000/1045): Access denied for user ‘snowpool’@’localhost’ (using password: YES) in /var/www/html/wp.developapp.net/wp-includes/wp-db.php on line 1531

つまり ユーザに問題がありそう

MariaDB(MySQL)の基本的なユーザー系コマンド

で調べ

SELECT user,host FROM mysql.user;

でユーザ一覧をみたら

ユーザは存在しているけど
root 以外は

SHOW GRANTS FOR ''@'hostname';

で権限を確認しても

ERROR 1141 (42000): There is no such grant defined for user 'snowpool' on host 'hostname'

となるし

ログインしようとしても

ERROR 1045 (28000): Access denied for user 'snowpool'@'localhost' (using password: YES)

となってしまう

Hostを指定しないで作ったuser1はHostが「%」になっているので
とあるので
https://teratail.com/questions/45324

MySQLの権限の確認や外部からのアクセス

に権限について載っているのをみると

どうやら、host の指定をしていないのが原因っぽい

とりあえず権限の確認

show grants;

で現在のユーザの権限が確認できる

root ユーザに関してはログインしてコマンド実行することでみれたけど
wordpress のユーザはログインすることができかったため

DBの破損の確認をしたいので

テーブルが壊れているかと思ったので、mysqlcheckで修復したときのメモ

を参考に

mysqlcheck -c -u root -p --all-databases

を行ったところ
すべてOKで破損はなし

SELECT user,host FROM mysql.user;

でユーザ一覧をだしてみたけど
host が % になっているのでたぶんこれが原因っぽい

一度、移行前のサーバーへ ssh ログインし

show grants for 'snowpool'@'%';

では権限確認できるのに対し

インポート先の MariaDBで

show grants for 'snowpool'@'%';

だと

ERROR 1141 (42000): There is no such grant defined for user 'snowpool' on host '%'

となる

MySQL] MySQL5でHostに’%’があるとリモート接続できない?

によれば
host に % にするのは mysql のワイルドカードで
どこからの接続でも許可するというもの

今使っているDBが MariaDB
最初は権限やセキュリティの仕様が違うのかとおもったけど
マシンのホスト名やOSが違うため

slaveの再設定、追加(オンラインバックアップ)

をみてみたら

別サーバーで、レプリケーションが行われているmysqlからダンプして
フルバックアップファイルを利用して、slaveを設定しなおす場合に、
mysqlの接続アカウント情報も書き変わってしまう。

そのため、元々masterに設定されていた接続アカウントと
ダンプファイルのアカウント情報が違う場合には、アカウント情報を再設定してあげる必要がある。

とのこと

ということで再度アカウントを別のもので作成して実験

grant all privileges on wp_my_wordpress* to snowpool@localhost identified by "password";

これで wp-config.php の設定を変更したけど画面が真っ白

念の為

mysqldump -u root -p wp_my_wordpress > wordpress.sql

でバックアップを作成しておく

なお復旧させるときには

create database wordpress;

で新規作成

 mysql -u root -p wordpress < wordpress.sql 

でインポートすれば復旧可能

 mysqlcheck -c wordpress -u root -p

で破損をチェックしOKを確認するのも忘れずに

なお、画面が真っ白になった原因は
最新のwordpress にした場合、該当するテーマがないため
wp-config.php での設定をせず
ドメインにアクセスし、ブラウザからインストールし
ダッシュボードへログインしてテーマ設定をすれば
wordpress の表示がされるようになります

wordpress の Mysql DB バックアップと Maria DB へのインポート

wordpress の Mysql DB バックアップと Maria DB へのインポート

GMOクラウドで構築した wordpress から
ConoHa VPS へ移行するため
mysql のバックアップを行う

WordPressサイトの移行手順まとめ(mysqldumpから別環境移行まで)

を参考にやってみる

DBの内容が多かったのが原因なのかは不明だけど
プラグインで実行しようとしたらできなかったので
mysqldump コマンドでバックアップすることに

データ容量が大きい場合,bzipでは圧縮は比較的早いが解凍に時間がかかるため
gzip を使ったほうがいいらしい

MySQLでバックアップ&圧縮をまとめて行うコマンド

でも バックアップと圧縮をパイプでまとめて行っている

バックアップのためのディレクトリを作成したいので

mkdir -p /var/www/backup/db_bak
chmod 777 /var/www/backup/db_bak

で作成して

個別のDBバックアップ圧縮なら

mysqldump -u username -h localhost -p databasename | gzip > mysqldump.sql.gz

すべてなら

mysqldump -u username -h localhost -p -A | gzip > mysqldump.sql.gz

でできるようだ

なお、復元に関しては
解凍&復元を同時に行う(zcat+mysql)

zcat mysqldump.sql.gz | mysql -u username -p databasename

とあるのでこれを行うには
zcat が必要になりそう

–all-databases  は
mysqldump のオプションで
全DBバックアップという意味

とりあえずバックアップしたファイルを sftp でダウンロード

今回は
mysql_backup_20181011.dump.gz
というファイルにしてダウンロード

mysql を MariaDB にインポートするので
後々問題になったときのため
バージョンを調べておくことに

/usr/local/mysql/bin/mysql --version

で調べたら

/usr/local/mysql/bin/mysql  Ver 14.14 Distrib 5.5.27, for Linux (x86_64) using  EditLine wrapper

なので
ver 5.5.27 みたい

次に

scp -p mysql_backup_20181011.dump.gz snowpool@サーバIP:/home/snowpool/

で公開鍵認証 scp で圧縮ファイルを転送

念の為
MariaDB のバージョンを

mysql --version

で確認したら

mysql  Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1

またmysql のホスト名の違いについては

show variables like 'hostname';

で確認

DB全部バックアップしたものを復旧するなら

 mysql -u root < /vagrant/dump.sql

でよさげなので
MariaDB のデータを mysqldump でバックアップ・リストアする

を参考に実践

単純に

 zcat mysql_backup_20181011.dump.gz | mysql -u root -p

でできた

これで mysql のデータを maria DB にインポートできたので
次は virtualhost の設定をして
wordpress のインストールを行います

ConoHa VPS virtualhost 設定

ConoHa VPS virtualhost 設定

バーチャルホスト設定(Apache)

を参考に
virtualhost の設定

今回使用するドメイン名は
www.snowpool.info

mkdir /var/www/html/www.snowpool.info

でvirtualhost ドキュメントルートディレクトリを作成

vim /etc/httpd/conf.d/virtualhost.conf

で未定義ホスト用virtualhost 設定ファイルを作成

内容は

<VirtualHost _default_:80>
    ServerName any
    <Location />
        Require all denied
    </Location>
</VirtualHost>

とすることで
virtualhost 未定義ホスト名でアクセスを拒否

 vim /etc/httpd/conf.d/www.snowpool.info.conf

で www.snowpool.info の
virtualhost 設定ファイルを作成

つくるファイル名は
ドメイン名.conf
となる

内容は

<VirtualHost *:80>
    ServerName www.snowpool.info
    DocumentRoot /var/www/html/www.snowpool.info
    ErrorLog logs/www.snowpool.info-error_log
    CustomLog logs/www.snowpool.info-access_log combined env=!no_log
</VirtualHost>

なお
www.snowpool.info
の部分は取得したドメインに置き換え

systemctl restart httpd

で Webサーバ再起動

echo test >> /var/www/html/www.snowpool.info/index.html

でテストファイルを用意

これで
http://www.snowpool.info/
へアクセスすると
test と表示されます

次に Lets Encript の適用を変更するので

vim /etc/httpd/conf.d/ssl.conf

で設定ファイルを開き
56行目あたりの

 <VirtualHost _default_:443>

から
218行目あたりの

 </VirtualHost>

までを削除

次に

 /usr/local/certbot/certbot-auto certonly --webroot -w /var/www/html/www.snowpool.info -m メルアド -d www.snowpool.info --agree-to

を実行すると

What would you like to do?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Keep the existing certificate for now
2: Renew & replace the cert (limit ~5 per 7 days)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 

となるので

Let’s Encrypt の証明書の更新で「バージョンが異なる」のメッセージが出て更新できない

を参考に

2 を入力し Enter で更新

次に

vim /etc/httpd/conf.d/www.snowpool.info.conf 

を開き

<VirtualHost *:443>
        ServerName www.snowpool.info:443
        DocumentRoot "/var/www/html/www.snowpool.info"
        ErrorLog logs/ssl-www.snowpool.info-error_log
        CustomLog logs/ssl-www.snowpool.info-access_log combined env=!no_log
        SSLCertificateFile /etc/letsencrypt/live/www.snowpool.info/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/www.snowpool.info/privkey.pem       
        SSLCertificateChainFile /etc/letsencrypt/live/www.snowpool.info/chain.pem

        SSLProtocol all -SSLv2 -SSLv3
        SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
        SSLHonorCipherOrder on
        Header always set Strict-Transport-Security "max-age=15768000"
</VirtualHost>

を追記

設定反映のため

systemctl restart httpd

で Webサーバを再起動

これで https アクセスになるけど
http でアクセスしてきたものを強制的に https にしたいので

CentOS7 複数ドメイン(バーチャルホスト)でSSL

を参考に

virtualhost *:80
の部分に

    RewriteEngine on
    RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

を追記

今回の場合

<VirtualHost *:80>
    ServerName www.snowpool.info
    DocumentRoot /var/www/html/www.snowpool.info
    ErrorLog logs/www.snowpool.info-error_log
    CustomLog logs/www.snowpool.info-access_log combined env=!no_log

    RewriteEngine on
    RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</VirtualHost>

<VirtualHost *:443>
        ServerName www.snowpool.info:443
        DocumentRoot "/var/www/html/www.snowpool.info"
        ErrorLog logs/ssl-www.snowpool.info-error_log
        CustomLog logs/ssl-www.snowpool.info-access_log combined env=!no_log
        SSLCertificateFile /etc/letsencrypt/live/www.snowpool.info/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/www.snowpool.info/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/www.snowpool.info/chain.pem

        SSLProtocol all -SSLv2 -SSLv3
        SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
        SSLHonorCipherOrder on
        Header always set Strict-Transport-Security "max-age=15768000"
</VirtualHost>

となりました

ConoHa VPS 設定(Lets Encript の適用)

ConoHa VPS 設定(Lets Encript の適用)

Apache のインストールまではできているので
設定を変更

CentOS7 複数ドメイン(バーチャルホスト)でSSL

を参考に設定

su -

で管理者権限になり

vim /etc/httpd/conf/httpd.conf 

でファイルを開き

TraceEnable off

を最終行に追記
なお
shift +g で最終行に移動して
o を押して書き込みモードにして
ctrl + shift + v で貼り付けすると楽

この意味は
エラー画面にサーバー情報を表示しないようにする
というもの

これについては
apacheで攻撃者に有用な情報を与えない対策

を参考に

次に
144行目の

Options Indexes FollowSymLinks

Options Includes ExecCGI FollowSymLinks

へ変更し
CGI,SSIの許可

次に151行めの

AllowOverride None

AllowOverride All

と変更することで
.htaccess を許可

次にautoindex 設定ファイルを修正

vim /etc/httpd/conf.d/autoindex.conf 

で設定ファイルを開き
24行目の

Options Indexes MultiViews FollowSymlinks

Options MultiViews

とすることで
icons ディレクトリのファイル一覧を表示しないように設定

次に
SSLデフォルト設定ファイルを編集
しかし、対象となるファイルが見当たらないため

Webサーバー間通信内容暗号化(Apache+mod_SSL+Certbot)

を参考に設定

まずは Certbot クライアントのインストール

yum -y install git

で git をインストール

次に

cd /usr/local/
git clone https://github.com/certbot/certbot
cd
/usr/local/certbot/certbot-auto -n


certbot クライアントをインストール

次にサーバ証明書の取得
構文は

/usr/local/certbot/certbot-auto certonly --webroot -w ドキュメントルート -m メールアドレス -d Webサーバー名 --agree-tos

今回は
ドキュメントルートは
/var/www/html/

webサーバ名はドメインの
www.snowpool.info

メルアドは私の gmail アドレスで行いました

実行すると

Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: 

というように
Lets Encript パートナーにメルアドを公開していいか聞かれるので
さすがに公開は嫌なので
N
としました

次に mod_ssl のインストール

yum -y install mod_ssl

次にSSL設定ファイルを編集

vim /etc/httpd/conf.d/ssl.conf 

で設定ファイルを開き

100行目の

SSLCertificateFile /etc/pki/tls/certs/localhost.crt

SSLCertificateFile /etc/letsencrypt/live/www.snowpool.info/cert.pem

に変更

107行目の

 SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

SSLCertificateKeyFile /etc/letsencrypt/live/www.snowpool.info/privkey.pem

に変更

116行目の

#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt

SSLCertificateChainFile /etc/letsencrypt/live/www.snowpool.info/chain.pem

に変更し保存

そして94行目に

SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AE    S:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS

SSLHonorCipherOrder on

を追加することで
暗号化方法の追加と
暗号化方法をサーバ側で決定できるように設定

ここまでできたら保存して

systemctl reload httpd

で Apache を再起動

これで https://ドメイン名
でアクセスして鍵マークが出ていれば成功

letsencript

お名前.com で取得したドメインの引っ越し設定

お名前.com で取得したドメインの設定

wordpress の引っ越しの前に
まずはドメインの設定をします

すでに稼働しているこのブログで実験するのはリスクがあるので
以前AWS で wordpress 構築で使っていたドメインが
お名前.com にあったので
これをつかって ConoHa VPSに適用してみます

やり方については
お名前.comで独自ドメインを取得してConoHaで公開する手順

を参考にさせていただきました

なお、今回はお名前.com でのドメイン取得については
省いています

まず ConoHa のコントロールパネルを開き

DNS をクリックし ドメインをクリック

domain

次にドメイン名を入力し
保存をクリック

domain2

次に 
編集の鉛筆のようなアイコンをクリック
+アイコンをクリックし
タイプは A(通常)
名称は www
TTL は省力してもOK
値は ConoHa のサーバーIP
を入力し
保存をクリック

domain3

なおNSのところの値は
あとでお名前.com のネームサーバ設定で使うので
控えておきましょう

次にお名前.com へログインし
DNS関連機能の設定をクリックし
ドメインにチェックを入れて
次に進むをクリック

domain4

次にDNSレコード設定を利用する
をクリック

domain5

すでに取得してあった引っ越し前のサーバのIPを
今回適用する ConoHa のIPに書き換え
DNSレコード設定用ネームサーバー変更確認
にチェックをいれ
確認画面に進む
をクリック

domain6

次にネームサーバの設定をするので
ネームサーバーの変更をクリックし
適用するドメインにチェックをいれ
他のネームサーバーを利用をクリックし

1プライマリネームサーバー(必須)
1プライマリネームサーバー(必須)

の部分に
ConoHa のNSのところの値を入力し
確認画面に進むをクリック

domain8]

これで引っ越しのためのドメインの準備ができたので
あとは時間をおいてから
取得したドメインへアクセスすると
ページが表示されます

ubuntu 16.04 へ redmine と gitlab インストール その1(公開鍵認証設定)

ubuntu 16.04 へ redmine と gitlab インストール その1(公開鍵認証設定)

raspberry Pi で構築したときにはマシンスペック不足だったので
今回は Virtualbox の Ubuntu 16.04 で実践

まず ssh 接続できるように

sudo apt-get install openssh-server

で SSH server をインストール

次に vim のインストール

sudo apt-get install vim

root での ssh ログインを禁止するために

sudo vim /etc/ssh/sshd_config

で設定ファイルを開き
28行目の

PermitRootLogin prohibit-password

PermitRootLogin no

へ変更し保存

sudo /etc/init.d/ssh restart 

で SSH server を再起動して設定を反映

公開鍵認証で使うために

mkdir .ssh
chmod 700 .ssh/

でディレクトリを作成し
権限を 700 にしておきます

次に公開鍵認証にするけど
すでに別のマシンで鍵をつくっているので
上書きされると困るので
sshの公開鍵認証について(個人的まとめ)

を参考に
鍵ファイルに名前をつけます

一度サーバーからログアウトして
クライアントマシン側の ubuntu で作業します

ssh-keygen -t rsa

を実行して

Enter file in which to save the key (/home/snowpool/.ssh/id_rsa): 

の時に名前をいれればOK

このときに名前を snowpool とすると
snowpool という秘密鍵
snowpool.pub という公開鍵ができます

次に権限などの変更

mv snowpool .ssh/
chmod 600 .ssh/snowpool 

として権限を 600 へ変更

次に対象サーバーへ公開鍵をコピー

scp snowpool.pub snowpool@192.168.1.237:~/.ssh/authorized_keys

次にサーバーにログインし

chmod 600 .ssh/authorized_keys 

で権限を 600 に変更

これであとはクライアント側で

ssh -i .ssh/snowpool snowpool@192.168.1.237

というように
ssh コマンドで -i オプションで鍵を指定することで
公開鍵認証でログインができます

セキュリティのためのパスワード認証を禁止するため

sudo vim /etc/ssh/sshd_config 

で設定ファイルを開き

52行めの

#PasswordAuthentication yes

PasswordAuthentication no

へ変更し

sudo /etc/init.d/ssh restart 

でSSH server を再起動して設定を反映

これでパスワード認証でのログインは不可能になります

ただ、このままだと毎回鍵ファイルを指定するのは面倒なので
クライアント側の設定を変更します

vim .ssh/config

で 設定ファイルを開き

Host snowpool
        HostName snowpool-VirtualBox
        User snowpool
        Port 22
        IdentityFile /home/snowpool/.ssh/snowpool

というようにファイルを作成します

Host には任意の接続したい名前

HostName には対象マシンのホスト名
これは hostname コマンドを実行するとでます

User はユーザ名

Portは接続ポート番号

IdentityFile は公開鍵の場所を指定します

これで

ssh snowpool

というようにすると設定した Host名で簡単にログインができるようになります

緊急止水弁のロック解除方法について

緊急止水弁のロック解除方法について

去年購入した 日立のビッグドラムBD-NX120B

朝 起きた時に洗濯をしようとしたら
緊急止水弁とホースが外れていてホースをはめ込もうとしても
入らないという状態になっていました

仕方ないので、洗濯機の型番と緊急止水弁の状態を
スマホで写真で撮影し
どのように入らないかを動画で撮影して
購入した家電量販店へ行きました

しかし、この時に保証書を持って行かなかったため
電話番号を渡され、あとで保証書を見つけたら
ご自分で連絡をとってくださいと言われ帰って保証書を探すことに

しかし、保証書と説明書が見つからないため
このままだと実費だし、そもそも連絡してから
数日は洗濯できない状況になりそうなので
できるだけ自力解決することにしました

ワンタッチつぎて 入らない 日立
で検索し
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14147049759?ccode=ofv&pos=2
これを参考にすると
どうやら水圧を抜けば解決できそうだったけど
いくら押しても引っ込むことがないため

日立 ビッグドラム 説明書
で検索しPDFファイルを元に調べたところ
緊急止水弁の型番がわかったので
CB-J6

cb-j6 水圧 抜き方
で検索して
これで安心!!
水漏れを防ぐオートストップ式給水ジョイント
CB-J6

を参考に
水道の元栓を締めることにしました

ただし、これをやるにしても住まいが賃貸のため
間違えると、他の方の水道を止めてしまうため
水道の元栓場所を撮影してメールで送信してから
管理会社へ連絡

本来なら5時で営業時間終了ということでしたが
幸いなんとか時間内に連絡し
このままでは数日洗濯ができないということを説明すると
時間外でも折り返し電話していただくことで
無事に元栓を締めることができました

なお、水圧を抜くために他の水を開けてみたところ
簡単に緊急止水弁の白いレバー部分は引っ込みました

今後引っ越したりした時には
水道の元栓の位置を管理会社に聞いておき
次回同じ状況に備えておこうと思います

conoha vps で wordpress の構築

conoha vps で wordpress の構築

GMOクラウドで wordpress を運用していましたが
料金を抑え、さらにSSDで早いと聞いた
ConoHa で wordpress を運用するようにします

CentOS7 複数ドメイン(バーチャルホスト)でSSL

を参考に構築を行います

なお、初期設定については
ConohaサーバーへWordPressをインストールするまでの全行程(1)Conohaサーバーの立ち上げ

を参考に

ちなみに、アカウントと root パスワードは決めたものの
root パスワードを忘れ
ログインできない状態になり
https://www.conoha.jp/faq/troubleshooting/
で調べたけど
rootパスワードやVPS内で作成したアカウント情報ついて弊社側では確認ができません。サーバー再構築やシングルユーザモード・レスキューモードにてパスワードの再設定をご検討ください
とのことなので

ConoHa さくら VPSでのrootパスワード再設定

を参考に実践

Conoha にログインし
仮想サーバを選択して
コンソールをクリック

次に
特殊キーで ctrl + alt + delete をクリック
再起動するので
キーボードの上下キーをおすとカーネル選択画面になるので
一番上を選んで e をクリック

すると編集モードになるが、編集するべき場所がみつからないので

一度削除し再度作成

Conoha コンソールでIPアドレスを確認し

ssh root@IPアドレス

でログイン

次にアップデート

yum -y update

次に一般ユーザの設定

ConohaサーバーへWordPressをインストールするまでの全行程(2)サーバーのセキュリティを強化する

を参考に実践

useradd ユーザ名

で一般ユーザを追加し

passwd ユーザ名

で一般ユーザにパスワードを付与

 usermod -G wheel  ユーザ名

でユーザを wheel グループに追加

なお、セキュリティに関してはポート変更よりも

ConohaサーバーへWordPressをインストールするまでの全行程(5)SSH接続を公開鍵認証で行う

を参考に公開鍵認証に変更します

なお、新規にサーバを選ぶときには
https://www.conoha.jp/guide/vps_sshkey.php
にあるように公開鍵認証を設定できるようです

一度ログアウトし
作成した一般ユーザで ssh でログインします
[shel]
ssh 一般ユーザ名@IPアドレス
[/shell]

ログインできたら

ssh-keygen -t rsa

で鍵を作成

id_rsa.pubのファイル名をauthorized_keysに変更するので

cd .ssh/
mv id_rsa.pub authorized_keys

次に権限の変更

sudo chmod 700 ../.ssh/
 sudo chmod 600 ../.ssh/authorized_keys 

次に scp コマンドで秘密鍵をローカルへ移動します
一度ログアウトして
ubuntu 側で

scp 一般ユーザ名@IPアドレス:/home/一般ユーザ名/.ssh/id_rsa /home/自分のユーザ名/.ssh/

これで再度 sshで接続すると
今度はパスワードを入力することなくログインできるようになります

次にせっかく公開鍵認証にしたのでパスワードによるログインは禁止します

sudo vim /etc/ssh/sshd_config 

でファイルを開き

38行目の

PermitRootLogin yes

PermitRootLogin no

としてRootログインを拒否

63行目の

PasswordAuthentication yes

PasswordAuthentication no

へ変更してパスワード認証を拒否

なお
RSAAuthentication の項目がみあたらないので調べたら
sshd_config に RSAAuthentication no を設定する必要はもうない

にあるように設定は不要のようです

Conoha の一般ユーザーで公開鍵認証を使用してSSHログインする

でもこの部分はなくなっていました

あとは

sudo systemctl restart sshd.service 

でサービスを再起動して変更を反映しておきます

次にファイアウォールの設定
https と http を開いておくので

sudo firewall-cmd --add-service=http
sudo firewall-cmd --add-service=https

次に再起動してもそのままの設定になるように

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

次に
ConohaサーバーへWordPressをインストールするまでの全行程(3)Apache MariaDB PHP7のインストール

を参考に
PHP7 のインストール

まず Remi リポジトリの追加

sudo yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

リポジトリ追加の確認は

 ls -l /etc/yum.repos.d/

で確認可能

次に PHP7 のインストール

sudo yum install --enablerepo=remi-php71,remi-safe php p
hp-mbstring php-pear php-mysql php-mcrypt php-gd

これで依存関係で Apache もインストールされます

PHPのヴァージョン確認は

php --version

次に MariaDB のインストール

 sudo yum -y install mariadb mariadb-server

そして MariaDB の起動

systemctl start mariadb.service

起動確認には

sudo systemctl list-units | grep mariadb

次に再起動したときにも自動起動するように設定

systemctl enable mariadb.service 

実行するとユーザパスワードを求められるので入力

登録状態の確認には

systemctl list-unit-files | grep mariadb

次にMariaDB の初期設定

 mysql_secure_installation 

実行するとセキュリティ設定でいくつか質問がでてきます

Enter current password for root (enter for none):
では Enter を押します

Set root password? [Y/n]
で root パスワードを設定するか聞かれるので y

New password:
で新しいパスワードを設定

Re-enter new password:
で確認のためもう一回入力

Remove anonymous users? [Y/n]
では匿名ユーザを削除するか なので y

Disallow root login remotely? [Y/n]
で root をリモートでログインを禁止するかなので y

Remove test database and access to it? [Y/n]
でテストDB削除なので y

Reload privilege tables now? [Y/n]
でテーブルの再読み込みするかなので y

これで設定完了

次に MariaDB を再起動することで設定を反映

systemctl restart mariadb

参考サイトでは wordpress 用DB作成しているけど
別サイトから引っ越しするので
これは保留し
Apache 関連の設定

最初に Apache の起動

systemctl start httpd.service 

起動しているかを確認

systemctl list-units | grep httpd

次に再起動してもApache が起動するよう設定

systemctl enable httpd.service 

設定の確認には

systemctl list-unit-files | grep httpd

次に Apache の設定

CentOS7 複数ドメイン(バーチャルホスト)でSSL

を参考に

ubuntu 16.04LTS Live USB 作成

ubuntu 16.04LTS Live USB 作成

DVDからインストールしようとしたけど
DVDドライブが壊れているため
USB で Live USB で起動しインストールすることになったので
メモ

参考サイトは
UbuntuのLive USBをつくる

まずはISOファイルのダウンロード

Ubuntu 16.04 LTS 日本語 Remix リリース

から任意のものをダウンロード

今回は
北陸先端科学技術大学院大学

ubuntu-ja-16.04-desktop-amd64.iso(ISOイメージ)
をダウンロード

次にUSBへの書き込み
これについては
UbuntuのブートUSB作成 (usb-creator を使用)

を参考に

ダッシュボードで
usb で検索すると
ブータブルUSBの作成
がでるので
これをクリック

liveusb

あとはUSBメモリをさして
ブータブルUSBの作成
をクリックすれば出来上がり

liveusb2

次にインストール後の無線LANの設定

今回、無線LANの子機にしたのが
Elecom の WDC-433DU2HBK

指しただけでは認識しないので
ドライバをインストールする必要があります

sudo apt-get install  build-essential git unzip wget

で開発ツール関連のインストール

次に
ubuntu WDC-433DU2HBK
で検索し
Linux で使えた USB WiFi 2016

Linux で使えた USB WiFi 2016


を参考に実践

まず git でドライバのソースコードを取得

git clone https://github.com/gnab/rtl8812au

次に

cd rtl8812au/
make
sudo make install

でコンパイルとインストール

sudo shutdown -r now

で再起動

その後

sudo systemctl restart NetworkManager.service

を実行したけど無線LAN関連の設定をしようとしたら
エラーになってしまうため

Ubuntu 18.04 で USB Wi-Fi アダプタを認識させる

を参考に設定

しかし

make -C ./rtl8812au/

のあとに

sudo insmod 8812au.ko

を実行しても

insmod: ERROR: could not load module 8812au.ko: No such file or directory

となってしまう

このため
LinuxでWDC-433DU2HBK

を参考に

lsusb

でデバイス情報を取得

Bus 001 Device 002: ID 056e:4007 Elecom Co., Ltd

となったので

vim os_dep/linux/usb_intf.c 

でファイルを開き
/CONFIG_RTL8821
でファイル内検索

しかし、すでに書き込まれているため

sudo modprobe 8812au
sudo systemctl restart NetworkManager.service

を実行することで
無事に無線LANの設定をすることができました