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

LAMP環境

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

Category:

LAMP環境 Web開発

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

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

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で推奨されていない処理や文法で警告が出ているようですが、無視しても動作に問題はありません。

ターミナルからVPSにSSH接続とSCPコマンド実行

Category:

LAMP環境 Web開発

2020年8月23日(日) 8:22 PM

Macのターミナルからssh接続する方法とscpコマンドでファイルアップロードとダウンロードする方法について紹介します。

パスワード認証で接続する場合は ’ssh -l (ユーザー名) (ドメイン名またはIPアドレス)’ でパスワードを入力すれば接続可能です。

ssh -l root abc-123.vs.sakura.ne.jp
ssh -l root 123.456.789.123

公開鍵認証の場合は、’ssh (ユーザー名)@(ドメイン名またはIPアドレス) -i (秘密鍵のパス) -p 22’ でEnterを押し、鍵のパスフレーズを入力すると接続できます。(鍵のパスフレーズは鍵作成時に設定したものを使用します。)

鍵の作成や設定方法はさくらインターネットのヘルプページが参考になります。(SSH接続の設定変更方法

ssh test@123.456.789.123 -i ~/Desktop/sakura/id_rsa -p 22

続いて、MacのターミナルからPVSへファイルアップロードする方法を紹介します。’scp -P 22 -i (秘密鍵のパス) -r (アップロードするディレクトリまたはファイル) (ユーザー名)@(サーバIP):(アップロード先)’ でアップロードを行います。

ファイルアップロード:

scp -P 22 -i ~/Desktop/sakura/id_rsa -r /Users/hoge/Desktop/androidnote/ test@123.456.789.123:~/

これで、Macのデスクトップのandroidnoteディレクトリ以下にあるファイルをサーバのホームディレクトリにアップロードすることができます。

最後にダウンロードについてですが、’scp (ユーザー名)@(サーバIP):(ダウンロードするディレクトリまたはファイル) (ダウンロード先)

ファイルダウンロード:

scp test@abc-123.vs.sakura.ne.jp:~/.ssh/ ~/Desktop/sakura/

サーバのホームディレクトリの.ssh以下のファイルをMacのデスクトップのandroidnoteディレクトリにダウンロードするコマンドです。

さくらインターネットのVPSの場合、コントロールパネルのVNCコンソールからサーバを操作できるようになっていますが、画面が固まることが多く、ファイルのアップロードもできないので、ローカルから接続できるように設定することをオススメします。

さくらインターネットのVPSに移行しました

Category:

LAMP環境 Web開発

2020年8月9日(日) 6:46 PM

久しぶりの更新です。8年ぶり。。「Engineer Note」のサイトは今までさくらインターネットのレンタルサーバーで運用していましたが、先日VPS(Virtual Private Server)に移行しました。VPSではRoot権限を使用できるため、レンタルサーバでできなかったこともできるようになり、カスタマイズしやすくなりました。サーバ構築できるエンジニア向けではありますが、値段もそんなに高くないのでおすすめです。

費用

VPSの一番安いプランが年間7,600円で、レンタルサーバーのWordPressが使える最安プランが年間約6000円です。そんなに変わらないです。その他、初期費用1080円で共通です。

サービス

VPSの最安プランのストレージ容量はSSD 25GB、メモリ512MB。レンタルサーバは100GB〜になっています。レンタルサーバのみブログサービスが付いているので、ブログ運用がすごく楽です。VPSはデータベース作成や.htaccessのシステム制限がなく、自由にシステム構築できるのがメリットです。

まとめると、WordPressでサイト作りたい非エンジニアの方はレンタルサーバーをおすすめします。それ以外、中規模サイト以上を運営したいまたはサーバー構築できるエンジニアの方はVPSを利用するのが良いと思います。

私がレンタルサーバーからVPSに移行した理由はドロップシッピングサイトを運営していたのですが、数千件の商品情報を一括でインポートする際にタイムアウトしてしまい、システム側の制約に不便さを感じてしまったためです。それから、サーバ構築のスキルアップにも繋がるので移行しました。

さくらインターネットはVPSはじめての方でも、チュートリアルガイドが丁寧に作られているので、エンジニアの方であれば、問題なくサイト構築できると思います。

  • 広告

* RSS FEED