ラベル

Server (108) work (77) Idea (68) Car (31) PC (29) DAW (28) other (19) MakingWEBsite (18) 趣味 (18) health (13) CentOS (11) drupal (11) 山 (9) android (4) スマホ (4) communication (3) drupal7 (3) hint (3) meno (3) モバイル (3) 歯医者 (3) 第二種電気工事士 (3) 英語 (3) PC Server (2) drupal8 (2) ms access (2) uwp C# (2) めし (2) 整備 (2) 音楽 (2) MIDI (1) diy (1) 会計 (1) 動画再生 (1) 生活 (1) 郵便 (1) 食べ物 (1)
ラベル Server の投稿を表示しています。 すべての投稿を表示
ラベル Server の投稿を表示しています。 すべての投稿を表示

2017年6月25日日曜日

CentOS6での Drushを使ってのDrupal8のインストールとアップデートdrushのインストール mysql 5.1.73 から mariadb 10.2.6 へ変更

ここでのメモの順番は
CentOS6での
drushのインストール。
Drushを使ってのDrupal7、8のアップデート。
Drushを使ってのDrupal8のインストール。
mysql 5.1.73 から mariadb 10.2.6 へ変更(drushを使ってのdrupal8のインストールがmysql5.1.73ではできなかったため)
Drushをつかってのテーマ、モジュールのダウンロード、有効化。

とりあえず、drupal7のアップデートをしたいので、drushを使えるようにしてみる。
(今まで手動でやっていた。)
drushのインストールは、ダウンロードするだけのようなもの。
それでも少し時間が経つとどこにダウンロードしてどこに配置したかを忘れるので、yumでインストールできればそれに越したことはない。
でも、yumでインストールできるのはCentOS7からみたいだ。

CentOS6では
リポジトリを入れたうえで(導入済みだった)
# yum info drush
# yum info drush  --enablerepo=epel-release
# yum info drush  --enablerepo=epel-testing
上の3つを確認したがパッケージが見つからない。

なので、yumは使わずに普通にインストールする。
drushを適当なディレクトリにダウンロード。
# wget http://files.drush.org/drush.phar

ダウンロードしたファイルの動作確認。
# php drush.phar core-status
 PHP configuration      :  /etc/php.ini
 PHP OS                 :  Linux
 Drush script           :  /tmp/drush.phar
 Drush version          :  8.1.12
 Drush temp directory   :  /tmp
 Drush configuration    :
 Drush alias files      :

実行権限をつける。
# chmod +x drush.phar

drush.pharをdrushに変えて/usr/local/bin/以下へ移動させる。
# mv drush.phar /usr/local/bin/drush

以上でインストール完了。

実際に動くかどうかの確認。
Drupalルートディレクトリに移動して
メインテナンスモードにしてみる。
Drupal 8: drush sset system.maintenance_mode TRUE
Drupal 7: drush vset maintenance_mode 1


Drush8を使ってDrupal7のアップデートをする。


最初にバックアップを取る。

メインテナンスモードにする。
drush vset --exact maintenance_mode 1

drush cache-clear all

アップデートする。
drush pm-update drupal

メインテナンスモードを解除する。
drush vset --exact maintenance_mode 0

drush cache-clear all

Drush8を使ってDrupal8のアップデートをする。


アップデートの有無を確認。
drush ups

メインテナンスモードにする。
drush sset system.maintenance_mode 1

drush cr

drupal8のアップデート
drush up drupal

モジュールのアップデート
drush up module_name

(セキュリティアップデートのあるモジュールだけをアップデートする
drush up --security-only)

次に、データベースとエンティティのアップデート。
drush updb
drush entup

メインテナンスモードを解除する。
drush sset system.maintenance_mode 0
drush cr

drupal8をdrush8でインストールする。

まず、drushを使って、drupalの最新安定板を自分の付けたい名前hegedruでダウンロードする。
cd /var/www/html
drush dl drupal --drupal-project-rename=hogedru
(drush dl drupalでダウンロード時はパージョン付のdrupalファイル名になる。)
(drush dl drupal-8 --select    バージョンを指定して、異なるバージョンから選択。)

hgedruのディレクトリに移動して
cd hogedru

ここからdrupal8のインストール。

drush si --account-name="drupal_usr_name" --account-pass="drupal_usr_password" --account-mail="usr_mail@example.com" --db-url="mysql://root:password@localhost:3306/database_name" --site-mail="hogehoge@example.com" --site-name="Dru8testsite"

で、インストールされる。
最後、ページにアクセスする前に
chown -R apache:apache /var/www/html/hogedru
とするのを忘れないように。

金型を作っておけば手動でのインストールよりはるかに楽。

下の2つの構文も参照
drush site-install standard --account-name='ac_usr_name' --account-pass='pass_word' --account-mail='ac_mail_address' --db-url='mysql://[db_user]:[db_pass]@localhost/[db_name]' --site-mail='site_mail' --site-name='hogedrusite'

drush si standard --db-url=mysql://[db_user]:[db_pass]@[ip-address]/[db_name]

