Browsing articles in "PHP"
 
4月
30
2014

さくらのVPSからGMOクラウドVPSへの移行

さくらのVPSを利用していましたが、コストパフォーマンスの良いGMOクラウドVPSに乗り換えることにしました。
その際の設定内容、移行手順を公開します。

移行プラン/料金

・プラン
 GMOクラウドVPS スモールプラン(1年間)
・金額
 4094円+2036×12円=28,526円(2377円/月)
・OS
 CentOS6.2 / LAMPPパック

Linuxの初期設定

GMOクラウドVPSの初期設定』を参考にサーバの初期設定を行う。

必要なパッケージをインストール

上記リンクに記載のない、wget、scpコマンドや、php関連のパッケージをインストール。

yum install wget
yum install openssh-clients
yum install php-mysql php-mbstring php-pdo php-pear
pear install pager

Apacheの初期設定

Apacheの初期設定すべき内容 (httpd.conf)』を参考にApacheを設定。
上記リンク先の記事には記載されていないが、ウェルカムページの設定も全てコメントアウトしておくこと。

cp -p /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
vi /etc/httpd/conf/httpd.conf
diff /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
vi /etc/httpd/conf.d/welcome.conf

MySQLの初期設定

MySQLの初期設定』を参考に、DBの初期設定を行う。
必要なDB、ユーザを作成しておいてください。

PHPの初期設定

cp -p /etc/php.ini  /etc/php.ini.org
vi /etc/php.ini
diff /etc/php.ini  /etc/php.ini.org
432c432
< expose_php = Off
<ul>
<li></li>
</ul>

&gt; expose_php = On
457c457
&lt; memory_limit = 512M
<ul>
<li></li>
</ul>

&gt; memory_limit = 128M
513c513
&lt; error_reporting = E_ALL &amp; ~E_NOTICE &amp; ~E_DEPRECATED
<ul>
<li></li>
</ul>

&gt; error_reporting = E_ALL &amp; ~E_DEPRECATED
946c946
&lt; date.timezone = Asia/Tokyo
<ul>
<li></li>
</ul>

&gt; ;date.timezone =
1542c1542
&lt; mbstring.language = Japanese
<ul>
<li></li>
</ul>

&gt; ;mbstring.language = Japanese
1549d1548
&lt; mbstring.internal_encoding = UTF-8
1553c1552
&lt; mbstring.http_input = auto
<ul>
<li></li>
</ul>

&gt; ;mbstring.http_input = auto
1558c1557
&lt; mbstring.http_output = UTF-8
<ul>
<li></li>
</ul>

&gt; ;mbstring.http_output = SJIS
1566c1565
&lt; mbstring.encoding_translation = Off
<ul>
<li></li>
</ul>

&gt; ;mbstring.encoding_translation = Off
1571c1570
&lt; mbstring.detect_order = auto
<ul>
<li></li>
</ul>

&gt; ;mbstring.detect_order = auto
1576c1575
&lt; mbstring.substitute_character = none;
<ul>
<li></li>
</ul>

&gt; ;mbstring.substitute_character = none;
1587c1586
&lt; mbstring.func_overload = 0
<ul>
<li></li>
</ul>

&gt; ;mbstring.func_overload = 0
1590c1589
&lt; mbstring.strict_detection = Off
<ul>
<li></li>
</ul>

&gt; ;mbstring.strict_detection = Off

Postfixの初期設定

cp -p /etc/postfix/main.cf /etc/postfix/main.cf.org
vi /etc/postfix/main.cf
diff /etc/postfix/main.cf /etc/postfix/main.cf.org
113c113
&lt; inet_interfaces = all
<ul>
<li></li>
</ul>

&gt; #inet_interfaces = all
116c116
&lt; #inet_interfaces = localhost
<ul>
<li></li>
</ul>

&gt; inet_interfaces = localhost
677,686d676
&lt;
&lt; ## add
&lt; smtpd_sasl_auth_enable = yes
&lt; smtpd_sasl_path = smtpd
&lt; smtpd_sasl_type = cyrus
&lt; smtpd_sasl_security_options = noanonymous
&lt; broken_sasl_auth_clients=yes
&lt; smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,permit_auth_destination,reject
&lt; smtpd_sasl_local_domain = iderea.com
&lt;
cp -p /etc/aliases /etc/aliases.org
vi  /etc/aliases
diff  /etc/aliases /etc/aliases.org
97,103d96
&lt;
&lt; # for iderea.com
&lt; hijikata:       h.hijikata@gmail.com
&lt; android-webrank:h.hijikata@gmail.com
&lt; android:h.hijikata@gmail.com
&lt; 360news:        h.hijikata@gmail.com
&lt;
newaliases
/etc/init.d/postfix restart

コンテンツ・DBの移行

/etc/crontabをコメントアウト

タイミングを考慮した上で、/etc/crontabをコメントアウトし、バッチ処理を停止する。

コンテンツのバックアップ

df、duコマンドで、ディスク容量に空きがあることを確認してから、コンテンツを丸ごとtarで固めます。

df -h
du -sh /tutty.info
tar cfz /tmp/tutty.info.tgz /tutty.info

コンテンツのリストア

移行先のサーバへ転送して、展開します。
最後に不要なファイルは削除します。

scp /tmp/tutty.info.tgz x.x.x.x:/tmp
ssh x.x.x.x
cd /
tar xfz /tmp/tutty.info.tgz
rm /tmp/tutty.info.tgz
exit
rm /tmp/tutty.info.tgz

DBのバックアップ

特定のデータベースを指定してバックアップします。

mysqldump -u root -p tutty | gzip > /tmp/tutty.sql.gz

