takeblo

サーバー内ファイルのオーナーとグループ名を変更する方法

  • 投稿日:
  • by
  • Category:

サーバーのWordpress自動インストール機能を使うと、ときどきファイルのオーナーとグループ名がサーバーの指定した名前になっていることがあります。
FTP転送しようと思っても上書きできなかったり、Wordpressのアップデートやプラグインのインストール時などエラーが出る場合があります。
そのようなときは、sshを使ってオーナーとグループ名を変える必要があります。

●パソコンに、sshが使えるセキュアターミナルをインストールします。
Tera Termなどが便利です

image

●rootアカウント(管理者アカウント)でサーバーにssh接続します。サーバーのルートディレクトリに入れます

image

image

●sshで接続したら、"cd"と手打ちしてターゲットのディレクトリへ移動します。

例 #cd /var/www/vhosts/ドメイン名/httpdocs/

[ユーザー名@◯◯ httpdocs]# などとなればオッケーです。

image

ディレクトリの中身を表示する場合は # ls コマンド
詳細を見る場合は # ls -l と打ちます。

オーナーとグループを、既存のユーザーに変更します。

オーナー変更例 # chown -R [ユーザー名] [変更したいディレクトリ名]
グループ変更例 # chgrp -R [グループ名] [変更したいディレクトリ名]

サーバーがPleskの場合は、[グループ名]はpsaclnでので、# chgrp -R psacln [変更したいディレクトリ名]となります。
"-R" オプションは、ディレクトリの階層たどって全部変更するためのものです。

ディレクトリ内のすべてのフォルダ、ファイルのオーナー名・ユーザー名が変更されます。

MTなどの圧縮ファイルをサーバー上で解凍する方法

  • 投稿日:
  • by
  • Category:

MTなどをFTPする場合、ファイル数が多いため、途中でエラーを起こしてしまってうまくアップロードできない場合があります。FTPになんども失敗してムッキ~ってなっちゃうことありませんか?

FTPは、大量のファイルをアップロードする場合、一個一個でコマンド実行を繰り返しますので、レスポンスが悪くなりますが、逆に容量が大きなファイルならあっという間にアップロードできてしまいます。
そこで、zipファイルをそのままサーバーにアップロードして、サーバー側で解凍する方法が便利です。


●FTPソフトでzipファイルをアップロードします。

image

●パソコンに、sshが使えるセキュアターミナルをインストールします。
Tera Termなどが便利です

image

●rootアカウント(管理者アカウント)でサーバーにssh接続します。サーバーのルートディレクトリに入れます

image

image

●sshで接続したら、"cd"と手打ちしてターゲットのディレクトリへ移動します。

例 #cd /var/www/vhosts/ドメイン名/httpdocs/

[ユーザー名@◯◯ httpdocs]# などとなればオッケーです。

image

ディレクトリの中身を表示する場合は # ls コマンド
詳細を見る場合は # ls -l と打ちます。

●対象となるzipファイルをunzipコマンドで解凍します。

例 # unzip hogehoge.zip

EC-CUBEなどのように、ファイル名.tar.gz となっているファイルの解凍はtarコマンドを使います。

例 # tar -xvzf eccube-2.11.5.tar.gz

として解凍してください。
-xvzf の x はtarファイルの解凍、 z はgzファイルの解凍を指示しています。

●root権限でコマンド操作を行った場合、解凍したファイルすべてがroot属性になってしまいますので、パーミッションエラーとなってFTPで操作できなくなります。なので、解凍したあとに、オーナーとグループだけ、既存のユーザーに変更する必要があります。

オーナー変更例 # chown -R [ユーザー名] [解凍したディレクトリ名]
グループ変更例 # chgrp -R [グループ名] [解凍したディレクトリ名]

サーバーがPleskの場合は、[グループ名]はpsaclnです。
# chgrp -R psacln [解凍したディレクトリ名]となります。
"-R" オプションは、ディレクトリの階層たどって全部変更するためのものです。

●最後にFTPソフトで、きちんと解凍が出来ているのを確認し、パーミッションなどを変更作業をすれば完了です。

【DELL】Power Media Player for DELL が起動しなくなった場合の対処法

  • 投稿日:
  • by
  • Category:

Windows10になってから、DVDの再生機能がなくなってしまったため、専用ソフトを用意する必要があるのですが、DELLや富士通などのメーカー製パソコンにはSyberlink社製のPower Media Playerがバンドルされている場合が多いです。

今回はデルのパソコンで、Power Media Playerが立ち上がらなくなってしまった際の対応方法です。

