ラベル 開発環境 の投稿を表示しています。 すべての投稿を表示
ラベル 開発環境 の投稿を表示しています。 すべての投稿を表示

2012年8月1日水曜日

VirtualBoxで開発環境構築 CentOSのインストール

参考にさせてもらったサイト


詳しい手順が載ってます
感謝です

centOSのダウンロード


VirtualBoxでの作業

  • 新規の仮想マシンの作成
  • 仮想マシンを起動
    • isoイメージをマウントさせるように設定する
    • 初回起動ウィザードで、起動したときに選択肢がでる
    • 自動的にインストールに移行する
    • メニューバーのデバイス→CD/DVDデバイスの項目でも選択できる

インストール準備(BIOSっぽい設定)

  • インストールに使用する言語
    • japanese
    • 次の画面でtextモードでは英語になるという警告が出るのでOK
  • キーボードタイプ
    • jp106
  • Installation Method
    • HTTP
  • Configure TCP/IP
    • とりあえずDHCPで自動割り当て
    • IPv6 supportのチェックを外す(*をスペース入力で置き換える)
  • HTTP setup
    • web site name:ftp.riken.jp
    • CentOS directory:Linux/centos/5.1/os/x86_64

centOSのインストール

  • ドライブを削除する等の初期化
    • 許可してデフォルトでパーティションを作成させる
  • ネットワークデバイス
    • デフォルト
  • ホスト名を設定
    • DhCP経由で自動設定
  • rootのパスワードの設定
    • メモの保存を忘れずに
  • Desktop-Gnomeのチェックを外す
    • GUIは使わないので
  • 追加でソフトウェアリポジトリを加える
    • 今すぐカスタマイズするにチェック
  • セレクトボックスの開発を選択し以下の項目をチェック
    • レガシーなソフトウェアの開発
    • 開発ツール
    • 開発ライブラリ
  • 以上の設定を終えればインストールに入る
    • この作業は数分かかる
    • インストール成功後に自動的に再起動される
    • このときデバイスにネットインストールisoが選択されてる状態だともう一度インストールしようとするようだ
    • メニューバーのデバイス→CD/DVDデバイスの項目でisoイメージを選択解除できる
完了!

2012年7月31日火曜日

VirtualBoxで開発環境構築 VirtualBoxのインストール

インストールするアプリケーション

  • VirtualBox
  • CentOS
  • Apache
  • symfony

参考にさせてもらったサイト


詳しい手順が載ってます
感謝です

VirtualBoxのダウンロード

  • 公式サイトでVirtualBoxをダウンロード
  • ダウンロードしたファイルを実行
    • インストールウィザードでsetupする
    • 今回、最新版をインストールしようとしたら失敗した(理由不明)ので3.2をインストールした

VirtualBoxで開発環境構築 CentOSのインストール につづく

2012年4月30日月曜日

2012年04月30日 講義057日目

2012年04月30日
講義057日目
------------------------------1H------------------------------
★VMware
●OSの消し方
・ユーザのドキュメントにあるMy Virtual Machinesフォルダ内の目的のOS名の付いたフォルダを削除する
・VMware
●時間の同期
・自動同期の設定
[root@localhost ~]# ls /var
ntpフォルダがあるか確認
・なければ作る
[root@localhost ~]# mkdir /var/ntp
・手動で同期
[root@localhost ~]# /usr/sbin/ntpdate ntp.jst.mfeed.ad.jp
30 Apr 10:28:53 ntpdate[6260]: step time server 210.173.160.57 offset 362134.230662 sec
[root@localhost ~]# date
2012年  4月 30日 月曜日 10:29:00 JST
・[root@localhost ~]# vi /var/ntp/ntpdata.sh

#!/bin/sh
/usr/sbin/ntpdata ntp.jst.mfeed.ad.jp > /dev/null

> /dev/null  は実行結果を画面に出さずに消す命令をリダイレクトしてる

