Daisy Chained Replication on MariaDB(MySQL)

A(master) —インターネット→ B(slave) —-イントラネット→ C(slave)

ってデータを更新したい。ややこしいと言うか出来るのかって話だけど出来るらしい

Master with Relay Slaveと言うらしい

んでせっかくならGTIDっていうのを使ってやろうって話

mysql_secure_installation

とりあえずやってみよう

CentOS7にSSL証明書を入れてHTTPSでアクセスできるようにする

SSLを入れるためにやったことです

買ったのはアルファSSLのワイルドカードドメイン

*.medicalfields.jpです

実際にやった設定

サーバーの秘密鍵作成(パスフレーズなし)
openssl genrsa -out server.key 2048
でサーバーの秘密鍵作ったら

CSR(Certificate Signing Request)を作成
openssl req -new -key server.key -out server.csr

ワイルドカードのドメインの場合はコモンネームを*.medicalfields.jpに
ほかはChallenge Passwordは入力しない!
んで出来たCSRをWEBのSSL発行サイトに貼り付けると
medicalfields.jp.crtっていうサーバ証明書ファイルを送ってくれる
これと中間証明書alphassl_intermediate_ca. cerがいる

yum –y install mod_ssl

vi /etc/httpd/conf.d/ssl.conf

中間証明書:alphassl_intermediate_ca.cer
サーバ証明書ファイル:medicalfields.jp.crt
サーバーの秘密鍵:medicalfields.jp.key
ができる

DocumentRoot “/var/www/html”
ServerName medicalfields.jp:443
のコメント外して付け加える

SSLCertificateFile /etc/pki/tls/certs/medicalfields.jp.crt
SSLCertificateKeyFile /etc/pki/tls/private/medicalfields.jp.key
SSLCertificateChainFile /etc/pki/tls/certs/alphassl_intermediate_ca.cer

保存
/etc/pki/tls/certsにcrtとcerの2つのファイル、/etc/pki/tls/private/にkeyを転送する

CentOS7にapache(WordPressのみ)を構築

とりあえずCentOS7にWEBサーバー構築する

んでMariaDBは別サーバーにして、負荷を分散!って構造

ServerWEB1[Apache+PHP]

ローカルネットワークーク ー ServerSQL[MariaDB Slave]

ServerSQL[MariaDB Master]

っていう構造でいく

ロードバランサーは見送りです(そんなに負担かからないだろうし24コアまで1分ぐらいで拡張できるから)

やったこと

ConohaでServerWEB1のサーバー作成

SSHでログイン

yum install httpd
firewall-cmd --add-port=80/tcp --zone=public --permanent
firewall-cmd --add-port=443/tcp --zone=public --permanent
yum -y install php
systemctl start httpd.service
systemctl enable httpd.service

んでWordpressを

DocumentRoot “/var/www/html”

にコピー

すると

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

だと

yum -y install php-mysql

入れて

vi /etc/php.ini

に行って

extension=mysql.soの追加

systemctl restart httpd.service

で再起動したら動いてるはず

ここでMySQL(Maria)のサーバーのインストール!

MariaDB

yum -y install mariadb mariadb-server
systemctl enable mariadb.service
systemctl start mariadb.service

firewall-cmd --add-port=3306/tcp --zone=public --permanent

mysql_secure_installation

でセキュリティ設定

とりあえずLocalからのみだけどそれだとアクセスできないから

mysql -u root -p

でSQLのコマンドの画面に入って

grant all privileges on *.* to name@'%' identified by 'password' with grant option

 

でAdminユーザー作った。これでWordpressログインします

なんやかんやでそのままduplicatorのinstall.phpで復元もすんなり出来た(フォルダのアクセス権を777にする必要はあったけど)

その後Wordpressのトップページ動いたーってなったけど他のページ行くとNot Foundと言われる。

でパーマリンクをデフォルトに戻すと表示される

実はhttpd.confの設定に不備があった。
<Directory “/var/www/html”> ~ </Directory>の中でAllowOverrideがNoneのままだった。
このため、.htaccessの設定が無効になっていたのだ。
そこで以下のように変更したら正常に表示されるようになった。

AllowOverride None

AllowOverride All

<Directory “path/to/your/document/root”>
# ….

AllowOverride None

# ….

</Directory>

パーマリンクもできたしWordpress動いたーってなったけどプラグインの有効ページに行くと何故か真っ白になる

デバッグモード有効にすると

PHP Fatal error: Call to undefined function mb_convert_kana() in …

だって

解決方法
yum -y install php-mbstring

さらにjetPackを使うとエラー
Fatal error: Class ‘DOMDocument’ not found in
yum -y install php-xml

でOK

なんか調子悪そうならデバッグモード有効にすると原因がわかる

wp-config.php

define(‘WP_DEBUG’, true);を追加すると良い

工事完了です!

 

conohaVPSでSSHで秘密鍵と公開鍵で認証

