さくらVPSで借りたCentOSでLAMP環境のセッティング

今回はさくらのVPS借りている CentOS release 6.5 (Final)でLAMP環境を設定。

お決まりのyumの更新

yum list installed |grep yum-plugin-fastestmirror
// なければインストール
yum install yum-plugin-fastestmirror
yum check-update
yum update

1
2
3
4
5
6
yum list installed |grep yumpluginfastestmirror
// なければインストール
yum install yumpluginfastestmirror
yum checkupdate
yum update
 

ユーザーの作成

useradd username
passwd username

1
2
3
useradd username
passwd username
 

sudo権限の付与

su –
visudo

visudo

username All(=ALL)ALL #←追加

1
2
3
4
5
su
visudo
# visudo
username All(=ALL)ALL #←追加
 

rootでsshを禁止する

/etc/ssh/sshd_config

PermitRootLogin cheap nba jerseys yes

PermitRootLogin no #へ変更する

1
2
3
4
# /etc/ssh/sshd_config
# PermitRootLogin yes
PermitRootLogin no #へ変更する
 

iptablesの設定

http://structured-p.info/server/iptables-setting/

remi epel rpmforgeのインストール

epel(さくらVPSの場合は最初から導入されている)
http://fedoraproject.org/wiki/EPEL/ja
EPEL 6: i386, cheap nfl jerseys x86_64, ppc64, sources のx86_64をクリック
epel-release を検索し、リンク先のepel-release-6-8.noarch のリンクからwgetする

remi
http://rpms.famillecollet.com/
TOPページの「Maintained Enterprise Linux (RHEL / CentOS / Other clones)」
epelとの依存関係があり、epelがないとインストールできない

RPMforge
http://pkgs.repoforge.org/rpmforge-release/
※今回は使わないので入れなくてもOK

必要なものをダウンロード

wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6.rpm

1
2
3
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm Uvh remirelease6.rpm
 

下記のようにヒットすればOK(結果にバージョンの違いあり)

yum list instaled |grep remi-release
emi-release.noarch 6.5-1.el6.remi installed

1
2
3
yum list instaled |grep remirelease
emirelease.noarch 6.51.el6.remi      installed
 

Apacheを入れる

2.4系は入れるのが依存関係などで入れるのが面倒なので、ここでは2.2系をそのまま入れる。

yum install httpd

1
2
yum install httpd
 

PHPを入れる

ここではphp5.5をremiから導入する

yum list –enablerepo=remi –enablerepo=remi-php55 |grep php
// 必要なものを登録する
yum install –enablerepo=remi –enablerepo=remi-php55 php php-mbstring php-mysql php-devel php-pecl-xdebug php-opcache

1
2
3
4
yum list enablerepo=remi enablerepo=remiphp55 |grep php
// 必要なものを登録する
yum install enablerepo=remi enablerepo=remiphp55 php phpmbstring phpmysql phpdevel phppeclxdebug phpopcache
 

MySQLを導入する

本家(http://dev.mysql.com/downloads/mysql/)からもってきてビルド

mysql-libsがデフォルトでインストールされていてmysql-libsに依存しているパッケージがいくつかある。その場合、最新版のmysqlを持ってくる場合に依存性の問題が発生するので、 mysql-sharedをインストールする際に、依存性エラーが発生する。

その場合の対策として、 mysql-shared-compatをが必要で、mysql-sharedより先にインストールしなければいけない。

よって MySQL-client, MySQL-devel, MySQL-server, MySQL-shared-compatをまずビルド。

また、 MySQL-shard-compatをMySQL-serverより先にビルドしないとエラーが起きる。(原因不明)

MySQL-shardを最後にビルドする。

1.まずは取得

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.21-1.el6.x86_64.rpm
//それぞれ取得する。

1
2
3
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.21-1.el6.x86_64.rpm
//それぞれ取得する。
 

2.rpmでそれぞれビルドする

rpm -Uvh MySQL-***

1
2
rpm Uvh MySQL*
 

起動すればOK

Gitをビルド

rpm -qa で下記が導入されているかを確認する

rpm -qa make or yum list installed |grep ‘make’
// 下記にそれぞれ同じコマンドで確認
make
libcurl-devel
gcc
openssl-devel
expat-devel
gettext
asciidoc
xmlto
git
perl-ExtUtils-MakeMaker

1
2
3
4
5
6
7
8
9
10
11
12
13
rpm qa make or yum list installed |grep ‘make’
// 下記にそれぞれ同じコマンドで確認
make
libcurldevel
gcc
openssldevel
expatdevel
gettext
asciidoc
xmlto
git
perlExtUtilsMakeMaker
 

最新のgitをビルドする為には、GitHubからcloneしてくる必要がある。その為、そもそもgitが必要(さくらVPSの場合は最初からGit1.7が導入されている)

git cloneする

git clone https://github.com/git/git.git

1
2
git clone https://github.com/git/git.git
 

git をmakeする

cd für git
make configure

1
2
3
cd git
make configure
 

configureする

./configure –prefix=/usr/local –with-curl –with-expat

1
2
./configure prefix=/usr/local withcurl withexpat
 

make all docl(処理が長い)

make all doc

1
2
make all doc
 

make install

make install install-doc install-html

1
2
make install installdoc installhtml
 

versionの確認

//一度ログアウトして
git –version

1
2
3
//一度ログアウトして
git version
 

cloneしてきたバージョンに変わっていればOK!!

localtimeを確認

date
2014年 12月 1日 月曜日 08:01:48 UTC

1
2
3
date
2014 12  1 月曜日 08:01:48 UTC
 

という形で、UTCが設定されている場合は(vagrantなどは初期がコレ)JSTに変えてあげる必要がある。

先ずは確認。

/etc/localtime
strings /etc/localtime
TZif2
TZif2
UTC0

1
2
3
4
5
6
/etc/localtime
strings /etc/localtime
TZif2
TZif2
UTC0
 

上記の場合、最後の行がJST-9になっていると正しいため変更してあげる。

#念のためバックアップ
cp /etc/localtime /etc/localtime.bak
#上書き
cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
#確認
strings /etc/localtime
TZif2
TZif2
JST-9

#dateコマンドでも確認
date
Mon Skin Dec すごく基本的なiptablesの設定 1 17:07:03 JST 2014

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#念のためバックアップ
cp /etc/localtime /etc/localtime.bak
#上書き
cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
#確認
strings /etc/localtime
TZif2
TZif2
JST9
 
#dateコマンドでも確認
date
Mon Dec  1 17:07:03 JST 2014
 

変更されていればOK。

ちなみに/var/log/cronを確認すると時刻が変わっていないかったので、cronもしくはサーバーの再起動をして対応。

FTPを使えるようにする

vsftpのインストトール

yum install vsftpd

1
2
yum install vsftpd
 

設定ファイルの変更

//匿名ユーザーのログインを不許可にする。
// wholesale nfl jerseys anonymous_enable = YES
anonymous_enable = NO
.
.
.
//ホームディレクトリ以上には行けないようにする
chroot_local_user=YES
.
.
.
// /etc/vsftpd/ftpuser はブラックリスト
// /etc/vsftpd/user_list は下記の設定を追加することでホワイトリスト
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//匿名ユーザーのログインを不許可にする。
// anonymous_enable = YES
anonymous_enable = NO
.
.
.
//ホームディレクトリ以上には行けないようにする
chroot_local_user=YES
.
.
.
// /etc/vsftpd/ftpuser はブラックリスト
// /etc/vsftpd/user_list は下記の設定を追加することでホワイトリスト
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
 

SNSでもご購読できます。

コメントを残す

*