このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

web帳

記事詳細

2014.03.23

さくらVPS(仮想専用サーバ)の設定方法 その2 VirtualHost,PHP,MySQL,node設定

前回のさくらVPS(仮想専用サーバ)の設定方法の続きとなります。

VirtualHost設定

まずは、VirtualHost(バーチャルホスト)の設定を行っていきます。

バーチャルホストとは、Webサーバソフトの機能の一つで、1台のWebサーバで複数のドメイン名のWebサイトを運用することになります。

1つのIPアドレスに複数のドメイン名を割り当てることにより、1台のWebサーバで複数のWebサイトを同時に運用することができ、バーチャルホストを利用すれば何台もサーバを用意せずに済みます。

「dev.example.com」といったディレクトリを作成します。

[code]mkdir -p /var/www/dev.example.com/public_html/[/code]

作業者に権限を付与します。

[code]chown -R webcyou:webcyou /var/www/dev.example.com/public_html/[/code]

/etc/httpd/conf.d/内に「dev.example.com.conf」を作成します。

/etc/httpd/conf.d/内に .confファイルを作成することにより、デフォルトで参照していきます。

[code]vim /etc/httpd/conf.d/dev.example.com.conf[/code]

以下の様な設定ファイルを記述。

[code]
<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>
[/code]

/etc/httpd/conf/内の httpd.conf を修正していきます。

[code]vim /etc/httpd/conf/httpd.conf[/code]

/NameVirtualHost で検索。

[code]#NameVirtualHost *:80[/code]

[code]NameVirtualHost *:80[/code]

syntax error 等が無いかtestします。

[code]service httpd configtest[/code]

問題無ければhttpdを再起動し、修正内容を反映させます。

[code]service httpd restart[/code]

何でも良いのですが、testとしてhtmlファイルを置いてみました。

[code]vim /var/www/dev.example.com/public_html/index.html[/code]

設定パターンを保存できるHostsファイル書き換えmac用アプリ「Hoster」を使ってhostの設定を行います。

Hoster

Hoster 公式ホームページ

右のDownloadからダウンロード出来ます。

インストールしたら、ホストの追加を行います。

以下の様な感じで、

緑ランプが適応されている状態です。緑色でない場合クリックしましょう。

完了したら、ブラウザで確認。以下の設定したURLを叩いて、

[code]http://dev.example.com/[/code]

追加したhtmlが表示出来ればOK!

PHP,MySQL インストール

PHPとMySQLの設定となります。

一通り、yumコマンドでインストール。

[code]yum install php php-devel php-mysql php-gd php-mbstring[/code]

php.iniを修正するため、/etc/php.ini.orgでバックアップをとり、

/etc/php.iniを修正していきます。

[code]cp /etc/php.ini /etc/php.ini.org[/code]
[code]vim /etc/php.ini[/code]

error_logを修正するので /error_logで検索。

[code]/error_log[/code]
[code];error_log = php_errors.log[/code]

[code]error_log = var/log/php_errors.log[/code]

日本語設定。/mbstringで検索。

[code]/mbstring[/code]

[code];mbstring.language = Japanese[/code]

[code]mbstring.language = Japanese[/code]

[code];mbstring.internal_encoding = EUC-JP[/code]

[code]mbstring.internal_encoding = UTF-8[/code]

/http_inputで検索。コメントアウトを外します。

[code];mbstring.http_input = auto[/code]

[code]mbstring.http_input = auto[/code]

mbstring.detect_order もautoにしますので、/detect_orderで検索。コメントアウトを外す。

[code]/detect_order[/code]

[code];mbstring.detect_order = auto[/code]

[code]mbstring.detect_order = auto[/code]

/expose_phpで検索。OnをOffに変更。

[code]/expose_php[/code]

[code]expose_php = On[/code]

[code]expose_php = Off[/code]

timezoneの設定も追加。/timezoneで検索し、date.timezone = Asia/Tokyo に変更。

[code]/timezone[/code]
[code];date.timezone =[/code]