ここから下はエラーが出たところの修正に関して
drush si.......とインストール時の上のコマンドを打った後、
データベースにログインできないというエラーが出た。
これは、mysqlのポート番号をlocalhostの後に入れていなかったのが原因。
--db-url="mysql://root:password@localhost:3306/hogedru"
これで、エラーがなくなりデータベースが作られた。

他のエラー
このmysqlのバージョンは5.1.73。これでは低いから5.5.3以上のバージョンにしろとエラー。
一応自分mysqlバージョンの再確認。
mysql --version
mysql  Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
ほんとだ。


バージョンを上げるのにmysqlのまま上げるか、mariaDBにするか少し迷う。
mariaDB5.5はmysql5.5をベースに開発されたものだそうで、そこ(ver5.5)ではほぼ互換だが、それ以降、別物になってきているそうだ。
現在の最新版
MySQL 5.7.18(リリース日:2017/04/10)
mariaDB 10.2(CentOS6用)

少し迷ったがmariaDBにしてしまう。
mariaDBにするなら、5.5の方が安全だろうけど、10.2を入れてみる。

一応データベース全体のバックアップをsqlで取っておく。(とらなくても大丈夫。データは残る。でも万が一の時のためにとっておく。)

mysqldump --single-transaction --all-databases --events --default-character-set=binary -u root --password=password | gzip > mysql.whole.sql.gz

それと
/etc/my.cnf
のバックアップもとっておく。

mysqlの削除をしておく。(しなくてもよさげだけど。)
その前に、MriaDBの何のパッケージを入れるのかを知るために、または、インストールに失敗して元に戻すときのために今インストールされているmysqlのパッケージを調べておく。

yum list installed | grep mysql
mysql.x86_64                           5.1.73-8.el6_8               @updates
mysql-devel.x86_64                     5.1.73-8.el6_8               @updates
mysql-libs.x86_64                      5.1.73-8.el6_8               @updates
mysql-server.x86_64                    5.1.73-8.el6_8               @updates
php-mysqlnd.x86_64                     7.1.6-1.el6.remi             @remi-php71

で、サービスをストップさせてmysqlを削除
/etc/init.d/mysqld stop
yum remove mysql
Removing:
 mysql x86_64 5.1.73-8.el6_8 @updates 2.4 M
Removing for dependencies:
 mediatomb x86_64 0.12.1-1.el6 @/mediatomb-0.12.1-1.el6.x86_64 2.5 M
 mysql-devel x86_64 5.1.73-8.el6_8 @updates 388 k
 mysql-server x86_64 5.1.73-8.el6_8 @updates 25 M

mediatombも一緒に削除されるとかで、一瞬迷ったけど、最近は使っていないし必要になればまた入れればいいと思って一緒に消すことにした。

次にMariaDB用リポジトリのファイルを作る。
https://downloads.mariadb.org/mariadb/repositories/
ここで表示されたCentOS6用のリポジトリファイルの内容は以下

# MariaDB 10.2 CentOS repository list - created 2017-06-27 05:31 UTC # http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

これを
/etc/yum.repos.d/mariadb.repo
にコピーする。

MariaDBのインストール。
インストール前に確認しとく
yum info MariaDB-devel MariaDB-client MariaDB-server MariaDB-libs

MariaDB-libsは、今、必要ないみたいだ。
必要ないということは、mysql-libsを削除する必要がある。
そのためにmysql-libsに依存しているpostfixを消せと言われたとかといろいろと厄介なことが少し前まであったようだ。でも今は大丈夫だった。

インストール
yum install MariaDB-devel MariaDB-client MariaDB-server

Installing:
 MariaDB-client x86_64 10.2.6-1.el6 mariadb 48 M
 MariaDB-compat x86_64 10.2.6-1.el6 mariadb 4.0 M
     replacing  mysql-libs.x86_64 5.1.73-8.el6_8
 MariaDB-devel x86_64 10.2.6-1.el6 mariadb 7.1 M
 MariaDB-server x86_64 10.2.6-1.el6 mariadb 109 M
Installing for dependencies:
 MariaDB-common x86_64 10.2.6-1.el6 mariadb 196 k
 galera x86_64 25.3.20-1.rhel6.el6 mariadb 8.8 M


MariaDB起動
/etc/init.d/mysql start

これで、MariaDBは今のところ全部正常に動いている。

drushを使ってモジュール、テーマのダウンロード有効化

Adaptive Themeみたいなモジュール(at_tools)と対になっているテーマは、ダウンロード以外はwebサイトから操作した方がいいと思う。

taxonomy_menuモジュールと adaptivetheme テーマ、それとAdaptive Themeに必要なat_toolsをダウンロード
drush dl taxonomy_menu at_tools adaptivetheme

ダウンロードが終わったら、
chown apache:apache -R ルードディレクトリ
を忘れずに。

テーマ、モジュールを有効にするには

オフラインにするときは(オンラインは mode 0)
Drupal 8:drush sset system.maintenance_mode 1
              drush sset system.maintenance_mode TRUE
Drupal 7: drush vset maintenance_mode 1
Drupal 6: drush vset site_offline 1

