ハードディスクメンテナンス

ハードディスクの診断、物理フォーマット、静音化、Linux、サーバー、MySQLなどがメインだったのですが、その後広がり、カメラやハードウェアの投稿も増えてきました。 モバイルデバイスは、MacBookAir(13型)、iPad Air2、ポメラ DM100(キングジム)OLYMPUS STYLUS XZ-2など。 これらを使いながら、ブログを更新しています。

タグ:Apache



当方が使っているNAS(ファイルサーバー)はNETGEARのReadyNAS104(RN10400-100AJS)であり、ブラウザ経由で操作する。

RN10400-100AJS

が、SSHでシェルログインすることもできる。

# シェルログイン:サーバにログインし、UNIXコマンドで遠隔操作する機能

常時起動しているファイルサーバーに、Apache,PHP,MySQL,phpMyAdmin,WordPressなども入れられるので、別途鯖を用意しなくても済むという利点がある。

しかし、これは、以下の理由からオススメしない。

・CPUがシングルコアで遅杉:Marvell Armada 370 1.2GHz(1コア1スレッドwwwww)
・メモリーが512MBしかない。

関連:ReadyNAS214とReadyNAS104の新旧性能比較(NETGEAR)

WordPressをReadyNAS104に置くと、LAN内なのに展開(表示)が遅い始末である(笑)

また、シェルログインは動作保証外であり、操作をシクヂルとNASのデータを失う。

SSH_NETGEAR

コマンド操作で内部は何でも変えられるように見えるが、そうするとブラウザ経由で操作する(本来の)システムとの間に不整合が発生、面倒なコトになりかねない。

てコトで、ファイルサーバー機能にトドメテおいた方が無難。

また、何カシラの制限がかかっているようで、PHPのアップデートができなかったりもする。

はヂめに、ハードウェアの確認。

OSのバージョン



cat /etc/issue

ReadyNASOS 6.10.3 \n \l

cat /etc/debian_version

8.11

CPU



cat /proc/cpuinfo

processor : 0 ←「0」だけなのでシングルコア!
model name : ARMv7 Processor rev 1 (v7l)
BogoMIPS : 34.37
Features : half thumb fastmult vfp edsp vfpv3 vfpv3d16 tls idivt
CPU implementer : 0x56
CPU architecture: 7
CPU variant : 0x1
CPU part : 0x581
CPU revision : 1

Hardware : Marvell Armada 370/XP (Device Tree)
Revision : 0000
Serial : 0000000000000000

メモリ



cat /proc/meminfo

MemTotal: 508656 kB ←メモリーが512MBしかナゐ!
MemFree: 44660 kB
MemAvailable: 164540 kB
Buffers: 8428 kB
Cached: 218924 kB
SwapCached: 312 kB
Active: 183892 kB
Inactive: 126892 kB
Active(anon): 36676 kB
Inactive(anon): 73784 kB
Active(file): 147216 kB
Inactive(file): 53108 kB
Unevictable: 0 kB
Mlocked: 0 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 508656 kB
LowFree: 44660 kB
SwapTotal: 1046524 kB
SwapFree: 1044532 kB
Dirty: 76 kB
Writeback: 0 kB
AnonPages: 83156 kB
Mapped: 54212 kB
Shmem: 27028 kB
Slab: 37560 kB
SReclaimable: 12228 kB
SUnreclaim: 25332 kB
KernelStack: 1512 kB
PageTables: 2820 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 1300852 kB
Committed_AS: 797372 kB
VmallocTotal: 507904 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB

ディスク



df -h

Filesystem Size Used Avail Use% Mounted on
udev 10M 4.0K 10M 1% /dev
/dev/md0 4.0G 977M 2.8G 26% /
tmpfs 249M 0 249M 0% /dev/shm
tmpfs 249M 424K 248M 1% /run
tmpfs 125M 21M 104M 17% /run/lock
tmpfs 249M 0 249M 0% /sys/fs/cgroup
/dev/md127 8.2T 6.1T 2.1T 75% /(ボリューム名)
/dev/md127 8.2T 6.1T 2.1T 75% /apps
/dev/md127 8.2T 6.1T 2.1T 75% /home
/dev/sde1 15G 524M 14G 4% /media/(USBメモリー等)

