ぼぶろぐ -37ページ目

ぼぶろぐ

以前は、あいらぶLinux♪というタイトルでしたが、
最近はLinux以外のことも書いているので、タイトルを変更しました。
ぼぶちゃんのぶろぐでぼぶろぐです。

■wordpressのコメント欄を非表示にする方法


私のCisco用のブログに英語のコメントがたくさんきていて、スパムかどうかを

確認するのが面倒になったので、コメントを書けないようにしました。


方法はいたって簡単です。


・既存投稿へコメントを書きこめないようにする方法


ダッシュボード - 投稿 - 投稿一覧 - コメント欄を非表示にしたい投稿 をクリック

 ↓

右上の"表示オプション"をクリック

 ↓

"ディスカッション"にチェックを入れる

 ↓

投稿の下に"コメントの投稿を許可する。"という項目が表示されるので、

この項目のチェックを外して、右の更新をクリック



・今後の新規投稿にコメントを書きこめないようにする方法


ダッシュボード - 設定 - ディスカッションをクリック

 ↓
"投稿のデフォルト設定"の"新しい投稿へのコメントを許可する"のチェックを外して、

"変更を保存"をクリックする



これで、コメントは書きこめなくなりました。

だけど、この状態だとComments are closed. という文が表示されていたので、

これを消したいと思いました。


いろいろ調べたんだけど、これはテーマによるようです。

私の場合は、$DefaultRoot/wordpress/wp-content/themes/pixel の下にあるテーマのファイルを

編集することでできました。


私の使っているテーマはpixelで、この変更方法はindex.phpの2行を削除と

comments.phpを一部削除で表示されなくなりました。


・index.phpで削除した行

<span class="topComments"><?php comments_popup_link('Leave a Comment', '1 Comment', '% Comments'); ?></span>
<span class="topTags"><?php the_tags('<em>:</em>', ', ', ''); ?></span>


・comments.phpで削除した箇所

削除前

<?php else : // this is displayed if there are no comments so far ?>
<?php if ('open' == $post->comment_status) :
// If comments are open, but there are no comments.
else : ?><p class="nocomments">Comments are closed.</p>
<?php endif;


削除後

<?php else : // this is displayed if there are no comments so far ?>
<?php if ('open' == $post->comment_status) :
// If comments are open, but there are no comments.
else : ?><p class="nocomments"></p>
<?php endif;



削除した結果、どうなっているかは私のCisco用のサイトを見ていただければと思います。

http://hackerbobchan.net/wordpress/

■PHP 5.3.9 の脆弱性に関する注意喚起の確認


2/2に主題の脆弱性が公開されました。

http://www.jpcert.or.jp/at/2012/at120004.html


私が趣味で使っているLinuxサーバも対象かと思い調べてみました。


[root@bobchan ~]# rpm -qa | grep php
php53-common-5.3.3-1.el5_7.6
php53-mysql-5.3.3-1.el5_7.6
php53-cli-5.3.3-1.el5_7.6
php53-5.3.3-1.el5_7.6
php53-devel-5.3.3-1.el5_7.6
php53-mbstring-5.3.3-1.el5_7.6
php53-pdo-5.3.3-1.el5_7.6
php53-ldap-5.3.3-1.el5_7.6


ん?対象じゃないような…


[root@bobchan ~]# cat /etc/redhat-release
CentOS release 5.7 (Final)


CentOS5.7だとこれが最新バージョンなんだけどと思っていたが、

どうやらリポジトリを追加すると最新バージョンがとれるようです。


・CentOS5.7のPHPをremiでVer.5.3.8にしてみた

http://www.icoro.com/201109196110.html


ちょっと試してみたら、phpのバージョンが5.1.6に戻ってしまいました…

これから原因を調べてみます。



以下、ログです。


[root@bobchan ~]# wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

[root@bobchan ~]# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

[root@bobchan ~]# rpm -Uvh epel-release-5-4.noarch.rpm remi-release-5.rpm
warning: remi-release-5.rpm: Header V3 DSA signature: NOKEY, key ID 00f97f56
Preparing... ########################################### [100%]
package epel-release-5-4.noarch is already installed


なんかremiのほうが入ってないっぽい


[root@bobchan ~]# rpm -Uvh remi-release-5.rpm
warning: remi-release-5.rpm: Header V3 DSA signature: NOKEY, key ID 00f97f56
Preparing... ########################################### [100%]
1:remi-release ########################################### [100%]


[root@bobchan ~]# service httpd stop
Stopping httpd: [ OK ]
[root@bobchan ~]# yum remove php53 php53-*


~省略~


[root@bobchan ~]# yum list installed | grep php

[root@bobchan ~]# yum --enablerepo=remi install php php-cli php-common php-devel php-gd php-mbstring php-mysql php-pdo php-mcrypt php-pear


~省略~


[root@bobchan ~]# rpm -qa | grep php
php-pdo-5.1.6-27.el5_7.5
php-mbstring-5.1.6-27.el5_7.5
php-common-5.1.6-27.el5_7.5
php-5.1.6-27.el5_7.5
php-mysql-5.1.6-27.el5_7.5
php-gd-5.1.6-27.el5_7.5
php-pear-1.4.9-6.el5
php-cli-5.1.6-27.el5_7.5
php-mcrypt-5.1.6-15.el5.centos.1
php-devel-5.1.6-27.el5_7.5


