スポンサードリンク

2011年9月20日火曜日

アプリケーション開発環境 PHPの導入

Webアプリケーション開発環境を導入する!
まずは、PHP!
Webアプリケーションといえば、PHPらしいので採用!
その、備忘録!

※CentOS6インストール時に導入しておけば楽!
<導入方法>
1.スーパユーザになる
   $su -

2.インストール確認 (アップデート)
#yum -y install php php-mbstring php-pear php-mysql php-gd mysql-devel

※mysql-develは必須なので注意。
もしそれでもPHPでうまく動作しない場合は、設定ファイルの以下を確認すること。
/etc/php.iniのmysqlのホストにlocalhostと明示的にセットしてあげること
/etc/php.iniのmysqlソケットパスに/etc/my.cnfのソケットパスと同じものを明示すること。


3.apache(httpd)の設定変更
  ※スペースが必要なので注意
ServerName localhost:80
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

4.apache(httpd)の再起動
   #service httpd restart

5.PHPファイルをhtml配置ディレクトリに作成し、動作するか確認
   #vi /var/www/html/phpinfo.php
以下をファイルに記載し、保存して閉じる  
<?php
   phpinfo();
?>

6.WebブラウザからアクセスしてPHP情報が出力されればOK
 以上

データベースサーバ(MySQL)の構築

データベースを導入する、その備忘録。

DBは、PostgreSQL と MySQLがフリーで主流のようだ。
MySQLを採用した。

<導入方法>
※MySQLデーモン(サービス)は、mysqldである。

1.スーパユーザになる
   $su -

2.MySQLインストール (と確認)
   #yum install mysql-server

   インストールされている場合は、Package mysql-.... already installed and latest...
    Nothing to doと表示される



3.MySQLバージョンを確認+最新へアップデート
   #rpm -q mysql-server
   #yum -y update mysql-server

4.MySQLを起動する
   # /etc/init.d/mysqld start

   以下画像のように初期化処理後、起動し、準備完了となる。

5.MySQLを自動起動する設定
   # chkconfig mysqld on

6.MySQLに接続する
#mysql -u root













7. MySQLのユーザリストを表示する
  mysql > select user,host,password from mysql.user;
  ※最後の";"が重要なので注意!
















8. root@localhost, root@webserver, root@'127.0.0.1'のパスワードを設定する
 mysql > set password for root@localhost=password('任意のパスワード');
  Query OK...とリプライがある

 mysql > set password for root@webserver=password('任意のパスワード');
  Query OK...とリプライがある

 mysql > set password for root@'127.0.0.1'=password('任意のパスワード');
  Query OK...とリプライがある 


9. 匿名ユーザを削除する
 mysql > delete from mysql.user where user='';
  Query OK...とリプライがある
 ※where=の後ろは、"(ダブルクォーテーション)ではなく' (シングルクォーテーション)

10.任意ユーザの追加
mysql > grant all on *.* to USERNAME identified by 'Password';
※USERNAMEに任意の名前、Passwordに任意のパスワードをセットする

11.(必要あれば)ネットワーク上のアクセスを許可する場合
mysql > grant all on *.* to USERNAME@"192.168.0.%" identified by 'Password' with grant option;

※USERNAMEに任意の名前、Passwordに任意のパスワードをセットする
  192.168.0.セグメントのPCや端末から接続できる。

12. ユーザが正しく作成されたか確認
   select user,host,password from mysql.user;

13.(ファイアウォール有効にしている場合)サーバのポート許可する
    3306 TCP/UDP オープン


14.一度データベースから出る
  mysql > exit

15.データベースに接続できるか確認する
  #mysql -u root -p
  Enter Password > (パスワードを入力)
  ※パスワード設定後は、-pを後ろにつけて接続する必要があることに注意。
     ただし、#mysql -u root -p PASSWORD とパスワードを入力しないこと
  historyに痕跡が残り他人にパスワードがばれてしまうよ。

16.接続確認できたので、データベースから出る
  mysql > exit

17.MySQLの設定ファイルを開き、書き換える
   # vi /etc/my.cnf

   以下セクション・キーを追加する
   ;サーバの文字コードをutf8にする設定
   [mysql]
   default-character-set = utf8
 
   [mysqld]
   character-set-server=utf8

   ;クライアントの文字コードをutf8にする設定
   [client]
   default-character-set = utf8

※PHPをEUC-JPで操作することにしていたため、ujis登録していたが、
   JAVAから登録するときに文字化けしてしまうので、utf8に変更した

設定ファイルを閉じる
  :wq

18.mysqlへ接続
また、データベース作成時点の文字コードにデータベースは設定されてしまうので、
あとから文字コード変更する場合は以下命令でエンコード変更できる。
   alter database データベース名 character set 文字コード; [ENTER]

19.データベースの文字コード設定を確認
show variables like 'char%';











20.character_set_databaseがutf8になっていない場合は、以下を実行
set character_set_database = 'utf8';



21.確認










22.MySQLを再起動する
#service mysqld restart


これで無事MySQL準備完了!

以上

Apache導入

HTTPサーバソフトといえば、"Apache"。

自分の鯖殿にもApacheを導入することにしたので、設定諸々の備忘録。

HTTPサーバとは、Webサーバのこと。
ブラウザでアクセスしたときにホームページなどが表示されたりするのは、
Webサーバが動作しているからです。

技術的に言えば、HTTPプロトコルでやりとりするときに、理解してくれる方なのです。

ソフトウェアは、Apacheなのだけれども、
CentOSでは、httpdという名前になっている。

これは、HTTPのデーモンということだからです。
デーモンとは、サービスのことなのです。

1.まずは、Apacheが導入されているか確認
  $which httpd 
   /usr/sbin/httpd

  導入されているようだ。
/usr/sbin/httpdディレクトリにインストールされているようだ。

2.Apacheのバージョンを確認
   $httpd -v
   Server version: Apache/2.2.15 (Unix)
   Server built: Jul 7 2011 11:30:37

   $/usr/sbin/httpd -vとフルパスを指定してもよい

3.Apacheの設定ファイルを編集する前にオリジナルファイルをバックアップ
   #cp /etc/httpd/conf/httpd.conf_org

4.Apacheの設定ファイルを編集するために開く
   #vi /etc/httpd/conf/httpd.conf

5.ServerNameやその他設定を変更し、保存して閉じる

6.Apacheを再起動する
   #service httpd restart

7. OS起動時に自動起動するようにする
  #chkconfig httpd on

8. 自動起動するようになったか確認
 



7.ブラウザからhttp://localhost または http://(ドメイン名)としてアクセスし、
   Apache2の画面がでればOK

以上

ブログ開始

サーバの魅力に取り憑かれ中。

今までパソコン上でのネイティブなアプリを仕事柄開発していたが、
サーバ上またはウェブ上で動作させれば、OS依存性やバージョンアップに
悩まされないな〜と遅ればせながら気づいた次第。
まずは、土台となるサーバを色々と構築していく予定!

WindowsやMacでどんどんサーバの敷居が下がっていくが、
やはりLinuxで仕組みから学んでいくのがいいと思っている次第。


Webサーバ : Apache
FTPサーバ : Vsftpd
DBサーバ : MySQL and PostgreSQL
WebDAVサーバ : Apache
DLNAサーバ : MediaTomb
DAAPサーバ: mt-daap (通称iTunesサーバ)
などを構築することを想定している。


■サーバ環境
OS: CentOS6 (x86 64bit)
CPU: Intel Core i5
RAM : 4GB
HDD : 160GB

以上