CPU使用率の履歴



vmstat 2(2秒毎の場合)

・us:ユーザーCPU時間(カーネル以外が使用)
・sy:システムCPU時間(カーネルが使用)
・id:アイドル時間
・wa:IO待ち時間
・st:仮想マシンに取られた時間



例えば、syは、管理画面で共有の「使用量計算」を行うと、それだけで50%程度に上昇する。
イカにこのCPU(SoC)が非力か分かるだろう。

「Ctrl+C」で終了

現在の値のみ

top

「Ctrl+C」で終了

システムの稼働時間



uptime

ログイン履歴



lastlog(ユーザー毎の最後のログイン)

last(最近ログインしたユーザの日時) 上が新

必要ブツのインストール等



apt-get update

インストール可能なパッケージの一覧を更新する。
パッケージのインストール、アップグレードなどは行わない。

[PR] au PAY / au WALLET カード 情報

このエントリーをはてなブックマークに追加 mixiチェック



ローカル鯖(Apache,PHP,MySQLなど)として使っていたCF-R6(松下のノートPC)が古ゐし熱ゐし遅ゐンで、

CF-R6

使用頻度の低いMacBook Air(13-inch Mid 2011)を使うコトにする。

MBAMacBookAir13型2011-Mid

Linux(Ubuntu)からmacOSへの移行なンで、環境ヅクリがメティアクティア面倒杉田。

構築手順は以下に書いた。

関連:Macでサーバー(Apache,PHP,MySQL,WordPress)を作る

# ゑ?MAMPでイッパツ?だがシナイ(半島)!

# MAMPとは「Macintosh + Apache + MySQL + PHP」であるがWindows版もある。

関連:MAMP

MacBook Air(13-inch Mid 2011)は既にアッチ系の社長♪に切り捨てられているので、10.14 Mojave(2018年9月)や10.15 Catalina(2019年秋予定)は入らヘン!

ツマリ、Mac(10.13 High Sierra,盪瑩)止まりである。

盪瑩(High Sierra) 10.13.6

関連:MacBook Air(13型,Mid 2011)は対象外!macOS 10.14 Mojave

Mojave(モハベ)って何かヅィヴァク系の名前ッぽゐし、盪瑩圓里茲Δフキツな漢字で表せナゐから、その点でHigh Sierraが適しているし、ソムォソムォMacはほとんど使わないので何ら問題はナゐ(笑)。

Core i7(1.8GHz,2コア4スレッド)でRAMは4GB、ストレージはSSDなので、ローカル鯖としてのスペックは問題ない。

2677M_MacBookAir_13型

で、PHPのバージョンが異なるコトに気付く。

# PHPのバージョン確認
# php -v

実際にウゴいているのは 7.1.23 で、php -vだと 7.3.7 となっている。

PHP_on_Mac

7.1.23 はMacのデフォルトのヤツで、7.3.7 はHomebrew(macOS用のパッケージマネージャー)で入れたヤツかはシラン(SILANE)。

# brew install php@7.3

鯖を再起動しても 7.1.23 のムァムァ。

ムァ、5.xだったらアレだけど(6.xは破棄となり欠番)、7.xだったら大して変わらンと思うから放置wwwww

関連:【Homebrew】PHPの設定に注意!Homebrew/phpの廃止 (本件に近いけどチャウ)

httpd.confのLoadModuleの指定を変えるとHomebrewのPHPとなった。

# PHP7 of Mac
#LoadModule php7_module libexec/apache2/libphp7.so

# PHP7 of Homebrew
LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so

