※自分用メモ
■開発環境
下記の開発環境を自分の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を選択
→コミットを選択→コミットしたいフォルダ・ファイルを選択してコミットボタンを押して登録