「CentOS6」から「CentOS7」への移行

CentOSCentOS 7

環境

 状態:-  閲覧数:663  投稿日:2018-03-18  更新日:2018-04-09

CentOS6


Apache

CentOS7


Nginx


Apache → Nginx


Task

 閲覧数:129 投稿日:2018-04-08 更新日:2018-04-08 

2018/3/18時点の懸念事項


MySQL5.7からMySQL5.7へ、全DBユーザーを移行したい
・既存「.htaccess」の代わりをNginxで期待した通り出来るか

忘れないようにする


cron

「MySQL5.7 → CentOS6 → Windows10」日毎のデータバッチ処理

動作確認
・ImageMagick
・PHPデモ
・JSデモ
・CSSデモ
・Pythonデモ
※特にパス周り

「CentOS6」の各種設定
・Apache
・MySQL
・PHP
※記念に取得しておく

お試し期間

 閲覧数:115 投稿日:2018-04-08 更新日:2018-04-09 

お試し期間


2018/3/22 ~ 2018/4/5
サービス名      :さくらのVPS(v4) HDD 1G TK02
お申込み日      :2018年03月22日
お試し期間      :2018年04月05日 まで

使用開始


2018年4月6日 から

全サイト


2018年4月8日
・取り敢えず、全サイト表示するよう設定

cron


2018年4月9日
・一部サイトのみだが可動を確認


cron

 閲覧数:104 投稿日:2018-04-08 更新日:2018-04-10 

既存


cron
CentOS6で設定していた内容

CentOS7で設定済
証明書の更新

$ which php    
                                                                                                 
/usr/bin/php


設定1回目


2018/4/9
$ sudo vi /etc/cron.d/access_analysis
1 5 * * * root /usr/bin/php /var/www/html/lib/trust_path_allproject/cron/pagerank-access/output.php


その後Nginx再起動
$ systemctl restart nginx.service

2018/4/10
・cron反映されているサイトもあれば反映されていないサイトもある

▼/var/www/html/lib/trust_path_allproject/cron/pagerank-access/output.php
・(ディレクトリ階層変更に伴い)パスがおかしい箇所があるため修正

$ find /var/www/html -type f -exec sed -i 's%www/1-p36-b4%www/html/1-p36-b4%g' {} +
$ find /var/www/html -type f -exec sed -i 's%www/1-p29%www/html/1-p29%g' {} +


うまくいかない時
▼/var/www/html/lib/trust_path_allproject/cron/pagerank-access/log

MySQL全自動バックアップ

 閲覧数:137 投稿日:2018-04-09 更新日:2018-04-10 

既存


MySQL 手動バックアップ
CentOSでMySQL自動バックアップ
「CentOSで自動バックアップしたdumpデータ」と「Windwos指定ディレクトリ」との同期(ダウンロード)
バックアップ処理後
動作しない時は単純なshファイルを作成してテスト
それまで取得できていたMySQL自動バックアップが、急に取得できなくなった原因 / MySQLバージョンアップに伴う影響 / cron / /etc/my.cnf

新規仕様


A.毎朝cronでshファイル実行することにより、バックアップデータ取得
・その際、3日前以上のデータは削除
▼/var/www/html/lib/mysql-backup/

B.Windows10へログインする度に、「サーバ」「クライアント」指定ディレクトリの同期を確認
・「クライアント」指定ディレクトリ(▼L:/2_Hp_data/bat/data/)内容を、「サーバ」指定ディレクトリ(▼/var/www/html/lib/mysql-backup/)内容と一致させる
WinSCP

実装方針


A.毎朝cronでshファイル実行することにより、バックアップデータ取得
・1.shellスクリプト作成
・2.cronを利用した指定時刻処理

1. ディレクトリ作成


$ sudo -s
# mkdir /home/★★/backup
                                                       
# mkdir /home/★★/shell
                             
# chmod 777 /home/★★/backup
                                                     
# chmod 777 /home/★★/shell

2. mysqldumpコマンドを実行するuserの動作確認


・今回は前回と異なり、既存ユーザを使用

・動作確認のため一度実行
# mysqldump -u データベースユーザ名 -p データベース名 > /home/★★/backup/dump.sql
・データベース名「sqltest」の内容を、実際に取得してみる
# mysqldump -u ☆☆ -p sqltest > /home/★★/backup/dump20180409.sql

3. バックアップshellスクリプトをアップロード


今回は、MySQLデータのバックアップ用shellスクリプトをアップロード
▼/home/★★/shell/backup_mysql.sh
・修正箇所は「DB ユーザー」と「DBパスワード」
※パスワード直書はいつか修正対応したい

# ls -la
合計 8
drwxrwxrwx 2 root       root         28  4月  9 08:59 .
drwx------ 7 ★★ ★★ 4096  4月  9 08:53 ..
-rw-rw-r-- 1 ★★ ★★  857  4月  9 08:59 backup_mysql.sh


4.動作確認目的で、手動で バックアップshellスクリプトを実行してみる


# sh backup_mysql.sh
mysqldump: [Warning] Using a password on the command line interface can be insecure.


・約190MB
# ls -la /home/★★/backup/
合計 195188
drwxrwxrwx 2 root       root              65  4月  9 09:07 .
drwx------ 7 ★★ ★★      4096  4月  9 08:53 ..
-rw-rw-rw- 1 ★★ ★★ 199851007  4月  9 09:06 db_all_backup-20180409.sql.gz
-rw-r--r-- 1 root       root           16110  4月  9 08:53 dump20180409.sql


圧縮ファイルを展開
# gzip -d /home/★★/backup/db_all_backup-20180409.sql.gz
・約1.15GB
# ls -la /home/★★/backup/  

# less /home/★★/backup/db_all_backup-20180409.sql      
             
