LoginSignup
1
4

More than 5 years have passed since last update.

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

Posted at

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

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4