アプリ開発・Linuxサーバ環境構築からSEOまで初心者向けのプログラミング技術を紹介しています。

LAMP環境

CentOS8でMariaDBをインストールする

Category:

LAMP環境

2021年4月11日(日) 7:10 PM

CentOS8のソフトウェアのインストールはパッケージ管理ソフトウェアである「dnf」を使用して行います。MariaDBのインストールから初期設定の流れは次の通りになります。

1.利用可能パッケージの確認

dnf list mariadb-server

2.パッケージインストール。「完了しました」と表示されたら成功です。

dnf install mariadb-server

3.PHP用ソフトウェアを確認し、インストール。同じく、成功すると「完了しました」と表示されます。

dnf list php-mysqlnd
dnf install php-mysqlnd

4.MariaDBのバージョン確認

mysql --version

5.MariaDBの起動、状態確認。「active (running)」と表示されれば、起動しています。

systemctl start mariadb
systemctl status mariadb

6.自動起動するように設定。ステータス確認で「enabled」となっていれば、有効になっています。

systemctl enable mariadb
systemctl status mariadb

7.MariaDBを初期化します。rootユーザーのパスワード設定、匿名ユーザー削除・rootユーザーのリモートログインの無効化・テストデータベース削除・権限テーブル再読み込みを行います。

mysql_secure_installation
Enter current password for root(enter for none):

rootの初期パスワードは空なので、そのままEnterを押します。

Set root password?[Y/n]Y

Yを入力し、Enterを押した後、新しいパスワードを入力します。

Remove anonymous users?[Y/n]Y
Disallow root login remotely?[Y/n]Y
Remove test database and access to it?[Y/n]Y
Reload privilege tables now?[Y/n]Y

匿名ユーザーの削除、rootユーザーのリモートログイン許可、テストデータベースの削除、権限テーブルの再読み込みをY/nで選択し、「Cleaning up…」と表示されれば、初期化完了です。

Vimの基本操作とコマンド

Category:

LAMP環境

2021年3月29日(月) 10:17 PM

vimの使い方とテキスト編集時に使う基本コマンドを紹介します。文章の編集、コピー、貼り付け、削除、検索、保存などテキストを編集する為に、最低限必要なコマンドを紹介します。vimは普段メモ帳などを使用している人にとっては、とっつきにくいところもあるかと思います。しかし、コマンドに慣れてしまえば、編集や検索、置換を高速で行う事ができます。例えば、データのみのCSVファイルからDBに登録するためのSQL作成といった置換作業はvimなら一瞬で作る事が可能です。また、Linuxを扱う上ではvim、emacsのようなコマンドラインエディタの習得は必須です。

ファイル作成・Vim起動

touchコマンドでファイル作成し、vimコマンドでvimを起動します。

touch a.txt
vim a.txt

編集モード切り替え

vimはノーマルモード・入力モード・コマンドモード・ビジュアルモードがあり、それぞれで機能が異なります。

ノーマル esc
入力 a または i
コマンド :
ビジュアル v

ノーマルモード:起動直後のモードがノーマルモードです。その他のモードはノーマルモードを経由して、変更することができる。

入力モード:文字を編集する際に、使用するモードです。aまたはiを入力すると、下部に「– 挿入 –」を文字が表示され、メモ帳と同じ感覚で編集する事ができます。aはカーソルの左に、iはカーソルの右に文字を追加します

コマンドモード:ファイル保存やvim終了、文字検索する際に使用します。

ビジュアルモード:範囲選択や選択した範囲のコピー、削除などが行えます。

vimを終了する

ノーマルモード以外の場合はescキーを押して、コマンドモードに切り替えられるようにし、以下のコマンドを実行します。

:w!ファイルを上書きする。
:q!ファイルを保存せず、終了する。
:wq!ファイルを上書きして、終了する。
:w!b.txtファイル名(b.txt)を付けて、保存する。

基本コマンド

ノーマルモードでカーソルを移動する際に使用します。入力モードで矢印キーを使って、移動するように簡単で速く移動できます。また、行を保存、削除、貼り付けするコマンドも紹介します。

0行頭に移動する
$行末に移動する
ggファイルの1行目に移動する
Gファイルの最終行に移動する
yyカーソル行をヤンク(コピー)する
ddカーソル行をデリート(切り取り)する
pカーソル行をプット(貼り付け)する

検索と置換

ノーマルモードの状態で、以下のコマンドを入力すると検索を行うことができます。置換に関してはコマンドモードで%sコマンドを使用します。

/hoge「hoge」という文字を下方向に検索します
?hoge「hoge」という文字を上方向に検索します
n次の検索結果に移動する
N前の検索結果に移動する
:%s/hoge/fuga/g「hoge」という文字を「fuga」に置換します。

HDデータを完全削除するおすすめの方法