・[root@localhost ~]# crontab -l
定期的に実行させる -lでcronのリストを表示
#*/1 * * * * /bin/bash /home/nishi/datemake.sh
・[root@localhost ~]# crontab -e
viで開かれるので
*/5 * * * * /var/ntp/ntpdate.sh
の記述を追加
5分ごと 毎時 毎日 毎月 毎曜日「/var/ntp/ntpdate.sh」を動かすと言う意味
VMの性質上5分ごとに時間あわせをしてる、普通のサーバは一日一回とかでもいいんじゃね?的な
・ファイル名を間違えたらmvコマンドで書き換える
[root@localhost ~]# ls -l /var/ntp
合計 4
-rw-r--r-- 1 root root 60  4月 30 10:42 ntpdata.sh
[root@localhost ~]# mv /var/ntp/ntpdata.sh /var/ntp/ntpdate.sh
・[root@localhost ~]# chmod 700 /var/ntp/ntpdate.sh
書き込み権限を変更
・[root@localhost ~]# view /var/spool/mail/root
You have mail in /var/spool/mail/root
メールを見ることができる
:qで抜ける
------------------------------2H------------------------------
★VMware
●phpmyadminをインストール
・FFFTPでサーバへ移動する
zipファイルをドラック&ドロップ
・ユーザでサーバにアクセス
・[nishi@localhost ~]$ unzip phpMyAdmin-3.5.0-all-languages.zip
unzipコマンドで解凍する
・[nishi@localhost ~]$ mv phpMyAdmin-3.5.0-all-languages phpmyadmin
短い名前にリネームする
・
vhostに登録
・8yy
8行コピー(ヤンク)する
・p
ペーストされる
・phpmyadmin用に書き換える
<VirtualHost *:80>
    ServerName phpmyadmin.com
    DocumentRoot /home/nishi/phpmyadmin
    <Directory "/home/nishi/phpmyadmin">
        AllowOverride All
        Options -Includes -ExecCGI
    </Directory>
・hostsファイルの書き換え
SwitchHostでphpmyadmin.comを作成
・[root@localhost ~]# /etc/init.d/httpd restart
再起動
httpd を停止中:                                            [  OK  ]
httpd を起動中:  
アパッチを再起動させた
●eclipseの再設定の方法
リモート接続のエクスプローラで該当の接続を右クリックして、
「パスワードのクリア」で再度ID/passが入力できる
プロパティから接続先IPアドレスの変更ができる
root内のファイルをいじるのは危険なのでマイ・ホームを使う
------------------------------3H------------------------------
★symfony
●symfonyコマンド
基本symfonyコマンドは下にsymfonyで作ったフォルダが存在するフォルダに移動してで実行する
・symfony cc
キャッシュのクリアを行う。設置ファイル変更後によく実施する
・symfony fix-perms
プロジェクト下のアクセス制限を正常にする
●symfonyプロジェクトを作成
・外部からのアクセスを受け取るディレクトリ
プロジェクト名/web
symfonyでは上記の配下がURLでのルートパスになる
そのため、vhostのDocumentoRoot等はwebを指定する
・追加する
<VirtualHost *:80>
    ServerName sftest.com
    DocumentRoot /home/nishi/sftest/web
    <Directory "/home/nishi/sftest/web">
        AllowOverride All
        Options -Includes -ExecCGI
   </Directory>
</VirtualHost>
・[root@localhost ~]# vi /etc/httpd/conf.d/httpd-vhost.conf
[root@localhost ~]# /etc/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]
・SwitchHostを編集する
sftest.comを登録する
------------------------------4H------------------------------
★symfony
●アプリケーションを作成
・symfony init-app front
アプリケーションを作成するsymfonyコマンド
frontアプリケーションを作成する
アプリケーション名は任意で変えられるが、一番最初に作成するアプリケーションはfrontにしておくと良い
●モジュールを作成
・symfony init-module front default
frontアプリケーション下にdefaultモジュールを作成する
モジュール名も任意に変えられるが、
アプリケーション下に最初に作成するモジュールはdefaultが良い
●symfonyの構成を作成する基本的な流れ
・symfony init-pro
プロジェクトを作る
・symfony init-app front
アプリケーションを作る
・symfony init-mod front default
モジュールを作る
●indexSuccess.php
/apps/front/modules/default/templates/indexSuccess.php
「templates」ディレクトリの下のファイルはView用
htmlのタグや文言が書かれる
●actions/actions.class.php
・「actions/actions.class.php」には
テンプレートに渡すデータやロジックが書かれる
smartyでのindex.phpのような場所になる
class defaultActions extends sfActions
{
  /**
   * Executes index action
   *
   */
  public function executeIndex()
  {
      return sfView::SUCCESS;  ←追加
    //$this->forward('default', 'module');  ←コメントアウト
  }
}
●inputFormSuccess.phpの作成
・actions/actions.class.phpに追加
  public function executeInputForm()
  {
      return sfView::SUCCESS;
  }
