ConoHa VPS LAMP環境の構築(既定の古いバージョンのサーバ)
メインページ>コンピュータの部屋>ConoHa VPS を使ってみた
この記事は、ConoHa VPS の既定の yum リポジトリで LAMP環境を作成した時の記録です(2014年10月)。 この環境は一部のソフトのインストールでは古すぎて使用を断念したのですが、 WordPressとか MediaWiki とかのポピュラーなサーバではたいていの場合はこれで十分です。なんといってもお手軽です。
環境設定の参考になれば幸いです。
目次
基本設定
VMの作成
- ConoHa Control Panel にログインし、サーバーリストを選びます。
- 画面の ADD VPS ボタンを押し、プラン(2GB) とインストールイメージ(CentOS 6.5(64bit))を選びます。
- root のパスワードを入力して CONTINUE ボタンを押すと数分で VM で出来上がり起動します。
ログイン
- ConoHa Control Panel で VM を選択すると現れる画面で、画面最上段右端の 「v」マークを押すと、SSH Private-key のダウンロードボタンが現れます。これを押すとSSHの秘密鍵ファイルをダウンロードできます。
- Teraterm(UTF-8サポート版でUTF-8に設定) を起動します。
- TCPポート22、SSH2 で接続します。
- Teratermでユーザ名に root、RSA/DSA/ECS/DSA鍵を使うを選び、[秘密鍵]ボタンを押して先ほど入手した秘密鍵ファイルを指定します。
- OKボタンを押すと root でログインできます。パスワードが不要であることに注意してください。これはConoHaの「仕様」です。
yum update
- 念のため yum update を実施
yum update
ConoHaでは 200MB超の update がありました。
コンソールの日本語化
ConoHa VPS では /etc/sysconfig/i18n で LANG 環境変数は en_US.UTF-8 に設定されているので、特に変更は不要なようです。気になるなら ja_JP.UTF-8 に変更した方がよいかもしれませんが en_US.UTF-8 のままでも特に不都合はありません。日本語の出力、viでの編集などは問題なく行えます。
ファイアウォールを設定する
- 以下の記述を /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度繋がらなくなることはありませんが・・・
メモ
ConoHa では 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
メモ
この時はまだ ssh をよく知らなくて、ssh さえあれば Teraterm や WinSCP などで安全にファイル転送できることを知りませんでした。利用者に広く FTP を公開する必要がなければ ftp サーバのインストールはお勧めしません。
apacheの設定
ConoHa VPS では apache はインストールされてはいますが起動するようにはなっていません。自動起動に設定します。
chkconfig httpd on service httpd start
DBアクセス許可 これは ConoHa VPS では不要ですが 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
MYSQLの開始と自動起動設定
service mysqld start chkconfig mysqld on
初期設定
/etc/my.cnf を以下のように変更します。基本的に、各種のキャラクタセットを全部 utf-8 にしてるだけです。これで mysql のいろいろな既定値が utf-8 になります。
[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 を実行し以下のように答えます。
- rootのパスワードを設定する。
- 匿名ユーザーを削除する。
- リモートからのrootログインを禁止する。
- testデータベースを削除する。
まとめ
以上で終了です。この後 MediaWikiをインストールして特に問題はありませんでしたので大きな問題はないでしょう。あまりLAMPのバージョンを選ばないソフトならこの環境で十分でしょう。