DVDを挿入すると自動で再生していたものが起動しなくなった。動かない。
Power Media Playerのアイコンをクリックしても一瞬起動するが再生しない。

等といった症状でした。



いろいろ試してみたのですが、一向に改善されず。
こうなると、Power Media Playerをいったん削除して再インストールするしかありません。



しかし、再インストールするといっても、ダウンロード先をネットで検索したのですが、見つけることができません。
DELLのサポートページを見ても、詳しくはかかれていませんでした。



色々調べた結果、Power Media Playerは Media Suite Essentials for DELL に含まれているようでしたので、

  1. いったん、Power Media Player と Media Suite Essentials for DELL を削除
  2. Microsoft Store から、Media Suite Essentials for DELL を検索しダウンロードしてインストール
  3. インストールしたMedia Suite Essentials for DELLを起動して、Power Media Playerのアイコンをクリック
  4. Power Media Playerのダウンロード画面が出るのでダウンロードして再インストール

という手順で復帰させることができました。

DELLのサポートはハードウエアについては詳しいですが、バンドルされているアプリケーションに関してはほとんど情報がありません。
そのあたりをもっとしっかりサポートページに乗せていただけると、ユーザーも苦労しないのにな~といつも感じます。

【Wordpress】「致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。」というエラーが出て更新ができないとき

  • 投稿日:
  • by
  • Category:

Wordpress4.9 または 5.0をお使いの方で、

致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。SFTP を使うなど、他の手段で PHP ファイルの変更をアップロードする必要があります。

といったエラーが出る場合があります。

この原因は、Wordpressの新たな機能のコードチェック機能が働くためだそうで、コードがエラーを起こしているときには更新ができなくなったようです。
多少の違いも見逃してくれないようで、今まで問題なく動いていたものが、アップデートで突然動かなくなってあたふたしてる人も多いと思います。
まったく余計なおせっかいをしてくれますね。

この場合、FTPかSSHでwp-admin/includes/file.phpの「492〜599行目」をコメントアウトすれば解決します。


492〜599行目をコメントアウトします

/*ここからコメントアウト
if ( $is_active && 'php' === $extension ) {
$scrape_key = md5( rand() );
$transient = 'scrape_key_' . $scrape_key;
$scrape_nonce = strval( rand() );
set_transient( $transient, $scrape_nonce, 60 ); // It shouldn't take more than 60 seconds to make the two loopback requests.

$cookies = wp_unslash( $_COOKIE );
$scrape_params = array(
'wp_scrape_key' => $scrape_key,
'wp_scrape_nonce' => $scrape_nonce,
);
$headers = array(
'Cache-Control' => 'no-cache',
);

// Include Basic auth in loopback requests.
if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) {
$headers['Authorization'] = 'Basic ' . base64_encode( wp_unslash( $_SERVER['PHP_AUTH_USER'] ) . ':' . wp_unslash( $_SERVER['PHP_AUTH_PW'] ) );
}

// Make sure PHP process doesn't die before loopback requests complete.
@set_time_limit( 300 );

// Time to wait for loopback requests to finish.
$timeout = 100;

$needle_start = "###### wp_scraping_result_start:$scrape_key ######";
$needle_end = "###### wp_scraping_result_end:$scrape_key ######";

// Attempt loopback request to editor to see if user just whitescreened themselves.
if ( $plugin ) {
$url = add_query_arg( compact( 'plugin', 'file' ), admin_url( 'plugin-editor.php' ) );
} elseif ( isset( $stylesheet ) ) {
$url = add_query_arg(
array(
'theme' => $stylesheet,
'file' => $file,
),
admin_url( 'theme-editor.php' )
);
} else {
$url = admin_url();
}
$url = add_query_arg( $scrape_params, $url );
$r = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout' ) );
$body = wp_remote_retrieve_body( $r );
$scrape_result_position = strpos( $body, $needle_start );

$loopback_request_failure = array(
'code' => 'loopback_request_failed',
'message' => __( 'Unable to communicate back with site to check for fatal errors, so the PHP change was reverted. You will need to upload your PHP file change by some other means, such as by using SFTP.' ),
);
$json_parse_failure = array(
'code' => 'json_parse_error',
);

$result = null;
if ( false === $scrape_result_position ) {
$result = $loopback_request_failure;
} else {
$error_output = substr( $body, $scrape_result_position + strlen( $needle_start ) );
$error_output = substr( $error_output, 0, strpos( $error_output, $needle_end ) );
$result = json_decode( trim( $error_output ), true );
if ( empty( $result ) ) {
$result = $json_parse_failure;
}
}

// Try making request to homepage as well to see if visitors have been whitescreened.
if ( true === $result ) {
$url = home_url( '/' );
$url = add_query_arg( $scrape_params, $url );
$r = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout' ) );
$body = wp_remote_retrieve_body( $r );
$scrape_result_position = strpos( $body, $needle_start );

if ( false === $scrape_result_position ) {
$result = $loopback_request_failure;
} else {
$error_output = substr( $body, $scrape_result_position + strlen( $needle_start ) );
$error_output = substr( $error_output, 0, strpos( $error_output, $needle_end ) );
$result = json_decode( trim( $error_output ), true );
if ( empty( $result ) ) {
$result = $json_parse_failure;
}
}
}

delete_transient( $transient );

if ( true !== $result ) {

// Roll-back file change.
file_put_contents( $real_file, $previous_content );
if ( function_exists( 'opcache_invalidate' ) ) {
opcache_invalidate( $real_file, true );
}

if ( ! isset( $result['message'] ) ) {
$message = __( 'Something went wrong.' );
} else {
$message = $result['message'];
unset( $result['message'] );
}
return new WP_Error( 'php_error', $message, $result );
}
}
ここまでコメントアウト */



