CentOS ITかあさん

ITかあさん

目次:CentOS

さくらVPS設定マニュアルを含め、よくCentOSで使うコマンドを残しておきます。コピペでどんどん使って下さい。

remi、epelリポジトリを削除したい

もし追加したリポジトリを削除したくなったら

設定をうっかり間違えたり、もう一度最初からインストールし直したい時 リポジトリを削除しなければなりません。
依存関係に注意しながら削除しなければなりませんので慎重に作業を行いましょう。

慎重に、といっても自分のインストールしたリポジトリのバージョンを確認しながら行えばよいだけです。

remiリポジトリ、epelリポジトリの削除の手順

1.バージョン確認
2. rpm-e remi-release-○○.remiを先に削除(○○は自分のバージョン)
3. -e epel-release-○○を削除(○○は自分のバージョン)

epelリポジトリの確認

# rpm -qa | grep epel ←epelリポジトリのバージョン確認コマンド
epel-release-5-4  ←出力結果。現在epel は5-4が入っている。

remiリポジトリの確認

パッケージをremiからインストールしていると、そのパッケージも表示されます。

# rpm -qa | grep remi ←remiリポジトリのバージョン確認コマンド
remi-release-5-8.el5.remi  ←出力結果。現在remi は5-8が入っている。
ysql-5.5.20-1.el5.remi ←remiリポジトリでインストールされたパッケージ
php-common-5.3.9-1.el5.remi ←remiリポジトリでインストールされたパッケージ
php-cli-5.3.9-1.el5.remi
php-pdo-5.3.9-1.el5.remi
php-pear-1.9.4-3.el5.remi
php-imap-5.3.9-1.el5.remi
php-devel-5.3.9-1.el5.remi
mysql-libs-5.5.20-1.el5.remi
mysqlclient15-5.0.67-1.el5.remi
mysql-server-5.5.20-1.el5.remi
php-5.3.9-1.el5.remi
php-mysql-5.3.9-1.el5.remi
php-mbstring-5.3.9-1.el5.remi
php-gd-5.3.9-1.el5.remi
php-xml-5.3.9-1.el5.remi

削除実行

削除するリポジトリのバージョンを確認し、バージョンを指定して削除

#rpm -e epel-release-5-4 ←削除コマンド(自分のバージョンをしっかり確認)

先にrpm -e remi-release-5-8.el5.remiから削除をしなさいというエラー。

error: Failed dependencies:
epel-release >= 5 is needed by (installed) remi-release-5-8.el5.remi.noarch

そこで先にremiリポジトリから削除を行う。
#rpm -e remi-release-5-8.el5.remi ←-e remi-release-5-8.el5.remi削除(自分のバージョンをしっかり確認)
#rpm -e epel-release-5-4 ←-e epel-release-5-4あらためて削除

以上で削除が完了です。
2つのリポジトリの依存関係に注意して、先にremiリポジトリから削除実行後、epelリポジトリを削除するようにしてください。

CentOSにPear:MDB2インストール

DBの種類に関係なく、同じソースコードでPHPからクエリが投げられる便利なライブラリ、Pear:DBがありましたが、インストールしようとしたところ、MDB2を利用するように怒られてしまいました。
まだPearが入っていなければ先にインストール

Pearをインストール

#yum -y install php-pear

MDB2をインストール

MDB2本体と、ドライバの2つが必要です。ドライバの入れ忘れに注意してください。

# yum install php-pear-MDB2.noarch
# yum install php-pear-MDB2-Driver-mysql.noarch

Apache再起動

ドライバまで入れ終わったらApache再起動が必要です。

/etc/rc.d/init.d/httpd restart

Pear:MDB2動作テスト

文字コードはutf-8の場合はutf8となります。間違えないように。

require_once 'MDB2.php';//ライブラリのロード
$db=MDB2::connect('mysqli://user:password@localhost/mydb?charset=utf8');  if(PEAR::isError($db)) die("<p>{$db->getMessage()}</p>");//エラー処理

MDB2 Error: not found

MDB2 Error: not foundと表示された場合はドライバが入っていない可能性があります。
MysqlのドライバならMysqlのドライバを、PostsreSQLならPostsreSQLのドライバを、各利用するDBにあわせたドライバが必要になりますので注意です。
(確かPear:DBの時は、Pear:DB単体で接続できたはず。この点だけ注意が必要です。)

ドライバがあるのにそれでも接続できない?

実際に私も遭遇したのですが、ドライバも揃っている、DNSも間違っていないのにうまくつながらないことがあります。
その時は以下のようにするとつながります。

