ホームページ  >  記事  >  バックエンド開発  >  Vagrantシリーズ講座(3):vagrantで構築したphp7環境

Vagrantシリーズ講座(3):vagrantで構築したphp7環境

WBOY
WBOYオリジナル
2016-06-13 12:29:221054ブラウズ

Vagrant シリーズチュートリアル (3): vagrant で構築する PHP7 環境

これまで基本的に vagrant の基礎知識を一通り学習してきましたが、このチュートリアルに従う限り、すでに独自の vagrant 環境を構築していると思います。環境。次に、php7の開発環境の構築方法について説明します。

ここで使用されているボックスは前に示した centos7 であることを述べておきます
アドレスは次のとおりです:
https://github.com/tommy-muehle/puppet-vagrant-boxes / releases/download/1.1.0/centos-7.0-x86_64.box

nginx のインストール

まず、いくつかの ngin 関連のソースを更新する必要があります。

<code class="language-shell hljs avrasm">$ rpm -Uvh http://nginx<span class="hljs-preprocessor">.org</span>/packages/centos/<span class="hljs-number">7</span>/noarch/RPMS/nginx-release-centos-<span class="hljs-number">7</span>-<span class="hljs-number">0.</span>el7<span class="hljs-preprocessor">.ngx</span><span class="hljs-preprocessor">.noarch</span><span class="hljs-preprocessor">.rpm</span>// 执行安装过程$ yum install nginx </code>

次のインターフェースが表示されたら、何かを入力する必要がある場合は、y を押して Enter を押してください。
Vagrantシリーズ講座(3):vagrantで構築したphp7環境

nginx を起動し、起動時に開始するように設定します

<code class="language-shell hljs ruby"><span class="hljs-variable">$ </span>systemctl start nginx <span class="hljs-variable">$ </span>systemctl enable nginx</code>

epel および remi ソースをインストールします

epel をインストールします。epel は、によって保守されているソフトウェアです。 RHEL/CentOS にデフォルトでは提供されないソフトウェア パッケージを提供する Fedora チーム ウェアハウス プロジェクト。インストールするときは、システムのバージョンに注意する必要があります。

<code class="language-shell hljs ruby"><span class="hljs-variable">$ </span>rpm -ivh <span class="hljs-symbol">http:</span>/<span class="hljs-regexp">/mirrors.opencas.cn/epel</span><span class="hljs-regexp">/7/x</span>86_64/e/epel-release-<span class="hljs-number">7</span>-<span class="hljs-number">5</span>.noarch.rpm</code>

remi ソースには、php7、mysql などの最新の PHP 関連情報が含まれています。したがって、PHP7 の最新情報を簡単に入手するには、このソースもインストールする必要があります。

<code class="language-shell hljs ruby"><span class="hljs-variable">$ </span>rpm -ivh <span class="hljs-symbol">http:</span>/<span class="hljs-regexp">/rpms.famillecollet.com/enterprise</span><span class="hljs-regexp">/remi-release-7.rpm</span></code>

iptables firewall

以前は iptables をよく使っていたので、centos7 に付属の firewalld ファイアウォールに慣れていないので、centos7 に付属の firewalld をオフにして有効にしますおなじみの iptables 。

まず、内蔵の firewalld ファイアウォールをオフにします

<code class="language-shell hljs ruby"><span class="hljs-variable">$ </span>systemctl stop firewalld.service <span class="hljs-variable">$ </span>systemctl disable firewalld.service <span class="hljs-comment">#防止开机启动</span></code>

iptables をインストールします

<code class="language-shell hljs ruby"><span class="hljs-variable">$ </span>yum install iptables-services</code>

インストールプロセスは以下のとおりです
Vagrantシリーズ講座(3):vagrantで構築したphp7環境

iptables ファイアウォールを開始します

<code class="language-shell hljs avrasm">systemctl start iptables<span class="hljs-preprocessor">.service</span> systemctl enable iptables<span class="hljs-preprocessor">.service</span> <span class="hljs-preprocessor">#开机自动启动</span></code>

ファイアウォール設定ファイルを編集します

独自のホストにスムーズにアクセスするには、次のポートを開く必要があります。
vim /etc/sysconfig/iptables
ファイアウォールを編集し、ポート 80 (nginx) 3306 (mysql/mariadb) 6379 (redis) を設定し、外部ネットワークからアクセス可能にします
Vagrantシリーズ講座(3):vagrantで構築したphp7環境

PHP7.0 のインストール

remi ソースでインストール可能な PHP 情報を表示します

<code class="language-shell hljs brainfuck"><span class="hljs-comment">$</span> <span class="hljs-comment">yum</span> <span class="hljs-comment">list</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">enablerepo=remi</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">enablerepo=remi</span><span class="hljs-literal">-</span><span class="hljs-comment">php70</span> <span class="hljs-comment">|</span> <span class="hljs-comment">grep</span> <span class="hljs-comment">php70</span></code>