DBのリストア

移行先サーバへ転送して、リストアします。
最後に不要なファイルは削除します。

scp /tmp/tutty.sql.gz x.x.x.x:/tmp
ssh x.x.x.x
gunzip /tmp/tutty.sql.gz
mysql -u root -p < /tmp/tutty.sql
rm /tmp/tutty.sql
exit
rm /tmp/tutty.sql.gz

DNSレコード修正&動作確認

基本的には、Aレコードを修正するだけで問題ない。
ドメイン及びIPアドレスでアクセスし、動作確認を行う。

/etc/crontabを設定

移行先サーバの/etc/crontabに、移行前と同様の設定をする。


 
11月
12
2013

PHPフレームワーク Laravel まとめ

近年、注目されているPHPフレームワークLaravel(ララベル)の有用な情報を集めています。

※有用な情報があれば、お知らせください。

・Laravel 公式(英語)
http://laravel.com/

・日本語ドキュメント
http://laravel4.kore1server.com/docs

・Laravel技術記事
http://nextat.co.jp/staff/archives/category/php/laravel

・Laravel日本語ニュース(Facebook)
https://www.facebook.com/jp.laravel

・Composer再入門(Laravelインストール時にComposerを利用)
http://www.slideshare.net/shin1x1/composer-28109311


 
11月
12
2013

yumリポジトリを追加して、CentOSにPHP5.4のインストールする方法

yumリポジトリを追加(EPEL Remi、RPMForge)

リポジトリのインストール

CentOS標準リポジトリで提供されていないパッケージをインストールするために、
サードパーティ製リポジトリのEPEL Remi、RPMForgeを追加します。

rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

以下のコマンドでインストールされたことを確認します。

rpm -qa|grep epel-release
rpm -qa|grep remi-release
rpm -qa|grep rpmforge-release

デフォルト無効(enabled=0)にする

デフォルトでリポジトリを使用しないよう無効にします。
設定ファイル内のenabled=1となっている個所をenabled=0に変更します。

# EPEL
cp -p /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.`date +%Y%m%d`
vi /etc/yum.repos.d/epel.repo
# Remi
cp -p /etc/yum.repos.d/remi.repo /etc/yum.repos.d/remi.repo.`date +%Y%m%d`
vi /etc/yum.repos.d/remi.repo
# RPMForge
cp -p /etc/yum.repos.d/rpmforge.repo /etc/yum.repos.d/rpmforge.repo.`date +%Y%m%d`
vi /etc/yum.repos.d/rpmforge.repo

PHP5.4をインストール

デフォルトでは、リポジトリは使用されませんので、
–enablerepo=epel,remi,rpmforgeを付けて、インストールします。

yum --enablerepo=epel,remi,rpmforge install php

リポジトリの中でバージョンの一番高いものがインストールされます。

参考

http://dqn.sakusakutto.jp/2013/02/centos6_yum_remi……forge.html


 
5月
26
2012

Cookieを使って重複投票を防ぐ方法(PHP)

投票サイトを作るときに、1人で何回も重複投票ができないようにする方法は、
・IPアドレスを使用する方法
・ログイン認証する方法
・クッキーを利用する方法
などがありますが、
ここでは、クッキーを利用する方法について、そのメリット、デメリット、実装方法を紹介します。


 
5月
25
2012

PHPでよりユニークなIDを発行する方法

rand()、uniqid()、md5()の関数を使用することで、
よりユニークなIDを発番する方法を紹介します。


 
9月
3
2011

PHPでRSSを簡単に生成できるライブラリを紹介!

PHPでRSSフィードを生成する場合、どのようにしていますか?
XMLを直接作ることもできますが、
ここでは、簡単にRSSを作成することができるPHPライブラリ 「 Feedcreator 」 を紹介します。


 
6月
15
2011

さくらVPSサーバの環境設定方法

概要

今まで使用してきたお名前.comのVPSサーバの契約期間が終わるため、以前より気になっていたさくらのVPSサーバに乗り換えることにしました。

契約したのは、980円/月でVPNサーバが使用できる格安なプランです。
スペックは、メモリ:512MB、ディスク容量:20GB、CPU:2コア、ネットワーク:共用100Mbpsです。


 
6月
13
2011

log4phpの使い方

概要

みなさんは、どのような方法でログの出力を行っていますか?

PHPでログを出力する方法には、主に次の5通りの方法があります。
ここでは、ログファイルのローテートができ、log4jでも実績のあるlog4phpについて、
使い方を説明します。

  1. error_log()関数
  2. syslog()関数
  3. PEAR::log
  4. log4php
  5. Zend_Log

 
6月
12
2011

【正規表現】 preg_replace()を使用して、URL文字列をHTMLのリンク形式に置換する方法

記事などに含まれるURLを、aタグで囲むことなく、プログラムで自動的にHTMLのリンク形式に置換する方法を紹介します。


 
5月
29
2011

Yahoo! Web API テキスト解析のキーフレーズ抽出APIを使用して、自動でタグを抽出!

概要

Yahoo!には、様々なWeb APIが公開されていますが、その中でも実用的なキーフレーズ抽出APIについて紹介します。
このキーフレーズ抽出APIは、タイトルや記事などのテキスト情報から、特徴的なキーワードを抽出することができるWeb APIで、これを利用すれば、自動的にタグ付けをすることができ大変便利なAPIです。

WebAPIを使用するには、Yahoo!アカウントより、アプリケーション登録を行う必要があります。アプリケーション登録を行うと、アプリケーションIDが割り当てられますので、データを取得する際には、このアプリケーションIDを使用します。


ページ:12»
このエントリーをはてなブックマークに追加