Posted at

VagrantにCentOS6.7+PHP5.6+MySQL5.6+Wordpress4.6をインストールする

More than 1 year has passed since last update.


Vagrantを設置する


  • Vagrantを設置するディレクトリに移動

    ~/dev/centos6 とか

  • VagrantBoxを追加

    vagrant box add centos/6


  • Vagrantを生成

    vagrant init centos/6

    Vagrantfileファイルが生成されるので、編集

    # config.vm.network "forwarded_port", guest: 80, host: 8080



    config.vm.network "forwarded_port", guest: 80, host: 8099

    # config.vm.network "private_network", ip: "192.168.33.10"



    config.vm.network "private_network", ip: "192.168.33.10"

    # config.vm.synced_folder "../data", "/vagrant_data"



    config.vm.synced_folder "./data", "/vagrant"



とかに変更する


  • 共有フォルダのdataフォルダを作る

    mkdir data

  • vagrantを起動

    vagrant up

# Apache2.2をインストール

yum install httpd httpd-devel

- 確認

httpd -v

- 自動起動化

chkconfig httpd on

- 起動

/etc/init.d/httpd start


  • 一旦、動作確認テスト

    vagrantに割り当てたIPアドレスでアクセス

    いつものApacheのテストページが表示される。

/var/www/html

index.html ⇒ 中身は適当

が表示される

```test.php

<?php
phpinfo();
exit;
```

が表示される。

# CentOS6.7にPHP5.6をインストールする


  • EPELリポジトリの追加

    yum install epel-release

  • Remiリポジトリの追加

    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

## PHP5.6をインストール

yum install --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd php-mysql php-common php-cgi php-fpm php-mcrypt

※php-mysqlを入れないと、Wordpressが動かない。


  • インストールの確認

    php --version



  • php.iniを編集(/etc/php.ini)

    date.timezone = "Asia/Tokyo"

    mbsting.language = Japanese

    mbstring.internal_encoding = UTF-8

    mbstring.http_input = UTF-8

    mbstring.http_output = pass

    mbstring.encoding_translation = On

    mbstring.detect_order = auto

    mbstring.substitute_charset = none



最近のCentOSには、MariaDBなるものが入っているけど、

あえてMySQLを入れたい派なので、MySQL5.6を入れる。

MariaDBが入っているか確認

rpm -qa | grep -i mariadb

MariaDBを消す

yum remove mariadb-libs


標準のMySQLは5.1なので、あえて5.6を入れる


  • リポジトリの追加

    yum install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

  • インストール

    yum install mysql-community-server

  • インストール確認

    mysqld -V

  • 自動起動化

    chkconfig mysqld on

  • 起動

    /etc/init.d/mysqld start


MySQLの初期設定


  • mysql_secure_installationを実行する


    • rootのパスワードを設定


    • anonymous ユーザーの削除


    • リモートホストから root ユーザーでログインするのを禁止する


    • testデータベースの削除 (存在する場合)





Wordpressをインストールする

Wordpress日本語(https://ja.wordpress.org/)

にて、ダウンロードする。

linuxだと、wgetコマンドでやると便利。


  • ダウンロード、右のダウンロードボタンのリンクURLをコピー
    ダウンロードするディレクトリにて

    wget https://ja.wordpress.org/wordpress-4.6.1-ja.tar.gz
    を実行。ダウンロードされる。


  • tar.gzを展開


    tar -zxvf wordpress-4.6.1-ja.tar.gz


    展開されたディレクトリごと、まるっとwebで公開しているディレクトリに

    移動する。

    例)mv ./wordpress /var/www/html/wordpress/


    まあ、だいたいこのhtmlディレクトリはRoot様の持ち物だったりして、

    「書き込み権限がないよ」って怒られるけどねw




設定


MySQLの設定

mysql -u root -p

1.Wordpress専用のDBを作る


create database wordpress;

2.ユーザを作る


create user 'wp_user'@'localhost' identified by 'password';

3.ユーザに権限を与える


grant all privileges on wordpress.* to 'wp_user'@'localhost';

4.権限を更新する


flush privileges;

5.DBにアクセス可能か確認


mysql -u wp_user -p


use wordpress


Wordpressを設定

1.configファイルをねつ造w

wp-config-sample.phpwp-config.phpに名前変更

2.wp-config.phpを設定

DB設定

DB_NAME -> wordpress
DB_USER -> wp_user
DB_PASSWORD ->password

認証ユニークキー
AUTH_KEY
SECURE_AUTH_KEY
LOGGED_IN_KEY
NONCE_KEY
AUTH_SALT
SECURE_AUTH_SALT
LOGGED_IN_SALT
NONCE_SALT
8個にランダムな英数字文字列を設定(記号は誤作動するから避けた方がいいかも)


ランダムな文字列の生成


  • linuxで生成しよう!


    mkpasswd


    コマンドでランダムなパスワードが作れる。


  • インストールされてなかったら


    yum install expect


  • 生成のコマンド


    mkpasswd -l 32 -s 0


    32桁の英数字(記号を含まない)


wp-config.phpを保存。

いざ、表示というかwp-admin/install.phpを開く!!!!

で、無事開くことが出来たらおめ。出来なかったらまだまだ下記へ


Wordpressにアクセスできない

apacheのエラーログ(/var/log/httpd/error_log)を見ると

Warning: Unknown: failed to open stream: Permission denied in      

Unknown on line 0 Fatal error: Unknown: Failed opening
required '/var/www/html/wordpress/index.php'
(include_path='.:/usr/share/php:/usr/share/pear') in Unknown
on line 0

なんだがアクセスできないみたい。


ファイルの所有権と実行権限

chown root.root -R ./wordpress

chmod 755 -R ./wordpress


SELinuxさんがブロック

$ getenforce

Enforcing ⇒アクセスブロック中
$ setenforce 1
Permissive ⇒アクセスブロックするが警告するよ

SELinuxを設定してしまえ。(但し、無効化を除く)

/# /var/wwwのラベルの貼り直し

sudo restorecon -R /var/www

で、アクセス可能になる。

....あえて無効化するには、

設定ファイルは、/etc/sysconfig/selinux を
SELINUXに値を設定する。

SELINUX=disabled : 無効にする
SELINUX=Enforcing : SELinuxパーミッションのチェックを行い、アクセスを拒否する
SELINUX=Permissive : SELinuxパーミッションのチェックはするが実際にアクセスの拒否はしない

ここまでやって、あえてwp-admin/install.phpを開く。

タイトル、ユーザ名、パスワード登録となって、Wordpressの管理画面へのログイン画面が表示される。

あとは、Wordpressの専門家へ。

参考

VagrantでCentOS7系の環境を作る(2016年11月版)

http://qiita.com/mesaka/items/74112ef2546db482a3ba

CentOS6/CentOS7にPHP5.6/PHP7をyumでインストール

http://qiita.com/ozawan/items/caf6e7ddec7c6b31f01e

Apache に関する SELinux の設定 (CentOS)

http://qiita.com/100/items/f7f43994568836b4a453

SELinuxを無効にするには

http://park1.wakwak.com/~ima/centos4_selinux0001.html