合計 1209644
drwxrwxrwx 2 root       root               62  4月  9 09:20 .
drwx------ 7 ★★ ★★       4096  4月  9 08:53 ..
-rw-rw-rw- 1 ★★ ★★ 1238652071  4月  9 09:06 db_all_backup-20180409.sql
-rw-r--r-- 1 root       root            16110  4月  9 08:53 dump20180409.sql



USE `word_creativing`;

--
-- Current Database: `word_entrepre`
--

USE `word_entrepre`;                                                                                                                                        
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;                                                                                                                    
                                                                                                                                                           
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;                                                                                                                      
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;                                                                                                  
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;                                                                                                            
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;                                                                                              
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;                                                                                            
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;                                                                                              
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;                                                                                                                    
                                                                                                                                                           
-- Dump completed on 2018-04-09  9:06:22


mysqldumpで取得したダンデデータを確認すると、途中までしか取得できていない
途中で千切れたデータしか取得できない原因を探る
mysqldumpが失敗する事象について
USE `term_design`;

--
-- Current Database: `term_go`
--

USE `term_go`;

--
-- Current Database: `term_python`
--

USE `term_python`;

--
-- Current Database: `terms_net`
--

USE `terms_net`;

--
-- Current Database: `travelnoteranking`
--

USE `travelnoteranking`;

--
-- Current Database: `webservice_idea`
--

USE `webservice_idea`;

--
-- Current Database: `word_creativing`
--

USE `word_creativing`;

--
-- Current Database: `word_entrepreword_entrepre`
--

USE `word_entrepre`;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2018-04-10 4:02:38


cron


4時1分実行
# vi /etc/cron.d/mysql_backup
1 4 * * * root /bin/bash /home/★★/shell/backup_mysql.sh


2

 閲覧数:142 投稿日:2018-04-09 更新日:2018-04-14 
C:\Program Files (x86)\WinSCP\WinSCP.exe
IPアドレス変更

ショートカットキー
・「Windows」キーを押しながら「R」キーを押す
・「ファイル名を指定して実行」という小さなウィンドウが表示される
・「shell:startup」と入力し、「OK」をクリック

スタートアップフォダ内
・従来
・test20170320.batのショートカット配置
L:\2_Hp_data\bat\test20170320.bat


今回
・mysqlbackup_20180409.batのショートカット配置
L:\2_Hp_data\bat\mysqlbackup_20180409.bat



mysqlbackup_20180409.bat
・同ファイル内のbk.script起動

bk.script
・ipアドレス書き換え

next

これまで使用していた「.htaccess」

 閲覧数:129 投稿日:2018-04-09 更新日:2018-04-09 
指定IPアドレスからのみアクセス可
php_value include_path ".:/var/include:/var/www/include"

#customized 503 page
ErrorDocument 503 /maintenance/

RewriteEngine On
RewriteBase /
#maintenance
RewriteCond %{REQUEST_URI} !^/css/
RewriteCond %{REQUEST_URI} !^/js/
RewriteCond %{REQUEST_URI} !^/img/
RewriteCond %{REQUEST_URI} !^/maintenance/
RewriteCond %{REMOTE_ADDR} !^(12.345.67.89)$
RewriteRule ^.*$ - [R=503,L]


Xdebugがvar_dump()をオーバーロードする

 閲覧数:122 投稿日:2018-04-13 更新日:2018-04-13 

表示が変更された


戸惑う
・何がどうなっているのかさっぱり分からない
・以前の状態を覚えていないので、詳細不明だが、何かがおかしい

Xdebugがvar_dump()をオーバーロードする
・色々調査してみた結果、Xdebugがvar_dump()をオーバーロードしていることが判明
・現象が起きた理由は不明だが、従来はXdebugインストールしていなかったが、今回はインストールした? から?

従来の表示へ戻す


・phpの実行時設定で、html_errorsをOffにする
・→ 通常のvar_dump()出力をするようになる
・ini_set()で設定できるので、必要な部分だけに適用できる
ini_set('html_errors', 0);



CentOS7 / Nginx / PHP / MySQL 各種設定ファイルの場所

manページ日本語表示



週間人気ページランキング / 9-11 → 9-17
順位 ページタイトル抜粋 アクセス数
1 PHPのmb_send_mail関数でメール送信できない | メール処理システム 28
2 Nginx設定。エラーログレベル | Nginx(Webサーバ) 26
3 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 12
4 さくらVPS0 11
4 PHP Version 7.1.2 php-mecabエクステンション対応 / PHP 7.0.14 からのアップグレード  | MeCab(形態素解析) 11
4 ソースからビルドしたPython 2.7.3 アンインストール失敗 | Python(プログラミング言語) 11
5 touch コマンド / viコマンド。新規ファイル作成時の違い | Linuxコマンド 10
6 PHPファイルでchmodエラー | PHP(プログラミング言語) 7
7 php-mysql インストールできない 6
7 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 6
7 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
7 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 6
8 さくらVPSへは「http://localhost」でアクセス出来ない | さくらVPSにてWebサービス運営(さくらVPS) 5
8 CentOSでcpコマンド動作確認するためには、Control + T ではなく、 -v オプションを使用 | cp(Linuxコマンド) 5
8 HTTPレスポンスヘッダ | HTTP(通信プロトコル) 5
8 mailxとは? / インストール済か確認 / mailコマンドの実体はmailxコマンド 5
9 tar: これは tar アーカイブではないようです 4
9 Postfix | メール処理システム 4
9 499 (Request has been forbidden by antivirus) | HTTP(通信プロトコル) 4
9 imagick 3.1.2 を imagick 3.2.0RC1 へ pecl アップデート | ImageMagick(ソフトウェアスイート) 4
2021/9/18 1:01 更新