pearでcould not extract the packageエラー

pearで新しいパッケージをインストールするとエラーが出る。

-------------------------------------------------
could not extract the package ~
-------------------------------------------------

tgz ファイルが展開できないという内容らしい。

以下のサイトを参考に対処
pearコマンドでcould not extractのエラーが発生

インストール時の解凍に失敗する Tarのバグ(PEAR/Archive/Tar.php)

PEAR on PHP 5.5: could not extract package.xml

原因は Archive_Tar のバグ。なので Archive_Tar 自体をアップデートを試みるが、Archive_Tar のファイル自体が解凍できないので解決できない。

-------------------------------------------------
pear upgrade Archive_Tar
downloading Archive_Tar-1.4.2.tgz ...
Starting to download Archive_Tar-1.4.2.tgz (20,624 bytes)
.....done: 20,624 bytes
could not extract the package.xml file from "/tmp/pear/download/Archive_Tar-1.4.2.tgz"
Download of "pear/Archive_Tar" succeeded, but it is not a valid package archive
Error: cannot download "pear/Archive_Tar"
Download failed
upgrade failed
-------------------------------------------------

解凍はできないけどファイルのダウンロードはできているようなので手動で解凍。

-------------------------------------------------
tar zxvf Archive_Tar-1.4.2.tgz
-------------------------------------------------

解凍したファイルと問題のあるファイルを置き換える

ファイルの場所を確認
-------------------------------------------------
find / -name Tar.php
/usr/share/pear/Archive/Tar.php
/tmp/pear/download/Archive_Tar-1.4.2/Archive/Tar.php
-------------------------------------------------

ファイルの置換
-------------------------------------------------
cp /tmp/pear/download/Archive_Tar-1.4.2/Archive/Tar.php /usr/share/pear/Archive/
-------------------------------------------------

これでOK。

古い pear がインストールされたのが原因だったので pear 自体をアップグレードしておく
-------------------------------------------------
pear upgrade PEAR
-------------------------------------------------

さくらvpsでphpmyadminをインストールする

さくらのvpsで phpmyadmin をインストールしたときの覚書

phpmyadmin は 下記ページの後半を参考にすればいい。

さくらのナレッジ Webサーバーを構築しよう(2)

しかし説明のとおりインストールすると、標準でインストールされる php5.3 向けの phpmyadmin がインストールしようとしてエラーが出て完了しない。

php5.6 だとこれではインストールできない
-------------------------------------------------
yum install phpmyadmin
-------------------------------------------------

yum install phpmyadmin で依然入れたバージョンを削除するなら簡単にアンインストールできる
-------------------------------------------------
yum remove phpmyadmin
-------------------------------------------------

なので、php のバージョンに合った phpmyadmin をインストールする

php5.6 で yum を使って phpmyadmin をインストール
-------------------------------------------------
yum install -y --enablerepo=remi,remi-php56 phpMyAdmin
-------------------------------------------------

【さくらvps】ibdata1 is of a different size でmysqlが起動できない

mysql をインストールしていない状態から mysql5.6 をインストールする場合はこちらを参考にする

mysql を 5.1 から 5.6 に update した際、 mysql が起動できなくなった。

起動に失敗
-------------------------------------------------
/etc/init.d/mysqld start
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
-------------------------------------------------

cat /var/log/mysqld.log

エラーログの内容
-------------------------------------------------
[ERROR] InnoDB: auto-extending data file ./ibdata1 is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!
-------------------------------------------------

これは設定変更後 ibdata1 のファイルサイズが違うため起きるエラーのよう。なので ibdata1 関連のファイルを削除する

my.cnf でデータの保存先を確認
-------------------------------------------------
cat /etc/my.cnf
-------------------------------------------------

my.cnf で確認したデータのある場所
-------------------------------------------------
datadir=/var/lib/mysql
-------------------------------------------------

データのある mysql ディレクトリに移動し、問題のファイルがあることを確認
-------------------------------------------------
cd /var/lib/mysql
ls
ib_logfile0 ib_logfile1 ibdata1 mysql
-------------------------------------------------