[code]date.timezone = Asia/Tokyo[/code]

ここまで修正したら、保存終了。

[code]:wq[/code]

httpdを再起動します。

[code]service httpd restart[/code]

MySQL インストール

続いて、MySQLをyumコマンドでインストールします。

[code]yum install mysql-server[/code]

こちらも同様、mycnfを編集していくのでバックアップを作成し修正。

[code]cp /etc/my.cnf /etc/my.cnf.org[/code]

[code]vim /etc/my.cnf[/code]

以下を追加します。

[code]character_set_server=utf8
default-storage-engine=InnoDB
innodb_file_per_table
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8[/code]

追加したら、保存終了。

[code]:wq[/code]

mysqldを再起動。

[code]service mysqld start[/code]

MySQLの初回起動時に実行するとよいコマンドmysql_secure_installation を実行します。

MySQL Serverのインストール後の初期設定はセキュリティの甘い設定となっているため、このコマンドを利用することで、以下のような設定を簡単に行うことができます。

・rootパスワードの変更

・rootのリモートホストからのログイン禁止

・匿名ユーザの削除

・testデータベースの削除

[code]mysql_secure_installation[/code]

任意のパスワードを設定し、後は y リターンで大丈夫かと思います。

MySQLの自動起動設定のchkconfig mysqld onを行います。

[code]chkconfig mysqld on[/code]

ここまでできたら、 mysql -u root -pでログイン出来るか確認します。

[code]mysql -u root -p[/code]

rvm sqlite Ruby on Rails node.js etc..インストール

続いて、node.jsやruby、sqliteをyumコマンドでインストールしていくのですが、

Ruby on Rails もインストールしたいので、rubyの最新版をインストールするため、rvmを使ってインストールを行います。

[code]yum install zlib-devel openssl-devel sqlite-devel[/code]

権限がないとエラーとなりますので、sudoコメンドで実行。

[code]sudo yum install zlib-devel openssl-devel sqlite-devel[/code]

rvmをインストール。

[code]curl -L https://get.rvm.io | bash -s stable[/code]

rvmを実行。

[code]source /home/webcyou/.rvm/scripts/rvm[/code]

バージョンを指定しrvmコマンドでインストール。

[code]rvm install 1.9.3[/code]

rubyのバージョンを確認し、1.9.3であれば成功。

(確認取れない場合は一旦、VPSから抜けて再度ログインすると良いかもです。)

バージョン確認。

[code]ruby -v[/code]
[code]gem -v[/code]

sqliteもインストールしていきます。

[code]gem install --no-ri --no-rdoc sqlite3[/code]

--no-ri --no-rdocオプション付与で、ドキュメントのインストールをしない様にしております。

node.js インストール

続いて、node.jsをインストールします。

公式サイトは以下からとなります。

node.js

http://nodejs.org

公式サイトからのリンクもあるのですが、こちらにCentOSのインストール方法が記載されております。

https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager#rhelcentosscientific-linux-6

RHEL/CentOS/Scientific Linux 6

[code]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[/code]

記載されているコマンドを実行していけばインストール出来るかと思います。 インストールされているか確認。

[code]node -v[/code]

Ruby on Rails インストール

Ruby on Railsはgemコマンドを用いてインストールしていきます。

[code]gem install rails[/code]

Ruby on Railsはデフォルトだと、ポート3000番を使用する為、3000番のポートを利用出来るように /etc/sysconfig/iptables に追加していきます。

[code]sudo vim /etc/sysconfig/iptables[/code]

以下の記述を追加し iptablesを再起動。

[code]-A SERVICES -p tcp --dport 3000 -j ACCEPT[/code]
[code]sudo service iptables restart[/code]

railsコマンドでappテンプレートを生成してみます。

[code]rails new apptest[/code]
[code]cd apptest[/code]

3000番ポートを利用した rails serverが起動するか確認。

[code]rails server[/code]

といった感じに、「さくらVPS」の設定方法でした。ではでは。

  • RSSを登録する

  • follow us in feedly

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、港区六本木で活動中。

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。