・/templates/にinputFormSuccess.phpを作成
何か記述してみて、http://sftest.com/default/inputForm/で表示してみるテスト
●executeIndex メソッド、およびindexSuccess.phpには、トップp-時の情報が書かれるのが基本
●アクション
executeIndex:indexアクション
executeInputForm:inputFormアクション
sftestプロジェクトのトップページは
「frontアプリケーションのdefaultモジュールのindexアクション」です
------------------------------5H------------------------------
★symfony
●テンプレート側へのデータのアサイン
$this->変数名 でアサインし。テンプレート側では$変数名で使える
●GETやPOSTで送られてきたデータを受け取るには
仮に「id」という添え字が付けられたデータを受け取りたいなら
$hoge = $this->getRequestParameter("id");
・複数の値を取得したい場合は/で区切って表示
今までのGETでの渡し方
?id=あああ&name=いいい
symfonyでのPOST、GETの渡し方
id/あああ/name/いいい
      echo $this->getRequestParameter("id");
      echo $this->getRequestParameter("name");
●ページのソースを見てみる
・layout.php
metaタグやbodyタグ作ってくれているファイル
-----------------------------memo------------------------------

2012年4月27日金曜日

2012年04月26日 講義056日目

2012年04月26日
講義056日目
------------------------------1H------------------------------
★サーバ設定の復習
●SELinux
・firewallの設定
ポートを空けたりとかする
●色々とインストールする
・yumコマンド
インストールするためのコマンド
・ランレベルの設定
Linuxの動作モード
動作モードによって起動されるプログラムを設定する。基本2-5
・service --status-all
実行中のプログラムを全部表示させる
httpdとmysqldとvsftpdが動いている事を確認
・文字コードの設定
・symfonyのインストール
●NTP(Network Time Protocol)
・cron登録用のシェルを作成
・ファイル権限設定
・自動起動設定
●シェルスクリプト
サーバを自動で動かしたい時に書いておくもの
------------------------------2H------------------------------
★サーバ設定の復習
------------------------------3H------------------------------
★サーバにPHPで作ったwebサイトを移植する
●PHPファイル
・BBSをzipで圧縮
・FFFTPで圧縮したBBS.zipをサーバに上げる
●mysqlファイル
・コマンドプロンプトでデータベース.sqlをローカルにコピーする
・FFFTPでDBごとサーバに上げる
------------------------------4H------------------------------
★サーバにPHPで作ったwebサイトを移植する
●PHPファイルの解凍
・unzip bbs.zip
zipファイルを解凍する
・mysql -u ユーザ名 -p DB名 < ファイル名.sql
mysqlにDBをインポートする
●eclipseでリモート接続
eclipseのリモートシステムエクスプローラを使い、PHPファイルを編集する
------------------------------5H------------------------------
★サーバ上のPHPファイルを編集する
●修正
・localhostにとばされる部分をブラウザに紐付けたサーバ名に変更する
------------------------------6H------------------------------
★移行デバック
●ini_set("display_errors","On");
でエラーを出すようにしてデバック
★symfonyの準備
[nishi@localhost ~]$ mkdir sftest
[nishi@localhost sftest]$ symfony -V
symfony version 1.0.20
[nishi@localhost sftest]$ symfony init-project sftest
>> dir+      /home/nishi/sftest/plugins
>> dir+      /home/nishi/sftest/apps
>> dir+      /home/nishi/sftest/config
>> file+     /home/nishi/sftest/config/properties.ini
>> file+     /home/nishi/sftest/config/schema.yml
>> file+     /home/nishi/sftest/config/config.php
>> file+     /home/nishi/sftest/config/propel.ini
>> file+     /home/nishi/sftest/config/databases.yml
>> file+     /home/nishi/sftest/config/rsync_exclude.txt
>> dir+      /home/nishi/sftest/batch
>> dir+      /home/nishi/sftest/web
>> dir+      /home/nishi/sftest/web/uploads
>> dir+      /home/nishi/sftest/web/uploads/assets
>> file+     /home/nishi/sftest/web/.htaccess
>> dir+      /home/nishi/sftest/web/js
>> dir+      /home/nishi/sftest/web/css
>> file+     /home/nishi/sftest/web/css/main.css
>> dir+      /home/nishi/sftest/web/images
>> file+     /home/nishi/sftest/web/robots.txt
>> file+     /home/nishi/sftest/symfony
>> dir+      /home/nishi/sftest/cache
>> dir+      /home/nishi/sftest/data
>> dir+      /home/nishi/sftest/data/model
>> dir+      /home/nishi/sftest/data/sql
>> dir+      /home/nishi/sftest/lib
>> dir+      /home/nishi/sftest/lib/model
>> dir+      /home/nishi/sftest/doc
>> dir+      /home/nishi/sftest/log
>> dir+      /home/nishi/sftest/test
>> dir+      /home/nishi/sftest/test/bootstrap
>> file+     /home/nishi/sftest/test/bootstrap/unit.php
>> file+     /home/nishi/sftest/test/bootstrap/functional.php
>> dir+      /home/nishi/sftest/test/unit
>> dir+      /home/nishi/sftest/test/functional
>> tokens    /home/nishi/sftest/config/properties.ini
>> tokens    /home/nishi/sftest/config/propel.ini
>> tokens    /home/nishi/sftest/config/propel.ini
>> tokens    /home/nishi/sftest/config/config.php
>> chmod 777 /home/nishi/sftest/cache
>> chmod 777 /home/nishi/sftest/log
>> chmod 777 /home/nishi/sftest/web/uploads
>> chmod 777 /home/nishi/sftest/symfony
>> chmod 777 web/uploads/assets
-----------------------------memo------------------------------