とりあえずこれで以前のバージョンと同じ状態に戻り、無事更新ができるようになりました。



今回参考にさせていただいたサイトはこちら!ありがとうございました。

https://www.iedebouya.com/wordpress-theme-error/

Windows10でネットワーク上のパソコンが表示されない場合の対処法

  • 投稿日:
  • by
  • Category:

Windows 10 April 2018 Update (Windows 10 バージョン 1803) の適用後、ネットワークから他のパソコンが表示されなくなるという現象が出ています。

ネットワークを表示しても、他のパソコンどころか自分のパソコンも全く表示されません。

ファイル共有やホームネットワーク上の他のデバイスのファイルにアクセスすることもできません。

マイクロソフトでは、現象についての報告を認識しており、調査を行っているそうです。

近いうちに修正プログラムが出ると思いますが困ったものですね。(2018年10月20日現在未対応)

修正プログラムがいつになるかわからないので、さっさと対応しちゃいましょう。

この現象についてはマイクロソフトのサポートを参照されるのが一番です。最新の情報を入手して対処してください。

https://answers.microsoft.com/ja-jp/windows/forum/windows_10-networking/windows-10/98d1d75f-1810-4c0c-be51-dd7b7e288c43

具体的には以下の方法で対応します。

Windows キーR キーを押下して、「ファイル名を指定して実行」を開きます。次に、名前ボックスに services.msc と入力し Enter キーを押下します

サービス (ローカル) の一覧で、以下のそれぞれのサービスを右クリックしプロパティを選択します。そして、スタートアップの種類を 自動 (遅延開始) に設定し、適用をクリックします。

  • Computer Browser (Browser)
  • Function Discovery Provider Host (FDPHost)
  • Function Discovery Resource Publication (FDResPub)
  • Network Connections (NetMan)
  • UPnP Device Host (UPnPHost)
  • Peer Name Resolution Protocol (PNRPSvc)
  • Peer Networking Grouping (P2PSvc)
  • Peer Networking Identity Manager (P2PIMSvc)

すべてのサービスの設定を変更したら、スタート > 電源 > 再起動 の手順で、PC を再起動します。

【MT】MTとjQueryを使って、簡単でかっこいい「Q&A(FAQ)」のページを作る方法

  • 投稿日:
  • by
  • Category:

企業サイトなどによく「Q&A」のページを付ける場合がありますが、あれを簡単に更新できるようMTを使って構築する方法です。
さらに、jQueryを使って、質問をクリックすると答えがスライドして表示(折りたたみ)するようにします。

参考にさせていただいたサイトはこちら

まず、jQuery tutorial: fancy FAQsからソースをダウンロードします(一番下にダウンロードボタンがあります)
ダウンロードしたファイルを解凍して、faqsフォルダの中の「scripts」フォルダと「images」フォルダをサーバーにアップロードします。

【MT】ナビゲーションをアクティブにする

  • 投稿日:
  • by
  • Category:

MTでウェブページのナビゲーションを表示する際に、自分が今アクセスしているページのフォルダごとに、active要素を追加する方法です。

例えばこんな感じのウェブページのナビゲーションがあったとします。

