カテゴリー : CentOS

[CentOS] バージョンや 32bit, 64bit などの確認コマンド

CentOS のバージョンや 32bit, 64bit などを確認するコマンドをご紹介します。

CentOS のバージョンを確認するコマンド

cat /etc/redhat-release
CentOS release 6.4 (Final)

アーキテクチャ(32bit, 64bit)を確認するコマンド

arch
# 64bitの場合
X86_64
 
# 32bitの場合
i686

[CentOS] ImageMagick を yum でインストール

CentOS 6.3 に ImageMagick を yum でインストールしました。

yum -y install libjpeg-devel libpng-devel
yum -y install ImageMagick ImageMagick-devel

identify と convert のバージョンとPathを確認して、インストールされたことを確認します。

# identify -version
Version: ImageMagick 6.5.4-7 2012-05-07 Q16 OpenMP http://www.imagemagick.org
Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC
 
# which identify
/usr/bin/identify
# convert -version
Version: ImageMagick 6.5.4-7 2012-05-07 Q16 OpenMP http://www.imagemagick.org
Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC
 
# which convert
/usr/bin/convert

CentOS 5 系とかだとソースファイルからインストールする方が良いみたいです。

[CentOS] 文字コードの設定

CentOS で、文字コードを ja_JP.UTF-8 に設定する方法をメモ。

# cat /etc/sysconfig/i18n
LANG="C"
SYSFONT="latarcyrheb-sun16"
 
# vim /etc/sysconfig/i18n
 
# cat /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"

Java 1.7 を CentOS6.3 にインストールする手順

CentOS6.3 に Java 1.7 をインストールする手順、つまり yum

yum -y install java-1.7.0-openjdk java-1.7.0-openjdk-devel

Java が正常にインストールされたことを確認する。

# java -version
java version "1.7.0_09-icedtea"
OpenJDK Runtime Environment (rhel-2.3.3.el6_3.1-x86_64)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)
# javac -version
javac 1.7.0_09

参考情報

はじめての自宅サーバ構築 – Fedora/CentOS – サーバサイドJAVAの導入(Tomcat6編)

[Server] CentOS6.3 on さくらのVPS の初期設定

まず、前提としてさくらのVPSにインストールされている CentOS は 64bit 版みたいです。

(最終更新日:2013/09/15)

前提

ユーザ名 bakorer の部分は、自分のユーザ名に置き換えてください。


管理者アカウント作成

■ root 権限では危ないので管理者ユーザーを作成する

useradd -G wheel bakorer
passwd bakorer

■ wheel グループに所属しているユーザしか su できないように変更する

vi /etc/pam.d/su
 
#auth required pam_wheel.so use_uid
↓(変更)
auth required pam_wheel.so use_uid

■ wheel グループに所属しているユーザは sudo できるように変更する

visudo
 
#%wheel ALL=(ALL) ALL
↓(変更)
%wheel ALL=(ALL) ALL

SSH の設定

■ .ssh ディレクトリの作成

mkdir /home/bakorer/.ssh

■ クライアント側で公開鍵を作成し、サーバに公開鍵を転送

ssh-keygen -t rsa
scp .ssh/id_rsa.pub bakorer@host:/home/bakorer/.ssh
mv /home/bakorer/.ssh/id_rsa.pub /home/bakorer/.ssh/authorized_keys

もしくは、リモートコンソール経由でコピペして作成します。

vi /home/bakorer/.ssh/authorized_keys
ssh-rsa xxxx (貼り付ける)

■ 公開鍵ファイルのアクセス権限と所有者を変更

