Currently viewing the category: "サーバー"

CentOSでプログラムをインストールするときによく使うyumの使い方について詳しく知らなかったので調べてみました。
使わなそうなコマンドも多かったので、今まで使ったことがある奴だけ取り上げてみます。

■最低限

プログラムインストール [plain]yum install パッケージ名[/plain]
プログラムアンインストール [plain]yum remove パッケージ名[/plain]
インストール済みプログラム一覧 [plain]yum list installed[/plain]

■標準

アップデート確認 [plain]check-update[/plain]
アップデート [plain]yum update (パッケージ名:省略可)[/plain]
プログラムをさがす [plain]yum search キーワード[/plain]

■アドバンスド

リポジトリの登録 [plain]rpm -ivh RPMのアドレス[/plain]
リポジトリの一時追加 コマンドオプションとして[plain]–enablerepo=リポジトリ名[/plain]
 

独自ドメインでメールを受信する方法はいくつかあります。自分が知っているのは

  • GoogleApps(無料版)を使う
  • 独自サーバー+Sendmailで送受信する
  • 独自サーバー+Sendmailで他のメールアカウント(Gmailなど)にメールを転送する

の3パターンです。
それぞれメリットデメリットがありますのでまとめてみました。

GoogleApps
(無料版)
独自サーバー
+Sendmail
独自サーバー
+Sendmail
+Gmail
安定性
安心のgoogle

独自サーバーが
落ちると使えない

独自サーバーが
落ちると使えない
容量
gmailと同じ7GB

独自サーバーに依存

gmailと同じ7GB
アカウント数
(アドレス数)

10個まで

無限

無限
メンテナンス
googleがやってくれる
×
自分でメンテナンス

一部自分でメンテナンス
お金
無料(有料版もある)

サーバー代がかかる

サーバー代がかかる

この比較だとGoogleAppsが結構強いですね。
10アカウントで十分という人にはとてもいいのではないでしょうか。

自分は

  • 10アカウントでは足りない(メーリス用のアドレスも後々作る予定だから)
  • もともとVPSを借りている
  • サクラのVPSはgoogleと同じぐらい安定している(と思っている)
  • sendMailを勉強してみたい
  • VPSの容量は10Gしかないのであまり容量を使いたくない

ということより独自サーバー+Sendmail+Gmailで独自ドメインメールを作ることにしました。
VPSサーバーを借りている人は独自サーバー+Sendmail+Gmailでのデメリットがほとんど消えるのでお勧めです。

次回具体的にどのように設定したか紹介したいと思います。

 

cronの設定を初めてやったのでメモメモ

■設定方法

  1. 設定ファイルを開く(デフォルトで設定されているエディタで開く)[plain]crontab -e[/plain]
  2. 設定を編集or追加→保存
    例)
    [plain]1 * * * * php /test.php[/plain]

これだけで完了のお手軽です。
特に再起動等はいらないみたいです。
問題はその設定ファイルの書き方のほうですね。

■設定ファイルの書き方

  1. 1行1コマンド
  2. 1行の内容は「分 時 日 月 曜日 実行コマンド」
  3. 時間はもちろん24時間表記
  4. 曜日は0が日曜、1が月曜・・・で、6が土曜、7がもう一回日曜の設定になる
  5. 時間の指定ではワイルドカードなどが使える
  6. 使えるワイルドカードなどは次の4つ
    • 「*」ですべてのという意味
    • 「-」で範囲指定
    • 「,」で複数指定
    • 「*/数字」でその数字で割り切れる値のときにという意味

たとえば

[plain]0 * * * * php /test.php[/plain]
で1時間毎に1回

[plain]*/5 * * * * php /test.php[/plain]
で5分毎に1回

[plain]0 0 * * * php /test.php[/plain]
で一か月ごとに1回

[plain]0 0 * * 1 php /test.php[/plain]
で毎週月曜の0時0分に実行
となる。

 

VPSの初期設定ラストです!
yumを使ってばしばしソフトをインストールしていきます

■yum(最新Ver用のリポジトリを追加)

  1. 次のコマンド(2つ)を実行
    [plain]rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
    rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm[/plain]

■Apache

  1. yumでインストールする
    [plain]sudo yum -y install httpd[/plain]
  2. 設定ファイルをいじる
    [plain]sudo vi /etc/httpd/conf/httpd.conf[/plain]
    いじる内容はそれぞれのサーバーによって違うので割愛。
    基本的には一番下にある表示するディレクトリとかVirtualHost関連しかいじらなくてOKです。
  3. 起動[plain]sudo service httpd start[/plain]
  4. 自動起動に登録[plain]chkconfig httpd on[/plain]
  5. 自動起動の確認[plain]chkconfig –list httpd[/plain]
    次のようになってればOK
    [plain]httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off[/plain]

■mysql

  1. yumで最新版をインストール[plain]yum –enablerepo=remi-test install mysql mysql-server[/plain]
  2. 設定ファイルをいじる[plain]sudo vi /etc/my.cnf[/plain]
    [plain][mysqld]
    default-character-set=utf8
    character-set-server=utf8
    [client]
    default-character-set=utf8[/plain]
  3. 起動[plain]sudo /etc/init.d/mysqld start[/plain]
  4. 自動起動に登録[plain]chkconfig mysqld on[/plain]
  5. 自動起動の確認[plain]chkconfig –list mysqld[/plain]
    次のようになってればOK
    [plain]mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off[/plain]
  6. rootパスワード設定[plain]sudo mysqladmin -u root password ‘パスワード’[/plain]

