LoginSignup
0
2

More than 5 years have passed since last update.

Windows10+Virtual Box+CentOS7で環境構築(Laravel+MySQL) パート2

Posted at

※自分用メモ

■開発環境
下記の開発環境を自分のWindows10上に構築します

Windows10 Pro 64bit
Virtual Box 5.1.24 r117012 (Qt5.6.2)
CentOS Linux release 7.3.1611 (Core)
Subversion 1.7.14

mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
PHP 7.1.8 (cli) (built: Aug 2 2017 12:13:05) ( NTS )
Laravel Framework 5.4.32

NetBeans 8.2

■Virtual BoxにCentoOSインストール
※参考URL:
GUI:http://www.enrise-corp.co.jp/2185
CUI:http://qiita.com/100/items/80a899fbaeb1e82b3f67

・VirtualBoxのインストール
    下記URLから自分の環境に合ったWindows用のVirtualBoxをDLしてインストール
    http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp

・CentOSのダウンロード
    下記にアクセスしDVD ISOをクリックしてCentOSをDL
    https://www.centos.org/download/

・VirtualBoxマネージャー上の新規タブをクリック
・名前とオペレーティングシステム
    名前:CentOS7
    タイプ:Linux
    バージョン:Red Hat(64-bit)
・メモリーサイズ
    1024MB
・ハードディスク
    仮想ハードディスクを作成するにチェック
・ハードディスクのファイルタイプ
    VDIにチェック
・物理ハードディスクにあるストレージ
    固定サイズにチェック
・ファイルの場所とサイズ
    20GB

・VirtualBoxマネージャーから先ほど作成した仮想OSを選択し起動
・起動ハードディスクを選択から先ほどDLしたCentOSイメージを選択
・Install CentOS Linux7を選択してEnter
・言語選択:日本語を選択して続行ボタンを押す
・ソフトウェアの選択
    左側のベース環境のGNOME Desktopを選択してから
    右側の選択した環境のアドオンのGNOMEアプリケーションを選択して完了ボタンを押す
・インストールの概要
        ネットワークとホスト名をクリックして下記を設定後、完了ボタンを押す
            イーサネットをオン
            ホスト名:localhost(なんでも)を入力して適用ボタンを押して完了ボタンを押す
・インストール先
    パーテーション構成
        パーテーションを自動構成するにチェックして完了ボタンを押す
・インストール開始
    rootパスワードの設定をしたら完了ボタンを押す
    ユーザーの作成
        ユーザー名:develop
        パスワード:develop
・インストール後、再起動ボタンを押す
    ライセンス契約に同意する
    ログイン
    すべて日本語のデフォルトで次へ進めていく
    オンラインアカウントはスキップ

・VirtualBoxのデバイスタブ→Guest Additions CDイメージの挿入をクリック→画面が開くので実行するボタンを押す
・VirtualBoxのファイルタブ→閉じるをクリック→画面が開くので仮想マシンの電源オフにチェックを入れOKボタンを押す
・VirtualBoxマネージャーの設定タブ→一般→高度を選択→下記を設定しOKボタンを押す
    クリップボードの共有:双方向
    ドラッグ&ドロップ:双方向
・VirtualBoxを起動→ログイン
・端末(Terminal)を起動→端末タブ→設定→ショートカット→お好みで設定

・VirtualBoxマネージャーの設定→ネットワーク
    アダプター1→割り当て→NAT
    アダプター2→割り当て→ホストオンリーアダプター

※下記はすべてrootで実行しています

・端末(terminal)を起動
・suでrootになる
・selinux無効化
    vi /etc/selinux/config
    SELINUX=disabled
・ネットワーク設定(CentOSインストール時にネットワークの設定をしていればOK)
    vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
        下記に変更しただけでOKだったが要調査
        ONBOOT=yes

    systemctl stop NetworkManager
    systemctl disable NetworkManager.service
    /etc/init.d/network restart

・パッケージ最新化
    yum update
    yum install kernel-devel gcc
    reboot

・sudoユーザーを追加
    visudo
        %wheel  ALL=(ALL)   ALLの行のコメントを外して保存
    usermod -G wheel develop
    groups developでグループ確認
    exit
        developユーザーへ切り替え
    whoami
        ログインしているアカウント確認
    sudo pwd
        sudoが使用できるか確認

・その他、インストール
    yum install -y git vim

・vi、vimの設定
    vi /root/.vimrc
        set number
        set tabstop=4
    保存して終了
    source /root/.vimrc

・リポジトリのインストール
    yum install epel-release.noarch
    yum install epel-release
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    vim /etc/yum.repos.d/epel.repo
    [epel]の中身をenable=1をenable=0に変更