まず、drupalのキャッシュをクリア。
drupal 8 : drush cache-rebuild
drupal 7 : drush cc all

drushのキャッシュをクリア。
drush cc drush

その後で、モジュール、テーマの有効化
drush en adaptivetheme(Adaptive Themeの場合はサブテーマを設定するから下(*)のやり方の方がいい。)
drush en pathauto
drush en taxonomy_menu
drush en -y adaptivetheme  ------>機能しない
-y, --yes
(出てくるプロンプトすべてに yes )
-s, --simulate 
(関連するアクションすべてをシミュレートする。システムに実際の変更は加えない)。

(*)Adaptive Themeの場合は、サブテーマをdrushで設定できる。
drush adaptivetheme "テーマ名" テーマディレクトリ名------------>機能しない





2015年3月7日土曜日

シンボリックリンク Centos

シンボリックリンク

/smallhdd/backup
にバックアップを保存したいが、このディレクトリが置いてあるhddの容量が少ないから、容量の大きい他hddのディレクトリ
/largehdd
の中に作ったディレクトリ
bigspace
にリンクを貼りたい時。
mkdir /largehdd/bigspace
chmod 0777 /largehdd/bigspace/
rm -rf /smallhdd/backup
ln -s /largehdd/bigspace /smallhdd/backup


このリンクを削除するときは
unlink /smallhdd/backup
とする。

フォルダ、hddのマウントを削除するときは、sambaを使っている時は、sambaの設定を解除するのを忘れずに。

rmを使って削除もできるそうだが、間違うと実体を削除してしまう危険ありだから使わない方がいいそうだ。

シンボリックリンクなどを張るときは、張った場所をメモしておくこと。
後になって、例えばhddにリンクを張っていて、そのhddを外すためにリンクを解除したい時などにどこにどう張っていたのだかわからなくなる。

シンボリックリンクを探すのは、
 find / -type l


2014年10月13日月曜日

Windows 7 apache MariaDB PHP phpMyAdmin 個別にインストール mysqlからmariadbに移行した。 (後述:このやり方ではdrupalは今のところ正常に動いていない。自分の見解は最後に書いた。)

Windows7   

apacheのインストール。

http://www.apachelounge.com/download/win64/
httpd-2.4.10-win64.zip

ダウンロードしたファイルを解凍してapache24フォルダを適当な場所に適当な名前(自分はそのままapache24)で設置。
C:\www\apache24

次にhttpd.confファイルの編集
C:\www\apache24\conf\httpd.conf

--------------------------------------ここから
# apacheの場所
ServerRoot "C:\www\apache24"

# ポート
Listen 127.0.0.1:80

# 一応、適当にメールアドレスを入れとく。
ServerAdmin admin@example.com

ServerName localhost:80

DocumentRoot "C:\www\apache24\htdocs"

#webディレクトリの設定
<Directory "C:\www\apache24\htdocs">

 AllowOverride All

</Directory>

#mod_rewriteを有効にする。(drupalのモジュールのリダイレクトを効かせるため。)
LoadModule rewrite_module modules/mod_rewrite.so

# 必要ならCGI として実行する拡張子など(自分は必要じゃないから入れなかった。)
# AddHandler cgi-script .cgi .pl .py .rb

# ファイルではなくディレクトリにアクセスされた場合に表示するファイル。(自分はcgiは入れていない。)
<IfModule dir_module>
    DirectoryIndex index.html index.php index.cgi
</IfModule>

#ここからPHP用の設定。最後に付け足した。
#php.iniの場所指定
PHPIniDir "C:/www/php"
#PHPモジュールの場所指定
LoadModule php5_module C:/www/php/php5apache2_4.dll
#PHPをPHPとして認識させる。
AddType application/x-httpd-php .php

-------------------------------------ここまで

ここで、試しにapacheの本体
httpd.exe
をダブルクリックして立ち上げてみる。

うまくPHPなどが動かないときは(今回、apacheはhtmlを表示させることができたが、PHPが動かなかった)。
Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)
(Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ)
vcredist_x64.exe
を入れる。

apacheをサービスに登録する(サービスを登録するのは、MariaDB、PHPなどがちゃんと動いたのを確認した後。それまでは単独でexeファイルをダブルクリックをして起動。)。
コマンドプロンプトで登録。
コマンドプロンプトを立ち上げるときに、右クリックから"管理者として実行"から実行するのを忘れないように。
C:\www\apache24\bin\httpd -k install
か
C:\www\apache24\bin\httpd -k install -n "Apache2.4"
その後起動
C:\www\apache24\bin\httpd -k start
アンインストールするには
C:\www\apache24\bin\httpd -k uninstall

スカイプが起動しているときはポートがかぶるので注意。だそうだ。先にapacheを立ち上げてその後でスカイプを立ち上げればスカイプがポート80以外を使って立ち上がるらしい。

次にMariaDBのインストール
https://mariadb.org/
mariadb-10.0.14-winx64.zip
をダウンロード。
展開した
mariadb-10.0.14-winx64
を
C:/www/
にコピー。その後適当な名前mariadbに名前変更。
C:/www/mariadb