Category:

LAMP環境 雑記

2021年2月28日(日) 1:10 PM

ハードディスクのデータを完全に削除するおすすめの方法を紹介します。

結論から言うと

有償のHDデータ削除ソフトを購入する

が一番コストパフォーマンスが良いと思います。

先日、家に眠っていたPCを3台廃棄しましたが、その際にデータ削除を行いました。ノートPC2台(WindowsXP, Windows7)、デスクトップPC1台(Windows10)のデータ消去をしてみて、この結論に至りました。HDデータ削除は大きく分けて3つ方法があります。

  1. 1:削除ソフトを使う
  2. 2:物理破壊
  3. 3:業者に依頼する

まず、1について、無償ソフトも公開されていますが、信頼性が低く、削除時間も非常に長くなるため、おすすめではないです。最後まで問題なく終わればいいですが、途中でエラーで止まった場合などは最悪です。一方で、有償ソフトは3500円ほどで販売されており、一度購入しておけば、何度でも使えるので便利です。私は近くの家電量販店で「HD革命 Eraser ver.7」というソフトを購入し、ノートPC2台のデータ消去をしました。BIOS起動までできれば、削除できるので、WindowsXPやWindows7の古いOSでも問題なく動きました。それぞれ、容量が1TBくらいだったのですが、10時間くらいかかりました。試行回数が設定できるのですが、10時間/回なので、設定する場合は注意です。無償ソフトはもっと時間がかかるらしいです。

2は、一見お金がかからず、良さげなのですが、これが落とし穴で、HDを破壊するの、すごく大変です。デストトップPCで使用していたハードディスク2個を物理破壊しようとしたのですが、途中で断念し、結局業者に依頼して破壊してもらいました。PCのセマフォエラーで、削除ソフトが使えなかったため、物理破壊を試みたのですが、

  • 「トルクスネジ」という特殊ネジが使用されているので、蓋が開かない
  • ・プラッター(HDの円盤部分)が硬いので、トンカチで叩いても、壊れない

問題にぶち当たり、自力での破壊を諦めてしまいました。ハードディスクはトルクネジという星型の穴が空いているため、それに対応したドライバーが必要になります。ホームセンターで1500円くらいで売られていますが、安物だとネジが硬く外しにくくなっており、下手に開けようと繰り返していると穴が潰れて、さらに開きにくい状態になってしまいます。ネジは10箇所くらい止められており、シールが貼られた下にも隠れてネジが止められていたりもします。

なんとか蓋を開けることができ、いざデータが入っている円盤部分をトンカチで殴ってみたのですが、これが硬くて、全然割れません。力一杯叩いても、ヒビが入るのみで割れる気配がありません。最近のプラッターはアルミで作られていて、簡単に割れないようになっているようです。ペンチで折ることは出来るみたいですが、破片が飛び散るので、怪我に注意しないとないです。

3.の業者に依頼して、データ破壊をしてもらうことになったのですが、私はビックカメラのHD破壊サービスを申し込んで、破壊してもらうことにしました。ビッグカメラのサービスカウンターに行けば、対応してくれます。価格は1020円/個で、プラッター部分に4つほど穴を開けてくれます。これでデータが読めなくなるみたいです。PCサポートのコーナーに並ばないと行けないので、土日だと結構並ぶと思いますが、手軽に壊せます。他の業者としては、区や市の指定のPC廃棄業者がデータ削除を代行してくれます。価格は3000円/個、国や行政のデータ削除と同じ方法で、削除証明書を発行してくれます。重要なデータの消去を依頼するときはこのサービスを使うのも手かもしれません。

このようにデータを完全削除するには、手間がかかります。ゴミ箱のデータ削除やフォーマットするだけでは、根本データが消えたことにはなりません。こういった理由から、お金を渋らず、効率的にするのがおすすめです。有償ソフトでデータ削除、ダメなら業者に依頼が1番良いというのが、私の個人的な見解です。

Google検索のサマリーが文字化けしてしまう

Category:

LAMP環境 Web開発

2021年1月18日(月) 8:51 AM

Google検索で「enginner note」と検索すると、このサイトが出てくるのですが、なぜかサマリーの文章が文字化けしていました。サーバーまたはデータベースの文字コードの問題かと設定しなおしましたが、解消しません。よく調べた所、原因は「All In One SEO」のメタ説明が文字化けでした。バージョンアップした際か何かで文字化けしてしまったようです。修正した後、Google検索の表示に反映されるのは10日ほどかかりました。すぐには反映されないようです。

Engineer Note
アプリ開発・LinuxサームçÂÂ'°å¢ƒæ§‹ç¯‰ã ...