・phpのインストール(7.1.Xの最新)
    ※参考URL:https://centosinstall.com/centos/centos7/php7

    yum install -y --enablerepo=remi,remi-php71 php php-devel php-cli php-common php-fpm php-mbstring php-pdo php-gd php-mysqlnd php-intl php-fpm php-xml php-pear php-igbinary php-pecl-apcu php-soap php-xmlrpc
    php -v

・vi /etc/php.ini
    default_charset = "UTF-8"
    display_errors = On
    date.timezone = "Asia/Tokyo"
    mbstring.language = Japanesevim /e  
    mbstring.internal_encoding = UTF-8
    mbstring.http_input = UTF-8
    mbstring.http_output = pass
    mbstring.encoding_translation = Off
    mbstring.detect_order = UTF-8
    mbstring.substitute_character = none

・Apacheインストール
    yum install httpd
    下記いずれかで起動
    service httpd start
    apachectl start

・Apacheのhttpd.confの設定
    /etc/httpd/conf/httpd.conf内の一番下に下記を追加
    #php
    <IfModule prefork.c>
        LoadModule php7_module modules/libphp7.so
    </IfModule>

    <VirtualHost *:80>
        ServerName www.dev-php01.com
        DocumentRoot /data/www/dev_test/public
        Options FollowSymlinks
        <Directory "/data/www/dev_test/public">
            Options FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>

    設定後、再起動

・Apacheの自動起動設定
    chkconfig httpd on
    systemctl is-enabled httpd

・WindowsPCのhosts設定
    仮想マシンのIPアドレスとVirtualHostのServerNameを設定
    192.168.56.102  local-test1.com

・composer経由でインストールするためcomposerをインストール
    curl -sS https://getcomposer.org/installer | php
    パスが通っている場所にリネーム
    mv composer.phar /usr/local/bin/composer

・laravelのインストール
    ※-prefer-dist: リリース版、安定版をダウンロードします。
    composer create-project laravel/laravel --prefer-dist project1

・デバッガーのインストール
    ※参考URL:http://qiita.com/LowSE01/items/d0333fc30e433e68acfd
    composer require phpunit/phpunit --prefer-dist
    composer require barryvdh/laravel-debugbar

・メールのドライバーのインストール
    composer require guzzlehttp/guzzle

・環境設定
    cd プロジェクト名

    下記は.envがあればしなくてもいい
    cp .env.example .env

    .env 内の APP_KEY にアプリケーション固有のランダムストリングが設定
    ユーザーのセッション情報やパスワードの暗号化等をセキュアにする為に必要
    php artisan key:generate

    .env内の設定
        環境に合わせて設定
        DB_CONNECTION=mysql
        DB_HOST=127.0.0.1
        DB_PORT=3306
        DB_DATABASE=laravel_db
        DB_USERNAME=laraveluser
        DB_PASSWORD=laravel5963

    config/app.php内の設定
        'timezone' => 'Asia/Tokyo',
        'locale' => 'ja',

    config/database.php内の設定
        ※第一引数に.envで設定した値が使用され、なければ第二引数が使用される

        環境に合わせて設定
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_general_ci',

    権限の設定
        strageとbootstrap/cacheディレクトリにread, write 権限が必要
        chown -R ユーザー名:グループ名 storage
        chown ユーザー名:グループ名 bootstrap/cache

        例:
        chown -R apache:apache [project-name]
        chmod -R 777 [project-name]


・MySQL5.7のインストール
    ※参考URL:http://qiita.com/yoshikyoto/items/957642f595adb873bb2b

    CentOS 7 にはmariaDBがデフォルトが入っていることがあり、
    MySQLと競合を起こすことがあるので削除したほうがいいとのこと。
    yum remove mariadb-libs
    rm -rf /var/lib/mysql/

    要求: libsasl2.so.2()(64bit)と表示されるので下記をインストール
    yum localinstall ftp://195.220.108.108/linux/mageia/distrib/3/x86_64/media/core/updates/lib64sasl2-2.1.25-12.1.mga3.x86_64.rpm

    yum localinstall http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm

    ※インストールできないので下記を実行
    ※参考URL:https://adan.jp.net/blog/program/1235
    yum-config-manager --disable mysql56-community
    yum-config-manager --enable mysql57-community-dmr

    yum -y install mysql-community-server
    mysql --version

・MySQLの初期化
    mysqld --user=mysql --initialize

・MySQLの自動起動
    systemctl enable mysqld.service

・MySQLの起動・終了確認
    systemctl start mysqld.service
    systemctl stop mysqld.service
    systemctl restart mysqld.service

