分からんこと多すぎ

何故か就職できたので技術磨く。一人前の多重線形代数使いを目指しつつ、機械学習、データマイニングをやる

/server/Lesson01

ドットインストールを見ながら、ローカル開発環境を1から構築する。Webサーバ(Apache?)、PHPMySQLを入れる。
いわゆるLAMPの構築。

VirtualBox
Downloads – Oracle VM VirtualBoxから
VirtualBox 4.2.12 for OS X hosts x86/amd64(仮想環境)

Index of /Linux/centos/5/isos/i386から
CentOS-5.9-i386-netinstall.iso(OS)

RedWinder::MacApp::Hosterから
hoster(IPアドレスとURLのヒモ付け)

Cyberduck – FTP, SFTP, WebDAV, Cloud Files & Amazon S3 Browser for Mac & Windows.から
cyberduck(ファイル転送)


  1. VirtualBox
    基本的にデフォルト設定でOK
    仮想マシンの設定が終わったら、設定タブの

    1. ネットワークをブリッジに(パケットループ防止?)

    2. ストレージにOSのイメージを入れる

  2. OSを起動して、適当に設定。OSをもらってくるサーバ設定は以下の通り。

    1. ftp site name : ftp.riken.jp

    2. Cent OS directory : /Linux/centos/5/os/i386

    3. インストールが完了したら、CDを抜いて再起動
      ちなみにMacのPCからインストールディスクをイジェクトするのはマウス左クリック長押し

  3. CentOSの設定をする

    1. yum -y update
      パッケージ一覧の更新(-yは全てyes)

  4. MacOSX側の設定をする
    1. hosterやHostsといったGUIで仮想OSのIPをドメイン名とひもづける
      あるいは/etc/hostsにIP ドメイン名を記述する

    2. ssh root@ドメイン名 でログインする

  5. sshで入った仮想OSの中で環境構築する
    1. useradd admin
      passwd admin
      で適当にユーザ(admin)とadminのパスワードを設定する

    2. usermod -G wheel admin
      adminをwheelに追加
      Gはサブグループ(対義語はイニシャルグループで-g)。wheelは管理者

    3. visudo
      sudoerの設定。sudoerの設定はミスるとえげつないことになる。

      /etc/ssh/ssh_configというファイルのAllows〜を以下のように変更
      ## Allows people in group wheel to run all commands
      %wheel ALL=(ALL) ALL

      ちなみにE437: terminal capability "cm" requiredというエラーが出たためexport TERM=vt100と入力
      TERM変数とはユーザが今どの種類の端末を利用しているのかをプログラムに伝える環境変数
      vt100はすごい原始的なターミナル
      iTerm2を使っているのでexport TERM=xtermでも良い模様?
      $TERMで都度確認すれば良い


    4. yum -y install httpd
      Apacheをhhtpdごとインストール

    5. yum -y install mysqpl-server

    6. sudo yum -y install php53 php53-devel php53-pear php53-mbstring php53-gd php53-mysql

    7. setenforce 0
      デフォルトで起動しているSELinuxというセキュリティ拡張を切る
      これはアクセスできる領域を制限するためのもので、普通は切らない。ていうか切ったら死ぬ。
      rootでもプロセスのアクセス限界を超えることはできないので、強いけどめんどくさい感じ。

    8. vi /etc/sysconfig/selinux
      SELINUX=disable
      と書き換えることで、SELinuxが常時OFFになる。

    9. /sbin/service iptables stop
      とコマンドを打ち込みiptablesを停止する
      iptablesはフィルタリングとアドレス変換をするもので、やっぱり切るともれなく死ねる
      分かりやすい設定俺でも解るIPTABLES

    10. chkconfig iptables off
      細かなサービスの管理をするコマンドchkconfig
      /sbin/chkconfig --listで管理可能なサービス一覧が見れる

    11. /sbin/service httpd start
      /sbin/service mysqld start
      Webサーバとmysqlを立てる

    12. chkconfig httpd on
      chkconfig mysqld on
      httpdとmysqldが起動時に立つように設定する

    13. http://ドメイン名/にMacOSX内のブラウザからアクセスできるのか確認
      mysql -u rootでmysqlに入れるのか確認

    14. chown admin /var/www/html
      htmlをadmin所有のディレクトリに変更

  6. MacOSXCyberduckを起動し設定
    ドメイン名(mylocal)、ユーザ名(admin)、ディレクトリ(/var/www/html)に接続する
    環境設定から、ダブルクリックでファイルを開く
    外部エディタを使用する設定をしておくと便利

以上で設定終了