■PHP

  1. yumを使ってインストール
    [plain]sudo yum install php php-adodb php-cli php-common php-mysql php-pdo –enablerepo=remi
    sudo yum install php-mbstring –enablerepo=remi[/plain]
  2. Apache再起動[plain]sudo /etc/rc.d/init.d/httpd restart[/plain]

■備考
もしかしたら次の必要かも・・・・?(未検証)

  1. i356のmysqlを削除してx64のを入れる
    [plain]sudo yum install mysql mysql-bench mysql-connector-odbc mysql-devel mysql-devel mysql-server mysql-test perl-DBD-MySQL php php-adodb php-cli php-common php-mysql php-pdo –enablerepo=remi
    sudo yum remove mysql.i386 mysql-devel.i386
    sudo yum install php-mbstring –enablerepo=remi[/plain]

これで設定完了!
/var/www/htmlっていうフォルダができていてこの中にファイルを入れれば表示されるようになってるはずです。
・・・・うろ覚えな部分も結構あるので、間違ってる部分もあるかもしれません。

 

前回に引き続き、VPSの設定です。

■ファイアーウォール

  1. iptableのファイルを作成&編集
    [plain]sudo vi /etc/sysconfig/iptables[/plain]
  2. 次のtxtを入力&保存
    [plain]*filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :RH-Firewall-1-INPUT – [0:0]

    -A INPUT -j RH-Firewall-1-INPUT
    -A FORWARD -j RH-Firewall-1-INPUT
    -A RH-Firewall-1-INPUT -i lo -j ACCEPT
    -A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
    -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
    -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
    -A RH-Firewall-1-INPUT -p udp –dport 5353 -d 224.0.0.251 -j ACCEPT
    -A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 631 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

    # SSH, HTTP, MySQL
    -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport SSHのポート番号 -j ACCEP
    T
    -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport HTTPのポート番号 -j ACCEP
    T
    -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport MYSQLのポート番号 -j ACCEPT

    -A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited

    COMMIT

    [/plain]

  3. ファイアーウォール再起動
    [plain]sudo /etc/rc.d/init.d/iptables restart[/plain]

■不要サービスの停止

  1. 次のコマンドを順次実行
    [plain]chkconfig auditd off
    chkconfig autofs off
    chkconfig avahi-daemon off
    chkconfig bluetooth off
    chkconfig cups off
    chkconfig firstboot off
    chkconfig gpm off
    chkconfig haldaemon off
    chkconfig hidd off
    chkconfig isdn off
    chkconfig kudzu off
    chkconfig lvm2-monitor off
    chkconfig mcstrans off
    chkconfig mdmonitor off
    chkconfig messagebus off
    chkconfig netfs off
    chkconfig nfslock off
    chkconfig pcscd off
    chkconfig portmap off
    chkconfig rawdevices off
    chkconfig restorecond off
    chkconfig rpcgssd off
    chkconfig rpcidmapd off
    chkconfig smartd off
    chkconfig xfs off
    chkconfig yum-updatesd off
    [/plain]

ここまでで、一応最低限のセキュリティが確保されたことになります。
次でやっとPHPやらMysqlやらよく使うソフトのインストールができます。

(参考)さくらインターネット創業日記 CentOSをサーバーとして活用するための基本的な設定

 

今回サービスを作るにあたってさくらのVPSを借りてまず最初にやったことのまとめです。
ちょいと前の記憶を掘り出しながらかくので、間違ってるところがあるかもしれません・・・

  1. rootのパスワード変更
    [plain]
    passwd
    [/plain]

  2. 使用するユーザー作成
    [plain]
    useradd ユーザー名
    passwd ユーザー名
    [/plain]

  3. sudo可能なグループに追加
    [plain]
    usermod -G wheel ユーザー名
    [/plain]

  4. wheelグループをsudo可能に
    [plain]
    visudo
    [/plain]

    [plain]
    %wheel ALL=(ALL) ALL

    wheel ALL=(ALL) ALL
    [/plain]

  5. suでrootになれるのをwheelのみに
    (もしかしたら他のところも設定が必要かも)
    [plain]
    vi /etc/pam.d/su
    [/plain]

    [plain]
    #auth required pam_wheel.so use_uid

    auth required pam_wheel.so use_uid
    [/plain]

  6. rootログイン禁止
    [plain]
    vi /etc/ssh/sshd_config
    [/plain]

    [plain]
    PermitRootLogin yes

    PermitRootLogin without-password
    [/plain]
    または
    [plain]
    PermitRootLogin no
    [/plain]

  7. sshポート番号変更
    [plain]
    vi /etc/ssh/sshd_config
    [/plain]

    [plain]
    #Port 22

    Port 好きなポート番号
    [/plain]

  8. SSH再起動
    [plain]
    service sshd restart
    [/plain]

    これで、最初に作ったユーザーでログインし直してとりあえず一安心。
    次回はファイアーウォールの設定から!