「ServersMan@VPS」にPHP5.3,MySQL5.1,PostgreSQL8 をインストールする

DTI(ドリーム・トレイン・インターネット)が提供中の「ServersMan@VPS
(仮想専用サーバー)を契約してみてPHP5.3,MySQL5.1,PostgreSQL8 をインストールしてみました。

ServersMan@VPS」とは?
初期費用0円
月額料金490円~(今なら2ヶ月無料キャンペーン中)
メモリ:256MB
HDD:10GB

という、とってもお得な仮想専用サーバーです。
料金プランは3種類あって、Entry 、Standard、Proです。
自分は、Standardプランを契約しました。

さて、実際のコマンドですが自分用メモなので凄く簡単にまとめたものになっています。

▼yum
※「–enablerepo=remi」は、PHP、MySQLの最新バージョンを入れる為に必要です。
詳しくは、「PHP5.3 やMySQL5.1 などの最新版をyum でインストールする方法」をご参照下さい。

$ sudo yum --enablerepo=remi install mysql mysql-{server,devel}
$ sudo yum --enablerepo=remi install postgresql postgresql-{server,devel}
$ sudo yum --enablerepo=remi install php php-{devel,gd,mbstring,mcrypt,mysql,pgsql,pear}

▼mysql

$ sudo /sbin/chkconfig mysqld on
$ sudo /etc/init.d/mysqld start

$ /usr/bin/mysql_secure_installation

$ sudo mv /etc/my.cnf /etc/my.cnf.org
$ sudo cp /usr/share/doc/mysql-server-5.1.50/my-medium.cnf /etc/my.cnf

▼postgres

$ sudo /sbin/chkconfig postgresql on
$ sudo /etc/init.d/postgresql start

$ sudo /usr/bin/passwd postgres
$ sudo -u postgres psql template1

▼phpMyAdminのインストール。

$ sudo yum --enablerepo=remi install phpMyAdmin

※インストールすると以下の所にファイル等があります
/etc/phpMyAdmin
/etc/httpd/conf.d/phpMyAdmin.conf
/etc/phpMyAdmin/config.inc.php
/usr/share/phpMyAdmin
/var/lib/phpMyAdmin



$ sudo cp -p /etc/phpMyAdmin/config.inc.php /etc/phpMyAdmin/config.inc.php.org
     ※$cfg['blowfish_secret'] の値を適当な値に書き換えます

$ sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
     ※allow from [IPアドレス]

$ sudo /etc/init.d/httpd restart

▼phpPgAdmin のインストール

$ sudo yum --enablerepo=remi install phpPgAdmin

※インストールすると以下の所にファイル等があります
/etc/phpPgAdmin
/etc/httpd/conf.d/phpPgAdmin.conf
/etc/phpPgAdmin/config.inc.php-dist
/usr/share/phpPgAdmin

$ sudo mv /etc/phpPgAdmin/config.inc.php-dist /etc/phpPgAdmin/config.inc.php
$ sudo /etc/init.d/httpd restart

▼php.iniの変更

$ sudo cp -p /etc/php.ini /etc/php.ini.20100821
$ sudo vi /etc/php.ini
$ diff /etc/php.ini.20100821 /etc/php.ini
> error_log = /var/log-php/php_errors.log
> default_charset = "UTF-8"
> include_path = ".:/usr/share/pear/"
> mbstring.language = Japanese
> mbstring.internal_encoding = UTF-8
> mbstring.http_output = UTF-8
> mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII

$ sudo /etc/init.d/httpd restart

▼CentOSにphpコンパイラのapcをインストール

$ sudo yum --enablerepo=remi install php-pecl-apc
$ sudo /etc/init.d/httpd restart

以上です。

PHPでアップロードされたファイルタイプのチェック方法(fileinfo, mime-type) サンプル編

PHPでアップロードされたファイル形式(拡張子)のチェック方法です。

色々調べた所、PECLのFileinfo 関数というのが良さそうだったのでメモ。

インストール編はこちら

実際のサンプルコード。


<?php
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // return mime type ala mimetype extension

if (!$finfo) {
echo "fileinfo データベースのオープンに失敗しました";
exit();
}

/* 指定したファイルの mime タイプを取得します */
$filename = "/usr/local/something.txt";
echo finfo_file($finfo, $filename);

/* 接続を閉じます */
finfo_close($finfo);
?>

参考はこちら:
http://jp.php.net/manual/ja/ref.fileinfo.php

PHPでアップロードされたファイルタイプのチェック方法(fileinfo, mime-type) インストール編

PHPでアップロードされたファイル形式(拡張子)のチェック方法です。

色々調べた所、PECLのFileinfo 関数というのが良さそうだったのでメモ。

サンプル編はこちら

まずは、インストール。

$ sudo pecl install fileinfo

Build process completed successfully
Installing '/usr/lib/php/modules/fileinfo.so'
install ok: channel://pear.php.net/Fileinfo-1.0.4

次に、iniファイルの新規作成。

$ sudo vi /etc/php.d/fileinfo.ini

extension=fileinfo.so

次に、apacheの再起動

$ sudo /etc/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

最後に、phpinfo()で[fileinfo]の項目があればインストール完了!!