my.iniを作る。
my-small.ini
を
my.ini
に変更。

my.iniの中のsocketの位置を
[client]と[mysqld]、共に
socket = c:\www\maria\mysql.sock
へ変更。

mysqld.exeをダブルクリックでMariaDBが立ち上がる。
サービスへ登録したければ、
Windowsコマンドプロンプトで、
C:\www\mariadb\bin\mysqld --install MariaDB10.0
登録解除は
C:\www\mariadb\bin\mysqld --remove MariaDB10.0
ただ、登録してもうまく立ち上がらない。
手動なら立ち上がるのだけど・・・。

次にPHPのインストール

http://windows.php.net/download/
ここからダウンロード。
php-5.6.2-Win32-VC11-x64.zip

64bit版が2種類あって、
VC11 x64 Non Thread Safe
VC11 x64 Thread Safe

IIS版がNon Thread Safe
Apache版がThread Safe
と言う事みたいだ。

インストール場所は
C:\www\php
にした。

自分の場合、何でもいいのだけど、一応php.ini-developmentからphp.iniを作った。

php.iniの編集
date.timezone = Asia/Tokyo

extension_dir = "./ext"
log_errors = On
error_log =  "C:\www\php_error.log"

次のextensionのコメントアウトを外す。
# 何故かphpMyAdminを動かすためにphp_mbstring.dllが必要(入れないとエラーが出る。どの道日本語を使うときには必要。)。
php_mbstring.dll

php_mysqli.dll
php_mysql.dll

下の二つはdrupalに必要。
php_gd2.dll
php_pdo_mysql.dll

引き続き、php.iniの設定。
PHPからメールを送れるように設定をする。(drupalなどを使うとき、何らかの方法でメールを送る手段が必要なため。)
;SMTP = localhost
;smtp_port = 25
上の2行をコメントアウト。
sendmail_path = "\"\www\sendmail\sendmail.exe\" -t -i"
fake sendmailを使うために上の行を追加。

fake sendmailのインストール。
メールクライアントのように働きメールを送信するソフト。
sendmailと言ってもサーバーではなくて、簡単なメール送信ソフト。
sslを使わなくていいのならfake sendmailを使わなくてよくて
php.ini
の
[mail function]
へ使いたいメールサーバーとポートを設定すればいいだけなのだろう。

http://glob.com.au/sendmail/
ここからダウンロード

C:\www\sendmail
ここに置いて、

sendmail.iniの編集
smtp_server=smtp.gmail.com
smtp_port=587
smtp_ssl=auto
error_logfile=error.log

auth_username=hoge@gmail.com
auth_password=hogenopassword

force_sender=hoge@gmail.com

編集後
sendmail.exe
をダブルクリックして立ち上げ。
その後で、送信されたかどうかのテスト。
utf-8で書くのを忘れずに。

