Laravel Homestead
Laravel Homestead でLaravel5.3の開発環境の構築を行う
Laravelには簡単にLaravel開発環境を構築できる「Laravel Homestead」と呼ばれる、
公式VagrantBoxが用意されている。今回は、Vagrantを用いてLaravel5.3の開発環境の構築を行う。
1. Laravel Homestead のインストールを実行する
Laravel Homesteadの利用には、統合開発環境としてグローバルで環境を共有する方法と、
プロジェクトごとに環境を構築する方法の2種類があり、
それぞれVirtualBoxやVagrantのインストール後に実行する。
Windows環境の軸にコマンドを実行している。
次のコマンドでhomesteadをboxに追加する。
(ネットワーク環境によるが、20分ほどかかる)
Windows環境でgitコマンド使えるようにする必要があるので、
以下サイトよりインストーラーをダウンロードし、exeファイルを実行する。
https://git-scm.com/download/win
vagrant box add laravel/homestead
git clone https://github.com/laravel/homestead.git Homestead
2. Homesteadに含まれるinit.shを実行する
clone実行後、Homesteadに含まれるinit.shを実行。
実行後、ホームディレクトリに.homesteadディレクトリが設置され、
設定ファイルのHomestead.yamlが作成される。C:\Vagrant\Homestead\src\stubs\Homestead.yaml
cd ./Homestead
bash init.sh
3. シェルスクリプトを追加
Homestead.yamlと同じ階層にafter.shを設置して、実行したいスクリプトを記述すると、vagrant環境実行時にHomestead環境に反映される。
今回は、PHPやOSのタイムゾーンを日本時間に設定されるように記述しておく。
≪after.shの内容≫
===========================
#!/bin/sh
sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime
sudo locale-gen ja_JP.UTF-8
sudo /usr/sbin/update-locale LANG=ja_JP.UTF-8
grep '^date.timezone = Asia/Tokyo' /etc/php5/fpm/php.ini
if [ $? -eq 1 ]; then
sudo cat >> /etc/php5/fpm/php.ini << "EOF"
date.timezone = Asia/Tokyo
mbstring.language = Japanese
EOF
fi
===========================
4. vagrant up を実行する
Laravel Homestead環境の構築を実行する
vagrant up
※vagrant up実行時に以下のようなエラーメッセージが表示される
=================================
Bringing machine 'homestead-7' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:
vm:
* The host path of the shared folder is missing: ~/Code
=================================
C:\Users\plus_ の配下に「Code」ディレクトを作成すれば解決する
※これでLaravel開発環境の構築が完了※
VirtualBox Zabbix3.0 エージェント構築
1. Zabbixエージェントの構築
* Zabbixサーバ
統合監視するサーバで、Zabbixエージェントから送信されるデータを収集監視する
IPアドレス ・・・ 192.168.33.12
* Zabbixエージェント(※このサーバーが作業対象)
Zabbixサーバにサーバ稼働情報を送信する
IPアドレス ・・・ 192.168.33.10
2. Zabbix 3.0 のインストール
Zabbixのリポジトリを追加
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum -y install zabbix-agent
yum -y install zabbix-get
Zabbix の yumリポジトリが yum update でアップデートされないように無効化しておく
vim /etc/yum.repos.d/zabbix.repo
[zabbix]
enabled=1
↓
enabled=0
[zabbix-non-supported]
enabled=1
↓
enabled=0
3. zabbix_agentd.conf の編集
# Zabbixサーバからのリモートコマンドを許可
- EnableRemoteCommands=0
+ EnableRemoteCommands=1
# ZabbixサーバのIPアドレスを設定
- Server=127.0.0.1
+ Server=192.168.33.12
# アクティブチェック先。Zabbixサーバを指定しておく
- ServerActive=127.0.0.1
+ ServerActive=192.168.33.12
4. Zabbixエージェントの起動と自動起動設定
systemctl start zabbix-agent
systemctl enable zabbix-agent
5. Zabbixサーバ 疎通テスト
Zabbixサーバ(192.168.33.12)側で以下のコマンドを実行し、
Zabbixエージェント(192.168.33.10)のバージョンが表示されれば疎通OK
zabbix_get -s 192.168.33.10 -k agent.version
3.0.1
VirtualBox Zabbix3.0 インストール構築
2016年2月16日、Zabbix3.0がリリースされました。
今回のバージョンアップでは、WEBインターフェースデザインの一新、通信の暗号化、予測検知機能など、100以上の機能改善が行われました。
5 What's new in Zabbix 3.0.0 | Zabbix Documentation 3.0
1. Zabbix 3.0 のインストール
Zabbixのリポジトリを追加
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese
yum -y install zabbix-agent
yum -y install zabbix-get
Zabbix の yumリポジトリが yum update でアップデートされないように無効化しておく
vim /etc/yum.repos.d/zabbix.repo
[zabbix]
enabled=1
↓
enabled=0
[zabbix-non-supported]
enabled=1
↓
enabled=0
2. Zabbix3.0 用のDBを構築
mysql -u root -p;
create database zabbix default character set utf8;
grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
flush privileges;
exit;
Zabbix3.0 用のDBスキーマとデータをインポート
cd /usr/share/doc/zabbix-server-mysql-3.0.1/
zcat create.sql.gz | mysql -uroot -p zabbix
3. Zabbixサーバの設定と起動
vim /etc/zabbix/zabbix_server.conf
# DBPassword=
↓
DBPassword=password
4. Apacheの設定
vim /etc/httpd/conf.d/zabbix.conf
# php_value date.timezone Europe/Riga
↓
php_value date.timezone Asia/Tokyo
5. Zabbixサーバの起動と自動起動設定
systemctl start zabbix-server
systemctl enable zabbix-server
6. Apacheの再起動
service httpd restart
7. Zabbixエージェントの動作確認
zabbix_get -s 127.0.0.1 -k agent.version
3.0.1 ← バージョンが表示されればOK
8. Zabbix 接続テスト & 初期設定
http://******/zabbix/
VirtualBox php5.6 LAMP環境の構築
VirtualBox CentOS 7 に LAMP(php5.6)環境を構築する手順について
1. Apacheのインストール
yum -y install httpd
httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Nov 19 2015 21:43:13
2.MySQL Community Serverのインストール
無料で利用できる MySQL Community Server を利用。
MySQLもyum installコマンドでインストールするが、MySQLはCentOS/RHELのyumリポジトリにはない。
MySQLをyumでインストールするには、MySQL公式のyumリポジトリを追加必要がある。
MySQLのリポジトリの追加を以下のコマンドにより実行
yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
リポジトリをインストールできたらMySQL Community Serveをインストール。
パッケージ名はmysql-server or mysql-community-server
yum -y install mysql-server
yum -y install mysql-community-server
mysqld --version
mysqld Ver 5.6.28 for Linux on x86_64 (MySQL Community Server (GPL))
/etc/my.conf に以下設定を追記。
MySQLのデフォルト文字コードを UTF-8に設定しておく事。
また、ストレージエンジンはInnoDBを使用する事。
**********************************************************
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#log=/var/log/mysql.log
#default-character-set=utf8
character-set-server=utf8
skip-character-set-client-handshake
innodb_file_per_table
innodb_buffer_pool_size=64M
innodb_log_file_size=16M
innodb_log_files_in_group=2
[mysqld_safe]
log-error=/var/log/mysqld-error.log
pid-file=/var/run/mysqld/mysqld.pid
**********************************************************
3.PHP5.6のインストール
epelとremiのリポジトリを追加。
*CentOS 6.5 (6系)用
rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
*CentOS 7.0用
rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum listでphp5.6がインストールできるか確認。
yum list --enablerepo=remi --enablerepo=remi-php56 | grep php
php5.6をインストール
yum install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof
php.ini の timezone 設定
vim /etc/php.ini
date.timezone = Asia/Tokyo
cp /usr/share/zoneinfo/Japan /etc/localtime
その他のパッケージをインストール
yum -y install fping iksemel net-snmp-libs openldap curl unixODBC OpenIPMI-libs libssh2
mysqlを起動
service mysqld start
chkconfig設定
chkconfig httpd on
chkconfig mysqld on
PHP Framework Laravelのインストール
1. Composerのインストール
ライブラリの依存関係を管理するツール。
あるライブラリをインストールする前に、特定のライブラリをインストールしなければいけないなどの、
依存関係を自動的にインストールしてくれる便利なツール。
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Laravelをインストールを試みた際、php-mcryptがインストールさせていないと、
Laravelのインストールが正常に終了せず、ブラウザからHTTPアクセスを行うと
以下のようなエラーメッセージが出てしまう。
…vendor/autoload.php): failed to open stream: No such file or directory
このエラーメッセージの解決策として、以下のコマンドを実行し、
yum install --enablerepo=remi,epel,ius php-mcrypt
3. Laravelのインストール
Composer Create-Projectによるインストール
※/var/www/html/hoce.co.jp/laravel 配下にLaravelがインストールされる
composer create-project laravel/laravel /var/www/html/hoge.co.jp/laravel --prefer-dist
Laravelではパーミッションの設定が必要。
storageとvendorフォルダー下にapacheユーザーからの書き込み権限を設定しておく。
chmod -R 777 /var/www/html/hoge.co.jp/laravel/storage
Mecabのインストール
1. MeCabのインストール
wget https://mecab.googlecode.com/files/mecab-0.996.tar.gz
tar zxfv mecab-0.996.tar.gz
cd mecab-0.996
./configure --enable-utf8-only
make
make install
2. 標準辞書 IPAdicのインストール
wget http://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz
tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
cd mecab-ipadic-2.7.0-20070801
./configure --with-mecab-config=/usr/local/bin/mecab-config --prefix=/usr/local/ --with-charset=utf8
make
make install
MeCab用の辞書が存在する事を確認
more /usr/local/etc/mecabrc
wget https://github.com/downloads/rsky/php-mecab/php-mecab-0.5.0.tgz
tar xzvf php-mecab-0.5.0.tgz
cd php-mecab-0.5.0
phpize
./configure --with-php-config=/usr/bin/php-config --with-mecab=/usr/local/bin/mecab-config
make
make test
make install
以下のようなメッセージが表示される
Installing shared extensions: /usr/lib64/php/modules/
以下のコマンドでmecab.soというファイルができていることを確認
ls -l /usr/lib64/php/modules/mecab.so
mecab.soを追加
extension=mecab.so
4. Apache 再起動
service httpd restart
AWS EC2 php5.4 LAMP環境の構築
1. データベースサーバなどの関連ソフトウェアのインストール
mysql-serverパッケージがインストールされていない場合は、以下コマンドを実行。
MySQLのデフォルト文字コードを UTF-8に設定しておく事。
また、ストレージエンジンはInnoDBを使用する事。
/etc/my.conf に以下設定を追記。
**********************************************************
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#log=/var/log/mysql.log
#default-character-set=utf8
character-set-server=utf8
skip-character-set-client-handshake
innodb_file_per_table
innodb_buffer_pool_size=64M
innodb_log_file_size=16M
innodb_log_files_in_group=2
[mysqld_safe]
log-error=/var/log/mysqld-error.log
pid-file=/var/run/mysqld/mysqld.pid
**********************************************************
その他のパッケージをインストール
yum -y install mysql fping iksemel net-snmp-libs openldap curl unixODBC OpenIPMI-libs libssh2
2. Apacheのインストール
yum install httpd24
3. PHPのインストール
yum -y install php54 php54-gd php54-bcmatch php54-mysql php54-mbstring php54-xml
php.ini の timezone 設定
date.timezone = Asia/Tokyo
cp /usr/share/zoneinfo/Japan /etc/localtime
1GBのswap領域を作成
dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
swapon /swapfile
Apacheの起動
service httpd start