検索結果では、このように文字化けしていたのですが、大抵の場合、文字コードがShift-Jisで設定されていて、ブラウザがUTF8で読み込もうとして文字がおかしくなっていることが多いのですが、今回は違いました。ちなみにサーバとDBの設定変更は以下のようにしました。

1.サーバー(PHP)の文字コード修正

php.iniの設定を修正します。viを起動して、設定ファイルを編集します。

vi /etc/php.ini

以下の設定を書き換えます。

・「;mbstring.language……」の「;」を削除します。

mbstring.language = Japanese

・文字コードの設定をUTF8に設定します。

mbstring.internal_encoding = UTF-8

・通信インプット・アウトプットの設定を「pass」に指定します。(これは必要ないかもだが一応設定)

mbstring.http_input = pass
mbstring.http_output = pass

・文字エンコーディング変換を「Off」に設定します。行頭の「;」を削除する。

mbstring.encoding_translation = Off

・文字コードの優先順位を明示します。行頭の「;」を削除し、文字コードを追記します。

mbstring.detect_order = UTF-8,EUC-JP,SJIS,JIS,ASCII

・変換失敗や無効文字の代わりに表示する文字を「none」に指定します。行頭の「;」を削除し、「none」を追記します。

mbstring.substitute_character = none;

「:wq」とviに入力し、設定を保存し、終了します。これで設定は完了で、設定を反映するために、Apacheを再起動します。

systemctl restart httpd

2.DB(MySQL)の文字コード修正

PhpMyAdminにログインし、「ホーム画面 > 一般設定 > サーバ接続の照合順序」から文字コードを変更します。(※PhpMyAdminの設定は前回の記事を見てください)

文字コードはWordPressを使用しているサイトは以下のように設定します。utf8mb4にすることで絵文字が使えるようになります。

MySQL 5.6 以上utf8mb4_unicode_520_ci
MySQL 5.5.3以上utf8mb4_unicode_ci
それ以外utf8_general_ci

補足1:バージョンはPhpMyAdminのホーム画面(データベースサーバ)で確認できます。

  • サーバ: Localhost via UNIX socket
  • サーバの種類: MySQL
  • サーバのバージョン: 5.6.47 – MySQL Community Server (GPL)
  • プロトコル バージョン: 10
  • ユーザ: root@localhost
  • サーバの文字セット: UTF-8 Unicode (utf8)

補足2:ホーム画面の「サーバ接続の照合順序」から文字コードを変更できない場合はデータベースそれぞれで文字コードが違う可能性があるので、データベースごとの文字コードを修正すると、変更できます。

PhpMyAdminをインストールする

Category:

LAMP環境 Web開発

2021年1月17日(日) 10:19 PM

DBをブラウザ上から操作できるように、PhpMyAdminをインストールします。インストール後、第3者に操作されないようにURLの変更やSSL通信の設定を行います。

1.EPEL(Extra Packages for Enterprise Linux)がインストールされているか確認する

rpm -qa | grep epel

EPELはサードパーティ製のリポジトリです。PhpMyAdminをインストールするために必要です。上のコマンドを実行して、「epel-release-7-13.noarch」などと表示されれば、インストールされています。インストールされていない場合は、以下のコマンドを実行します。

yum -y install epel-release

2.PhpMyAdminをインストールする

yumコマンドを実行すれば、最新のバージョンがインストールされます。

yum --enablerepo=epel install -y phpMyAdmin

3.設定ファイルを変更する。

phpMyAdmin.confを編集して、セキュリティの設定などを行います。まずはrootアカウントで viを起動します。

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

・外部からアクセスするようにする。

「Require all granted」を追加します。

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1
       Require ip ::1
       Require all granted
     </RequireAny>

・第3者に推測されないURLに変更(デフォルトはhttp://ドメイン名/phpmyadmin)

デフォルトの設定のままだと、簡単にログイン画面に接続できるため、URLの変更を行います。すでにある2行を「#」でコメントアウトし、変更したいURL(/phpmyadminHogeHoge)を追記します。

#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /phpmyadminHogeHoge /usr/share/phpMyAdmin

・SSL通信のみ許可する。

SSLを許可する設定を「SSLRequireSSL」を追記します。

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8
   SSLRequireSSL

   <IfModule mod_authz_core.c>

4.サーバーを再起動する。

systemctl restart httpd

5.PhpMyAdminにログインする

「https://ドメイン名/phpmyadminHogeHoge」に接続すると、ログイン画面が表示されるので、IDとパスワードを入力すれば、DBを操作できるようになります。

※「some errors have been detected on the server」警告の対処法

ページ遷移する際に、毎回警告ダイアログが出る場合は「設定 > 機能 > 一般 > Never Send error reports 」に設定を変更すれば、ダイアログが出なくなります。Php7で推奨されていない処理や文法で警告が出ているようですが、無視しても動作に問題はありません。

  • 広告

* RSS FEED