Macの方をコメントアウト(#)し、Homebrewの方を指定し、Apacheを再起動すると、HomebrewのPHPとなる。

再起動
sudo apachectl restart

なお、

brew upgrade php

でHomebrewのPHPのアップデートが可能で、2019年8月時点では7.3.8であった。

MacのPHPではできなかったが、HomebrewのPHPではmecabやcabochaが有効にできた(phpinfoで出る)ので、イロイロとヤッてみようと思う。

私はMAMPではナゐが、以下のサイトが参考になった。

関連:CaboCha をインストールして MAMP の PHP で使う

関連:MAMPのPHPにphp-mecabを導入する

関連:macOS に PHP の `php-mecab` 拡張モジュールをビルド&インストール

上記にも当方の環境との不一致や誤りがあるので、各サイトの情報を組み合わせながら再試行するコトになるがモノゴツ面倒杉流ワ、ドァヴォ!!

# --with-php-configのハイフンは2本

生成されたmecab.soとcabocha.soは以下に入っている。

/usr/local/Cellar/php/7.3.8/pecl/20180731/

mecab -v
cabocha -v

でバージョンが表示される。

PHPで使うためには、php.iniのDynamic Extensionsで読み込みを指定する必要がある。

extension=mecab.so
extension=cabocha.so

php.iniは

/usr/local/etc/php/7.3/php.ini (Homebrew)
/private/etc/php.ini (Mac)

の2つがあるので、使っている方に書き加える。

Apacheを再起動。

PHP内で

$cabocha = cabocha_new() ;
$tree = cabocha_parse($cabocha,"アヤしゐ「專門妖語」を使ッて解説スル!") ;
print_r($tree) ;

と書ゐて実行すると、ソレラシゐモノがツラツラと出てクル!

グァ、当方の「專門妖語」は特殊言語なので、正常には判別不可能な模様wwwww

関連:Macでサーバー(Apache,PHP,MySQL,WordPress)を作る

関連:Ubuntu 18.04.2 LTSの32ビット版

[PR] au PAY / au WALLET カード 情報

このエントリーをはてなブックマークに追加 mixiチェック



Windowsを使っていると、Macはメティアクティア使いにくい!

サスガ、社長がアッチ系♪だけのコトはあるwwwww

なンで、Macを鯖とスルガ(学)、Windowsから操作シてゐク方法。

正直、他で鯖を作るより面倒!Macはクヅォ!!

ゑ?

MAMPを使ゑ?

使いまセンwwwww

関連:[Mac] PHPのバージョンが異なる問題 [HighSierra]

<Mac>

盪瑩(High Sierra) 10.13.6

盪瑩(High Sierra) 10.13.6

固定IP(192.168.0.xx)

以下、LAN内に於ゐて、ぢぶンだけで使う用途なンで、セキュリティーの配慮はシトランから、幼虫/妖虫/要注意wwwww

妖虫

<Apache>

MacにはApacheが入っているが起動していないので

sudo apachectl start

で起動する。

Windows機から http://192.168.0.xx/ でアクセスすると、

「It works!」

と表示されるハヅ。

コレは、

/Library/WebServer/Documents/index.html.en

というファイルの内容である。

が、こんなワケの分からない場所を使うのはヴァクァ杉流ので、変更する。

httpd.confを編集するのだが、見えないので、以下で移動。

Finder>フォルダへ移動>/etc

/etc>apache2>httpd.conf

アクセス権で保存できないので、親のapache2やhttpd.confのアクセス権を変更(右クリック>情報を見る>最下部)。

編集にはワケの分からないviは使用せヅ、Macに入っている「テキストエディット」を使うコト。

244行目付近にある

DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">



DocumentRoot "/users/www"
<Directory "/users/www">

と書き換える。

指定した/users/wwwに何か書いたファイルをindex.htmlとして置いておく。

Apacheを再起動。

sudo apachectl restart

Windows機から http://192.168.0.xx/ でアクセスしてその内容が見れるか確認する。

なお、Apacheは自動起動されないので、自動起動とする場合は(後述)。

上述の見えないモノ(etcやvarなど)は、

defaults write com.apple.finder AppleShowAllFiles -boolean true

の後に

killall Finder

で薄表示ではあるがFinderで見えるようになる。

後述のファイル共有により、Windows機からも見えるが、ショートカット的なアイコンとなっており、ダブルクリックでは開けないので、右クリック>ファイルの場所を開くで進める。

<mod_rewrite>

/etc>apache2>httpd.conf の

#LoadModule rewrite_module libexec/apache2/mod_rewrite.so

のコメント(#)を外して、Apacheを再起動。

mod_rewrite(URL書き換え)を有効にしないとWordPressでのパーマリンク設定でコケてしまう(Not Found)。

有効にしてもコケる場合は、WordPressのルートにある「.htaccess」にrewriteの記載があるかを確認するコト。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>

# END WordPress

ソレでもNot Foundになるのは

/etc>apache2>httpd.conf の

AllowOverride None



AllowOverride ALL

にし、Apacheを再起動。

この記載は、上述のDocumentRootの範囲内にあるハズ。

<Directory "/users/www">〜</Directory>

ツマリwww内に於いてのみ有効なンで、ALLで安全なンかはシラン(SILANE)。

<ファイルアップロード上限>

WordPressでオオキメの画像をUPしようとすると

「このサイトのアップロードサイズ上限を超えています。」

として拒否されウヅァゐンで、以下の3行を追加、

<Directory "/users/www">
php_value memory_limit 128M
php_value post_max_size 64M
php_value upload_max_filesize 32M
</Directory>

Apacheを再起動。

ApacheだけでなくPHP側もカラみ、処理時間の問題もあるンで、詳細は以下が参考になる。

関連:phpの大容量ファイルアップロード(リクエスト)のサイズ最大値の制限解除 (外部サイト)

<ファイル共有>

システム環境設定>共有>ファイル共有 にチェックを入れ、

ファイル共有_Mac

さらにオプションと進み、

SMBを使用してファイルやフォルダを共有



Windowsファイル共有のアカウントにチェックを入れる。

Windowsファイル共有_Mac

関連:Macでファイル共有を設定する (support.apple.com)

Windows機では \\192.168.0.xx でMacにアクセス可能。

コレでWindows機からファイルが編集可能となり、ファイルのコピーもできる。

但し、アクセス権には注意。

「読み/書き」だと編集可能だが、「読み出しのみ」だと読めても編集できヅ、「アクセス不可」だと読みスラできない。

リモートログインでchmodするか、Macで 右クリック>情報を見る>最下部 でアクセス権を変更すること。

例:chmod -R 777 www

自分は読み書きできても、PHPなどのプログラムではアクセスできないという場合もある。

また、プログラムが書き出したファイルが、Windows機から開けない/編集できないという場合もある。

プログラムのユーザーとWindowsのユーザーは異なるためだ。

本件で出現しそうなユーザー(名前)は、以下の通り。

・temp(自分)
・admin
・everyone
・_www

このアクセス権の問題には、延々とクルシメラルェルことになるので、ソレが面倒でアルナラ、ソクヅァに本件から手を引き、ドカタ、野球選手、プロレスラー、芸人にでもなるコトをオススメする。

<リモートログイン(SSH)>

システム環境設定>共有>リモートログイン

リモートログイン_Mac

Tera Termとかで遠隔操作が可能になる。

以上により、Windows機でファイル編集、リモートログイン(テキスト操作)でApacheの再起動などができるので、ワケの分からないMacを操作する必要なナクナル。

<PHPを使う>

httpd.confの176行目付近にある

#LoadModule php7_module libexec/apache2/lib7.so

のコメント(#)を外して保存、Apacheを再起動。

(古い場合はlibphp5.soとなっている場合もあるので、「php」で検索。)

PHPが動いているかの確認は

<?php
phpinfo() ;
?>

でヨカロウ。

青画面に「PHP Version 7.1.23」などと表示されるハズ。

<Apacheの自動起動>

上述のように、Apacheは自動起動されない。

Macの起動と同時にApacheも起動させたい場合は、

sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

を実行する。


Macが起動すれば、ログインしなくても、Apacheは起動している。

起動
sudo apachectl start

停止
sudo apachectl stop

再起動
sudo apachectl restart

<MySQL>

マヅ、以下を貼り付け。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

関連:Homebrew(macOS 用パッケージマネージャー)

黄色文字等の後、

brew install mysql

MySQLの起動

mysql.server start

「SUCCESS!」と表示される。

MySQLのユーザー(root)のパスワードがないので設定する。

mysql_secure_installation

パスワードを仮に「WeSe@123456789」とする。

ログイン後にパスワードを変更する場合は、

mysqlにログイン

mysql -uroot -p

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'WeSe@123456789';

↑カンタンなパスワードだと以下が吐かれ認められない。

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

exitで抜ける。

停止
mysql.server stop

再起動
mysql.server restart

MySQLはMacの起動時に自動起動されないので、

brew tap homebrew/services

brew services start mysql

で自動起動。

のハヅが、

Error: Failure while executing; `/bin/launchctl enable gui/501/homebrew.mxcl.mysql` exited with 112. で不可。

Macに向かってログインしないとMySQLは起動しない。

・Apache:ログイン不要
・PHP:ログイン不要
・MySQL:ログイン必要 (データベース接続確立エラー)

自動起動を止める場合は

brew services stop mysql

である。

brew services list

Statusの項目がstartedであれば有効化、stoppedであれば無効化されている。

phpがstoppedになっているが何故かMac起動時に立ち上がる。

<phpMyAdmin>

brew install phpmyadmin

phpMyAdminのダウンロード

phpMyAdmin-4.9.0.1-all-languages.zip

を解凍後、phpmyadminとリネームしてwwwに移動。

そのままだと Forbidden になるので、

chmod -R 775 phpmyadmin

とする。

phpmyadmin内にあるconfig.sample.inc.phpをconfig.inc.phpにリネーム。

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
↓書き換え↓
$cfg['blowfish_secret'] = 'ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG';

↑短くても動くがエラーが常に表示されウヅァゐ。

$cfg['Servers'][$i]['host'] = 'localhost';
↓書き換え↓
$cfg['Servers'][$i]['host'] = '127.0.0.1';

↑こうしないとphpMyAdminにログインできない。

以下にアクセスし、

http://192.168.0.xx/phpmyadmin/

root/WeSe@123456789 でログイン。

$cfg['TempDir'] (./tmp/) にアクセスできません。
phpMyAdmin はテンプレートをキャッシュすることができないため、低速になります。


というエラーがウヅァゐ場合は、

phpmyadminにtmp(フォルダ)を作成し、tmpのアクセス権を変更(右クリック>情報を見る>最下部>everyoneに読み/書き)

<WordPress>

WordPressの公式から

wordpress-5.2.2-ja.zip

をダウンロードして解凍、wwwの下にwordpressを入れる。

Apache,PHP,MySQLが起動した状態で、

phpMyAdminで「wordpress」というデータベースを作成しておく。

http://192.168.0.xx/wordpress/

にアクセス。

Forbiddenなので

chmod -R 777 wordpress

WordPressのセットアップ画面。

WordPressの設定開始画面_001

情報を入力。

WordPressの設定開始画面_002

↑ホスト名に注意!localhost

ファイル wp-config.php に書き込めませんでした。

となる場合は、wordpress内にwp-config.phpを作成し、示された内容を貼る。

wp-config.phpに書き込めませんでした

上述の chmod -R 777 wordpress を行っていれば出ないハズ。

しかし、テーマやプラグインのインストールや削除などができない(FTP云々が出る)ので、

wp-config.phpの最後に以下の1行を追加する。

define('FS_METHOD','direct') ;

<アクセス権>

wwwを chmod -R 777 wordpress としてしまうと、全員フルアクセスで楽になると思えるがphpMyAdminで警告が出て使えなくなる。

以上。

正直、他で鯖を作るより面倒!Macはクヅォ!!

関連:[Mac] PHPのバージョンが異なる問題 [HighSierra]

関連:Ubuntu 18.04.2 LTSの32ビット版

[PR] au PAY / au WALLET カード 情報

このエントリーをはてなブックマークに追加 mixiチェック



Apacheのアクセスログに「エラー」として残るログがある。

国外IPアドレスフィルタ

重要なエラーであれば直す必要があるが、元々存在しないファイルへのアクセスは問題にならないことが多い。

問題にならなくても、エラーログが記録されてしまうので、気分的に良くない(笑)

有名なところでは

favicon.ico
robots.txt

があるね。

これらはなくてもページの表示には問題ないが、多くのブラウザが要求するので、結果として

File does not exist

というエラーログが記録されてしまう。

比較的新しいところでは、iOSが要求する

apple-touch-icon-precomposed.png
apple-touch-icon.png

がある。

iPhoneなどのiOS端末は、これらのファイルを要求するので、ファイルがなければ、同じく File does not exist として記録されてしまう。

どんな端末でアクセスされるかは不明なので、エラーログを残したくなければ、これらのファイルを置いておこう。

また、サーバーの設定でアクセスが拒否され、そのエラーログが残ることがある。

client denied by server configuration : /home/xxx/www/wp-login.php

これはWordPressのログイン画面のファイル名だが、不正アクセスを防ぐために拒否の設定にされていることがある。

広く広まっているブログツールなどは、ログイン画面のURLやファイル名が決まっていることが多いので、不正アクセスを仕掛ける者は、そこを狙ってくる。

「不正アクセスを防ぐために拒否の設定にされている」には、さくらインターネットの国外IPアドレスフィルタなどがある。

知らぬ間に拒否されている!と驚くことのないよう、国外IPアドレスフィルタの設定方法(さくらインターネット)を一読しておこう。

上の wp-login.php のアクセス拒否ログがあるのは、それが理由。

できるPRO Apache Webサーバー 改訂版 Version 2.4/2.2/2.0対応 (できるPROシリーズ)
辻 秀典 渡辺 高志 鈴木 幸敏 できるシリーズ編集部
インプレスジャパン
売り上げランキング: 103,441


サーバ構築の実際がわかる Apache[実践]運用/管理 (Software Design plus)
鶴長 鎮一
技術評論社
売り上げランキング: 70,426

[PR] au PAY / au WALLET カード 情報

このエントリーをはてなブックマークに追加 mixiチェック



(Debian7.4 , Apache2.2.22)

http://xxx.xxx.xxx.xxx/index.php?pid=001
http://xxx.xxx.xxx.xxx/index.php?pid=002

というような、GETをURLの一部として送るのは長いので、

http://xxx.xxx.xxx.xxx/001.html
http://xxx.xxx.xxx.xxx/002.html

のように書き換えるのが、mod_rewriteだ。

関連:Apache Module mod_rewrite

http://xxx.xxx.xxx.xxx/index.php?aaa=001&bbb=002&ccc=003

http://xxx.xxx.xxx.xxx/aaa_001-bbb_002-ccc_003.html

等、パラメーターの多い、複雑なURLを短くすることが可能。

この、URLの書き換えを行うには、

mod_rewriteの読み込み



.htaccessの使用許可

の両方が必要。

レンタルサーバーでは多くの場合、これらが最初から有効となっているので、書換規則を.htaccessに書けば終了だが、自分で立てた場合は両方とも無効になっていることが多い。

mod_rewriteの読み込み ■

Apacheの設定ファイルは

/etc/apache2/apache2.conf

にあるが、その下の

/etc/apache2/mods-available



rewrite.load

がある。

これがrewriteモジュール。

Apacheの起動時に、これがloadされていない場合があるので、loadするように設定する。

なお、rewrite.loadの中身は、おなじみの(笑)

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

である。

まず、コマンドで

apache2ctl -M

とし、mod_rewriteがロードされているか確認。

root@debian:~# apache2ctl -M

[PR] au PAY / au WALLET カード 情報

このエントリーをはてなブックマークに追加 mixiチェック

このページのトップヘ