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

waste of time

主にPHP

ConoHaで環境構築③

ConoHaで環境構築① - 開発の備忘録的なやつ

ConoHaで環境構築② - 開発の備忘録的なやつ

remiリポジトリの追加

$ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
$ sudo yum install yum-plugin-priorities   ← リポジトリの優先順位を変更できるyum-plugin-prioritiesをインストール

$ sudo vim /etc/yum.repos.d/CentOS-Base.repo  ← 全てのリポジトリに`priority=2`を指定
$ sudo vim /etc/yum.repos.d/remi.repo         ← 全てのリポジトリに`priority=1`を指定

Apache

ConoHaではデフォルトでApacheが入っているので、有効化するだけ。

$ sudo service httpd start
$ sudo chkconfig httpd on

$ sudo vim /var/www/html/index.html   ← 表示確認用に適当に何か作ってみる。

ブラウザからアクセスして正常に表示されればOK。

続いてApacheのセキュリティ関連の設定を行う。

$ sudo vim /etc/httpd/conf/httpd.conf

ServerSignature Off       ← エラー画面にサーバ情報を表示しない。
ServerTokens ProductOnly  ← レスポンスヘッダーにサーバ情報を出力しない。
Header always append X-Frame-Options DENY   ← 最終行あたりに追加。クリックジャッキング対策。
TraceEnable Off           ← 最終行あたりに追加。Traceメソッドを無効化。


$ sudo service httpd restart

またhttpd.confでは、Options hoge IndexesのようにIndexesがあるとファイル一覧がブラウザで出力されてしまうので、Indexesというキーワードは全て削除する。

参考
Apache のバージョンや OS の情報を出力しないようにする
Apache のディレクトリリスティングを無効にする
クリックジャッキング対策(Apache/IIS)
Apache の Trace メソッドを無効にする

MySQL

$ sudo yum -y install mysql-server
$ sudo service mysqld start
$ sudo chkconfig mysqld on

$ mysqladmin -u root password パスワード   ← MySQLのrootパスワードを設定する。

phpMyAdmin

phpMyAdminのインストールにはphp-gdとImageMagick-lastが必要なので、先にそちらをインストールしておく。

$ sudo yum -y install --enablerepo=remi gd-last   // php-gd入れるのに必要
$ sudo yum -y install --enablerepo=remi-php55 php-gd
$ sudo yum -y install --enablerepo=remi ImageMagick-last
$ sudo yum -y install --enablerepo=remi-php55 phpMyAdmin

アクセス制限を切ってBASIC認証をかける。

$ sudo vim /etc/httpd/conf.d/phpMyAdmin.conf


<Directory /usr/share/phpMyAdmin/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     Require local
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     #Order Deny,Allow
     #Deny from All
     #Allow from 127.0.0.1
     #Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     Require local
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     #Order Deny,Allow
     #Deny from All
     #Allow from 127.0.0.1
     #Allow from ::1
   </IfModule>
</Directory>
$ sudo htpasswd -c /usr/share/phpMyAdmin/.htpasswd ユーザ名

New password:
Re-type new password:
Adding password for user hoge
$ sudo vim /usr/share/phpMyAdmin/.htaccess


AuthUserFile /usr/share/phpMyAdmin/.htpasswd
AuthGroupFile /dev/null
AuthName "Secret"
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
        deny from all
</Files>

デフォルトではhtaccessが有効になっていないので、設定で有効にする。

$ sudo vim /etc/httpd/conf/httpd.conf


<Directory />
    Options FollowSymLinks
    AllowOverride All   ← NoneからAllに変更
</Directory>


$ sudo service httpd restart

参考:CentOSにPHP5.5とphpMyAdminをインストール

PHP

PHPはデフォルトで5.3.3が入っている。
PHP5.5を使いたいのでremi-php55リポジトリを使ってyum updateする。

$ sudo yum -y update --enablerepo=remi,remi-php55

だいたいこんなところか…
本格的に使いはじめるならこれに加えて独自ドメインの設定とかしないとあかんね。
今度はchefとかプロビジョニングツール使ってみたい。