このリストには、インストールできるすべての PHP モジュール情報がリストされます。そこから、必要なモジュール。以下のモジュールのインストールは私が選択したものです。それらの中には必須のものとオプションのものがあります。たとえば、nginx を使用している場合は php-fpm が必要です。

<code class="language-shell hljs lasso">$ yum install <span class="hljs-subst">--</span>enablerepo<span class="hljs-subst">=</span>remi <span class="hljs-subst">--</span>enablerepo<span class="hljs-subst">=</span>remi<span class="hljs-attribute">-php70</span> php php<span class="hljs-attribute">-opcache</span> php<span class="hljs-attribute">-pecl</span><span class="hljs-attribute">-apcu</span> php<span class="hljs-attribute">-devel</span> php<span class="hljs-attribute">-mbstring</span> php<span class="hljs-attribute">-mcrypt</span> php<span class="hljs-attribute">-mysqlnd</span> php<span class="hljs-attribute">-pecl</span><span class="hljs-attribute">-xdebug</span> php<span class="hljs-attribute">-pdo</span> php<span class="hljs-attribute">-pear</span> php<span class="hljs-attribute">-fpm</span> php<span class="hljs-attribute">-cli</span> php<span class="hljs-attribute">-xml</span> php<span class="hljs-attribute">-bcmath</span> php<span class="hljs-attribute">-process</span> php<span class="hljs-attribute">-gd</span> php<span class="hljs-attribute">-common</span> php<span class="hljs-attribute">-json</span> php<span class="hljs-attribute">-imap</span> php<span class="hljs-attribute">-pecl</span><span class="hljs-attribute">-redis</span> php<span class="hljs-attribute">-pecl</span><span class="hljs-attribute">-memcached</span> php<span class="hljs-attribute">-pecl</span><span class="hljs-attribute">-mongodb</span></code>

インストールが完了したら、php -v と入力して、現在インストールされている PHP のバージョン情報を表示します。
Vagrantシリーズ講座(3):vagrantで構築したphp7環境

nginx が php プログラムを解析するために php-fpm を必要とするため、php-fpm を開始します

<code class="language-shell hljs ruby"><span class="hljs-variable">$ </span>systemctl start php-fpm<span class="hljs-variable">$ </span>systemctl enable php-fpm <span class="hljs-comment">#设置开机自启动</span></code>

php にアクセスできるように nginx を設定します

nginx ファイルを入力します 設定センター,

<code class="language-shell hljs avrasm">$ cd /etc/nginx/conf<span class="hljs-preprocessor">.d</span>/<span class="hljs-preprocessor"># 复制默认的配置文件 </span>$ <span class="hljs-keyword">cp</span> default<span class="hljs-preprocessor">.conf</span> php<span class="hljs-preprocessor">.conf</span> </code>

まず、vim を通じてデフォルトのファイルを編集します。後で独自の php.conf でポート 80 を使用するため、リスニング ポートを 8080 に変更します。
Vagrantシリーズ講座(3):vagrantで構築したphp7環境

ここで、コピーしたphp.confファイルを編集します。以下の内容を直接コピーしてください。設定の意味については、後で別の記事を開いて説明します。

