ConoHa VPS LAMP環境の構築(既定の古いバージョンのサーバ)

提供: tknotebook
2014年10月27日 (月) 13:14時点におけるNakamuri (トーク | 投稿記録)による版

移動: 案内検索

基本設定

VMの作成

ConmoHa Control Panel にログインし、サーバーリストを選ぶ。
画面の ADD VPS ボタンを押し、プラン(2GB) とインストールイメージ(CentOS 6.5(64bit))を選ぶ
root のパスワードを入力して CONTINUE ボタンを押すと数分で VM で出来上がり起動する。

ログイン

マシンへのログインは TeraTerm でできる。
ConoHa Control Panel で VM を選択すると現れる画面で、画面最上段右端の 「v」マークを押すと、SSH Private-key のダウンロードボタンが現れる。これを押すとSSHの秘密鍵ファイルが入手できる。
Teraterm(UTF-8サポート版でUTF-8に設定) を起動する。
TCPポート22、SSH2 で接続する。
ユーザ名に root、RSA/DSA/ECS\DSA鍵を使うを選び、[秘密鍵]ボタンを押して先ほど入手した秘密鍵ファイルを指定する。
OKボタンを押すと root でログインできる。

yum update

念のため yum update を実施
yum update
ConoHaでは 200MB超の update があった。

コンソールの日本語化

ConoHa VPS では /etc/sysconfig/i18n で LANG 環境変数は en_US.UTF-8 に設定されている。特に変更は不要なようだ。

ファイアウォールを設定する

以下の記述を /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, HTTP, FTP1, FTP2, MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-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 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-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 start

で動作を確認し、問題ないようでしたら

chkconfig iptables on

で起動時にスタートするようにしましょう。

尚、iptables のコマンドをコンソールから一つ一つ打っていっても設定できるのですが、iptables を切っていても、iptablesのコマンドを打つとファイアウォールが動いてしまうようで、VPSとコンソール(Teratermなど)のSSH接続が切れてしまいます。

一発で書き込んで、一発で試験するのがよいようです。最悪コントロールパネルのコンソールは繋がるので、2度繋がらなくなることはありませんが・・・

メモ

  1. selinux は 既定で disabled になっている。従って setsebool -P httpd_can_network_connect_db on で apacheから mysql へ接続可能にする必要はなかった。

FTPサーバをインストール

インストール

yum -y install vsftpd

設定

/etc/vsftpd/vsftpd.conf を 修正
anonymous_enable=YES → NO


サービス開始

service vsftpd start chkconfig vsftpd on

apacheの設定

自動起動設定
chkconfig httpd on
service httpd start
DBアクセス許可 これは不要だったが selinux を ON にするときに必要なので残しておく。
setsebool -P httpd_can_network_connect_db on

phpのインストール

本体のインストール

yum -y install php php-mbstring php-mysql php-gd

php.iniの設定

php.ini の

;error_logs = php_erros.log

error_logs = /var/log/php_erros.log
空の /var/log/php_erros.log
chown apache /var/log/php_erros.log
chgrp apache /var/log/php_erros.log
chmod 777 /var/log/php_erros.log

とする。

php.ini の

;mbstring.language = Japanese

mbstring.language = Japanese

;mbstring.internal_encoding = EUC-JP

mbstring.internal_encoding = UTF-8

;mbstring.http_input = auto

mbstring.http_input = auto

;mbstring.detect_order = auto

mbstring.detect_order = auto

expose_php = on

expose_php = off

に変更する


date.timezone = 

date.timezone = Asia/Tokyo

に変更する。

service httpd restart

で apache を再起動すると修正が反映される。

MySQLのインストール

インストール

yum -y install yum -y install mysql-server
yum -y install yum -y install php-mysql

開始

service mysqld start
chkconfig mysqld on

初期設定

/etc/my.cnf を以下のように変更
[client]
default-character-set = utf8

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

mysql_secure_installation を実行し以下のように答える。
  1. rootのパスワードを設定する。
  2. 匿名ユーザーを削除する。
  3. リモートからのrootログインを禁止する。
  4. testデータベースを削除する。