さくらVPS(仮想専用サーバ)の設定方法 その2 VirtualHost,PHP,MySQL,node設定
2014.03.23
この記事は最終更新日から1年以上が経過しています。
前回のさくらVPS(仮想専用サーバ)の設定方法の続きとなります。
VirtualHost設定
まずは、VirtualHost(バーチャルホスト)の設定を行っていきます。
バーチャルホストとは、Webサーバソフトの機能の一つで、1台のWebサーバで複数のドメイン名のWebサイトを運用することになります。
1つのIPアドレスに複数のドメイン名を割り当てることにより、1台のWebサーバで複数のWebサイトを同時に運用することができ、バーチャルホストを利用すれば何台もサーバを用意せずに済みます。
「dev.example.com」といったディレクトリを作成します。
mkdir -p /var/www/dev.example.com/public_html/
作業者に権限を付与します。
chown -R webcyou:webcyou /var/www/dev.example.com/public_html/
/etc/httpd/conf.d/内に「dev.example.com.conf」を作成します。
/etc/httpd/conf.d/内に .confファイルを作成することにより、デフォルトで参照していきます。
vim /etc/httpd/conf.d/dev.example.com.conf
以下の様な設定ファイルを記述。
<VirtualHost *:80> ServerName dev.example.com DocumentRoot "/var/www/dev.example.com/public_html" DirectoryIndex index.html index.php ErrorLog /var/log/httpd/dev.example.com_error_log CustomLog /var/log/httpd/dev.example.com_access_log combined AddDefaultCharset UTF-8 <Directory "/var/www/dev.example.com/public_html"> Allow from all </Directory> </VirtualHost>
/etc/httpd/conf/内の httpd.conf を修正していきます。
vim /etc/httpd/conf/httpd.conf
/NameVirtualHost で検索。
#NameVirtualHost *:80
↓
NameVirtualHost *:80
syntax error 等が無いかtestします。
service httpd configtest
問題無ければhttpdを再起動し、修正内容を反映させます。
service httpd restart
何でも良いのですが、testとしてhtmlファイルを置いてみました。
vim /var/www/dev.example.com/public_html/index.html
設定パターンを保存できるHostsファイル書き換えmac用アプリ「Hoster」を使ってhostの設定を行います。
Hoster
右のDownloadからダウンロード出来ます。
インストールしたら、ホストの追加を行います。
以下の様な感じで、
緑ランプが適応されている状態です。緑色でない場合クリックしましょう。
完了したら、ブラウザで確認。以下の設定したURLを叩いて、
http://dev.example.com/
追加したhtmlが表示出来ればOK!
PHP,MySQL インストール
PHPとMySQLの設定となります。
一通り、yumコマンドでインストール。
yum install php php-devel php-mysql php-gd php-mbstring
php.iniを修正するため、/etc/php.ini.orgでバックアップをとり、
/etc/php.iniを修正していきます。
cp /etc/php.ini /etc/php.ini.org
vim /etc/php.ini
error_logを修正するので /error_logで検索。
/error_log
;error_log = php_errors.log
↓
error_log = var/log/php_errors.log
日本語設定。/mbstringで検索。
/mbstring
;mbstring.language = Japanese
↓
mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
↓
mbstring.internal_encoding = UTF-8
/http_inputで検索。コメントアウトを外します。
;mbstring.http_input = auto
↓
mbstring.http_input = auto
mbstring.detect_order もautoにしますので、/detect_orderで検索。コメントアウトを外す。
/detect_order
;mbstring.detect_order = auto
↓
mbstring.detect_order = auto
/expose_phpで検索。OnをOffに変更。
/expose_php
expose_php = On
↓
expose_php = Off
timezoneの設定も追加。/timezoneで検索し、date.timezone = Asia/Tokyo に変更。
/timezone
;date.timezone =
↓
date.timezone = Asia/Tokyo
ここまで修正したら、保存終了。
:wq
httpdを再起動します。
service httpd restart
MySQL インストール
続いて、MySQLをyumコマンドでインストールします。
yum install mysql-server
こちらも同様、mycnfを編集していくのでバックアップを作成し修正。
cp /etc/my.cnf /etc/my.cnf.org
vim /etc/my.cnf
以下を追加します。
character_set_server=utf8 default-storage-engine=InnoDB innodb_file_per_table [mysql] default-character-set=utf8 [mysqldump] default-character-set=utf8
追加したら、保存終了。
:wq
mysqldを再起動。
service mysqld start
MySQLの初回起動時に実行するとよいコマンドmysql_secure_installation を実行します。
MySQL Serverのインストール後の初期設定はセキュリティの甘い設定となっているため、このコマンドを利用することで、以下のような設定を簡単に行うことができます。
・rootパスワードの変更
・rootのリモートホストからのログイン禁止
・匿名ユーザの削除
・testデータベースの削除
mysql_secure_installation
任意のパスワードを設定し、後は y リターンで大丈夫かと思います。
MySQLの自動起動設定のchkconfig mysqld onを行います。
chkconfig mysqld on
ここまでできたら、 mysql -u root -pでログイン出来るか確認します。
mysql -u root -p
rvm sqlite Ruby on Rails node.js etc..インストール
続いて、node.jsやruby、sqliteをyumコマンドでインストールしていくのですが、
Ruby on Rails もインストールしたいので、rubyの最新版をインストールするため、rvmを使ってインストールを行います。
yum install zlib-devel openssl-devel sqlite-devel
権限がないとエラーとなりますので、sudoコメンドで実行。
sudo yum install zlib-devel openssl-devel sqlite-devel
rvmをインストール。
curl -L https://get.rvm.io | bash -s stable
rvmを実行。
source /home/webcyou/.rvm/scripts/rvm
バージョンを指定しrvmコマンドでインストール。
rvm install 1.9.3
rubyのバージョンを確認し、1.9.3であれば成功。
(確認取れない場合は一旦、VPSから抜けて再度ログインすると良いかもです。)
バージョン確認。
ruby -v
gem -v
sqliteもインストールしていきます。
gem install --no-ri --no-rdoc sqlite3
–no-ri –no-rdocオプション付与で、ドキュメントのインストールをしない様にしております。
node.js インストール
続いて、node.jsをインストールします。
公式サイトは以下からとなります。
node.js
公式サイトからのリンクもあるのですが、こちらにCentOSのインストール方法が記載されております。
RHEL/CentOS/Scientific Linux 6
yum repolist rpm -Uvh http://download-i2.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm sudo yum install nodejs npm --enablerepo=epel sudo yum install npm --enablerepo=epel
記載されているコマンドを実行していけばインストール出来るかと思います。 インストールされているか確認。
node -v
Ruby on Rails インストール
Ruby on Railsはgemコマンドを用いてインストールしていきます。
gem install rails
Ruby on Railsはデフォルトだと、ポート3000番を使用する為、3000番のポートを利用出来るように /etc/sysconfig/iptables に追加していきます。
sudo vim /etc/sysconfig/iptables
以下の記述を追加し iptablesを再起動。
-A SERVICES -p tcp --dport 3000 -j ACCEPT
sudo service iptables restart
railsコマンドでappテンプレートを生成してみます。
rails new apptest
cd apptest
3000番ポートを利用した rails serverが起動するか確認。
rails server
といった感じに、「さくらVPS」の設定方法でした。ではでは。