<?php
if (mb_send_mail('auction654321@gmail.com', 'TEST SUBJECT', 'TEST BODY')) {
    echo 'Seikou成功';
} else {
    echo 'Shippai失敗';
}
(これはhttp://log.noiretaya.com/139を丸写しさせてもらった。)

このPHPをドキュメントルートへ置いて、アクセスする。

phpMyAdminのインストール
http://www.phpmyadmin.net/home_page/index.php
ここからダウンロードしてAphacheのドキュメントルートへ置く。
これだけで動く。
(以前はconfigファイルを設定しないと動かなかったよなぁ。)

rootからパスワードなしてログインできるように設定する。
config.sample.inc.php
を
config.inc.php
へ置き換えて、
$cfg['Servers'][$i]['AllowNoPassword'] = false;
を
$cfg['Servers'][$i]['AllowNoPassword'] = true;
へ書き換える。


ここまでやったが、drupalがちゃんと動かない。
Chromeブラウザからだとログインできない。
IEだと最初は動くけど、だんだん動きがおかしくなる。
WAMPを後から入れてみたらChromeからログインできるから、たぶん、ブラウザが悪いわけでもないみたいだ。
何かが足りないんだろう。
Apacheの全モジュールとPHPの全エクステンションをロードしてみたけど、うまくいかなかった。
ソースからビルドしたときのオプションに問題があるのかなぁ。(自分でビルドしたわけじゃないけれど。PHPはてんこ盛りオプション付ビルド版とかがあったから、それを入れれば動くかなぁ。)
それとも、PHPのバージョンに問題があるのかなぁ。(WAMPは5.5、自分で入れたのは5.6)

とにかく、今、新しいバージョンのWAMPを入れたら、これが調子いいから、ここは後回しにする。
新しいバージョンのWAMP
wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b.exe
を入れたら、以前のバージョンで動きの悪かったphpMyAdminがスムーズに動いているから、
とりあえずまたWAMPを使うことにした。





2014年10月3日金曜日

MariaDB MySQL CentOS7

CentOS7からデータベースサーバーがMySQLからMariaDBになった。

なんだなんだ、どうしたんだ。
と思ったけど、どっちの中身もほとんど同じらしい。

去年、googleがMysqlからMariaDBに切り替えた。
という去年のニュースがあった。その辺の出来事が大きいのかなぁ。

名前がMariaって、なかなかなじめない。と思って調べるとMySQLのMyも人の名前(開発者の娘)なんだそうだ。


それはそれで置いといて、そうなると、MariaDBがMySQLの完全に置き換えができるのかどうかが問題になってくる。

CentOSのdrupalがMariaDBでも動くかどうか?
drupalのインストール時に自動で認識してくれるかどうか?

Mysqlで使っていたその他の物のバックアップはMariaDBで使えるのかどうか?

いろいろとネットでチェックしてみた限りではほぼ互換みたいだ。

Windows用として、
は今(2014/10/03)のところの最新版
mariadb-10.0.14-winx64.zip
又は、
mariadb-10.0.14-winx64.msi
https://downloads.mariadb.org/mariadb/10.0.14/

がでている。
これからは、MariaDBにしようかな。



2014年9月14日日曜日

windows コピーコマンド ディレクトリをタイムスタンプを含め完全にコピーする robocopy /copyall musql 5.6.12 InnoDB 破損

「タイムスタンプなどを完全にコピーをできる方法」は、真ん中より少し下。


Windows上で開発中のdrupalのmysqlのデータが壊れた。
まずい。正常時のバックアップが取ってない。
(結局いろいろとやったがInnoDBの回復はうまくいかなかった。ファイル自体が壊れたのかな。でも、全てのデータベースのテーブルが1142エラーになるということは、壊れたところがどこか大元の1ヶ所なのだろう。MyISAMならもう少し構造が簡単でうまくいきそうだけど、InnoDBはデータベースの移動をすると整合性がとれなくなるらしい。)


最初は、wampのランプが緑にならなくなったところから始まった。
この時点でmy.iniのmax_allowed_packet(クライアント(PHPなどmysqlを使っている方)からmysqlへ送れるパケット量)をもっと大きい数字に書き換えていれば、それで解決したかもしれなかった。
(今となってはそれが有効だったかどうかはわからない。この最大値は16Mbで、それ以上に設定をしても意味がないということだ。)

だが、あせって、あまり調べもしないうちにwampの上書きをしてしまった。
すると、wampのランプは正常に緑になったけど、
上書きをする以前のテーブルをmysqlが認識しなくなってしまった。

phpMyAdminでテーブルは表示されるが、中身が表示されない。
MySQLのコンソールを使って調べても同じ、
ERROR 1146 (42S02)がでる。
全てのデータベース、すべてのテーブルのリストは表示されるのに、そのフィールドを表示させようとするとそんなテーブルはないと言われてしまう。
概存データベースに新しく付け足したテーブルは正常に表示される。

具体的にはこんな感じ。データベース名"hoge"、テーブル名"users"を調べてみると・・・
mysql> use hoge;
mysql> show tables;
ここにはずらずらとテーブル名が表示される。
mysql> show fields from users;
ERROR 1146 (42S02): Table 'hoge.users' doesn't exist

Windowsのエクスプローラーで見ると、データ自体はちゃんとあり、壊れているようには思えない。
mysql-bin.*というファイルが178も作られていて、それだけで1.35gbもある。このファイルの数と大きさが原因のような気がする。


調べていくと
mysqlのデータが壊れてなければ新しく作ったmysqlのデータフォルダにぽん付け+αで復旧できそうだ。
まぁ、今となっては無理だろう。
いったんここでギブアップして、新しい環境を新規で作り直すが、解決方法があとで見つかるかもしれないから、これをコピーをして取っておくことにする。
その方法だが、

タイムスタンプなどを完全にコピーをできる方法を調べてみた。

Windowsコマンドプロンプトから
robocopy /copyall
でいけるらしい。

実際にやってみると、
C:\wamp\bin\mysq> robocopy mysql5.6.12 mysql5.6.12bup20140916\ /copyall
エラー : 監査管理のユーザー権利がありません。

管理者アカウントでログインしているのに何故だ?

と思ってその事について検索をかけるとadobeのwebサイトにに
「Windows では、コンピュータに管理者アカウントでログインしている場合でも、コンピュータを使用するユーザ全員に影響する変更がユーザによって行われるのを防止するため、通常の操作は標準アカウントと同じ権限で実行されています。」
とあった。
知らなかった。
それをさけるために、管理者権限で操作する。
コマンドプロンプトを立ち上げるときに右クリック。
「管理者として実行」を左クリック。

あと、オプションが/copyallだけだとファイルしかコピーしない。
空フォルダを含めサブフォルダとファイル全部をコピーするには/Eオプションをつける。
C:\wamp\bin\mysq> robocopy mysql5.6.12 mysql5.6.12bup20140916\ /copyall /E
たぶんこれで大丈夫。

あと、robocopyの結果の表示のところでスキップって出てくるときがある。どういうときにそうなるのかと思ったけど、同じファイル、同じフォルダがあったときに、スキップするそうだ。

補足
小さいファイルはコピーをするのにすごく時間がかかる。
同一lan上の異なるpcにコピーをするときは、特にものすごく時間がかかる。
小さいファイルはzipなどでまとめたのちにコピーをするか、
TreeSizeFreeなどのソフトを使って、小さいファイルの多いフォルダを探して、削除できる小さいファイルは削除する。



2014年9月9日火曜日

drupal 7 admin メニュー 表示させない

drupal7をインストールした後、アドミニストレーターでログインすると上に現れる黒いバー、ツールバーを消すには、
モジュールの
Toolbar
をオフにする。

それをオフにした後でモジュール
Overlay
もオフにする。
これは、adminnistrationで表示させたときに、回りが黒くなって表示されたものが上に浮いたような感じになる。
表示が遅くなるし、自分にとって、これはいらない。

2014年9月7日日曜日

drupal 7 mysql データベース接続情報

sites/default/settings.php
の中に
$db_url = 'mysql://ユーザー名:DB接続パスワード@データベースサーバー名/データベース名';

2014年9月6日土曜日

Putty 設定 トンネル Tunnels設定     EUC-JPからUTF-8への設定

トンネル設定

Connection > SSH > Tunnels
で、
例えば
Source port : クライアント、Windows側のローカルポートの番号を入力する。
ローカルポートをVNCなどで15901などを使いたいときには
15901
などと入力する。
Destination : サーバーのローカルアドレス : ポート
192.168.1.150:5901
などと入力する。

Source Portは、
well- known(0-1023)
登録済みポート番号、registered port number(1024-49151)
動的/プライベート ポート番号 (49152–65535)

というような感じらしい、well-knownとバッティングしないように1024以上65535以下を使っておけばいいとおもう。


EUC-JPからUTF-8への設定

自分の設定がある場合はセッション項目であらかじめ自分の設定を読み込んでおいて、

ウィンドウ > 変換 > 文字コードの設定

からUTF-8に設定する。

VNC インストール 使い方 CentOS 6.*  リモート画面

インターネットと自宅LANの間に入っているルーターの設定を自宅LAN内のサーバーから行いたかったけど、サーバーのsshコンソール画面から操作しようとしたらルーター画面がjavascriptで表示されているため、それを表示できなくて操作できなかった。

それで、VNCを使えば、firefoxを使うことができるから、そこからjavascript表示のルーターが操作できそうだ。と思って、VNCサーバーを使ってみた。
VNCは通信が平文なので、SSHのトンネルを使った。

後述---インストール後の普段でVNCがつながらないときは、大概CentOS側のVNCサーバーの起動忘れ。

サーバー側へのインストール
# yum install vnc-server

(CentOS7の場合は
yum install tigervnc-server)

クライアント側のソフトの準備
http://www.realvnc.com/download/viewer/
より
VNC Viewer for Windows ZIP 64-bit 5.2.1
をダウンロードする。

VNCサーバーの起動
# vncserver -geometry 800x600

自宅から太い回線でつなぐときは、
例えばx220の場合、
# vncserver -geometry 1366x768
でも余裕でいける。

初回起動時はパスワードの入力がある。

続いてクライアント側のソフト
VNC-Viewer-5.2.1-Windows-64bit.exe
の起動

sshを使ってトンネルさせるためにPuttyを起動。
Puttyの設定は
http://yasutam.blogspot.jp/2014/09/putty-tunnels.html

Puttyを立ち上げてログインした後で、

VNC Viewerに
localhost:15901
と入力。
その後、ユーザーのパスワードでログイン。


サーバーの停止は
vncserver -kill :1
とか、
vncserver -kill :2
と、立ち上がっているディスプレイナンバーを入れてそのディスプレイを停止させる。
今立ち上がっているディスプレイナンバーの確認は
vncserver -list
で、確認する。


2014年9月5日金曜日

centos コンソール webブラウザ

今、大阪にいる。
ここから栃木自宅のサーバーをいじっているのだけど、

サーバーとプロバイダーの間に入れているルーターがsshのポートを30秒くらいで閉じてしまう。
それが不便。

で、栃木自宅のルータの設定を大阪からつないだ栃木自宅のcentosから無制限につなげるように設定の変更をしたい。と思った。
自分が使うときだけでも閉じない設定に変えたい。

サーバーにsshで外からつないでそのコンソール画面用ブラウザからルーターの設定画面を見たいのだか・・・。

最初に、有名なw3mでやって失敗。
理由はルーターの設定画面がjavascriptで動いているがw3mはそのjavascriptを表示できない。
ログインまではできたけど、その後が使えない。

javascriptが制限ありだけど使えると書いてあったelinksもだめだった。

elinks
w3m
links2
Lynx

これらがだめだとすると
vnc
を使うしかないのか。
vncは平文で通信するらしい。
それに、今はルーターのvncで使うポートが閉じているわけだし、
vncをsshのトンネル経由て使うのが、普通なのかな。

2014年9月4日木曜日

Android からの SSH クライアント ConnectBot 鍵が使える

UserName@HostName:PortNumber

の形式でそのユーザー、そのサーバー、そのポートにつながる。



TAB、ESC、Ctrl、上下キーを使うためには
Hacker's Keyboard
をインストールする。
Hacker's Keyboardの設定は
、
"Full 5 rowlayout"
を選択する(4-row Gingerbread layoutではなくて)。



2014年9月1日月曜日

centos apache httpd.conf Directory 設定 2 Basic認証

basic認証。

/etc/httpd/conf/に作った.htpasswdファイルの内容を
/etc/httpd/conf/httpd.conf
または
/etc/httpd/conf.d/*.conf
の設定で反映させたい所に反映させる方法。

新しく.htpasswdファイルを作成する場合
#htpasswd -c -b /etc/httpd/conf/.htpasswd user1 password

既にある.htpasswdファイルにユーザを追加する場合
#htpasswd -b /etc/httpd/conf/.htpasswd user2 password


/etc/httpd/conf/httpd.conf
または
/etc/httpd/conf.d/*.conf
に設定を書く。
<Directory "/var/www/html/hogebasic">

AuthUserFile /etc/httpd/conf/.htpasswd
      AuthGroupFile /dev/null
      AuthName "Basic Auth"
      AuthType Basic
      Require valid-user

#    AllowOverride All
      AllowOverride None

      Order allow,deny
#     Allow from 192.168.1.
      Allow from all
</Directory>

設定変更後の再起動
/etc/rc.d/init.d/httpd restart

2014年8月26日火曜日

centos apache httpd.conf Directory 設定 1

apacheのバージョン
#httpd -v
で確認すると、
Server version: Apache/2.2.15 (Unix)

デフォルト設定ファイルの場所は。
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf
(conf.d以下へ自分の作ったルールを切り離して保存できる。)

設定。
/var/www/htmlへのアクセスを全てのIPから拒否して
/var/www/html/hogehogeへのアクセスを全てのIPから許可させたいとき。
(メモ:AllowOverrideは、主に.htaccessの許可、不許可。
drupalなどでclean ursを使いたいときは
LoadModule rewrite_module modules/mod_rewrite.soコメントを外して使うが、その動作に関しては.htaccessに書かれる。だからAllowOverrideをAllにしておかないと、drupalは動かない。)
--------------------------------------------------------
<Directory "/var/www/html">

#      AllowOverride All
       AllowOverride None

#       Order allow,deny
#     Allow from 192.168.1.
#     Allow from all

      Order deny,allow
      Deny from all

</Directory>

<Directory "/var/www/html/hogehoge">
#    AllowOverride All
      AllowOverride None

      Order allow,deny
#     Allow from 192.168.1.
      Allow from all
</Directory>
--------------------------------------------------------

httpd.confの中にごちゃごちゃと自分のルールを書いていくと、後でわからなくなる。
自分の付け足したルールを切り離して別のファイルに保存したいときは
-----------------------
#
# Load config files from the config directory "/etc/httpd/conf.d".
#
Include conf.d/*.conf
-----------------------
と、httpd.confに書いてある通りに、自分で作ったルールを別ファイルにして保存する。

設定変更後の再起動
/etc/rc.d/init.d/httpd restart

再起動でエラーが出たりするときは、設定文に全角文字、全角スペースが入っていないかの確認。


dhcp server 割り当て一覧

dhcp割り当ての一覧が記録されているファイル。

/var/lib/dhcpd/dhcpd.leases

2014年8月25日月曜日

centos ssh version 2 設定

SSHの設定

最初にリモートログインをホスト名を使ってつなげるようにする。
/etc/hosts.allow
へ
sshd:ALL
と記述。
(ホスト名ではなくてIPアドレスで指定すれば、sshd:ALLと記述しなくてもつながる。)

次に鍵セットを作っていく。
(ここではユーザー名をUserNameとする。)

SSH プロトコル・バージョン2の鍵セットは2種類あり、自分はRSAを使う(rsa1はバージョン1用)。

鍵セット、RSAとDSAの違い。

RSA--ユーザ認証と通信の暗号化を行う。
DSA--ユーザー認証の暗号化だけを行う。
一般的にはRSAが使われるらしい。

自分はRSAを使っている(自分の昔のメモを見て知った。設定をしたときは知っているけど、作り終えればすぐに忘れてしまう)。

レンタルサーバーを使っている場合は、クライアント側で鍵ペアを作る。
今回はサーバー側で鍵を作ってクライアント(Windows)に秘密鍵を移動し、puttyで使用する。

最初に鍵を作りたいユーザーでログインする。
     ここでユーザーを新しく作るときは
          # useradd UserName
          # passwd UserName

ユーザー名が表示されないとき(自分の場合は何故か表示されなくなってしまった。-bash-4.16などと表示される。何故だ?後述: ユーザーディレクトリをsambaで共有させるとそうなってしまうみたいだ。sambaの共有を解除したら正常になった。どっちみち公開サーバーにはsambaは使わない。)は
whoami
でユーザー名表示
現在の場所は
pwd
で確認できる。

---------------------------------------------------------------------------------
今はrootになる必要はないが、suに"-"をつけたときとつけないときの違いを見つけたので一応メモ
"su"  rootユーザに切り替わるがrootユーザ環境にはならない。

"su -"  rootユーザになりrootユーザの環境を使用する(ユーザーとディレクトリ、共にrootに移動)。

ユーザーの切り替えも同じ
"su UserName"
"su - UserName"
正確な違いがわかない。"-"をつけとけば無難。
---------------------------------------------------------------------------------

次に、鍵の作成。
$ ssh-keygen -t rsa
ここで、保存場所とパスフレーズを入力。
(このパスフレーズはスペースも使える。)


できた秘密鍵と公開鍵がそれぞれ
UserName/.ssh/id_rsa
UserName/.ssh/id_rsa.pub
になり、
公開鍵、id_rsa.pubを
UserName/.ssh/authorized_key
に追加する。(authorized_keyはテキストファイル。存在しなければcatで付け加えるときに新たに作られる。)

$ cat /home/UserName/.ssh/id_rsa.pub >> /home/UserName/.ssh/authorized_keys

公開鍵をユーザ自身だけにアクセスできるように変更。
#chown UseName:UserName /home/UserName/.ssh/authorized_keys
#chmod 600 /home/UserName/.ssh/authorized_keys

公開鍵の削除
#rm -f /home/UserName/.ssh/id_rsa.pub

ここから先はWindows側
puttyから操作をするように設定をする。

秘密鍵をWindows側にFTPを使うなりなんなりして適当なWindows側フォルダーにコピーをして
puttyが使える形に秘密鍵を変換するためのputty付属のputtygen.exeを立ち上げる。

「File」 > 「Load private key」
で秘密鍵を読み込んで、
パスフレーズを入力。

「File」 > 「Save private key」
で適当な名前をつけて、適当な場所に保存。
ここで、puttygen.exeを閉じる。

次にputty本体を立ち上げて
「Category」 > 「Connection」 > 「SSH」 > 「Auth」
で、秘密鍵の場所の指定をする。

SSHの公式ポートは22/TCPになっている。
そこいら辺は空いてるポートを適当に。


以下、
/etc/ssh/sshd_config
の編集。

rootでのログインを禁止しておく。
#PermitRootLogin yes
を
PermitRootLogin no

通常パスワードを禁止しておく
#PasswordAuthentication yes
を
PasswordAuthentication no

空パスワードを禁止しておく。
#PermitEmptyPasswords no
を
PermitEmptyPasswords no

最後にSSHの再起動。
# service sshd restart

2014年8月12日火曜日

drupal 7 コンテンツを追加できなくなってしまったとき。

コンテンツを付け足そうとしたら、

You have not created any content types yet. Go to the content type creation page to add a new content type.

と言われて既に作られているコンテンツが追加できなくなってしまった。


解決方法。
Home » Administration » Structure
で
「Navigation」の「list links」をクリックする。
(/admin/structure/menu/manage/navigation)

ここで、ENABLEDにチェックを入れる。
ここのチェックを外した覚えはないのだけど、外れていた。
少し前のdrupalをアップデートしたときに、ここのチェックが外れたのかな?

最後にセーブするのを忘れないように。

(後述、drupalをアップデートしていないのに、また同じ現象が起きた。何がきっかけでこうなるのだろうなぁ?)

2014年8月10日日曜日

drupal 7 favicon ファビコン override

下のやり方は正しくない。
http://yasutam.blogspot.jp/2017/06/favicon.html


misc/favicon.ico
に大元のファビコンがある。
これをオーバーライドするために自分のテーマのディレクトリ以下に
自分で作ったfavicon.ico
を置く。
faviconのサイズは16x16ピクセル。

BMP形式で保存して、icoに書き換えた。

2014年8月7日木曜日

drupal-8.0.0-alpha14 インストール

インストール途中の必要条件の検証(Verify requirements)の所でalpha13にでなかったエラー(Error)が出た。
自分の環境は
Windows7
WAMP
PHPのバージョンは5.4.12

エラー文は、
「PHP extensions Disabled
Drupal requires you to enable the PHP extensions in the following list (see the <a href="http://drupal.org/requirements">system requirements page</a> for more information):<div class="item-list"><ul><li>fileinfo</li></ul></div>」(英語文)

「PHP拡張 無効
Drupalを使用するには、以下のPHP拡張を有効にしてください (詳しくは <a href="http://drupal.org/requirements">システム要件ページ</a>を参照してください):<div class="item-list"><ul><li>fileinfo</li></ul></div>」(日本語文)


PHP拡張が無効って言われてもなぁ。
もうちょっと具体的に言われないと、自分にはわからない。
システム要件ページを参照って言われても広すぎるし・・・。

と思っていたら同じエラーのことを言っている人がいる・・・
https://www.drupal.org/node/2315033

それによると、
php fileinfo extension libをインストールすればいいとのこと。
でも、PHP5.3以上はデフォルトでONになっている。と、どこかに書いてあったが。。。
と思いながら自分のPHPの設定を見てみるとオフになっていた。
ONにして、インストールを再開するとエラーもなく完了。

Drupal 8。調子いい。
もうそろそろリリースしてもいいんじゃない?
Comming soon.とは書いてあるけど・・・
来月あたりかな。