2012年4月25日水曜日

2012年04月25日 講義055日目

2012年04月25日
講義055日目
------------------------------1H------------------------------
★Firewallの設定
●最初に設定
・iptables -P INPUT ACCEPT
外部からのアクセスを許可
・iptables -P FORWARD DROP
次にデータを渡す
・iptables -P OUTPUT ACCEPT
外部にデータを渡す
・iptables -F
上のコマンドiptablesのルールの設定を反映させるためのコマンド
●icmp(ping) と自端末からの入力を許可
・iptables -A INPUT -p icmp -j ACCEPT

・iptables -A INPUT -i lo -j ACCEPT

●Web、FTP、POP、smtp による接続を許可
・iptables -A INPUT -p tcp --dport 80 -j ACCEPT

・iptables -A INPUT -p tcp --dport 21 -j ACCEPT

・iptables -A INPUT -p tcp --dport 110 -j ACCEPT

・iptables -A INPUT -p tcp --dport 25 -j ACCEPT

●ssh による接続を許可
・iptables -A INPUT -p tcp --dport 22 -j ACCEPT

●TCP の接続開始と応答、FTP データなどを許可
・iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

●ルールをセーブする
・/etc/init.d/iptables save
●cat /etc/sysconfig/iptables
設定の確認
●reboot
再起動するコマンド
------------------------------2H------------------------------
★Firewallの設定
●SELinuxを停止させる
他のプロセスに影響を及ぼさないようにする機能
・vi /etc/sysconfig/selinux
SELINUX=enforcing
↓
SELINUX=disabled
書き換える
・reboot
再起動
●アパッチのインストール
・getenforce
先ほどの変更がdisableであることを確認
・yum -y install httpd
httpdはアパッチのこと
●eclipseでサーバにリモート接続する
ウィンドウ→パースペクティブを開く→その他→リモートシステムエクスプローラ
リモートシステムタブの空白を右クリック→新規接続
puttyの設定と同じように、ホスト名にサーバのIPアドレスを入力
接続先の名前を設定して完了
・パスワードやユーザ名の入力を求められるので、CentOSで入力したものを使う
------------------------------3H------------------------------
★各種アプリケーションのインストール
●apache
●mysql
●PHP
●vsftpd
●ntp
------------------------------4H------------------------------
★アプリケーションのインストール
●
・ランレベル
[root@localhost ~]# /sbin/chkconfig httpd on
[root@localhost ~]# /sbin/chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
0:off   1:off   2:on    3:on    4:on    5:on    6:off
●apacheの起動
☆apacheの設定ファイルを書き換えた後などにも「restart」で使う
[root@localhost ~]# /etc/init.d/httpd start
httpd を起動中:                                            [  OK  ]
☆再起動させたい場合は
/etc/init.d/httpd restart
●Mysqlの起動
マイコンピュータからローカル環境のmysqlのmy.iniの
default-character-set = utf8
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
をコピー
・vi /etc/my.cnf
を貼り付け
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

