読者です 読者をやめる 読者になる 読者になる

tsukarooohi's diary

CakePHP,CentOS,AWSなど勉強中の技術的記録として利用中。

さくらのVPS(v3) 2G IK01とVPS(v3) SSD 2G IK01に環境設定

因みにSSDプランは初なんですが書き込み、読み込みが7倍高速という事なのでDBサーバにする予定!

ではまずWebサーバにするVPS(v3) 2G IK01の環境設定開始。


初期状態なのでrootでログイン後運用ユーザ作成
useradd ユーザ名
passwd ユーザ名
パスワード入力

sudo権限を与える。
visudoコマンドでrootの設定の下辺りに
ユーザ名 ALL=(ALL) NOPASSWD: ALL

suコマンドでユーザ変更して確認。
su - ユーザ名

rootになれるユーザを管理者のみにする
usermod -G wheel ユーザ名
vim /etc/pam.d/su
auth required pam_wheel.so use_uid


次に色々アップデート。
yum upgrade
※確認が面倒臭ければyum -y upgradeでOK。


次にSSHログイン関連設定
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
vim /etc/ssh/sshd_config

SSHログイン用ポート変更
Port 変更したいポート番号

rootでのログインを禁止
PermitRootLogin no

パスワードなしでのログインを禁止
PermitEmptyPasswords no

※後々に秘密鍵でのログインに変更した方がセキュリティ的に良い。

/etc/rc.d/init.d/sshd restart


ファイアーウォールを構築する
sudo vim /etc/sysconfig/iptables
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, HTTP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport SSH用ポート番号 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

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

COMMIT

iptables再起動
/etc/rc.d/init.d/iptables restart


利用されていないデーモンを終了する
今回はこんな感じ。
sudo /sbin/chkconfig auditd off
sudo /sbin/chkconfig haldaemon off
sudo /sbin/chkconfig lvm2-monitor off
sudo /sbin/chkconfig mdmonitor off
sudo /sbin/chkconfig messagebus off
sudo /sbin/chkconfig netfs off
sudo /sbin/chkconfig restorecond off
sudo /sbin/chkconfig smartd off


CentOS の環境を日本語に設定する
vim /etc/sysconfig/i18n

LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"

一旦サーバに設定を反映させる為に再起動
reboot


これからは先程作成した運用ユーザでログインして作業

Apache をインストール・設定する
sudo yum install httpd
sudo /etc/rc.d/init.d/httpd start
sudo /sbin/chkconfig httpd on #自動起動

sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
sudo vim /etc/httpd/conf/httpd.conf

- ServerTokens OS
+ ServerTokens Prod

- ServerSignature On
+ ServerSignature Off

- expose_php = On
+ expose_php = Off

- Options Indexes
+ Options

バーチャルドメイン用の設定ファイル内で設定するのでコメントアウト
#Listen 80 //修正

バーチャルドメインの設定
sudo vim /etc/httpd/conf.d/vhosts.conf


PHPをインストール
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
sudo yum install --enablerepo=remi php
sudo yum install --enablerepo=remi php-pdo
sudo yum install --enablerepo=remi php-pear
sudo yum install --enablerepo=remi php-mysql
sudo yum install --enablerepo=remi php-xml

sudo vim /etc/php.ini

date.timezone = 'Asia/Tokyo' //修正

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


取り敢えずこれでWebサーバとして最低限?は問題ないかなと。

ドットインストールで「Vagrant入門」を見て便利そうだと思ったんで導入してみる作業1

導入までなのでほぼドットインストールと同じ。

まずVirtualBoxのインストール

www.virtualbox.orgの左メニューのDownloadsをクリック
f:id:tsukarooohi:20130718221416j:plain


今回の導入PCがWindows7なのでWindows用を選択
f:id:tsukarooohi:20130718221428j:plain


ダウンロードした「VirtualBox-4.2.16-86992-Win.exe」を実行
f:id:tsukarooohi:20130718221454j:plain


取り敢えず分からないので次へ次へ・・・


「Create a shortcut in the Quick Launch Bar」のチェックを外す(デフォは付いてるけどお好みで)。
f:id:tsukarooohi:20130718221533j:plain


なぜかインストール段階でWarning!
f:id:tsukarooohi:20130718221606j:plain
まぁ検索してみたら結構な人が出ててそのまま突き進んでも問題なさげなので自分も続行w


インストール中に何回かOracleデバイスのインストールダイアログが出るのでこれらもインストール。


無事完了でフィニッシュ!
f:id:tsukarooohi:20130718221634j:plain


取り敢えず起動出来たのでインストール完了。
f:id:tsukarooohi:20130718221654j:plain


続きは明日w

nginxとapacheで迷う

前回の記事の続きでWebサーバを考える
〇〇やってみたじゃないけど

アプリケーションはほぼCakePHPで実装しようと思ってるんだけどサーバ環境がね。

さくらVPS or AWSで迷ってるんだけど2:8でAWSに気持ちが行ってるからまぁまぁいいとして、Webサーバをどうしようかなんだよね。

仕事で
お名前.comのVPS 1.5G
アプリケーションはWordPress+自作システム
Webサーバはapache

上記の環境で最近重くなってきて自分なりに調べたりしてチューニングしてはいるんだがそろそろ限界かと。

最近ではWordPress+Nginxは基本みたいな記事ばっかだし。

って事で簡単にだけど改めて検索してみた。

mod_php(Apache)とspawn-fcgi(nginx)でのパフォーマンス比較
[爆速]WordPress高速化何がいいのか Apache,Nginx on AmazonEC2,Jetpack,CloudFlare等比較

両記事とも比較+の内容だから信用できるんだけどどうしても思ってしますのが、
だったら何でPHPを使用してるWebサーバが全部Nginxではないんだ?ってとこなんだよな。


1.僕みたいにApacheで運用しててNginxに移行するのに既存アプリケーション、設定等から出る不具合のリスクからまだ移行しきれないでいる

2.Apacheで使ってるモジュールのNginx版がないとか?

3.圧倒的にApacheの情報が多い

4.Apacheもチューニング次第ではNginx並み、いやそれ以上のパフォーマンスが出るから

僕の知識でパッと思いつくのは上記くらいか。

1.については新規コンテンツだから問題なし。
※今後実装したい物にまでNginxで対応できるかは定かではない!

2.これは現実問題解決しようがないがそんな大それた物を作る訳ではないのでこれもクリア

3.半端な知識しかない僕にはこれが最重要項目だが言ってもNginxが世に出て今ではこれ程の人気になってる訳だし大体の事はWeb上で解決できるんではないかって事でこれもクリア

4.そもそもそんな知識はありませんw


って事は決定。

サービス?はAWS
WebサーバはNginx
アプリケーションはCakePHP

まだサーバ構成も決めなきゃだけどそれはアプリケーションが出来てからのお楽しみって事でw

〇〇やってみたじゃないけど

なぜ今更ブログを始めようと思ったかと言うと自分一人でコンテンツを作って運用しながら色々な事を勉強、経験したかったから。

内容はこんな感じ

って事で自前のブログが完成し次第そっちに移行する予定です。

ではではもう少し開発環境や作業手順が決まったら続きを書くって事でw