<ul id="navi">
<li><a href="<$mt:BlogURL$">TOP</a></li>
<li><a href="/menu/">メニュー</a></li>
<li><a href="/ryokin/">料金</a></li>
<li><a href="/smile/">スマイル</a></li>
</ul>

メニューを見ているときに、ナビゲーションのmenuフォルダにアクセスしているときに、ナビゲーションの<a href="/menu/">にアクティブ要素を追加することで、ユーザビリティがよくなりますよね。

javaスクリプトでやる方法もありますが、めんどくさいのでこっちの方法でw
あまりかっこよくないですが、まあ動けばいいってことで・・・w

<ul id="navi">
<li><a href="<$mt:BlogURL$">TOP</a></li>
<li class="<mt:IfFolder name="メニュー">active</mt:IfFolder>"><a href="/menu/">メニュー</a></li>
<li class="<mt:IfFolder name="料金">active</mt:IfFolder>"><a href="/ryokin/">料金</a></li>
<li class="<mt:IfFolder name="スマイル">active</mt:IfFolder>"><a href="/smile/">スマイル</a></li>
</ul>

超簡単です!

【EC-CUBE】 年末年始などに配送日指定ができないようにするカスタマイズ

  • 投稿日:
  • by
  • Category:

以前ここで紹介したEC-CUBEのカスタマイズ(http://takenet.jp/takeblo/2009/11/eccube.html )ですが、ちょっと年末年始前の今の時期に問い合わせが多いので今回はEC-CUBEVer2.13に設置してみます。
配送日指定のプルダウンから、該当の月日が削除され表示されます。

カスタマイズするファイルは

data/class/helper/SC_Helper_Purchase.php

// 基本時間から日数を追加していく
$tmp_time = $now_time + ($i * 24 * 3600);
list($y, $m, $d, $w) = explode(' ', date('Y m d w', $tmp_time));

//12月29日~1月4日まで配送日指定を不可とする場合
if($m=="12" && $d=="29")continue;
if($m=="12" && $d=="30")continue;
if($m=="12" && $d=="31")continue;
if($m=="1" && $d=="1")continue;
if($m=="1" && $d=="2")continue;
if($m=="1" && $d=="3")continue;
if($m=="1" && $d=="4")continue;

毎年同じならこれだけ追加しておけばとりあえずは対応可能。

「年」も指定するなら
if($y==2017 && $m==1 && $d==4)continue; などとすればいけます。

PLESKサーバーにてacmailer設置時のパイプ処理の方法

  • 投稿日:
  • by
  • Category:

acmailerは、メルマガの発行が簡単にでき、空メールでも登録ができる多機能メール一斉配信システムです。

設置も簡単で使いやすく、とても便利です。

ただ、空メールでのパイプ処理がPleskサーバーだとちょっとめんどくさかったりします。

pleskサーバーでは受信を行うユーザーが「popuser」となっており、acmailerにパイプ処理をすることができません

メール受信の際のパイプ処理を実行するために、sudoで実行できるようにする必要があります。

設定の方法をまとめてみました。

ドメイン消失??

  • 投稿日:
  • by
  • Category:

ホームページが突然見えなくなっちゃった!?

先日お客様より、ホームページが突然見えなくなってしまった。というお問い合わせをいただきました。

あるドメインを譲渡されて、新たにホームページを開設されました。

ところが公開後1ヶ月もしないうちに、突然ホームページにアクセスできなくなり、FTPもできなくなってしまいました。

早速調べてみたところ、

ネームサーバーは
NS1.TAKENET.OR.JP~NS2.TAKENET.OR.JP とサーバーのほうを向いてるので問題なさそう。

DNS設定がおかしいと思い確認したところ、
a *xxx.xxx.xxx.xxx
mx @ 10
txt @ v=spf1 ip4:xxx.xxx.xxx.xxx~all

これも何の問題もなさそうです。


謎なので、ためしにドメイン名をWhoisで確認した見たら・・・なんと
Status: clientHold となっているではありませんか?


え?なんか悪さでもしたのか?

とあせりながら調べたところ、どうやら昨年から、ドメインのレジストラから、メール認証によるWhois確認が必要になったみたいでした。

つまり、Whoisの重要な情報を書き換えた場合、必ず本人のアドレスに確認が行って、メール認証をしないとレジストラによってロックがかかってしまうというものだそうです。

さっそくwhois確認のメールを探してもらったところ、何とか残っていて、無事にメール認証が取れ、Your email address has been successfully verified が表示されました。

今回は早めに気がついたのでよかったのですが、放置しておくとドメインが抹消されてしまうこともあるようですので、お気をつけください。