default-character-set = utf8
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8

# To enable the InnoDB Plugin, uncomment the 2 next lines
#ignore-builtin-innodb
#plugin-load=innodb=ha_innodb_plugin.so

# To enable InnoDB-related INFORMATION_SCHEMA tables
# Join the following options to above directive
  ;innodb_trx=ha_innodb_plugin.so
  ;innodb_locks=ha_innodb_plugin.so
・[mysqld_safe]の後に以下を書き込む
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqldump]
default-character-set = utf8
・自動起動設定
[root@localhost ~]# /sbin/chkconfig mysqld on
[root@localhost ~]# /sbin/chkconfig  --list mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@localhost ~]# /etc/init.d/mysqld start
------------------------------5H------------------------------
★アプリケーションのインストール
●コマンド入力でバージョンを確認
[root@localhost ~]# mysql -V
mysql  Ver 14.14 Distrib 5.1.58, for redhat-linux-gnu (i686) using readline 5.1
[root@localhost ~]# php -v
PHP 5.2.17 (cli) (built: Aug 31 2011 17:06:47)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
[root@localhost ~]# symfony -V
symfony version 1.0.20
●vsftpの起動
・自動起動設定
[root@localhost ~]# /sbin/chkconfig vsftpd on
[root@localhost ~]# /sbin/chkconfig --list vsftpd
vsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@localhost ~]# /etc/init.d/vsftpd start
vsftpd 用の vsftpd を起動中:   
●ntp  (時間合わせ)
/usr/sbin/ntpdate ntp.jst.mfeed.ad.jp
●FFFTPにサーバの登録
puttyを参考に
------------------------------6H------------------------------
★サーバでPHPファイルを実行
●phpファイルを実行
・コマンドラインから直接実行して確認
[nishi@localhost ~]$ /usr/bin/php ./test.php
test
●hostsの編集
・ブラウザから確認
・ローカル側の設定
firefoxのswitchhostでアドレス名とサーバIPアドレスを紐付ける
・サーバ側の設定
[root@localhost ~]# cd /etc/httpd/conf
[root@localhost conf]#
・/etc/httpd/conf.dにファイルを作成
[root@localhost httpd]# cd /etc/httpd/conf.d
[root@localhost conf.d]# vi httpd-vhost.conf

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName www.shonanbbs.com
    DocumentRoot /home/nishi/bbs
    <Directory "/home/nishi/bbs">
        AllowOverride All
        Options -Include -ExecCGI
    </Directory>
</VirtualHost>
・再起動
[root@localhost conf.d]# /etc/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中: Warning: DocumentRoot [/home/nishi/bbs] does not exist
                                                           [  OK  ]
・eclipse上でbbsフォルダを作成
phpファイルを作成してhostsファイルで設定したサーバ名を入力し、
ブラウザから表示してみる
●mysqlのユーザを作る
・puttyでサーバのmysqlに接続
[root@localhost conf.d]# mysql -u root
・データベースを作成
mysql> create database study;
Query OK, 1 row affected (0.00 sec)
・ユーザ作成
mysql> GRANT ALL ON *.* TO nishi@"localhost" IDENTIFIED BY "password";
Query OK, 0 rows affected (0.01 sec)

-----------------------------memo------------------------------
サーバ面白い