・MySQLの初期rootパスワードについて
    初回起動時にrootの初期パスワードが自動設定される。
    ログに出力されるので確認する。
    cat /var/log/mysqld.log | grep "temporary password"

    rootユーザのパスワードを再設定
    ※参考URL:http://qiita.com/ksugawara61/items/d8d69b7d57a3afcef980

・MySQLのrootパスワード変更
    mysql -uroot -p
    set password for root@localhost=password('root');

・MySQLのDB作成
    rootでmysqlにログインしてDBを作成
    create database laravel_db default character set utf8;

    データベースへの全てのアクセス権限を持った、新規ユーザーlaraveluserを登録
    grant all privileges on laravel_db.* to laraveluser@localhost identified by 'laravel5963';

・DB接続確認
    cd 作成したlaravelプロジェクトのフォルダ
    php artisan migrate

・firewallの許可追加
    firewall-cmd --permanent --add-port=80/tcp
    firewall-cmd --permanent --add-port=22/tcp
    firewall-cmd --permanent --add-port=8000/tcp

    firewall確認
    firewall-cmd --reload

    firewallの設定確認
    firewall-cmd --list-all

■動作確認
service httpd start

Windowsのhosts設定
    IPアドレスはifconfigコマンドでenp0s8の部分
    local-test2.comはhttpd.confで設定したVirtualHost
    192.168.56.103  local-test2.com

ブラウザのアドレスバーにlocal-test2.comを入力しlaravelのページが表示されればOK

■SVNの設定
※参考URL
http://qiita.com/SierSetup/items/c47b861dc563919c94ac
http://linuxserver.jp/vcs/subversion/svn%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
https://www.server-world.info/query?os=CentOS_7&p=subversion

subversionインストール
yum install -y subversion
svn --version --quiet

vi /etc/sysconfig/svnserve
    ※Apacheで動かす場合は下記の設定は必要ない
    修正前
    OPTIONS="-r /var/svn/"
    修正後
    OPTIONS="-r /data/svn/"

vi /data/svn/conf/svnserve.conf
    ※Apacheで動かす場合は下記の設定は必要ない
    修正前
    # anon-access = read
    修正後
    anon-access = write

yum install -y mod_dav_svn

vi /etc/httpd/conf.d/subversion.conf
<Location /data/svn>
    DAV svn
    SVNPath /data/svn
</Location>

firewall-cmd --list-all
firewall-cmd --permanent --add-port=3690/tcp
firewall-cmd --reload
firewall-cmd --list-all
systemctl enable svnserve.service
systemctl start svnserve.service
systemctl status svnserve.service

リポジトリ作成
mkdir /data/svn/
svnadmin create /data/svn/

管理用ディレクトリ作成
svn mkdir --parents file:///data/svn/project1/trunk -m 'create'
svn mkdir --parents file:///data/svn/project1/tags -m 'create'
svn mkdir --parents file:///data/svn/project1/branches -m 'create'

既存のファイルのインポート
    元ファイル保存場所:/var/www/project/project1
    インポート先:/data/svn/project1/trunk
    svn import /var/www/project/project1 file:///data/svn/project1/trunk -m 'import'

chown -R apache:apache /data/svn
serice httpd restart

動作確認
サーバーIP:192.168.56.103
http://192.168.56.103/svn/

あとはローカルの作業ディレクトリにチェックアウト

■NetBeansの設定

プロジェクトの作成
    →ファイル
    →新規プロジェクト
    →カテゴリのPHPを選択
    →プロジェクトの既存のソースを使用するアプリケーションを選択して次へ
    →ソース・フォルダの参照から管理したいフォルダを選択
    →プロジェクト名を入力
    →PHPのバージョンをPHP7.0に選択して次へ
    →実行方法をリモートWebサイト(FTP、SFTP)を選択
    →プロジェクトURLを入力
    →リモート接続・アップロードディレクトリ・ファイルのアップロードを設定して終了ボタンを押す
    →左側にプロジェクトが表示されたらプロジェクト名をマウスで右クリック
    →構成を設定→カスタマイズを選択
    →左側のソースを選択→ソース・フォルダをサーバー側のWebルートと合わせる(例:ローカルはtrunk、サーバー側は/data/www/プロジェクト名)
    →ファイルの保存時を保存時に設定

SVNの設定
    →ツール→オプション→チームを選択
    →優先クライアント→SvnKit
    →接続設定の管理
        リポジトリURLの設定
        ユーザーとパスワードの設定
    →左側のプロジェクト名をマウスで右クリック→Subversionを選択
    →コミットを選択→コミットしたいフォルダ・ファイルを選択してコミットボタンを押して登録
0
2
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
0
2