ばっちり5.1.6に戻ってます

いやいやこれじゃwordpressが動かないっす



2/8 追記


なんとかほとんどインストールできましたが、php-mysqlだけ

大量のエラーを吐いてインストールできなかったです…


参考サイト

・さくらVPSに lighttpd + PHP 5.3 + MySQL 5.1 をインストール

http://dogmap.jp/2010/12/11/lighttpd-php-5-3-mysql-5-1/


・CentOSでリポジトリをさらに厳密に指定してyum updateをしてみた

http://istb16.wordpress.com/2011/11/16/centos5-yumupdate/



以下、ログの抜粋です。


[root@bobchan ~]# vi /etc/yum.repos.d/remi.repo


変更箇所

[remi]のenableを0から1へ変更


あとから考えるとこの変更はあまり意味がなかったですね。

途中に試行錯誤があり、以下のコマンドを実行



[root@bobchan ~]# yum --enablerepo=remi --disablerepo=base,epel,extras,rpmforge,updates install php


~省略~


php-cli-5.3.10-2.el5.remi.i386 from remi has depsolving problems
--> Missing Dependency: libedit.so.0 is needed by package php-cli-5.3.10-2.el5.remi.i386 (remi)
Error: Missing Dependency: libedit.so.0 is needed by package php-cli-5.3.10-2.el5.remi.i386 (remi)


こんなメッセージが出力されたので、 libedit.so.0をインストール


[root@bobchan ~]# yum -y install libedit.so.0


無事にインストールされる


もう一度以下を実行


[root@bobchan ~]# yum --enablerepo=remi --disablerepo=base,epel,extras,rpmforge,updates install php


インストールされました。


これと同じ要領で何かが必要というメッセージがでたらインストールして

再度インストールというのを繰り返して以下の状態までいきました。


[root@bobchan ~]# rpm -qa | grep php
php-cli-5.3.10-2.el5.remi
php-gd-5.3.10-2.el5.remi
php-mcrypt-5.3.10-2.el5.remi
php-common-5.3.10-2.el5.remi
php-5.3.10-2.el5.remi
php-mbstring-5.3.10-2.el5.remi
php-pear-1.9.4-3.el5.remi
php-devel-5.3.10-2.el5.remi
php-pdo-5.3.10-2.el5.remi


ただphp-mysqlだけはfileのconflictのエラーが大量に吐かれていて

インストールできていない状態です。


これは明日以降に調べます。

(いきなり本番機でやらなくてよかった)



3/10 追記


すいません…

急遽wordpressの検証で必要になったため、元の状態に切り戻してしまいました。

■SSHの設定 その2


ssh接続するのにパスワードと秘密鍵を利用してログインするように設定を変更しました。


以下のサイトを参考にしました。

・公開鍵認証を用いて SSH へ接続する

http://network.station.ez-net.jp/server/remote/Linux/ssh.key.asp



この手順を実施したログです。


[bobchan@bobchan ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/bobchan/.ssh/id_rsa): ←空Enter
Created directory '/home/bobchan/.ssh'.
Enter passphrase (empty for no passphrase): ←パスフレーズ入力
Enter same passphrase again: ←再度パスフレーズ入力
Your identification has been saved in /home/bobchan/.ssh/id_rsa.
Your public key has been saved in /home/bobchan/.ssh/id_rsa.pub.
The key fingerprint is:
29:5f:76:0a:80:72:d1:4d:69:32:50:4b:4a:e1:91:95 bobchan@bobchan.local
[bobchan@bobchan ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[bobchan@bobchan ~]$ chmod 600 ~/.ssh/authorized_keys

この ~/.ssh/id_rsaをローカルPCに置く

※あまりやってはいけないと思いますが、私はWinSCPでダウンロードしました。


[bobchan@bobchan .ssh]$ su -
Password:
[root@bobchan ~]# cd /etc/ssh

[root@bobchan ssh]# cp -p sshd_config sshd_config_20120128
[root@bobchan ssh]# vi sshd_config


変更箇所


PasswordAuthentication no パスワード認証を無効にする


[root@bobchan ssh]# diff sshd_config sshd_config_20120128
60c60
< PasswordAuthentication no
---
> PasswordAuthentication yes



[root@bobchan ssh]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]



これで次回以降のログインは、パスワードと秘密鍵を利用しないとsshでログインできなくなります。



ただ、WinSCPでログインするときはrsa_idを使うことができないので、

PuTTYgenを利用して秘密鍵を再作成します。


・PuTTYgenで公開鍵/秘密鍵を作成する

http://sourceforge.jp/projects/winscp/wiki/ui_puttygen



これでWinSCPでもログインできるようになります。




PS

今まで勉強したことを使って、さくらのVPS512でブログサーバを構築してみました。


・bobchan's cisco blog

http://hackerbobchan.net/wordpress/


こちらはciscoの勉強結果をまとめていく予定で、まだ見た目があまりきれいじゃないので、

もう少し見た目を良くしていこうと思います。