原文:http://blog.csdn.net/hel12he/article/details/51107236html
前面已经把vagrant的基础知识已经基本过了一遍 了,相信只要按着教程来,你已经搭建好了本身的基础环境。接下来讲一说如何搭建php7的开发环境。mysql
申明一下,这里使用的box,就是前面演示的centos7
地址奉上:
https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.boxlinux
首先须要跟新一些ngin的相关源。nginx
$ rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm // 执行安装过程 $ yum install nginx
看到如下界面时,请稍等,若是须要输入的地方,请直接按 y
而后回车。 git
$ systemctl start nginx $ systemctl enable nginx
安装epel,epel是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。安装时必定须要注意一下本身系统的版本额。github
$ rpm -ivh http://mirrors.opencas.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm'
-----上面那个已不能用,用下面这个:
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
remi源种包含最新的PHP相关信息,如:php七、MySQL等,所以为了便捷获取php7的最新信息,也须要安装一下这个源。redis
$ rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
由于之前常用iptables,对centos7自带的firewalld防火墙不熟悉,所以我就将关闭centos7自带的firewalld,启用本身熟悉的iptables吧。sql
首先,关闭自带的firewalld防火墙mongodb
$ systemctl stop firewalld.service $ systemctl disable firewalld.service #防止开机启动
$ yum install iptables-services
安装进程以下图所示
启动iptables防火墙
systemctl start iptables.service systemctl enable iptables.service #开机自动启动
为了咱们在本身的主机上可以顺利访问,须要开启如下端口,
vim /etc/sysconfig/iptables
编辑防火墙,设置80(nginx) 3306(mysql/mariadb) 6379(Redis)端口,外网可访问
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
查看remi源中可安装的php信息
$ yum list --enablerepo=remi --enablerepo=remi-php70 | grep php70
该列表会列出全部能够安装的php模块信息,从中安装本身须要的模块,下面安装模块,是我本身的一个模块选择状况。其中有一部分是必须的,有一部分是可选的。好比php-fpm就是必须的,若是你用的是nginx的话。
$ yum install --enablerepo=remi --enablerepo=remi-php70 php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-pecl-xdebug php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common php-json php-imap php-pecl-redis php-pecl-memcached php-pecl-mongodb
安装完成后,输入 php -v
能够查看当前安装的php版本信息。
启动php-fpm,由于nginx须要经过它来解析php程序
$ systemctl start php-fpm $ systemctl enable php-fpm #设置开机自启动
进入nginx的文件配置中心,
$ cd /etc/nginx/conf.d/ # 复制默认的配置文件 $ cp default.conf php.conf
首先先经过vim编辑default文件。将监听端口改成8080, 由于后面咱们本身的php.conf会用到80端口。
如今来编辑复制的php.conf文件,能够直接复制如下内容,至于配置的含义,后面再开一篇文章来单独讲解吧。
server { listen 80; server_name localhost; charset utf-8; root /vagrant/www;# 本身的项目目录,也就是php项目所在目录 location / { # 请注意,必定要加index.php这项 index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; # 注意此处变量的不一样 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
修改完文件后,必需要从新启动nginx,才会使当前的配置生效。
$ systemctl reload nginx
在/vagrant/www下新建一个文件index.php
<?php phpinfo();
在浏览器中打开,访问对应的ip,能够看到输出的php信息
注:若是在使用过程当中,有新增长的php模块,须要从新启动php-fpm
systemctl reload php-fpm
这里不少同窗可能第一次据说mariadb,他呢是mysql的一个重要分子,或者能够理解为mysql的替代品,自从mysql被控制后,更新速度已经慢太多了。二者的用法基本没有区别,实际中有哪些坑,你们能够本身去踩一踩。哈哈,别说我不负责任。
# 安装 $ yum install mariadb-server # 启动服务 $ systemctl start mariadb # 开机启动 $ systemctl enable mariadb
MariaDB默认root密码为空,咱们须要设置一下,执行脚本:
$ sudo mysql_secure_installation
这个脚本会通过一些列的交互问答来进行MariaDB的安全设置。
首先提示输入当前的root密码:
Enter current password for root (enter for none):
初始root密码为空,咱们直接敲回车进行下一步。Set root password? [Y/n]
设置root密码,默认选项为Yes,咱们直接回车,提示输入密码,在这里设置您的MariaDB的root帐户密码。Remove anonymous users? [Y/n]
是否移除匿名用户,默认选项为Yes,建议按默认设置,回车继续。Disallow root login remotely? [Y/n]
是否禁止root用户远程登陆?若是您只在本机内访问MariaDB,建议按默认设置,回车继续。 若是您还有其余云主机须要使用root帐号访问该数据库,则须要选择n。Remove test database and access to it? [Y/n]
是否删除测试用的数据库和权限? 建议按照默认设置,回车继续。Reload privilege tables now? [Y/n]
是否从新加载权限表?由于咱们上面更新了root的密码,这里须要从新加载,回车。
完成后你会看到Success!的提示,MariaDB的安全设置已经完成。咱们可使用如下命令登陆MariaDB:
$ mysql -uroot -p
按提示输入root密码,就会进入MariaDB的交互界面,说明已经安装成功。
最后咱们将MariaDB设置为开机启动。
$ sudo systemctl enable mariadb
mysql> grant all on *.* to 'root'@'%' identified by 'root'; mysql> flush privileges;
composer的大名,我就不想介绍了,若是你是一个phper,没用过,我也就不怪你,毕竟可是他如今才刚过1.0版,可是若是听都没听过,请面壁去……
安装说明
$ php -r “readfile(‘https://getcomposer.org/installer‘);” > composer-setup.php $ php composer-setup.php $ php -r “unlink(‘composer-setup.php’);”
上述 3 条命令的做用依次是:
- 下载安装脚本(composer-setup.php)到当前目录。
- 执行安装过程。
- 删除安装脚本 – composer-setup.php 。
全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,而后就可以在命令行窗口中直接执行 composer 命令了。
Mac 或 Linux 系统:打开命令行窗口并执行以下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:
$ sudo mv composer.phar /usr/local/bin/composer
而后执行: composer -v
因为composer的包都在国外,这里设置一下composer的配置,让其每次运行时,都使用国内的包
$ composer config -g repo.packagist composer https://packagist.phpcomposer.com
查看composer的配置文件
vim /root/.composer/config.json
看到以上内容,表示配置成功!
至此,基本的php7环境搭建已经完成了。而后呢,下一次说一说用vagrant搭建redis吧。固然我不会仅仅只说redis的搭建额。到时候看啊吧!