chmod 700 /home/bakorer/.ssh/
chmod 600 /home/bakorer/.ssh/*
chown -R bakorer. /home/bakorer/.ssh/

■ SSH の設定変更

sed コマンドで置換します。

sed -i 's/^#Port 22/Port 20022/' /etc/ssh/sshd_config
sed -i 's/^#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config

手動で書き換える場合は、下記を参考にして下さい。

vim /etc/ssh/sshd_config
 
Port 20022
PermitRootLogin no
PasswordAuthentication no
service sshd restart

Port番号が変更できなくてハマったけど、編集するファイルを sshd_config ではなくて ssh_config を編集していたのが原因でした…

・参考:さくらのVPS を使いはじめる 2 – sudo と SSH ポート変更 | アカベコマイリ

■ 公開鍵認証で SSH 接続する

ssh -p 20022 -i /Users/bakorer/.ssh/id_rsa bakorer@www12345u.sakura.ne.jp

・参考:sshコマンド – 管理者必見! ネットワーク・コマンド集:ITpro


ファイアーウォールの構築

■ ファイアーウォールの設定をします

・コンテンツの転送にはSFTPを使うので、FTPポートは空けない

$ vim /etc/sysconfig/iptables
 
*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
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20022 -j ACCEPT
# HTTP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80    -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080  -j ACCEPT
# MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306  -j ACCEPT
 
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
 
COMMIT

設定後、ファイアーウォール再起動します。

service iptables restart

yum の設定

■ リポジトリの変更

rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
 
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
# vim /etc/yum.repos.d/remi.repo
 
[remi]
enabled=1

■ yum のアップグレード

# yum -y upgrade

ホスト名の設定

ホスト名が既に決まっている場合は、この辺で設定しておきましょう。

[Linux] Host名(hostname)の変更方法


各種ソフトウェアのインストール(随時更新予定)

■ Apache

■ Nginx

■ MySQL

■ PHP


参考記事

■ 基本設定

「さくらのVPS」を使ってみる – さくらインターネット創業日記

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

ウェブ開発者のための、1時間でできるLAMP環境構築術(CentOS編) – さくらインターネット創業日記

はじめてのさくら VPS + CentOS の初期設定からチューニングなどの作業まとめ | ウェブル

1,000円を切る低価格で登場、「さくらのVPS」をチェック――サーバー構築編 – SourceForge.JP Magazine : オープンソースの話題満載

VPSの初期設定とLAMP環境を構築する方法。 – とりあえず9JP

【さくらのVPS】初期設定をしてみた | Untitled Documents.

■ チューニングなど

さくらVPSで一日6万PVを処理するためにしたこと – 新卒インフラエンジニア2年目

■ 他社のVPSとの比較記事

格安の低価格VPSを比較する – さくらインターネット創業日記

CentOS5.7 に最新版の Vim をインストール

CentOS5.7 に最新版の Vim をインストールしました。(Vim version 7.3.364)

こちらの記事の通りでサクッとインストールできました。

・参考:CentOS 5.5 に最新版の Vim をインストール – Vive Memor Mortis はてなブックマーク - CentOS 5.5 に最新版の Vim をインストール - Vive Memor Mortis

■ 手順

1. yum で入れた Vim をアンインストール
2. mercurialを使って最新版のソースを取得
3. 取得したソースをコンパイルしてインストール

■ シェルスクリプト

#!/bin/sh
 
cd /usr/local/src
 
## Uninstall vim
yum remove -y vim-enhanced
 
## Install mercurial
yum install -y gcc python python-devel python-setuptools
easy_install mercurial
 
## Croning latest virsion of vim 
hg clone https://vim.googlecode.com/hg/ vim 
 
## Install Vim
cd vim 
yum install -y ncurses ncurses-devel
./configure --enable-multibyte --enable-xim --enable-fontset --disable-selinux --with-features=huge
make && make install
 
exit

■ Vim のPathを通す

# vi ~/.bashrc
PATH="$PATH":/usr/local/bin/vim

設定内容をすぐに反映する

# source ~/.bashrc

以上です。


参考情報

ITmedia エンタープライズ : Linux Tips「パスを追加したい~.bashrc編~」

CentOS 5.7 に PHP5.3.8 をソースコードからインストールする手順

CentOS 5.7 に PHP5.3.8 をソースコードからインストールしたので、手順をメモ。
 

PHPのアンインストール

まず、ソースコードからPHPをインストールする前に、CentOSにデフォルトでインストールされているPHPをアンインストールします。

# php -v
PHP 5.1.6 (cli) (built: Nov 29 2010 16:47:46)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
 
# yum remove php-*
# php -v
-bash: /usr/bin/php: そのようなファイルやディレクトリはありません

 

PHPのソースコードをダウンロード・展開する

・DLサイト:PHP: Downloads はてなブックマーク - PHP: Downloads

# cd /usr/local/src
# wget http://jp.php.net/get/php-5.3.8.tar.gz/from/this/mirror
# tar zxvf php-5.3.8.tar.gz
# cd php-5.3.8
./configure \
--enable-mbstring \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql \
--enable-pdo \
--with-pdo-mysql=/usr/local/mysql \
--enable-xml

■ エラー

configure: error: xml2-config not found. Please check your libxml2 installation.

libxml2(本体)と libxml2-devel(開発ツール)をインストールすると解決しました。

yum install -y libxml2
yum install -y libxml2-devel

PHPが正常にインストールされていることを確認します。

# /usr/local/bin/php -v
PHP 5.3.8 (cli) (built: Nov  2 2011 20:24:31)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

 

PHPのPathを通す

# vi ~/.bashrc
 
PATH="$PATH":/usr/local/bin/php
# source ~/.bashrc
# php -v
PHP 5.3.8 (cli) (built: Nov  2 2011 20:24:31)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

ITmedia エンタープライズ : Linux Tips「パスを追加したい~.bashrc編~」 はてなブックマーク - ITmedia エンタープライズ : Linux Tips「パスを追加したい~.bashrc編~」
 

PHPの設定

■ php.ini のコピー

# cp -p /usr/local/src/php-5.3.8/php.ini-development /usr/local/lib/php.ini

※コピー先は /usr/local/lib/php/php.ini ではなく、/usr/local/lib/php.ini なので注意

■ php.ini の編集

# vi /usr/local/lib/php/php.ini
[PHP]
output_handler = mb_output_handler
expose_php = On
default_charset = "UTF-8"
 
[Date]
date.timezone = Asia/Tokyo
 
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;

【参考】

PHP: INIファイル の扱いに関する変更 – Manual はてなブックマーク - PHP: INIファイル の扱いに関する変更 - Manual

CentOS/PHP/PHP5/設定 – ひつじ帳 はてなブックマーク - CentOS/PHP/PHP5/設定 - ひつじ帳

CentOS 再構築記録13th php.ini 設定を見直す(´・ω・) ス|WEB系技術電脳日記 はてなブックマーク - CentOS 再構築記録13th php.ini 設定を見直す(´・ω・) ス|WEB系技術電脳日記

PHPの日付関数でWarningエラー – ema725の日記 はてなブックマーク - PHPの日付関数でWarningエラー - ema725の日記

自宅サーバー(Windows+Apache)へのPHPインストール はてなブックマーク - 自宅サーバー(Windows+Apache)へのPHPインストール
 

Apacheとの連携

まず、httpd.conf の の中に下記の内容を追記して、phpを有効にします。

# vi /usr/local/apache2/conf/httpd.conf
<IfModule mime_module>
    # ...
 
    # php conf
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
</IfModule>

次に、DirectoryIndex の行に index.php を追記します。

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

httpd.conf の編集後、Apacheを再起動させます。

# service httpd restart

 

PHPの動作確認

Apacheのドキュメントルートにテスト用のPHPファイルを作成して、phpinfo メソッドを呼び出すだけの内容を入力して保存します。

# vi /usr/local/apache2/htdocs/phpinfo.php
<?php phpinfo(); ?>

ブラウザから確認するために、ifconfigコマンドで IPアドレスを確認します。

# ifconfig
eth0      Link encap:Ethernet  HWaddr D2:9B:E2:9A:9D:14
          inet addr:192.168.16.130  Bcast:192.168.128.255  Mask:255.255.255.0
          ...

ブラウザから http://192.168.16.130/phpinfo.php にアクセスして、Apache上でPHPが動作するか確認します。

「PHP Version 5.3.8」という見出しの画面が表示されればOKです。

Apache の httpd.conf を編集して、サーバにアクセス時のルートを var/www に変更します。

# vi /usr/local/apache2/conf/httpd.conf
DocumentRoot "/usr/local/apache2/htdocs"
↓(変更する)
DocumentRoot "/var/www/html"

その他、”/usr/local/apache2/” を “/var/www/” に変更します。

以上です。


参考情報

古い php のアンインストールと php 5.3 のインストール – Debian GNU/Linux 3.1 on PowerMac G4

CentOS に Apache をソースコードからインストール

CentOS 5.7 に Apache2.2.21 をソースコードからインストールしました。

インストール手順をざっとご紹介します。(随時、修正予定)

RPM版のapacheを削除する

CentOSにデフォルトでインストールされているRPM版のapacheを削除します。

# httpd -v
Server version: Apache/2.2.3
# rpm -e --allmatches --nodeps httpd
# httpd -v
-bash: /usr/sbin/httpd: そのようなファイルやディレクトリはありません

Apacheのソースコードをダウンロード・展開

Apacheのソースコードをダウンロードして、展開します。

ソースコードは下記のサイトから Stable 版の Unix Source を wget で取得します。

・DL:Download – The Apache HTTP Server Project はてなブックマーク - Download - The Apache HTTP Server Project

$ su -
# cd /usr/local/src/
# wget http://www.meisei-u.ac.jp/mirror/apache/dist//httpd/httpd-2.2.21.tar.gz
# tar zxvf httpd-2.2.21.tar.gz
# cd httpd-2.2.21

Apache をソースコードからインストール

オプションをいくつか付けてconfigureします。

# cd httpd-2.2.21
# ./configure --prefix=/usr/local/apache2/ \
		--enable-so \
		--enable-rewrite \
		--enable-ssl=/usr/local/openssl

→ opensslが入らないとエラーが出るので、とりあえず、 

# ./configure --prefix=/usr/local/apache2/ \
		--enable-so \
		--enable-rewrite

そして、makeしてインストール

# make
# make install

Apacheがちゃんとインストールされたか確認します。

# /usr/local/apache2/bin/httpd -v
Server version: Apache/2.2.21 (Unix)
Server built:   Nov  2 2011 19:14:14

apacheユーザー作成

# groupadd apache
# useradd -g apache -d /var/empty/ -s /sbin/nologin apache
# vi /usr/local/apache2/conf/httpd.conf
User apache
Group apache

 

apacheの起動スクリプトの設定

# cp /usr/local/src/httpd-2.2.21/build/rpm/httpd.init /etc/rc.d/init.d/httpd
# chmod 755 /etc/rc.d/init.d/httpd

apache の設定ファイルの該当部分を編集します。

# vi /etc/rc.d/init.d/httpd
 
httpd=${HTTPD-/usr/local/apache2/bin/httpd}
pidfile=${PIDFILE-/usr/local/apache2/logs/httpd.pid}
# check for 1.3 configuration
check13 () {
        CONFFILE=/usr/local/apache2/conf/httpd.conf

Apacheの起動を確認します。
 

# service httpd start 
Starting httpd :  [OK]

正常起動を確認しました。

ifconfigコマンドでIPアドレスを確認する。(IPアドレスは環境によって異なります)
 

# ifconfig
inet addr:192.168.16.130

 

ローカルPCのブラウザから、http://192.168.16.130/ にアクセスしてApacheが正常に動いているか確認します。

無事にブラウザが表示されたら完了です。
 

Apacheの自動起動設定

Apacheの自動起動を有効にします。

自動起動を有効にすると、CentOSの起動時にApacheも自動で起動します。

# chkconfig --add httpd
# chkconfig httpd on
# chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

ファイアーウォールの設定確認

httpd が listen する 80 番ポート(デフォルトの場合)を開放する。

# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

ファイアーウォールを再起動させます。

# service iptables restart
ファイアウォールルールを適用中:                            [  OK  ]
チェインポリシーを ACCEPT に設定中filter                   [  OK  ]
iptables モジュールを取り外し中                            [  OK  ]
iptables ファイアウォールルールを適用中:                   [  OK  ]
# service iptables start

 

OpenSSLをソースコードからインストール

# cd /usr/local/src
# wget -c http://www.openssl.org/source/openssl-1.0.0d.tar.gz
# tar zxvf openssl-1.0.0d.tar.gz
# cd openssl-1.0.0d.tar.gz
# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl -fPIC
# make
# make install

 

【参考】

apache2.2 初期設定 はてなブックマーク - apache2.2 初期設定

VMware PlayerにCentOS導入。練習用Webサーバーを構築4 はてなブックマーク - VMware PlayerにCentOS導入。練習用Webサーバーを構築4

apache2.2.15をCentOSにソースからインストール[Linux] | QUALL – blog はてなブックマーク - apache2.2.15をCentOSにソースからインストール[Linux] | QUALL - blog

Apacheサーバー構築(ソースコンパイル) | 自宅サーバー構築 はてなブックマーク - Apacheサーバー構築(ソースコンパイル) | 自宅サーバー構築

Apache2 をソースからインストール はてなブックマーク - Apache2 をソースからインストール

[Linux] # yum -y install yum-fastestmirror で速いリポジトリを自動的に選択

CentOSのパッケージ管理システム yum をアップデートするときに、高速化する方法を調べたのでメモ。

まず、yumコマンドで yum-fastestmirror をインストールします。

# yum -y install yum-fastestmirror

次に、yum check-update で fastestmirror プラグインが正常に読み込まれているか確認します。

# yum check-update
Loading "fastestmirror" plugin
Determining fastest mirrors
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad..jp
* updates: ftp.iij.ad..jp

最後に、yumのアップデートが必要な場合は実行します。

# yum -y update

以上です。


参考情報

yumで速いリポジトリを自動的に選択するには - @IT

[Linux]# yum -y install yum-fastestmirrorでyum高速化 : うえちょこ@ぼろぐ

CentOSにMySQLをyumでインストール

CentOS5.6 に MySQL5.0.77 を yum でインストールしました。(標準で入ってますけどね)

インストール手順、初期設定はこちらを参考にしました。

・参考:データベースサーバー構築(MySQL) – CentOSで自宅サーバー構築 はてなブックマーク - データベースサーバー構築(MySQL) - CentOSで自宅サーバー構築

以上です。