vagrant系列教程(三):vagrant搭建的php7環境(轉)

原文:http://blog.csdn.net/hel12he/article/details/51107236php

前面已經把vagrant的基礎知識已經基本過了一遍 了,相信只要按着教程來,你已經搭建好了本身的基礎環境。接下來講一說如何搭建php7的開發環境。html

申明一下,這裏使用的box,就是前面演示的centos7 
地址奉上: 
https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.boxmysql

安裝nginx

首先須要跟新一些ngin的相關源。linux

$ rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

// 執行安裝過程
$ yum install nginx 

看到如下界面時,請稍等,若是須要輸入的地方,請直接按 y 而後回車。 
這裏寫圖片描述nginx

啓動nginx並設置爲開機啓動

$ systemctl start nginx 
$ systemctl enable nginx

 

安裝epel與remi源

安裝epel,epel是Fedora小組維護的一個軟件倉庫項目,爲RHEL/CentOS提供他們默認不提供的軟件包。安裝時必定須要注意一下本身系統的版本額。git

$ rpm -ivh http://mirrors.opencas.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

remi源種包含最新的PHP相關信息,如:php七、MySQL等,所以爲了便捷獲取php7的最新信息,也須要安裝一下這個源。github

$ rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

 

iptables防火牆

由於之前常用iptables,對centos7自帶的firewalld防火牆不熟悉,所以我就將關閉centos7自帶的firewalld,啓用本身熟悉的iptables吧。redis

首先,關閉自帶的firewalld防火牆sql

$ systemctl stop firewalld.service 
$ systemctl disable firewalld.service #防止開機啓動

 

安裝iptables

$ yum install iptables-services

 

安裝進程以下圖所示 
這裏寫圖片描述mongodb

啓動iptables防火牆

systemctl start iptables.service 
systemctl enable iptables.service #開機自動啓動

編輯防火牆配置文件

爲了咱們在本身的主機上可以順利訪問,須要開啓如下端口, 
vim /etc/sysconfig/iptables 
編輯防火牆,設置80(nginx) 3306(mysql/mariadb) 6379(Redis)端口,外網可訪問 
這裏寫圖片描述

PHP7.0的安裝

查看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能夠訪問php

進入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
  • 1
  • 1

測試訪問

在/vagrant/www下新建一個文件index.php

<?php
    phpinfo();

在瀏覽器中打開,訪問對應的ip,能夠看到輸出的php信息 
這裏寫圖片描述

注:若是在使用過程當中,有新增長的php模塊,須要從新啓動php-fpm

systemctl reload php-fpm

Mariadb的安裝

這裏不少同窗可能第一次據說mariadb,他呢是mysql的一個重要分子,或者能夠理解爲mysql的替代品,自從mysql被控制後,更新速度已經慢太多了。二者的用法基本沒有區別,實際中有哪些坑,你們能夠本身去踩一踩。哈哈,別說我不負責任。

# 安裝
$ yum install mariadb-server
# 啓動服務
$ systemctl start mariadb
# 開機啓動
$ systemctl enable mariadb

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

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 條命令的做用依次是:

  1. 下載安裝腳本(composer-setup.php)到當前目錄。
  2. 執行安裝過程。
  3. 刪除安裝腳本 – composer-setup.php 。

全局安裝composer

全局安裝是將 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的搭建額。到時候看啊吧!

相關文章
相關標籤/搜索