Vagrant是一款基于命令行的虚拟机管理软件,可以用来快速部署统一的开发环境。
下载Vagrant
https://www.vagrantup.com/downloads.html
下载CentOS 7 Box
官方box下载地址
https://app.vagrantup.com/boxes/search
第三方box下载地址
http://www.vagrantbox.es/
使用原生下载
https://app.vagrantup.com/centos/boxes/7
vagrant init centos/7
vagrant up
vagrant 配置
config.vm.network "public_network", ip: "192.168.31.245"
config.vm.synced_folder "d:/data", "/data"
config.vm.synced_folder "d:/phpcode", "/phpcode"
通过下载工具下载centos 7 box
官方box文件下载地址:http://cloud.centos.org/centos/7/vagrant/x86_64/images/
百度网盘box文件下载地址:
- CentOS 7: https://pan.baidu.com/s/1kVlAz59
添加并运行box
vagrant box add centos7 CentOS-7.box
vagrant init centos7
vagrant up
基础系统安装
基本系统安装
vagrant ssh
sudo passwd vagrant
sudo yum groupinstall "Development tools" -y
sudo yum install vim gcc kernel-devel kenel-devel-`uname -r`
禁止selinux
sudo setenforce 0
sudo vi /etc/selinux/config
SELINUX=disabled
停止防火墙
sudo systemctl disable firewalld
sudo systemctl stop firewalld
更新系统
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install yum-utils
sudo yum-config-manager --enable remi-php72
sudo yum update
sudo yum install php-gd php-pdo php-opcache php-fpm php-pecl-redis php-pecl-mysql php-pecl-mysql php-mbstring php-intl php-cli php-xml
sudo yum install nginx -y
sudo yum install mariadb mariadb-server -y
修改nginx配置
mkdir /data/log/nginx /data/run/nginx -p
sudo service nginx stop
sudo vim /etc/nginx/nginx.conf
nginx.conf配置修改如下:
user vagrant;
error_log /data/log/nginx/error.log;
pid /data/run/nginx/nginx.pid;
access_log /data/log/nginx/access.log main;
include /data/phpcode/projectname/vagrant/nginx/app.conf;
测试nginx配置
sudo nginx -t
修改nginx service配置:
sudo vim /usr/lib/systemd/system/nginx.service
nginx.service修改内容如下:
[Service]
PIDFile=/data/run/nginx/nginx.pid
重新加载service
sudo systemctl daemon-reload
sudo systemctl start nginx
修改PHP配置
mkdir /data/run/php-fpm/session /data/run/php-fpm/wsdlcache /data/run/php-fpm/opcache /data/log/php-fpm/ -p
sudo service php-fpm stop
sudo vim /etc/php-fpm.d/www.conf
配置内容
user = vagrant
group = vagrant
php_value[session.save_path] = /data/run/php-fpm/session
php_value[soap.wsdl_cache_dir] = /data/run/php-fpm/wsdlcache
php_value[opcache.file_cache] = /data/run/php-fpm/opcache
php_admin_value[error_log] = /data/log/php-fpm/www-error.log
slowlog = /data/log/php-fpm/www-slow.log
request_slowlog_timeout = 1
重启
sudo service php-fpm stop
配置Mysql
mkdir /data/mysql /data/run/mariadb /data/log/mariadb -p
sudo service mariadb stop
sudo vim /etc/my.cnf
mysqld配置
[mysqld]
datadir=/data/mysql
socket=/usr/lib/mysql/mysql.sock
[mysqld_safe]
log-error=/data/log/mariadb/mariadb.log
pid-file=/data/run/mariadb/mariadb.pid
mysql client 配置
[client]
初始化数据库
sudo /usr/libexec/mariadb-prepare-db-dir mariadb.service
修改systemd配置
sudo vim /usr/lib/systemd/system/mariadb.service
配置内容
User=vagrant
Group=vagrant
重载systemd
sudo systemctl daemon-reload
sudo systemctl start mariadb
修改mysql账号密码
'/usr/bin/mysqladmin' -u root password 'new-password'
'/usr/bin/mysqladmin' -u root -h localhost.localdomain password 'new-password'
# Alternatively you can run:
'/usr/bin/mysql_secure_installation'
配置composer
下载安装文件
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
安装
php composer-setup.php
删除安装文件
php -r "unlink('composer-setup.php');"
设置全局路径(windows请按参考文档设置)
sudo mv composer.phar /usr/bin/composer
配置使用国内镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com