すべて削除
-------------------------------------------------
rm -rf ib_logfile0
rm -rf ib_logfile1
rm -rf ibdata1
-------------------------------------------------

再起動できた
-------------------------------------------------
/etc/init.d/mysql start
Starting mysqld: [ OK ]
-------------------------------------------------

ファイル削除の参考my.cnfでinnodb関連の設定後、MySQLが起動しなくなった

しかし新たなるエラーが発生

エラーログの内容
-------------------------------------------------
[ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
-------------------------------------------------
このあとにもたくさんのエラーが続く

please run mysql_upgrade to create it という内容なので update を実行

-------------------------------------------------
mysql_upgrade -u root -p
-------------------------------------------------

エラーが出なくなった

【さくらvps】CentOS6 で php を update

標準リポジトリから php をインストールしたら php5.3 だったので、php5.6 にした時の覚書

現在有効なリポジトリの一覧を表示

コマンド
-------------------------------------------------
yum repolist all
-------------------------------------------------
status が enabled となっているのが有効なリポジトリ

epel は有効になっていた

最新バージョンの php を手に入れるには Remi リポジトリを利用するのがいいらしいので、使えるようにする。

CentOS6系で Remi リポジトリをインストール
-------------------------------------------------
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
-------------------------------------------------
以下ほぼこちら通り:CentOS6/CentOS7にPHP5.6/PHP7をyumでインストール

現在のPHPバージョンを確認
-------------------------------------------------
rpm -qa | grep php
php --version
-------------------------------------------------

現在のphp を削除(しなくても update されるけど念のため)
-------------------------------------------------
yum remove php-*
-------------------------------------------------

PHP5.6をインストール
-------------------------------------------------
yum install --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd
-------------------------------------------------

php をインストールしたら php.ini の編集も忘れずに

ここを参考にphp.ini で4か所のみ設定する
---------------------------------------
mbstring.language
mbstring.internal_encoding
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
expose_php ← on だとレスポンスヘッダーに php のバージョンが表示されてしまうので Off にする
---------------------------------------

自分の環境では以下の2つは設定変更しなかった
---------------------------------------
error_log ← 指定しなくてもサーバーに保存されるようなので指定しない
mbstring.http_input ← 非推奨なので設定しない
---------------------------------------

さくらレンタルサーバーからVPSへの引っ越し手順

さくらレンタルサーバーから vps への引っ越し手順の覚書

引っ越しをするときは、vps の設定をすべて済ませておくこと。php や mysql も使える状態になってから引っ越し作業に取り掛かる。設定に戸惑ってダウンタイムが長くなるのを防ぐため。

vps を借りてからの設定についてはこちら

お名前かさくらどちらかでネームサーバーを変更

共用サーバーを利用していた時はさくら側で設定が必要だったが、vpsの場合、お名前でもさくらでもどちらで設定してもいい

お名前側で設定する場合

さくら側で設定する場合
さくら側で設定する場合 参考2

さくら側で設定する場合、お名前側でさくらのネームサーバーのドメインを参照するネームサーバーとして登録しておく必要がある。
お名前側で一日前にネームサーバーをさくらに指定していた場合、その後さくらでゾーン設定すると実際にページが表示されるまで10分ほどかかった。(即時反映されるかと思ったが意外と時間がかかった)

さくら側で設定する場合、さくらレンタルサーバーでのネームサーバーの指定を解除しておく必要がある。その後二時間は再設定できないので、早く済ませたいならお名前側で設定するほうがいい。

E212: Can't open file for writing の対処法

vi で存在しないパスを指定して保存を実行するとエラーが出る。

:w や :wq でエラー
-------------------------------------
E212: Can't open file for writing
-------------------------------------

この場合、:w や :wq に続けて保存先のパスを指定するといい。

-------------------------------------
:w /PATH/

OR

:wq /PATH/
-------------------------------------

さくらのvpsを借りたらやること

セキュリティの設定
-------------------------------------------------
1.一般ユーザーを追加して、sudo で root権限を与えられるようにする
参考ページ
※初期設定でPort22が使えない場合は、SSHでログインできない。VPSコントロールパネルのコンソールからログインする
※最初ターミナルでログインしようとしたら、port22 が使えないってログインできなかった。yum update したからかお試しから本登録に変更したからログインできるようになった

2.rootでのログインを禁止
参考ページ

3.ssh のポート番号を 22 から変更

iptables の変更も忘れずに!

参考ページ

4.鍵認証の設定

参考ページ
※authorized_keys のパーミッションを 600 にしないとログインできないので注意!

鍵認証を有効にしたらパスワード認証を無効にするのを忘れずに
詳細
パスワードを有効にしたらリスタート
-------------------------------
sudo /etc/init.d/sshd restart
-------------------------------

5.その他の設定も次のサイトのとおり
参考ページ

マルチドメインに対応するところで、/etc/httpd/conf.d/vhost.conf ファイルを作るのは、conf.d ディレクトリに .conf のファイルを作るとデフォルトで読み込まれるから。httpd.conf ファイルにそういう記述がされている。

httpd.conf の抜粋
-------------------------------------------------
# Load config files from the config directory "/etc/httpd/conf.d".
#
Include conf.d/*.conf
-------------------------------------------------

-------------------------------------------------

上の参考サイトでマルチドメインの設定をするとサーバーのIPアドレスでのアクセスができなくなるので、httpd.confを編集してIPアドレスでアクセスできるようにする。
さくらVPSで複数の独自ドメインを運用する

ServerAlias の記述を加えて、ドメインの www のありなしを統一する。www のリダイレクトは サーバーの設定ファイルか .htaccess で制御。
詳しくはこちらを参考
さくらVPSでwwwサブドメインのURLを統一(正規化)する

ftpクライアントからファイルをアップロード
-------------------------------------------------
ffftp が基本的に sftp 接続できないので fileZilla を使った。

fileZilla でサーバーに繋がったのにアップロードするとエラーになった。公開フォルダの所有者が root なのに、ほかのユーザーでログインしたのが原因。公開フォルダの所有者を変更する。
参考ページ
-------------------------------------------------

さくらサーバーの503エラー対策

503エラーが頻発してアクセス制限された。

サーバーコントロールパネルのリソース使用状況
-------------------------------------------------
2017/xx/xx php.cgi の過負荷により、CGI/PHPが制限されています。
-------------------------------------------------

サーバーのエラーログを確認すると AccessExceededNumber がたくさんある。AccessExceededNumber は、サーバ側のアクセス数上限設定を越えているという警告。

サーバーコントロールから見られる利用統計を確認するとbingbot(msnbot)のアクセスが以上に多い。

対策1

robots.txt に記述
-------------------------------------------------
User-agent:bingbot
Crawl-delay:30
-------------------------------------------------

対策2

Bingウェブマスターツールで、クロールの頻度を調整。

参考サイト

さくらでphp ファイルを .html で動かすため.htaccessがやってること

.htaccess の中身
-------------------------------------------------

#スラッシュ(/) で終わるURLにアクセスがあったときのアクセスの順番。
#デフォルトは index.html。
#index.html index.php 共にない場合、.ht を見に行き、Forbidden(403) と表示される。
#最後に .ht を置くことで ディレクトリの構造を見せない。

DirectoryIndex index.html index.php .ht


#このバイナリファイルで php のバージョンが決まる
#myphp-scriptという種類のファイルにアクセスがあったら /php.cgiで処理する

Action myphp-script /php.cgi


#.phpと.htmlで終わるファイルをmyphp-scriptという種類とする

AddHandler myphp-script .php .html
-------------------------------------------------

参考ページ

動的に生成した要素に対してマウスオーバー(アウト)のイベントを起こす

動的に生成した要素に対してマウスオーバー(アウト)のイベントを起こすjQueryの記述

-------------------------------------------------------
$(document).on({
"mouseenter": function(){
$(this).removeClass("notouchstyle").addClass("touchstyle");
},
"mouseleave": function(){
$(this).removeClass("touchstyle").addClass("notouchstyle");
}
}, ".touch-res");
-------------------------------------------------------

参考サイト

3 / 2912345...1020...最後 »