conohaVPSだと簡単にSSH Keyで認証できるサーバーができる

+パブリックキーで

PuTTYで作った鍵(SSH2-RSA)の2048ビットでできた公開鍵

ssh-rsa AAAAArxOZqxJ7qmi/XxS/LsAdNpc3oJS2jafPM12tnyLryL1q2irCtnyLryL1q2irCqjNvhzCRV65rKHVhNs5qcc8vPWKRIl8TbakKz+fKxESMJ1X02CBuB6MCf+S3Q4zsiIwv7d3bO/ENDsDgGsTAedsdfejhDHnveoa0eDhekaBNATLWs6euDeWD7LKncdmrY15/+7DCp6UrWd/evqa+Mfp6xApCKQWP/dyzrVdhVUDrpf/cpiv0nlkMRvhY/Q== rsa-key-20170222

的なやつをImportしてConohaさんに登録

Conohaのサーバー管理でこの公開鍵でサーバーを新規作成します

また秘密鍵は大切に保管しましょう

key passphraseを登録するとより安全

ここで秘密鍵をppkで登録する

んでTeratermでUse RSA/DSA~~~~~to log inでさっきのPPKファイルを選択して、key passphraseを正しく入力するとログインできます

※ここのpassphraseはrootのログインのパスワードじゃないです!それだとログインできない、秘密鍵のパスワードです

ちなみにkey Psspharseが間違ってたら秘密鍵が正しくないみたいなエラーがでるけど秘密鍵のPPKファイルはきっと正しくてパスワード間違ってるだけだと思います

 

ConohaVPSでCentOS7.3でローカルネットワークを作ったのにお互いに接続されなかった原因

ConohaVPSでCentOS7.3でローカルネットワークを作ったのにお互いに接続されなかった原因

なんかIPアドレスは割り当てられたやつ

例:

利用可能アドレス 192.168.11.1 – 192.168.11.254

の場合で割り当てられたIPが

IPアドレス 192.168.11.4

だった場合

CentOS7だとnmtuiでGUIで操作するのがええよ!ってことでそれでやった

Edit a connectionで増えたやつ選択して(もし増やしたはずのMACアドレスのNICがなかったらActivate a conecctionしよう。Activate失敗してもなんか大丈夫そう)

IPv4はManualでAddressesに192.168.11.3/24

/24が死ぬほど大事!

Gatewayに255.255.255.0と入力するとなぜか

PREFIX=32となります

それだと、つながりません

ip addr showで

brdが192.168.11.4となっちゃいます

自分で直接編集する場合は

# ディレクトリ移動
cd /etc/sysconfig/network-scripts

# 編集開始
vim ifcfg-eth1

でPREFIX=24にしましょう

あとEdit ConnectionでNever use this network for default routeはXにしてチェックいれましょう

そうしないとこのローカルネットワークでネットを繋ぎに行って、外部からSSHのログインできなくなります。

CentOS7.3でSoftEtherインストールのためにしたこと

CentOS7.3でSoftEtherインストールのためにしたこと
softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-x64-64bit.tar.gzをhttp://www.softether-download.com/ja.aspx?product=softether
からDLしてWINSCPで/rootに転送
yum -y install gcc

 

1. 解凍
tar xzf softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-x64-64bit.tar.gz
cd vpnserver
2. ビルドするため、make コマンドを実行する。
make
ライセンス同意書に同意するための処理が始まる。 まずは、1 を入力する。
Do you want to read the License Agreement for this software ?

1. Yes
2. No

Please choose one of above number:
1
再度、1 を入力する。
Did you read and understand the License Agreement ?
(If you couldn’t read above text, Please read ‘ReadMeFirst_License.txt’
file with any text editor.)

1. Yes
2. No

Please choose one of above number:
1
再々度、1 を入力する。
Did you agree the License Agreement ?

1. Agree
2. Do Not Agree

Please choose one of above number:
1
自動的にコンパイルが始まり、動作環境がチェックされる。すべて [合格] であれば OK。
3. vpnserver ディレクトリ丸ごと /usr/local/ に移動させ、パーミションを修正する。
cd ..
mv vpnserver /usr/local/
cd /usr/local/vpnserver/
chmod 600 *
chmod 700 vpncmd vpnserver
これで、インストール完了。
systemd用の起動スクリプトを作成します。ポイントは Type を「forking」にする事です。
# cd /etc/systemd/system
# vi vpnserver.service

[Unit]
Description=SoftEther VPN Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop

[Install]
WantedBy = multi-user.target


systemdがサービスを認識したか確認します。
# systemctl list-unit-files --type=service |grep vpn
vpnserver.service disenabled
systemdにサービスを登録し起動させます。
# systemctl enable vpnserver
# systemctl start vpnserver

ポートを開放する
firewall-cmd –add-port=443/tcp –zone=public –permanent
firewall-cmd –add-port=443/udp –zone=public –permanent