<code class="language-config hljs axapta"><span class="hljs-keyword">server</span> {    listen       <span class="hljs-number">80</span>;    server_name  localhost;    charset utf-<span class="hljs-number">8</span>;    root /vagrant/www;<span class="hljs-preprocessor"># 自己的项目目录,也就是php项目所在目录</span>    location / {        <span class="hljs-preprocessor"># 请注意,一定要加index.php这项</span>        <span class="hljs-keyword">index</span>  <span class="hljs-keyword">index</span>.php <span class="hljs-keyword">index</span>.html <span class="hljs-keyword">index</span>.htm;    }    error_page   <span class="hljs-number">500</span> <span class="hljs-number">502</span> <span class="hljs-number">503</span> <span class="hljs-number">504</span>  /<span class="hljs-number">50</span>x.html;    location = /<span class="hljs-number">50</span>x.html {        root   /usr/share/nginx/html;    }    location ~ \.php$ {        fastcgi_pass   <span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>:<span class="hljs-number">9000</span>;        fastcgi_index  <span class="hljs-keyword">index</span>.php;        <span class="hljs-preprocessor"># 注意此处变量的不同</span>        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;        include        fastcgi_params;    }}</code>

ファイルを変更した後、現在の設定を有効にするために nginx を再起動する必要があります。

<code class="language-shell hljs ruby"><span class="hljs-variable">$ </span>systemctl reload nginx</code>

アクセスをテストします

/vagrant/www の下に新しいファイルindex.php を作成します

<code class="language-php hljs "><span class="hljs-preprocessor"><?php</span>    phpinfo();</code>

ブラウザで開き、対応する IP にアクセスします。出力された php 情報を確認できます
Vagrantシリーズ講座(3):vagrantで構築したphp7環境

注: 使用中に新しく追加された php モジュールがある場合は、php-fpm を再起動する必要があります

systemctl reload php-fpm

Mariadb のインストール

多くの学生は、mysql の重要なメンバー、または mysql 以降の mariadb について初めて聞いたかもしれません。制御されているため、更新速度が遅すぎます。この 2 つの使用法には基本的に違いはありません。実際にどのような落とし穴があるかは自分で確認してください。ハハ、無責任とか言わないでね。

<code class="language-shell hljs ruby"><span class="hljs-comment"># 安装</span><span class="hljs-variable">$ </span>yum install mariadb-server<span class="hljs-comment"># 启动服务</span><span class="hljs-variable">$ </span>systemctl start mariadb<span class="hljs-comment"># 开机启动</span><span class="hljs-variable">$ </span>systemctl enable mariadb</code>

MariaDB セキュリティ構成

MariaDB のデフォルトの root パスワードは空です。これを設定してスクリプトを実行する必要があります。

<code class="language-shell hljs bash">$ <span class="hljs-built_in">sudo</span> mysql_secure_installation</code>

このスクリプトは次のようになります。いくつかのシリーズのインタラクティブ Q&A を通じて、MariaDB のセキュリティ設定を構成します。

現在の root パスワードを入力するための最初のプロンプト:

root の現在のパスワードを入力します (何も入力しない場合は入力します):
初期の root パスワードは空です。Enter キーを押すだけです。ステップを進めます。

root パスワードを設定しますか? [Y/n]
root パスワードを設定します。デフォルトのオプションは [Enter] を押し、ここでパスワードを入力するよう求められます。

匿名ユーザーを削除しますか? [Y/n]
匿名ユーザーを削除するかどうかは、デフォルトの設定のままで Enter キーを押して続行することをお勧めします。

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:

<code class="language-shell hljs lasso">$ mysql <span class="hljs-attribute">-uroot</span> <span class="hljs-attribute">-p</span></code>

按提示输入root密码,就会进入MariaDB的交互界面,说明已经安装成功。
Vagrantシリーズ講座(3):vagrantで構築したphp7環境

最后我们将MariaDB设置为开机启动。

<code class="language-shell hljs bash">$ <span class="hljs-built_in">sudo</span> systemctl enable mariadb</code>

让外网可以进行链接

<code class="language-mysql hljs lasso">mysql<span class="hljs-subst">></span> grant <span class="hljs-literal">all</span> <span class="hljs-keyword">on</span> <span class="hljs-subst">*</span><span class="hljs-built_in">.</span><span class="hljs-subst">*</span> <span class="hljs-keyword">to</span> <span class="hljs-string">'root'</span>@<span class="hljs-string">'%'</span> identified <span class="hljs-keyword">by</span> <span class="hljs-string">'root'</span>;mysql<span class="hljs-subst">></span> flush privileges;</code>

安装composer

composer的大名,我就不想介绍了,如果你是一个phper,没用过,我也就不怪你,毕竟但是他现在才刚过1.0版,但是如果听都没听过,请面壁去……

安装说明

<code class="language-php hljs ">$ php -r “readfile(‘https:<span class="hljs-comment">//getcomposer.org/installer‘);” > composer-setup.php</span>$ php composer-setup.php$ php -r “unlink(‘composer-setup.php’);”</code>

上述 3 条命令的作用依次是:

  1. 下载安装脚本(composer-setup.php)到当前目录。
  2. 执行安装过程。
  3. 删除安装脚本 – composer-setup.php 。

全局安装composer

全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。

Mac 或 Linux 系统:打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:

<code class="language-php hljs ">$ sudo mv composer.phar /usr/local/bin/composer</code>

然后执行:
composer -v
Vagrantシリーズ講座(3):vagrantで構築したphp7環境
由于composer的包都在国外,这里设置一下composer的配置,让其每次运行时,都使用国内的包

<code class="language-php hljs ">$ composer config -g repo.packagist composer https:<span class="hljs-comment">//packagist.phpcomposer.com</span></code>

查看composer的配置文件
vim /root/.composer/config.json
Vagrantシリーズ講座(3):vagrantで構築したphp7環境
看到以上内容,表示配置成功!


至此,基本的php7环境搭建已经完成了。然后呢,下一次说一说用vagrant搭建redis吧。当然我不会仅仅只说redis的搭建额。到时候看啊吧!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。