2015年1月4日日曜日

Linux仮想環境構築(LAMP)

Linux仮想環境構築(ssh接続)の続き
次にLAMPを作ってく
◆LAMPとは
LLinuxオペレーティング・システム
AApacheWebサーバ
MMySQLデータベース
PPHPプログラム言語
の意味。データベース連動型のWebアプリケーションを開発するのに人気の高いオープンソースソフト。定番ソフトの組み合わせ


◆前準備
  1. パッケージ管理を最新
  2. まず最初にパッケージ管理を最新にしておく
    $ sudo yum update
    
  3. おまじない
  4. プログラマあるある(笑)処理が早くなる。
    名前解決の問題なんだけど、今回は関係ないので説明は割愛
    $ sudo vi /etc/resolv.conf
    
    options single-request-reopen # ←コレ追加
    
    ; generated by /sbin/dhclient-script
    nameserver 10.0.2.3
    
  5. ファイヤーウォールを切る
  6. $sudo service iptables stop
    $sudo chkconfig iptables off  # 再起動しても切るようにする
    
  7. yumのカスタム
  8. CentOSはPHP、MySQLは公式では最新のバージョンを取得できない。なので別のパッケージでyumコマンドをカスタムする必要がある。→ epel、remiリポジトリを導入
    コマンド意味
    wget [リンクアドレス]リポジトリのダウンロードコマンド
    rpm -Uvh [パッケージ名]リポジトリのインストールコマンド
    wgetコマンドが使えるかチェック
    $ wget -v
    -bash: wget: command not found  # この表示がでたらwgetが使えない
    $ sudo yum install wget  # なのでwgetをインストールする
    

    • epel導入
    • https://dl.fedoraproject.org/pub/epel/6/x86_64/
      上記URLから「epel-release- (略」で始まる新しそうなパッケージのリンクアドレスを取得。今回の場合は「epel-release-6-8.noarch.rpm」のリンクアドレス
      $ wget https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
      $ sudo rpm -Uvh epel-release-6-8.noarch.rpm
      
      ほかのソフトのインストール時、いろんなパッケージと競合するとめんどいので必要な場合のみepelを有効にするように設定
      $ sudo vi /etc/yum.repos.d/epel.repo
      enabled=0 # 最初は1になってるけど、0に修正
      
    • remi導入
    • http://rpms.famillecollet.com/
      CentOS6なので、このリンクアドレス
      $wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
      $ sudo rpm -Uvh remi-release-6.rpm
      
      remiはデフォルトで「enabled=0」
      なので修正不要

◆Apacheの導入
まず、すでにインストールされているかチェック
$ yum list installed | grep httpd
何も表示されなければインストールされていない。下のコマンド実行
$ sudo yum install -y httpd
$ sudo service httpd start # 起動させる
$ sudo chkconfig httpd on # Linux起動時に自動起動するよう設定
◆PHPの導入
  1. PHP全部インストール
  2. 欲張ってこの辺全部入れる
    パッケージ意味
    phpPHPを使えるようにする
    php-develPHP 拡張を構築するのに必要なファイル
    php-mysqlMySQLを使うためのPHP 拡張ファイル
    php-mbstring多言語(日,中,韓,露,etc..)用PHP 拡張ファイル
    php-gd画像処理(JPEG,PNG,GIF)のPHP 拡張ファイル
    $ sudo yum --enablerepo=remi install -y php php-devel php-mysql php-mbstring php-gd
    
  3. 設定変更する
  4. php.iniファイルを修正
    $ sudo vi /etc/php.ini
    
    (略)
    
    # エラーログを出力するように
    ; Log errors to specified file. PHP's default behavior is to leave this value
    ; empty.
    ; http://php.net/error-log
    ; Example:
    ;error_log = php_errors.log
    ; Log errors to syslog (Event Log on Windows).
    ;error_log = syslog
    error_log = /var/log/php.log  # ←追加
    
    (略)
    
    # 文字の設定
    [mbstring]
    ; language for internal character representation.
    ; http://php.net/mbstring.language
    mbstring.language = Japanese  # ←文頭のセミコロンをとる
    
    (略)
    
    # 文字コードの設定
    ; internal/script encoding.
    ; Some encoding cannot work as internal encoding.
    ; (e.g. SJIS, BIG5, ISO-2022-*)
    ; http://php.net/mbstring.internal-encoding
    ;mbstring.internal_encoding = EUC-JP
    mbstring.internal_encoding=UTF-8 # ←追加
    
    (略)
    
    # 内部文字エンコーディング
    ; http input encoding.
    ; http://php.net/mbstring.http-input
    mbstring.http_input = auto  # ←セミコロンを外す
    
    (略)
    
    # 出力文字エンコーディング
    ; automatic encoding detection order.
    ; auto means
    ; http://php.net/mbstring.detect-order
    mbstring.detect_order = auto  # ←セミコロンを外す
    
    (略)
    
    # phpを使用していることを隠す?ちょっと謎
    expose_php = Off  # ←Offにする
    
    (略)
    
    # 時刻の地域
    [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    ;date.timezone = 
    date.timezone = Asia/Tokyo # 追加する
    
    (略)
    
    
  5. 設定を有効にする
  6. $ sudo service httpd restart
    

◆MySQLの導入
  1. インストール
  2. $ sudo yum install -y --enablerepo=remi mysql-server
    
  3. 設定を変更
  4. my.cnfファイルに設定を追記する
    色がついてる行を追加
    $ sudo vi /etc/my.cnf
    
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    
    character_set_server=utf8
    default-storage-engine=InnoDB
    innodb_file_per_table
    [mysql]
    default-character-set=utf8
    [mysqldump]
    default-character-set=utf8
    
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    略
    
    

  5. 設定を有効
  6. $ sudo service mysqld start
    # mysqlの初期設定
    $ /usr/bin/mysql_secure_installation
    Enter current password for root (enter for none):   # Enter押す
    Set root password? [Y/n] y  # y押す
    New password:  # パスワードを設定 ←!絶対忘れてはいけない!
    Re-enter new password:  # パスワードを再入力
    Remove anonymous users? [Y/n]  # y押す
    Disallow root login remotely? [Y/n] # y押す
    Remove test database and access to it? [Y/n] # y押す
    Reload privilege tables now? [Y/n] # y押す
    # 再起動時も設定を有効
    $ sudo chkconfig mysqld on
    
LAMP完成!
動作確認の方法、便利ツールとかはまた次回!

0 件のコメント:

コメントを投稿