$db = “mysqli://user:password@localhost/database_name?charset=utf8″;

//mysqliを→mysqlに変更
$db = “mysql://user:password@localhost/database_name?charset=utf8”;

以上で終了です。

Postfix main.cfの設定

Postfixはインストール後起動さえしておけば基本的に使うことは出来ますがセキュリティ的に問題ありなので、きちんと設定しておかないとスパムメールなどの踏み台にされる可能性があり。

viエディタでSSHで変更する場合

# vi /etc/postfix/main.cf

webminの設定ファイルの編集から行う場合

左メニューより
1.Un-used Modules
2.Postfix の設定 クリック
右カラムより
1.設定ファイルの編集
2./etc/postfix/main.cf  選択

main.cfの変更点

myhostname = kaasan.info ← 追加 取得した自分のドメイン
mydomain = kaasan.info ← 追加 取得した自分のドメイン
myorigin = $mydomain ←追加
inet_interfaces = localhost

inet_interfaces = all ← 変更(外部からのメール受信を許可)
mydestination = $myhostname, localhost.$mydomain, localhost

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/(追加)

SMTP関連の設定

smtpd_banner = $myhostname ESMTP unknown (追加)
最終行に
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous, noplaintext
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_relay_domains, reject
message_size_limit = 10485760 ← 追加(受信メールサイズを10MB=10*1024*1024に制限)

参考サイト

メールサーバー構築(Postfix+Dovecot) → Postfix設定
このサイトに書いてある変更点をコピペで対応したところ、最後の(SMTP-Auth設定)が失敗してしまいました。

参考サイト2

最後の(SMTP-Auth設定)の設定については下記を参考にしました。
PostfixによるSMTP認証[SMTP-AUTH]

Apacheのバージョンを上げる

さくらVPSではApacheが最初から入っていないのですが、ServersmanではApacheが入っていますが、デフォルトで入っているバージョンはやや古い可能性があるので、Apacheのバージョンを本格的な運用が開始される前に対応しておきましょう。

Apacheバージョンアップのコマンド

# yum update httpd

もしもアップデートするバージョンが存在しない場合は下記のように表示されると思います。

Could not find update match for httpd
No Packages marked for Update/Obsoletion

Complete!したらApacheを再起動

必要に応じてApacheを再起動しておきます。

# /etc/rc.d/init.d/httpd restart

Apacheのバージョンを確認

全て完了したらApacheのバージョンも確認しておきましょう。

# apachectl -v

以上でApacheのバージョンアップは終了です。

CentOS5 Apache起動・停止・再起動とか

Apacheの再起動

Apacheの再起動は以下のコマンド。
新しくモジュールを追加したり、PHPやMysqlをインストールしたり、あるいはApacheの設定を変更したら、必ずApacheを再起動させて変更を反映させます。

/etc/rc.d/init.d/httpd restart

Apache 停止

/etc/rc.d/init.d/httpd stop

緩やかな再起動

/etc/rc.d/init.d/httpd graceful

再読み込み

/etc/rc.d/init.d/httpd reload

CentOS5ユーザーの削除

ユーザーが削除するときは以下のコマンドを実行します。

userdel -r centos

なお、ユーザー削除時にこのユーザー名のフォルダも同時に削除されてしまいますので ご注意下さい。

CentOS5ユーザーの追加

ユーザーの追加

次にroot以外のログイン用ユーザーを作成します。
newuserとは例で示したユーザー名。各人それぞれ好きな名前のユーザー名を追加してください。

# useradd newuser[Enterキー]

作業用ユーザーにパスワードを設定

# passwd newuser[Enterキー]

パスワード入力

パスワードはいずれも入力しても何も表示されないので注意。

New UNIX password:[ログイン用ユーザパスワード]
Retype new UNIX password:[ログイン用ユーザパスワード確認用]

homeディレクトリにユーザー名と同じフォルダ名が出来る

CentOSの場合、ユーザーを追加すると、ユーザー名と同じフォルダ名が自働で作られます。
FTPサーバーを構築していない場合は、WinSCPなどのSCP接続が可能なソフトで接続してみます。
試しにWinSCPクライアントでつないでみましょう。

WinSCPで繋ぐ

以下は先ほど追加したユーザーでのWinSCPの設定について

ログインしてみましょう。赤線のディレクトリ部分に注目してください。home下に先ほど追加したユーザー名でディレクトリが作られていることが確認出来ますね。